Review

For this week, we will cover the various goal modeling tools, but before doing so, we will do a quick review on the what is a goal. As a recap from the previous lecture, goals are a representation of stakeholder objectives.

Goal modelling expresses the relationships between a system and its environment. It is useful as it clarifies requirements, enables requirement completeness, and connects requirements to design.

Goal Modeling

There are various notations for goal models used in software development.

For both in lectures and labs, we will be using the i* notation. As an introductory, i* allows the modeling of actors' goals, tasks, and resources, and how these are related to system components. The i* goal modeling notation provides two kinds of diagram:

Figure 6.1 All elements of the i* notation.

Figure 6.1 All elements of the i* notation.

  1. Strategic Dependency (SD) Diagram: Defines relationships between roles in terms of specific goals that one role depends on the other role to provide.
  2. Strategic Rationale (SR) Diagram: Analyze the goals identified on the SD model into subsidiary goals and tasks.

Another specific goal modeling method is KAOS, which provides a way of defining goals and obstacles, underpinned by a formal (mathematical) method of analysis.

Figure 6.2 Basic constructs of the KAOS framework.

Figure 6.2 Basic constructs of the KAOS framework.

The choice between i* and KAOS may depend on the specific requirements of the project.

Goal Modeling Tools