Professional Documents
Culture Documents
Goal Modeling
Lecture 7
Aamir Anwar
Lecturer CS & IT
University of Lahore, Islamabad Campus
RE We Will Cover
• What is a goal model?
• When to use goal models?
– How do goal models relate to UML models?
• Why use goal models?
• Capturing the goal model
RE When to use goal models
• Early requirements engineering
– Focus on identifying problems
– Exploring system solutions and alternatives
– Done before UML modeling
Early RE Late
RRE Design Code Test
By Manually Automatically
By
person system
Send Receive
request request
AND Refinement
RE
Schedule All of the
meeting subgoals must be
AND AND
achieved for the
Collect Choose goal to be
timetables schedule achieved
By Manually Automatically
By
person system
AND
Minimal
AND
conflicts
Minimal
effort Good
AND participation
Matching
AND effort
Collection
effort Minimal
disturbances
Accurate
constraints
RE Modeling Softgoals
• Used to evaluate alternatives
• Helps (+)
• Makes (++)
• Hurts (-)
• Breaks (--)
RE Contributions to Softgoals
Good Quality
schedule
AND
Schedule Minimal
AND
meeting conflicts
AND Good
− + participation
Choose
schedule
OR +
OR −
Manually Automatically
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Minimal
AND
AND Matching conflicts
effort
Good
participation
Collection
effort
1. Define
Minimal Softgoals
disturbances
Accurate
constraints
.
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Schedule Minimal
AND
AND Matching meeting conflicts
effort
AND AND Choose Good
schedule participation
Collection Collect
effort timetables OR
OR OR
OR
By Manually Automatically
By
person system
OR
OR
Accurate
request request Steps 1 & 2
constraints may be
iterative
RE Construction Process Good Quality
schedule
Minimal
effort
AND AND
Schedule Minimal
AND
AND Matching meeting conflicts
effort
AND AND Choose Good
− + participation
+ schedule
Collection Collect
effort timetables − OR +
+ OR
OR OR −
−
By Manually Automatically
By
person system
OR
OR
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Goal Model
• Agent - active system component
• Object - inactive system component
• Operation - an action an agent takes to achieve a goal
• Requirement - a goal for which an automated component is responsible
• Expectation - a goal for which a human is responsible Safe Transportation
Human
Radio Other Train
Software Train
Sensor
RE KAOS Agent Model
• Objective: depicts agent responsibilities
• Agent models can be inferred from goal models
Maintain Knowledge of Other Train Locations Software
Sensor
Human
Human
Software
Sensor
Manually Radio Other Train Conductors
Human
Human
Human
Software
Sensor
Manually Radio Other Train Conductors
Human
Human
Software
Sensor
Manually Radio Other Train Conductors
Human
Automatically Sense Other Train Loc ations
Manually R adio Other Train Conductors
Human
Human
Software
Sensor
Manually Radio Other Train Conductors
Safe Transportation
Close Door
Door
RE KAOS Operationalization Model
• Objective: specifies the operations that agents must
perform to achieve the goals
Close Door
Close Door
Door
Door
07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons
RE KAOS Object Model
• Objective: further specifies objects used in the goal model
• The syntax is similar to a that of a UML class diagram
Following Track
On Track
Switch
position
RE Integrated Use of Goals
• KAOS
– Refining goals into requirements
– 4 models
• Goal
• Agent
• Operationalization
• Object
• i*
– Relates goals to the organization context
– 2 models
• Actor (Strategic) Dependency Model
• Actor (Strategic) Rationale Model
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box
Attends
Meeting(p,m)
D
MeetingBe
Scheduled(m) Enter
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter
Scheduler D Participant
DateRange Proposed
(m) Date(m)
Agreement
(m,p)
ISA
Attends
Meeting(ip,m)
Important
Assured
D Participant
(Attends D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency
D D Task Dependency
D D Goal Dependency
D D Softgoal Dependency
O Open (uncommitted) X Critical
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box
Attends
Meeting(p,m)
D
LEGEND
Me etingBe
Depender Dependee
Sche duled(m) D Enter
D D Resource
D Dependency
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter D Scheduler D D Participant
DateRange
D D Task Dependency
Proposed
(m) Date(m)
D Agreement
D D D Goal Dependency
(m,p)
Attends ISA
D D
Meeting(ip,m)
Softgoal Dependency
D
D Important
Assured Participant
O Open (uncommitted)
(Attends X Critical
D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency
D D Task Dependency
D D Goal Dependency
D D Softgoal Dependency
O Open (uncommitted) X Critical
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box
Attends
Meeting(p,m)
D
MeetingBe
Scheduled(m) Enter
AvailDates
Meeting Meeting (m) Meeting
Initiator
D Enter
Scheduler D Participant
DateRange Proposed
(m) Date(m)
Agreement
(m,p)
ISA
Attends
Meeting(ip,m)
Important
Assured
D Participant
(Attends D
LEGEND Meeting(ip,m))
Depender Dependee
D D Resource Dependency
D D Task Dependency
D D Goal Dependency
D D
Softgoal Dependency
Actor Boundary
RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
LEGEND
Meeting Meeting
Initiator Participant
Organize
D
Goal Participate
Meeting Attends
Meeting InMeeting
Task D
Quick MeetingBe Low Attend
Scheduled Effort Arrange
Resource Meeting Meeting
Convenient
(Meeting,Date)
LetSceduler
Schedule
Meeting Schedule Soft! Goal Quality Low
Meeting D Meeting (ProposedDate) Effort
MeetingBe Agreeable
Scheduler
Scheduled D (Meeting,Date)
Task! Decompo!
Enter sition link Richer
Medium
User
LEGEND DateRa nge D Friendly
Schedule Means!ends link
Goal Meeting
FindAgreeable FindAgreeable
Task
Resource
+
! Contribution
Obtain
AvailDates
to
Enter
DateUsing
Scheduler
DateByTalking
ToInitiator
Obtain
softgoals D AvailDates D
Soft!Goal
Find AgreementActor
Task! Decompo! Agreeable D Proposed D AgreeTo
sition link Slot Date
Means!ends link
Date
Actor Boundary
+! Contribution to Merge D Agreement D
softgoals AvailDates
Actor
Actor Boundary
RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
Meeting Meeting
Initiator Participant
Organize
Meeting Attends Participate
Meeting InMeeting
D
Quick MeetingBe Low Attend
Scheduled Effort Arrange
Meeting Meeting
Convenient
(Meeting,Date)
Schedule LetSceduler
Meeting Schedule Quality Low
Meeting D Meeting (ProposedDate) Effort
MeetingBe Scheduler Agreeable
Scheduled (Meeting,Date)
Enter Richer User
LEGEND DateRange Medium Friendly
Schedule
Goal Meeting
Task
FindAgreeable FindAgreeable
Obtain DateUsing DateByTalking
Resource AvailDates Enter Scheduler ToInitiator
Obtain D AvailDates
Soft!Goal Find Agreement
Task! Decompo! Agreeable Proposed
Slot AgreeTo
sition link Date Date
Means!ends link
Actor Boundary