Goal - DESS SIC

Goal Oriented Requirements Engineering
A Guided Tour
Colette Rolland
What is? Why? Where? When? How requirements engineering (RE) with goals
PARIS 1
SORBONNE
Recap
What is RE about?
The WHY question
Why the system needs to be developed?
The WHAT question
What the system shall do?
« Requirements definition must say
– why a system is needed, based on current or foreseen conditions,
– what system features will satisfy this context,
……………….» (Ross77)
(Bubenko94, Mylopoulos92, Dardenne93, Loucopoulos95, etc..)
PARIS 1
SORBONNE
What is RE with goals ?
Introducing explicit goal representations in requirements models
“Requirements are complete
if they are sufficient to establish the goal they are refining” (Yue87)
"RE is concerned with the real-world goals for,
functions of, constraints on software systems;
and with their :
– link to precise specifications of software behaviour,
– evolution over time & families " (Zave97)
"RE is concerned with the identification of goals to be achieved
by the envisioned system, the operationalization of such goals into
services and constraints…." (Lamnsweerde00)
PARIS 1
SORBONNE
What is RE about?
Mission statements &
strategic objectives
System Requirements
(from Axel van Lamsweerde)
PARIS 1
SORBONNE
Goal Orientation
• found in traditional methodologies for system
engineering :
context analysis (Ross77), definition study (Hice &
Turner74), participative analysis (Munford81),
object oriented analysis (Rubin & Golberg92)…..
• addressed by IEEE-Std-830
• ignored by UML, "but needed" (Fowler97)
• increasingly considered in RE research
PARIS 1
SORBONNE
Goal Oriented Requirements Engineering
Roles of Goals in RE :
 requirements elicitation
 exploration of alternatives
 requirements completeness
 requirements pre-traceability
 detection & resolution of conflicts
 documentation
 negotiation
 evolution & change
PARIS 1
SORBONNE
Outline
• Goals... what? why? where? when?
• Modelling goals
• Formulating goals
• Conclusion
PARIS 1
SORBONNE
What are Goals?
Objectives that the system under consideration must achieve
• optative statements (as opposed to descriptive), (Jackson95)
expressions of intents, (Rolland98)
Screen passengers entering the lift (goal); Create ET Passenger (action)
• related to the system in its environment,
bounded by the subject matter, (Zave & Jackson97)
Keep door closed when moving relates to Transport passengers safely
• through co operation of agents, van Lamsweerde00
Lift system depends on lift software to Keep door closed when moving
• associated with the current system (As-Is) or the future system (To-Be)
PARIS 1
SORBONNE
What are Goals?
High level,
Goals are expressed at different strategic,
levels of abstraction
organisation wise
 Increase the number of
contracts by 20%
 Diversify the number of
ways of making offers
Make
Offer
Low level,
tactic,
design specific
Through the
With a pull
car vendor
strategy
Directly to the client
by Internet
PARIS 1
SORBONNE
What are Goals?
More examples
• high-level goals
strategic, global, organization-wide
“more passengers served"
"ubiquitous cash service provided ”
• low-level goals
technical, local, design-specific
“Trigger acceleration every 3 seconds"
" Keep card after 3 wrong password entries"
PARIS 1
SORBONNE
What are Goals?
Ubiquitous cash service
Goals cover different types ofprovided
concerns
card kept after 3 wrong
pin code entries
• functional goals : what the system is expected to do
• non-functional goals : quality of
security, safety, accuracy,
performance, cost, usability,
adaptability,
Serve customer
quickly
the system
behaviour
Pop up window
in less than 1/2 sec
PARIS 1
SORBONNE
What are Goals?
• Actor
responsible
for goal (Feather87)
Achieving goals require co operation
among
agents/actors
• Actor dependencies (Yu94)
• Goal as requirement when assigned to
system versus assumption in the
Safe
Goal
environment (Lamsweerde01)
Transportation
Actor
Train
transportation
system
Get in
when doors
open at station
Maintain
doors closed
while moving
Passenger
Software
System
Tracking
Passenger
system
PARIS 1
SORBONNE
What are Goals?
Goals may be owned by stakeholders
"train frequency increased" (passengers)
"number of passengers increased" (train company)
potential for conflicting viewpoints
"card kept when KO-customer" (banks)
"card returned when KO-customer" (customers)
(Robinson89, Nuseibeh94, Boehm95, Lamsweerde98a)
PARIS 1
SORBONNE
Exercise (1)
Assume that you have to set the goals for an insurance claim system
1. Elicit some goals
2. Classify them into functional and non functional goals
3. Draw some dependencies of the form < actor1, goal g, actor2>
expressing the fact that goal g requires the cooperation
between actor1 (dependee) and actor2 (depender)
4. Identify two (or more) conflicting goals
Assumption: The company employs appraisers to estimate
damages;
car owners are reimbursed of repairs done by body shops
accordingly
PARIS 1
SORBONNE
Why are goals needed ?
 Goals help deriving purposeful requirements !
 Goals drive the elaboration of requirements to support
