Professional Documents
Culture Documents
Goal Modeling
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
1
RE We Will Cover
• What is a goal?
• Where do goals come from?
• 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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
2
RE What is a goal?
• A stakeholder objective for the system
– The system includes the software and its
environment
• Who are stakeholders?
– Anyone who has an interest in the system
– Customers, end users, system developers,
system maintainers...
• What is a goal model?
– A hierarchy of goals
– Relates the high-level goals to low-level system
requirements
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Goal or Not a Goal?
• Goal Examples:
– Credit card information is kept private
– Credit card information is accurate
– Safe transportation
– Highly reliability
• Non-goal Examples:
– The system will be implemented in C++
– The paint colors for the cars will be yellow,
orange, and red
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
4
RE Goal Exercise
• Order the list of goals from high-level
concern to low-level concern
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Goal Exercise
• Order the list of goals from high-level
concern to low-level concern
– Schedule meeting
– Collect timetables
– Collect timetables by system
– System collect timetables from user
– User receives a request for a timetable
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Types of Goals
• Functional (Hard)
– Describe functions the system will perform
– Well defined criteria for satisfaction
– E.g., System collects timetables from user
• Non-functional (Soft or fuzzy)
– Describe desired system qualities
– Hard to define; satisficed rather than satisfied
– Reliability
• E.g., System should be reliable
– Quality
• E.g., System should be high quality.
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Where do goals come from?
• Conveyed by stakeholders
• Disclosed in requirements documents
• Analysis of similar or current system
• Elaborating other goals
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Goal Exercise
• Identify goals in the following paragraph
An Adaptive Regional Forecasting Ecological Observatory (ARFEO) is proposed as
means to implement an operational, run-time configurable, and adaptable ecological
observatory to be used for regional ecological forecasting. ARFEO has three main
dimensions. First, using a holistic perspective of environment, we will use sensors
that are analogous to human and organism senses to monitor the environment and its
changes. As such, ARFEO can be configured to observe and answer ecological
questions specific to one class of sensory input or across multiple sensory inputs.
Second, ARFEO will use a cyberinfrastructure comprising smart, heterogeneous
sensor networks, small-scale and GRID-scale distributed computing [6]. ARFEO’s
architecture will be a distributed design which will enable users to perform small and
complex computations and transparent integration of data and analysis. ARFEO will
enable a user to adapt monitoring capabilities at run-time, thus allowing a user to
customize the configuration to specific needs and questions. Finally, ARFEO will
emphasize the reuse and synergistic integration of existing analysis and visualization
techniques to include in the computational toolkit for processing the sensor and
ancillary data, as well as metadata. A key part of ARFEO will be the development of
processes to make use of the toolkit element to support the analysis and visualization
capabilities.
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Why use goal models?
• Give rationale for requirements
• Identify stable information
• Guide requirement elaboration
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE Running Example
• Meeting Scheduler
– Assists the initiator in scheduling a meeting
– Meeting should be convenient for participants
• Participants should be available
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
13
Example adapted from the RE06 keynote given by John Mylopoulos
Goal Model
RE
Schedule Goals are refined into
meeting subgoals that elaborate
how the goal is
achieved
Collect Choose
timetables schedule
By Manually Automatically
By
person system
Send Receive
request request
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
By Manually Automatically
By
person system
AND
Minimal AND
conflicts
Minimal
effort Good
AND participation
AND Matching
effort
Collection
effort Minimal
disturbances
Accurate
constraints
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
Good Quality
schedule
AND
Schedule Minimal AND
meeting conflicts
AND Good
− + participation
Choose
schedule
OR +
OR −
Manually Automatically
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
1. Define
Minimal Softgoals
disturbances
Accurate
constraints
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
21
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
23
Example adapted from the RE06 keynote given by John Mylopoulos
RE
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
24
RE Integrated Use of Goals
• KAOS
– Refining goals into requirements
– 4 models
• Goal
• Agent
• Operationalization
• Object
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
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 Locations
Manually Radio Other Train Conductors
Human
Human
Software
Sensor
Manually Radio Other Train Conductors
Safe Transportation
Close Door
Door
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
28
RE KAOS Operationalization Model
• Objective: specifies the operations that agents must
perform to achieve the goals
Close Door
Close Door
Door Door
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
28
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
29
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
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box
Attends
Meeting(p,m) or impa
D D rations
MeetingBe
D In th
D Scheduled(m) Enter
D AvailDates vides a
Meeting Meeting (m) D Meeting
Initiator
D Enter
DateRange
D Scheduler D D Participant side” ac
Proposed
X
(m) Date(m) tentiona
D Agreement
D appear i
D (m,p)
ISA
Attends but also
D Meeting(ip,m)
ships an
D Important
Assured
(Attends
Participant in Figur
D
LEGEND
Depender Dependee
Meeting(ip,m)) meeting
D D Resource Dependency SD mod
D D Task Dependency
Diagram from Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering by Eric Yu
31 ings in
RE i* Actor Dependency Model
• Dependencies between actors - An actor is a black box
Attends
Meeting(p,m) or impa
D D rations
MeetingBe
D In th
D Scheduled(m) Enter
D AvailDates vides a
Meeting Meeting (m) D Meeting
Initiator
D Enter
DateRange
D Scheduler D D Participant side” ac
Proposed
X
(m) Date(m) tentiona
D Agreement
D appear i
D (m,p)
ISA
Attends but also
D Meeting(ip,m)
ships an
D Important
Assured
(Attends
Participant in Figur
D
LEGEND
Depender Dependee
Meeting(ip,m)) meeting
D D Resource Dependency SD mod
D D Task Dependency
Actor Boundary
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
32
Figure 4: Strategic Rationale model for a computer-supported meeting scheduling configuration
Diagram from Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering by Eric Yu
ser
RE i* Actor Rationale Model
riendly Min
•Interruption
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
Meeting Meeting
! + ! + Resource Convenient
+ (Meeting,Date)
Schedule LetSceduler
Meeting Schedule
D
Soft!Goal Quality Low
Meeting Meeting (ProposedDate) Effort
MeetingBe Scheduler Agreeable
Scheduled D + +
D Task!Decompo! (Meeting,Date)
Enter
DateRange
sition link Richer
Medium +
User
LEGEND Friendly
Schedule Means!ends link
D
Meeting ! ! +
Goal
FindAgreeable FindAgreeable
Task
+
! Obtain Contribution
Obtain
AvailDates
to
Enter
DateUsing
Scheduler
DateByTalking
ToInitiator
Resource
softgoals D AvailDates D
Soft!Goal Find AgreementActor
Task!Decompo!
Agreeable D
Proposed
Slot
D AgreeTo
sition link Date Date
Means!ends link
Merge
Actor Boundary
D
+
! Contribution to Agreement D
softgoals AvailDates
Actor
Actor Boundary
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
32
Figure 4: Strategic Rationale model for a computer-supported meeting scheduling configuration
Diagram from Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering by Eric Yu
RE i* Actor Rationale Model
• Internal actor relationships - An actor is a white box
Meeting Meeting
Initiator Participant
Organize
Meeting D 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 D + +
D (Meeting,Date)
Enter Richer User
LEGEND DateRange Medium + Friendly
D Schedule
Meeting ! ! +
Goal
FindAgreeable FindAgreeable
Task Obtain DateUsing DateByTalking
AvailDates Enter Scheduler ToInitiator
Resource
Obtain D AvailDates D
Soft!Goal Find Agreement
Task!Decompo!
Agreeable D
Proposed
Slot
D AgreeTo
sition link Date Date
Means!ends link
Actor Boundary
© 2006-07 Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license.
32
Figure 4: Strategic Rationale model for a computer-supported meeting scheduling configuration
Diagram from Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering by Eric Yu