Here are two goals for each type for a car sharing system:
Quality-related goals:
- Usability: The system app is easy to understand and navigate for new users.
- Reliability: The vehicle locations displayed in the app are accurate at least 99% of the time.
Optimization goals:
- Increase availability: The number of vehicles available in high-demand areas increases 10% each year.
- Decrease costs: Operating costs are reduced by 5% annually through more efficient routing.
Behavioral goals:
- Reservation: Users can securely reserve vehicles through the app up to 30 days in advance.
- Payment: The system processes payments from users' accounts in real-time
2. Requirements Engineering â Outline
â˘âŻ WHY do we need Requirements Engineering and what is it?
â˘âŻ Principles: DeďŹniGons, process, roles, problem/soluGon view, arGfact orientaGon
â˘âŻ System Models: DecomposiGon and abstracGon, system views
â˘âŻ Frameworks: What reference structures can I use for requirements?
â˘âŻ Business Case Analysis: Why are we building this system?
â˘âŻ Stakeholders: Who are the people to talk to about requirements?
â˘âŻ Goals and Constraints: What are the major objec5ves for the system?
â˘âŻ System Vision: What exactly do we want to achieve?
â˘âŻ Domain Models: What are the surrounding systems ours interacts with?
â˘âŻ Usage Models: How will the system interact with the user?
â˘âŻ SoUware quality models: How to determine the quality characterisGcs?
â˘âŻ Quality requirements: How to specify which qualiGes need to be met?
â˘âŻ Process requirements: How to specify constraints for development?
â˘âŻ Towards a system speciďŹcaGon: How to hand over to design?
â˘âŻ Quality assurance: How to ensure that RE is done in a good way?
â˘âŻ Change management: How to evolve requirements?
Dr. Birgit Penzenstadler 2
4. Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
Todayâs learning goals
â˘âŻ Founda5ons of goal modeling
â⯠DeďŹniGon, characterisGcs,
meaning and purpose
â⯠Interdependencies between goal
models and other RE content
â˘âŻ Overview of
â⯠Types of goals
â⯠Goal models in the context of analyis
(dependencies, idenGďŹcaGon and
avoiding conďŹicts, QA)
â⯠Techniques for goal modeling
â˘âŻ Goal modeling in context of AMDiRE
â˘âŻ Understanding of typical problems
4
5. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 5
10. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 10
K Rayker, stock.xchng
15. Goal saGsfacGon
â˘âŻ SaGsfacGon of goals happens via adequate steps,
characterized by
â⯠subgoals
â⯠(deduced) requirements / constraints
Ă âŻTo characterize goals and make them more precise, it
is helpful to introduce metrics for the degree of
saGsfacGon
â⯠RelaGons between goals, subgoals via formulas
Ă âŻThis allows for statements whether saGsfying Goal A to a
higher degree helps, hinders or doesnât inďŹuence Goal B
-⯠DeďŹniGon of performance metrics for individual goals (for
example via GQM â the Goal QuesGon Metric approach)
15
17. Goal models
â˘âŻ Network of characteris5cs
â⯠Set of related characterisGcs
â˘âŻ Goal tree
â⯠Set of related characerisGcs of goals with a hierarchical reďŹnement relaGon and
diďŹerent interdependencies
â⯠Known representaGves: KAOS (van Lamsweerde, et al.), GSN (Goal Structuring
NotaGon, Kelly et al.), i* (Yu et al.), ...
â˘âŻ Expecta5on
â⯠Leaf of the goal tree that can exclusively be related to itâs context with regard to
itâs saGsfacGon.
â˘âŻ Requirement
â⯠Leaf of the goal tree that can exclusively be related to the system with regard to
itâs saGsfacGon.
â⯠FuncGonal or non-funcGonal characterisGc of the system that can be deduced from
the goals
â˘âŻ ExpectaGon and requirement can be combined to an Assump5on/Guarantee
pair (A/G speciďŹcaGon) w.r.t. the interface between system and context. 17
Context Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Business Case
Domain Model
Project Scope
Glossary
18. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 18
20. Examples for types of goals according
to Lamsweerde
â˘âŻ Quality-related goals (part of non-funcGonal goals)
â⯠Usability, Performance, Security, Accuracy
â⯠Reliability: 99% of the up.em, the system reacts correctly to user
queries.
â˘âŻ OpGmizaGon goals (also âsoUâ goals)
â⯠If measurable: Max-/MinimizaGon, increase/decrease
â⯠Performance: The opera.ng grade of the tracks between A and B is
increased by 3% per year in the next 5 years.
â˘âŻ Behavioral goals (also âhardâ or funcGonal goals):
â⯠E.g. aUer interacGon phase: saGsfacGon goal (A requests from B),
informaGon goal (A informs B)
â⯠Accuracy: 280-300ms, the train control must be informed about the
state of the level-crossing.
â˘âŻ AnG-goals (also âobstaclesâ):
â⯠E.g. âsafety hazardsâ and âsecurity threatsâ
â⯠The data loss is es.mated at 5% despite backup.
20
22. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 22
24. Example (simpliďŹed)
Goals: (OUen) hard to measure
1.⯠The system must be deployable interna.onally.
2.⯠The system must be easy to use.
3.⯠The development will follow a systema.c process.
Requirements: objecGvely measurable/decideable
1.⯠The user interface must support the languages [x,y,z]..
2.⯠The average inexperienced user must be able to use the func.on [Func.on]
within 20 seconds.
3.⯠The process must be cer.ďŹed as CMMI Level 3.
â˘âŻ Roundtrip: requirements make the saGsfacGon of goals more concrete
(over various steps), goals describe a jusGďŹcaGon for requirements.
â˘âŻ Tracing: Ideally, the relaGons between goals, abstract and concrete
requirements are documented in a traceable way.
24
Requirements Layer
...
...
26. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 26
30. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 30
31. Goal modeling techniques
â˘âŻ KAOS (Keep All Objects SaGsďŹed)
â˘âŻ i* Modelling Framework
â˘âŻ System Dynamics and Balanced Scorecards for encompassing
analysis and simulaGon of complex dynamic systems
â˘âŻ Basic ideas and commonaliGes of goal modeling techniques:
â⯠Hierarchical decomposiGon of goals into subgoals
â⯠Model of dependencies (e.g. conďŹicts, ...)
â⯠Mapping of goals to agents (subsystems/components/actors)
â⯠âseamless transiGonâ to design
31
36. References...
36
Axel van Lamsweerde: Requirements Engineering -- From
System Goals to UML Models to Software
Specifications, 2009.
Eric Yu: Why Agent-oriented Requirements Engineering? Proc.
3rd REFSQ, 1997.
37. Goals and Constraints
â˘âŻ MoGvaGon and overview
â˘âŻ DeďŹniGon
â˘âŻ Types of goals
â˘âŻ Goal reďŹnement and abstracGon
â˘âŻ Goal models and usage for analysis and quality
assurance
â˘âŻ Techniques for goal modeling
â˘âŻ Goal modeling with AMDiRE
â˘âŻ Typical problems when using goal models
Dr. Birgit Penzenstadler 37
38. Goals and other content items
â˘âŻ The goal model is the basis for
â⯠Early idenGďŹcaGon and resoluGon
of conďŹicts
â⯠RaGonale of a requirement
â⯠Modeling of the system behavior
on diďŹerent levels of abstracGon
â˘âŻ Domain Model
â˘âŻ System Vision
â˘âŻ Usage Model
38
Context Layer
System Layer
Requirements Layer
Stakeholder Model Objectives
& Goals
Constraints
& Rules
!
!
!
!
!
Data Model
E
A
A
A
E
System Vision
Functional
Hierarchy
Architecture Overview
System
Function Model
Fun 1
Fun 2
Component Model
C C
Data Model
E
A
A
A
E
Behaviour Model
Business Case
Deployment Requirements
System Constraints
Domain Model
Service ModelUsage Model
Quality Requirements
Risk List
Project Scope
Process Requirements
Glossary
Glossary
Glossary
41. Problems in goal modeling
â˘âŻ Goals oUen intenGonal
â⯠Explain desired state but not how to reach it
â⯠Fuzzy, imprecise
â⯠Hard to determine when a goal is saGsďŹed
â˘âŻ Goals are oUen in conďŹict
â⯠OpGmizaGon of one goal is in conďŹict with another one, e.g.:
â˘âŻ The system shall be of high quality
â˘âŻ The system shall be cheap
â˘âŻ AbstracGon levels & precision in diďŹerenGaGng between
problem and soluGon
â⯠General goal trees allow for a smooth transiGon between
problem and soluGon.
Ă âŻDanger of veering oďŹ into architecture design too early.
Ă âŻSolu5on orienta5on
41
44. Example 2 (PDF in Beach Board)
44
3. System Goals â These goals are used to determine what characteristics the system must have to satisfy the
above two goals.
Goals have the relationships of dependency and decomposition between the sub goals and the super goals.
Super goals are satisďŹed when all sub-goals are satisďŹed. Supporting goals are those that help achieve other
goals, and conďŹicting goals prevent other goals from being completed.
!
Please see the following ďŹgure for a depiction of the goal model for the system (Figure 2)
!
Figure 2: Goal ModelÂ
3
!
"
"
!
! of !12 24
" Drawn using https://www.draw.io3
Try to put it on one page in a way I can sGll read it.
46. G7. Design a
plant guild that
produces yield
G1. Help people
live within the
earth's system
G5. Help permaculture
students design guilds
G3. Promote
local resilience
G2. Obtain food
security by
growing food
G4. Engage in
Land Repair
supports
supports
G8. Find or add
permaculture
plant information
supports
supports supports
G16. Guild
produces yield
within one year of
establishment
G14. Food
produced is
desirable to eat
G15. Guild enables
existing outdoor activities
(e.g., grassy patch for
soccer practice)
G20. Guild should grow at
the site without aide
external from existing and
designed micro-ecosystem
G12. Plants
naturally grow in
that region
G21. Plants
have a detailed
functional
analysis
G13. Plants
invasive to
region can't
be includedsupports
supports
supports
supports
supports
G17. Multiple
plants return
for attribute
searches
supports
supports
supports
G11. Guild should be
designed faster than
using pen and paper
or ad-hoc methods
G10. Designed Guild
should be more
robust than ones
designed on paper
G9. Designed Guild
should satisfy client
needs
supports
G22. Query
for Client's
Wants and
Needs
supports
supports
supports
G24. Provide user
with current and
historical climate
and weather data
G23. Provide
user with canvas
to design on
G25. Provide user
with guild
robustness
measurement tool
G18. Have a back
end database with
location speciďŹc
permaculture plants
G26. Provide users
a list of "optimal
plants"
supports
supports
supports
supports
supports
Soft Goal Quality Goal ConstraintHard Goal
Blue = Business Goal Green = Usage Goal Red = System Goal
G6. Must fall
within land
regulations
conďŹicts
conďŹicts
G19. Guild must
be robust to
extreme weather
conditions for that
site
conďŹicts
conďŹicts
conďŹicts
The Plant Guild Composer: Goal Model
Example 4
46