them
(Ross77, Dardenne91, Rubin92, Anton98, Kaindl00, ... )
Goals provide rich structuring mechanism
AND/OR refinement, abstraction (Dardenne91, Mylopoulos92)
 Goals are roots for conflict detection & resolution
(Robinson89, Boehm95, Nuseibeh94, Lamsweerde98a)
PARIS 1
SORBONNE
Where are goals coming from ?
Bottom-up
(why)
By abstracting
from the current
system (early
reqs)
Avoiding/
reducing problems
& deficiencies
As-Is Goals
Intentional level
To-Be Goals
By refinement
from scenarios,
obstacles &
conflicts (late
reqts)
Understanding
needs for
change
Abstracting
Operationalizing
Top-down
(how)
Operational Level
Current system &
Processes
To-Be system &
processes
Eliciting goals in not an easy task!!
PARIS 1
SORBONNE
Where are goals coming from ?
Goal identification
Top-down: asking HOW? questions about goals available
Screen passengers entering in the lift flows from How to
Ensure security in the building?
Bottom-up: asking WHY? questions about
technical/operational details available
Why Having the ET passenger in the conceptual schema forces
to come to the general goal of Ensuring security in the building
PARIS 1
SORBONNE
When should goals be made explicit ?
• early phases of RE, generally
the sooner the better,
for goal-driven elaboration, validation, negotiation
• but late identification as well
• from scenarios, obstacles, conflicts
• late why questions
• at every step of the design process (e.g RUP)
PARIS 1
SORBONNE
Exercise (2)
Apply a bottom-up approach to the Room Booking System
to identify one or more high level goals
PARIS 1
SORBONNE
Outline
• Goals... what? why? where? when?
• Modelling goals
• Formulating goals
• Conclusion
PARIS 1
SORBONNE
Modelling goals
Aim : to support heuristic,qualitative or formal reasoning during RE
 understanding the context in which the system will have to function,
the rationale for the To-Be system,
 deriving the system requirements from the explicit representation
of the organisation’s mission & objectives
 bridging organisation objectives to system requirements
The goal model is a goal graph build with AND/OR links
PARIS 1
SORBONNE
Modelling goals : AND/OR links
Borrowed from problem reduction methods in AI
Collect Meter Readings
AND decomposition/refinement
Organise Routes
Physically Collect
Readings
AND link meaning :
the father goal is satisfied only if the children goals are satisfied
AND links help in driving the process of goal operationalisation
PARIS 1
SORBONNE
Modelling goals : AND/OR links
AND
Collect Meter Readings
Organise Routes
Produce Daily
Routes
Assign
Routes
Physically Collect
Readings
Read Meters
Collect & Manage
Readings
PARIS 1
SORBONNE
Modelling goals : AND/OR links
OR refinement
Provide 24-hours
telephone hot-line
Provide
Customer support
Provide interactive
bulletin
board on Internet
Provide service catalogue
on CD-ROM
OR link meaning :
The father goal is satisfied if one of the children goals is satisfied
Constructing OR links supports identify, evaluate, negotiate and
reason on alternatives
PARIS 1
SORBONNE
Modelling goals : AND/OR links
OR
Provide 24-hours
telephone hot-line
Develop specific
WEB application
Provide
Customer support
Provide interactive
bulletin
board on Internet
Provide service
catalogue on CD-ROM
Purchase WEB server
services from provider
PARIS 1
SORBONNE
Modelling goals : AND/OR links
Estimate efficiently
load needs
OR
Use forecast
efficiently
Hire estimation
agents
Elicit estimation
needs
Make forecast
AND
By
district
Centrally
Define forecast
periodicity
Define estimation
criteria
By
region
Make shifting
forecasts
Make short
term forecasts
Make long
term forecasts
PARIS 1
SORBONNE
Modelling goals : AND/OR links
Operationalize goal
OR
(choice)
Operationalize goal following Peri’s
approach>
Operationalize goal following
Axel’s approach>
AND
(composition)
Identify hypotheses
Formulate
decomposition
Express Pros and Cons
for each hypothesis
Perform an OR reduction
based on case
OR
(choice)
, Perform an OR reduction
based on milestone
PARIS 1
SORBONNE
Exercise (3)
Decompose the goal Provide Services for Lending Books
PARIS 1
SORBONNE
Modelling goals : As-Is & To-Be graphs
Run PPC distribution
Ensure
product
quality
From As-Is model to
To-Be model
Minimise
operational
costs
INTRODUCE
Satisfy customer requests
Offer services
to Public
Organisations
Ensure safe
and continuous
electricity
provision
Supply Customers
with electricity
Stop supply
of electricity
to
Handle financial aspects
of electricity supply
customers
to customers
Collect data on
customer
consumption
Introduce IFD to
serve eligible
customers
CEASE
Cease services
offered to
Public Organisations
MAINTAIN
Ensure the safe and
continuous provision
of electricity
REPLACE
Disconnect
customer via IFD
REPLACE
Supply electricity via
IFD
ADAPT
Automate the financial aspects
for electricity supply
INTRODUCE
Introduce
GIS
REPLACE
Bill customer
consumption
...
Replace manual meter
reading by remote
meter reading
EXTEND
Extend the billing module
to collect remote meter
readings
PARIS 1
SORBONNE
Modelling goals : goal types
MAINTAIN
ELEKTRA taxonomy :
7 types of change goals
(Rolland99)
Maintain the safe
and continuous
provision of
electricity
CEASE
Cease offering
services to public
EXTEND
IMPROVE
organisations
Extend current
liaison
procedures
REPLACE
Improve customer
satisfaction for new
installation request
INTRODUCE
Introduce a
customer
oriented culture
ADAPT
Replace manual
meter reading by
remote meter
reading
Automate the
financial aspects
for electricity
supply
PARIS 1
SORBONNE
Modelling goals : goal types
Anton's taxonomy :
2 main types of goals
(Anton96)
Goal Type
Does this goal ensure
Policy level goals
that some condition is
held true throughout
Is continuous
Maintenance
achievement required? Provide career tracks
Coordinate training
Does this goal denote a
state that has been
achieved or a desired state?
Process level goals
Achievement
Create career track portfolio
Announce available course slots
Maintain
Cease, Improve, Extend, Introduce,
Adapt, Replace
PARIS 1
SORBONNE
Modelling goals : goal types
Dardenne's taxonomy :
3 types of behaviours & 5 types of goals
(Dardenne93)
Goal Type
Generate behaviours
Achieve: P   Q
Compare behaviours
Restrict behaviours
Optimise:Maximise ,
Achieve[message sent in
Minimise
time]
Cease: P   ¬ Q
Avoid :P •¬ Q
Cease[deliver electricity]
Avoid[train collision]
Maintain: P •Q
Maintain[distance between train]
 Q :property Q will hold in all future states
 Q : property Q will hold in some future state
