ArticleslgStudy

computer science

Goal modeling

Goal modeling is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Goal modeling rather than just read about it. In short: 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, among other business and technical areas.

Key takeaways

  • Goal modeling belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Goal modeling to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Goal modeling from memory before moving on to harder problems.

Reference excerpt

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, 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 UML Use Case 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 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. 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. 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. 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. (editors) Social Modeling for Requirements Engineering. MIT Press, 2011.

See also Benefit dependency network

References

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

Worked examples

Example 1 — a first encounter with Goal modeling

Start with the simplest possible case. Write down what Goal modeling claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Goal modeling before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Goal modeling ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Goal modeling

In research
Goal modeling appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Goal modeling in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Goal modeling is common in secondary-school and first-year university syllabi. It links to neighbouring topics Enterprise modelling, Goal, Software requirements, so understanding it makes those chapters shorter.
In everyday life
Look for Goal modeling outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Goal modeling in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Goal modeling means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Goal modeling out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Goal modeling in simple terms?

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, among other business and technical areas.

Why does Goal modeling matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Goal modeling?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Goal modeling.

Tags

  • Enterprise modelling
  • Goal
  • Software requirements

Keep exploring