Goal Modeling
   HOME

TheInfoList



OR:

A goal model is an element of
requirements engineering Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering. The first use of the term ''requiremen ...
that may also be used more widely in
business analysis Business analysis is a professional discipline of identifying business needs and determining solutions to business problems. Solutions often include a software-systems development component, but may also consist of process improvements, organiza ...
. Related elements include
stakeholder analysis Stakeholder analysis (in conflict resolution, business administration, environmental health sciences decision making, Industrial ecology, and project management) is the process of assessing a system and potential changes to it as they relate to re ...
, context analysis, and scenarios, among other business and technical areas.


Principles

Goals are objectives which a system should achieve through cooperation of actors in the intended software and in the environment. Goal modeling is especially useful in the early phases of a project. Projects may consider how the intended system meets organizational goals (see also ), why the system is needed and how the stakeholders’ interests may be addressed. A goal model: * Expresses the relationships between a system and its environment (i.e. not only on what the system is supposed to do, but why). The understanding this gives, of the reasons why a system is needed, in its context, is useful because "systems are increasingly used to fundamentally change business processes rather than to automate long-established practices". * Clarifies requirements : Specifying goals leads to asking "why", "how" and "how else". Stakeholders' requirements are often revealed in this process, with less risk of either missing requirements, or of over-specifying (asking for things that are not needed). * Allows large goals to be analyzed into small, realizable goals: * Deals with conflicts : goal modeling can identify and help to resolve tradeoffs between cost, performance, flexibility, security and other goals. It can reveal divergent interests between stakeholders. It can identify conflicts because meeting one goal can interfere with meeting other goals. * Enables requirement completeness to be measured: requirements can be considered complete if they fulfil all the goals in the goal model. * Connects requirements to design: for example, the i* "Non-Functional Requirements (NFR) framework" uses goals to guide the design process.


Notations

There are several notations in use for goal models in software development, including: * i* (pronounced "eye-star") and a variant, GRL * KAOS van Lamsweerde, 2009. *
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
Use Case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenario ...
diagram Other notations have been proposed by researchers, while the Goal Structuring Notation (GSN) and GRL are sometimes used to make safety cases to satisfy the regulator in safety-related industries.


Goal modeling in i*

The i* goal modeling notation provides two kinds of diagram: * "Strategic Dependency" (SD), defining relationships between roles in terms of specific goals that one role depends on the other role to provide. * "Strategic Rationale" (SR), analyzing the goals identified on the SD model into subsidiary goals and tasks. i* shows each role (an actor, agent or position) as a large circle containing the goals, tasks, and resources which that role owns. Ownership in i* means that the role desires the satisfaction of its goals, either for its own benefit or for the benefit of some other role. Goals may be accompanied by "obstacles" (negative goals) to be surmounted. Non-functional goals can be modeled as "soft goals" in i*: they are diagrammed as clouds or indented ovals.


Goal modeling in KAOS

The KAOS goal modeling notation provides a way of defining goals and obstacles, underpinned by a formal (mathematical) method of analysis.


Goal modeling in UML

UML's
use case diagram A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. Th ...
provides a simple goal modeling notation. The bubbles name functional goals, so a Use case diagram forms a simple functions-only goal model: as Cockburn writes, use cases cover only the behavioral requirements. Roles are shown as actors (stickmen on the diagram), linked to the use cases in which they take part. The use cases are drawn as elliptical bubbles, representing desired behavioral goals.Cockburn, 2001. Page 221 With the addition of
misuse case Misuse case is a business process modeling tool used in the software development industry. The term ''Misuse Case'' or ''mis-use case'' is derived from and is the inverse of use case.Sindre and Opdahl (2001).Capturing Security Requirements throug ...
s, the notation can model both desired goals and active threats. The misuse case notation shows negative (possibly hostile) stakeholders as the primary actors for the misuse cases; these may be grouped on the right-hand side of the diagram. The notation may assist in discovering suitable mitigating or preventative goals, shown as subsidiary use cases. These often have the aim of improving security, safety, or reliability, which are non-functional goals.
Non-functional requirement In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours. They are contrasted with func ...
s can to some extent be described in use case style using misuse cases to define negative goals; but the (positive) goals thus discovered are often functional. For example, if theft is a threat to
security" \n\n\nsecurity.txt is a proposed standard for websites' security information that is meant to allow security researchers to easily report security vulnerabilities. The standard prescribes a text file called \"security.txt\" in the well known locat ...
, then fitting locks is a mitigation; but that a door can be locked is a functional requirement.Alexander and Maiden, 2004. Chapter 7. Pages 119-139. The counter point is that Use Cases are not from Cognitive Science roots, whereas i* and KAOS are. Indeed, the literature behind Use Cases does not include discussion Goal Intention, Goal Refinement, Ends-Means, does not call out Rasmussen et cetera. There may be a predilection to relate Use Cases to Goals because of the visual metaphor of Goals rather than the semantics of Goal Refinement per Cognitive Science.


Bibliography

* Alexander, Ian and Beus-Dukic, Ljerka. ''Discovering Requirements: How to Specify Products and Services''. Wiley, 2009. * Alexander, Ian F. and Maiden, Neil. ''Scenarios, Stories, Use Cases''. Wiley, 2004. *
Cockburn, Alistair Alistair Cockburn ( ) is an American computer scientist, known as one of the initiators of the agile movement in software development. He cosigned (with 17 others) the Manifesto for Agile Software Development. Life and career Cockburn starte ...
. ''Writing Effective Use Cases''. Addison-Wesley, 2001. * Fowler, Martin. ''UML Distilled''. 3rd Edition. Addison-Wesley, 2004. * van Lamsweerde, Axel. ''Requirements Engineering: from system goals to UML models to software specifications''. Wiley, 2009. * Yu, Eric, Paolo Giorgini, Neil Maiden and
John Mylopoulos John Mylopoulos (born 12 July 1943) is a Greek-Canadian computer scientist, Professor at the University of Toronto, Canada, and at the University of Trento, Italy. He is known for his work in the field of conceptual modeling, specifically the de ...
. (editors) ''Social Modeling for Requirements Engineering''. MIT Press, 2011.


See also

*
Benefit dependency network A benefit dependency network (BDN) is a diagram of cause and effect relationships. It is drawn according to a specific structure that visualizes multiple cause-effect relationships organized into capabilities, changes and benefits. It can be con ...


References

{{reflist, 33em


External links


i* Official Website, with tutorial and bibliography
- "an agent- and goal-oriented modelling framework"
i* wiki with guidelines and examples

KAOS tutorial

Using EEML for Combined Goal and Process Oriented Modeling: A Case Study
- John Krogstie Enterprise modelling Software requirements Goal