PARIS 1
SORBONNE
Modelling goals : goal types
Prat's taxonomy (Prat97)
goal
maintenance
state
remain
Each class has its set
of semantic functions
Ex : become [Qual];
keep[Object];
dissociate[source]etc.
ownership
keep
evolution
process
knowledge
choose
decide
argue on
justify
Action
describe
modify
maximise
minimise
state change
become
execution
Mapping
associate
dissociate
couple
attach
Realisation
realise
create
identify
Transfer
give
delegate
receive
PARIS 1
SORBONNE
Exercise (4)
Classify the following goals (Dardenne’s taxonomy) :
Satisfy book request
Provide long borrowing period
Ensure accurate classification
Notify availability
Maintain as many copies as possible
Limit borrowing period
Avoid loss of books
Cease lending books manually
PARIS 1
SORBONNE
Modelling goals : goal types
Soft versus hard goals
 hard goals: that the goal has been reached can be verified
ex : quantitative criteria (Robinson02)
 goal satisfaction
ex : block speed limit, door closed while moving
 soft goals: whether the goal has been reached cannot be
established in clear-cut sense
 goal satisficing, (Mylopoulos92, Chung00)
ex : safe transportation
PARIS 1
SORBONNE
Modelling goals : AND/OR satisfycing
Qualitative framework
Passenger Transportation
+: G contributes positively to K
- : G contributes negatively to K
(Mylopoulos92, Nixon93, Chung00)
PARIS 1
SORBONNE
Modelling goals : goal links
Relating goals to …
 other goals
AND/OR satisfaction
AND/OR satisficing (soft goals)
conflict
 other concepts
problem, opportunity, thread, (EKD,Bubenko94)
objects, (Dardenne91, Mylopoulos92, Prat97, Rolland98)
scenarios, (Fickas92, Potts95, Leite97, Sutcliffe 98,
Haumer98, Rolland98, Anton98)
agents (responsibility- Kaos,Leiter01), (goal dependencyI*,Yu93)
PARIS 1
SORBONNE
Modelling goals : goal links
Improve financial
results
EKD model
supports
supports
Increase revenue
Minimise costs
Problem
Too many
failures
Opportunity
Existence of
infrastructure
supports
hinders
supports
solves
Reduce power
failures by 10% in
the next 5 years
Enter new markets
exploiting existing
assets
PARIS 1
SORBONNE
Modelling goals : goal links
Object reference
(Dardenne91, Mylopoulos92, Rolland98, ...)
PARIS 1
SORBONNE
Modelling goals : goal links
Scenario coverage
PARIS 1
SORBONNE
Modelling goals : goal links
Agent/goal dependency (Yu93)
+ hard goal, task & resource dependency
PARIS 1
SORBONNE
Outline
• Goals... what? why? where? when?
• Modelling goals
• Formulating goals
• Conclusion
PARIS 1
SORBONNE
Formulating goals
Aim :
• to document elements of the goal model
• to enable some form of reasoning
Informal, semi formal, formal
 In any case informal description is required
