Goal modeling explained

A goal model is an element of requirements engineering that may also be used more widely in business analysis. Related elements include stakeholder analysis, context analysis, and scenarios,[1] 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.[2] Goal modeling is especially useful in the early phases of a project. Projects may consider how the intended system meets organizational goals (see also [3]), why the system is needed and how the stakeholders’ interests may be addressed.[4]

A goal model:

Notations

There are several notations in use for goal models in software development, including:

Other notations have been proposed by researchers,[10] while the Goal Structuring Notation (GSN) and GRL are sometimes used to make safety cases to satisfy the regulator in safety-related industries.[11] [12]

Goal modeling in i*

See main article: article and i*.

The i* goal modeling notation provides two kinds of diagram:[13]

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

See main article: article and KAOS (software development).

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

Goal modeling in UML

See main article: article and Use case diagram.

UML's use case diagram provides a simple goal modeling notation. The bubbles name functional goals,[14] so a Use case diagram forms a simple functions-only goal model: as Cockburn writes, use cases cover only the behavioral requirements.[15] 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.[16]

With the addition of misuse cases, 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 requirements 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, then fitting locks is a mitigation; but that a door can be locked is a functional requirement.[17]

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

See also

External links

Notes and References

  1. Alexander and Beus-Dukic, 2009. Pages 17-18
  2. Web site: Lin Liu and Eric Yu . Designing information systems in social context: a goal and scenario modelling approach . University of Toronto . 2003 . https://web.archive.org/web/20050205073259/http://www.cs.toronto.edu/~liu/publications/ISj03.pdf . February 5, 2005.
  3. Ellis-Braithwaite . R.. Lock, R. . Dawson, R. . Haque B. . Towards an Approach for Analysing the Strategic Alignment of Software Requirements using Quantified Goal Graphs. International Journal on Advances in Software . 2013 . 6 . 119–130 . 1307.2580. 2013arXiv1307.2580E.
  4. E. Yu, "Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering", 1997 IEEE
  5. Web site: Eric Yu and John Mylopoulos . Why Goal-Oriented Requirements Engineering . University of Toronto.
  6. K.Pohl and P. Haumer, "Modelling Contextual Information about Scenarios", Proc. 3rd Int. Workshop on Requirements Engineering: Foundations of Software Quality REFSQ ’97, Barcelona, Catalonia, Spain, June 1997 pp. 187-204.
  7. Yu et al, 2011.
  8. [Axel van Lamsweerde|van Lamsweerde]
  9. Fowler, 2004. Pages 99-105
  10. Rolland, Colette . Colette Rolland . Prakash, Naveen . Benjamen, Adolphe . A Multi-Model View of Process Modelling . Requirements Engineering . 1999 . 4 . 4 . 169–187 . 10.1007/s007660050018 . 6988662 .
  11. http://www.goalstructuringnotation.info GSN Community Standard
  12. Book: Feodoroff, R. . 2016 Annual IEEE Systems Conference (SysCon) . Intentional enterprise architecture . 2016 . 1–8 . 10.1109/SYSCON.2016.7490555. 978-1-4673-9519-9 . 206586399 .
  13. Web site: i* . University of Toronto . i*: an agent- and goal-oriented modelling framework . September 6, 2011 . December 17, 2011 . Yu, Eric.
  14. Alexander and Beus-Dukic, 2009. Page 121
  15. Cockburn, 2001. Page 62
  16. Cockburn, 2001. Page 221
  17. Alexander and Maiden, 2004. Chapter 7. Pages 119-139.