480 likes | 1.16k Views
Message of the Paper. A goal is an objective a system under consideration should achieveGoals can be used to drive the requirementsGoals can be used to drive object modelsGoals can be used to validate/verify requirementsGoals provide rationales for requirementsGoals provide structures for makin
E N D
1. Goal-Oriented Requirements Engineering: A Guided Tour By Axel van Lamsweerde
Farshad Tajalli
2. Message of the Paper A goal is an objective a system under consideration should achieve
Goals can be used to drive the requirements
Goals can be used to drive object models
Goals can be used to validate/verify requirements
Goals provide rationales for requirements
Goals provide structures for making important decisions (choose from alternative)
Goals provides structures for requirement documents
Alternative goal refinements allow alternative requirement exploration
Different levels of abstraction
Different types of concerns
functional/non-functional
Different levels of abstraction
Different types of concerns
functional/non-functional
3. Contents Goals
Goals for Requirement Engineering (RE) process
The running example is part of the Bay Area Rapid Transit System (BART) which is a real, complex, real-time, and safety-critical transportation system
4. GOALS
5. Where to Get the Goals Stakeholders and/or preliminary materials (search intentional keywords)
explicitly
implicitly, needs goal elicitation
Preliminary system analysis
problems and deficiencies
Goal/requirement refinement
Goal/requirement abstraction
Conflict resolution of goals
Obstacles
Objective, purpose, intent, concern, Objective, purpose, intent, concern,
6. When to Specify Goals The sooner the better
Deriving role
Analogy to software development
programs implement software specification
requirements “implement” goals
Some late goal identification
ex. requirement abstraction
7. Goal Modeling Enables qualitative, formal, heuristic reasoning
Types
functional/non-functional
soft goals/(hard) goals
achieve(denied)/maintain(avoid)/optimize
Attributes
name, specifications, priority
Links (goal structures)
with other goals
with other elements
Soft : alternative goal refinement
Hard: varification
Priority : refinement.
Soft : alternative goal refinement
Hard: varification
Priority : refinement.
8. Goal Links Links (goal structures)
with other goals
hard goals satisfaction
AND-refinement link
OR-refinement link
Conflict link
soft goals satisficing
Contribute link (positively, negatively)
with other elements
9. Goal Links Links (goal structures)
With other goals
Hard goals satisfaction
AND-refinement link
OR-refinement link
Conflict link
Soft goals Satisficing
Contribute (positively, negatively)
With other elements
10. Goal Links Links (goal structures)
with other goals
with other elements
to operations
to scenarios (coverage link)
Implicit vs. explicit intended properties
to objects (entities, relationships, or agents)
drive related objects from goals
12. Goal Links Links (goal structures)
with other goals
with other elements
to operations
to scenarios (coverage link)
Implicit vs. explicit intended properties
to objects (entities, relationships, or agents)
drive related objects from goals
responsibility link to agents
to organizational policies
13. How to Specify Goals Semi-formal
by their type, attribute, and links
textual, graphical (GRAIL/KAOS)
by instantiation and parameterization of subtyped goals (NFR framework)
keywords with predefined semantics
Achieve, Maintain, Avoid (KAOS)
Formal
14. Formal vs. Informal Goal Spec
15. GOAL-BASED REASONING FOR REQUIREMENT ENGINEERING
16. Verification Verify :
whether requirements are related to goals
whether requirements are sufficient for goals
Formally or informally
Formal
proof (ex. STeP for temporal goals)
matching to refinement patterns (for Achieve, Maintain, Avoid goals)
STeP for STeP for
17. Goal Verification Verify :
whether requirements are related to goals
whether requirements are sufficient for goals
Formally or informally
Formal
proof (ex. STeP for temporal goals)
matching to refinement patterns (for Achieve, Maintain, Avoid goals)
STeP for STeP for
18. Goal Verification Verify :
whether requirements are related to goals
whether requirements are sufficient for goals
Formally or informally
Formal
proof (ex. STeP for temporal goals)
matching to refinement patterns (for Achieve, Maintain, Avoid goals)
STeP for STeP for
19. Goal Verification Verify :
whether requirements are related to goals
whether Requirements are sufficient for goals
Formally or informally
Formal
proof (ex. STeP for temporal goals)
matching to refinement patterns (for Achieve, Maintain, Avoid goals)
Qualitative reasoning for soft goals (NFR framework)
mark nodes bottom-up (S, D, C, U)
STeP for STeP for
20. Goal Verification Verify :
whether requirements are related to goals
whether Requirements are sufficient for goals
Formally or informally
Formal
proof (ex. STeP for temporal goals)
matching to refinement patterns
Qualitative Reasoning (NFR framework)
mark nodes bottom-up (S, D, C, U) (Exa
STeP for STeP for
21. Goal Validation Goals are validated by identifying/generating the covered scenarios
Planning to generate scenarios to achieve the goals
using formal models of goals, operations, prohibited conditions
22. Refinement
Asking the HOW question
Refinement pattern
Goal/Requirement Elicitation (1)
23. Refinement
Ask HOW question
Refinement pattern
Goal/Requirement Elicitation (1)
24. Goal/Requirement Elicitation (2) Abstraction
Asking The WHY question
25. Goal/Requirement Elicitation (2) Abstraction
Asking The WHY question
26. Goal/Requirement Elicitation (2) Abstraction
Asking The WHY question
27. Goal/Requirement Elicitation (2) Abstraction
Asking The WHY question
Using the scenarios
Refinement patterns (in revers)
28. Goal Operationalization Goals as state transitions
Pre (not(command.Sent))
Post (command.sent) And(command.trainId=train1.ID)
Ensure goals linked to transitions
29. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems
Assert obstacle to goal satisfaction
from scenarios
from goals
30. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems
Assert obstacle to goal satisfaction
from scenarios
from goals
31. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems
Assert obstacle to goal satisfaction
from scenarios
from goals
Resolve the obstacles
goal substitution
agent substitution
goal weakening
goal restoration
….
32. Obstacle-driven Elaboration Handling obstacles at RE time leads to new requirements for more robust systems
Assert obstacle to goal satisfaction
from scenarios
from goals
33. Conflict management Conflicts are the rule not the exception
Divergence
boundary conditions
Weaken the none safety condition
34. Negotiation of Requirements
35. Pros/Cons Cons
some techniques are discussed too briefly that are not useable
the future work/short comings are not discussed properly
Pros
easy to read
wide range of techniques are explored
nice example is provided
36. Future Work Paper suggest
using goals (functional/non-functional) goals to derive and refine architectures and annotate patterns
alternative selection
which goal refinement
which agent assignment