to make a goal designation precise (Zave & Jackson’97)
Ex: Replace [manual transfer of meter readings]
Capturing data of meter reading sheets is error-prone. Introducing
devices permitting automatic transfer should reduce errors
PARIS 1
SORBONNE
Formulating goals
 Semi formal expression of goal statements
• goal type, parameters
Accuracy [account.balance] (Mylopoulos92)
Avoid [ train collision] (Dardenne91)
Maintain [Career tracks] (Anton96)
PARIS 1
SORBONNE
Formulating goals
• Linguistic approach (Prat97)
Goal : Verb <Target> [<parameter>]*
Target : verb complement
ex:
Grant Verb (a loan)Target
The Target can be Object or Result
• The Object pre-exists to the goal achievement
ex: DecideVerb (on the offer)Object
• The Result is produced by the goal achievement
ex: CollectVerb (the offer data)Result
PARIS 1
SORBONNE
Formulating goals
 Semi-Formal
Goal : Verb <Target> [<parameter>]*
Other parameters:: source, beneficiary, destination,
means, manner, place, time,
quantity, quality, reference
ex: ImproveVerb (services)Oj (to our customer)Ben (by providing an
ubiquitous cash service)Man
ex: Respond-toVerb (a loan request)Ob presented (by a customer)So
(in 8 days)Time
PARIS 1
SORBONNE
Formulating goals
Source : where the goal originated from (information source or
physical location)
Exclude (competitor)Obj (from market)So
Destination : reverse of source
Transfer (research department)Obj (in Nice)dest
Location : situate the goal in space
Reduce (delay)obj (on the ground)loc
Time : situate goal in time
Renew (product catalogue)obj (every year) time
PARIS 1
SORBONNE
Formulating goals
Reference : entity by reference to which a state is preserved/reached
or an action is executed
Adjust (prices) obj (to inflation rate) ref
Quality : a quality criterion that must be preserved/satisfied
Become (a big CD exporter)qual
Remain (more reliable)qual (than competitors)ref
Quantity : express a positive/negative evolution that must occur
Reduce (production costs)obj (by 10%)
Increase (turnover)obj (by 15%)quant
(compare to last year turnover)ref
PARIS 1
SORBONNE
Formulating goals
Mean : tool used for the goal achievement
Present (new enterprise products)Obj (on the Internet)moy
Manner : an approach to reach the goal
Define (car models)obj (taking into account
(customer surveys)obj)man
Improve (services)obj (to our customers)ben (installing (a service to pay
invoices)obj (with an ATM )moy)man
A manner may be a goal (recursive definition of a goal)
PARIS 1
SORBONNE
Exercise (5)
1- Elicit verbs and parameters of the following goal statements :
Give more autonomy to traffic controllers
Withdraw cash from an ATM in the fast mode
Reduce air pollution
Add Entity Type to E/R schema
Improve services to our customers by providing an ubiquitous cash service with card based ATM
2- Formulate 5 goals related to your activity and formalise their statements with the
case template
PARIS 1
SORBONNE
Formulating goals
 Formal specification in Kaos : Achieve [BookRequestSatisfied]
( bor: Borrower, b: Book, lib: Library)
Requesting (bor, b) b.subject  lib.coverageArea
  ( bc:BookCopy) (Copy(bc, b)Borrowing(bor, bc))
PARIS 1
SORBONNE
Conclusion & Open Issues
Goal based reasoning is central to RE for
- elicitation of requirements
- exploration of alternatives
- exception handling
- conflict management
Goals provide
- better abstractions for decision makers
- support to pro-actively guide the RE process
- pre-traceability links
Open issues
- architecture derivation
- change management
- monitoring of requirements
- quality assessment
PARIS 1
SORBONNE
Exercise (6)
Home Assignment
Part 2
1- Assume that the stakeholders of the room reservation system agree that the high
level goal is to ‘Secure customers’ loyalty’
Decompose this high level goal till operationalisable goals are found. Convert these
into requirements and relate to parts of the conceptual schema of the future system
(reuse your initial schema with extensions/adaptations etc. ).
2- Assume that the stakeholders of the room reservation system agree that the high
level goal is to ‘Maximize customer turn over’.
Same question as in (1)
PARIS 1
SORBONNE