Content deleted Content added
m →Goal modeling in UML: clean up, typo(s) fixed: counter point → counterpoint |
|||
(41 intermediate revisions by 20 users not shown) | |||
Line 1:
A '''
==Principles==
Goals are objectives which a system should achieve through cooperation of actors in the intended software and in the environment.<ref>
▲Goals are objectives which a system should achieve through cooperation of actors in the intended software and in the environment.<ref>L. Liu and E. Yu, “Designing information systems in social context: a goal and scenario modelling approach”, 2003 Elsevier Ltd. http://www.cs.toronto.edu/~liu/publications/ISj03.pdf</ref> Goal modeling is especially useful in the early phases of a project. Projects may consider how the intended system meets organizational goals (see also <ref>{{cite journal|last=Ellis-Braithwaite|first=R.|coauthors=R. Lock, R. Dawson, B. Haque|title=Towards an Approach for Analysing the Strategic Alignment of Software Requirements using Quantified Goal Graphs|journal=International Journal on Advances in Software|year=2013|volume=6|pages=119-130|url=http://arxiv.org/pdf/1307.2580v1}}</ref>), why the system is needed and how the stakeholders’ interests may be addressed.<ref>E. Yu, “Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering”, 1997 IEEE</ref>
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".<ref name=
* Clarifies requirements : Specifying goals leads to asking "why", "how" and "how else".<ref name=
▲* Clarifies requirements : Specifying goals leads to asking "why", "how" and "how else".<ref name="cs.toronto.edu"/> 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).
* Deals with conflicts : goal modeling can identify and help to resolve tradeoffs between cost, performance, flexibility, security and other goals.
* Enables requirement completeness to be measured:
▲* 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. Goal modeling can also reveal divergent interests between stakeholders. Goal modeling can identify conflicts because meeting one goal can interfere with meeting other goals.<ref name="cs.toronto.edu"/>
▲* 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, [[Goal-oriented Requirements Language|GRL]]<ref>Yu et al, 2011.</ref>
* [[KAOS (software development)|KAOS]]
* [[Unified Modeling Language|UML]] [[Use Case]] diagram<ref>Fowler, 2004. Pages 99-105</ref>
Other notations have been proposed by researchers,<ref>{{cite journal |author=Rolland, Colette | author-link=Colette Rolland |author2=Prakash, Naveen |author3=Benjamen, Adolphe | title=A Multi-Model View of Process Modelling | journal=Requirements Engineering | year=1999 | volume=4 | issue=4 | pages=169–187 | url=http://hal.archives-ouvertes.fr/docs/00/70/75/68/PDF/A_multi_model_view_REJ.pdf| doi=10.1007/s007660050018 | s2cid=6988662 }}</ref> while the Goal Structuring Notation (GSN) and GRL are sometimes used to make [[safety case]]s to satisfy the regulator in safety-related industries.<ref>[http://www.goalstructuringnotation.info GSN Community Standard]</ref><ref>{{Cite book |last=Feodoroff |first=R. |title=2016 Annual IEEE Systems Conference (SysCon) |chapter=Intentional enterprise architecture |date=2016 |pages=1–8 |doi=10.1109/SYSCON.2016.7490555|isbn=978-1-4673-9519-9 |s2cid=206586399 }}</ref>
===Goal modeling in i*===
{{main article|i*}}
The i* goal modeling notation provides two kinds of diagram:<ref name="i*">{{cite web | url=http://www.cs.toronto.edu/km/istar/ | title=i* | publisher=University of Toronto | work=i*: an agent- and goal-oriented modelling framework | date=September 6, 2011 | accessdate=December 17, 2011 | author=Yu, Eric}}
* "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
===Goal modeling in KAOS===
{{main article|KAOS (software development)}}
The KAOS goal modeling notation provides a way of defining goals and obstacles, underpinned by a formal (mathematical) method of analysis.<ref
===Goal modeling in UML===
{{main article|Use case diagram}}
UML's [[
With the addition of
The counterpoint 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]]. ''Writing Effective Use Cases''. Addison-Wesley, 2001.
* [[Martin Fowler (software engineer)|Fowler, Martin]]. ''UML Distilled''. 3rd Edition. Addison-Wesley, 2004.
* [[Axel van Lamsweerde|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]]. (editors) ''Social Modeling for Requirements Engineering''. MIT Press, 2011.
==See also==
*[[Benefit dependency network]]
==References==
{{reflist|33em}}▼
▲{{reflist}}
==External links==
* [http://www.cs.toronto.edu/km/istar/ i* Official Website, with tutorial and bibliography] - "an agent- and goal-oriented modelling framework"
* [https://sites.google.com/site/istarlanguage/home i* wiki with guidelines and examples]
* [http://www.objectiver.com/fileadmin/download/documents/KaosTutorial.pdf KAOS tutorial]
* [http://ceur-ws.org/Vol-337/paper9.pdf Using EEML for Combined Goal and Process Oriented Modeling: A Case Study] - John Krogstie
Line 68 ⟶ 66:
[[Category:Enterprise modelling]]
[[Category:Software requirements]]
[[Category:Goal]]
|