Title: Aucun titre de diapositive
1Goal Oriented Requirements Engineering A Guided
Tour
What is? Why? Where? When? How requirements
engineering (RE) with goals
2Recap
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..)
3What 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)
4What is RE about?
Mission statements strategic objectives
System Requirements
(from Axel van Lamsweerde)
5Goal 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
6Goal 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
7Outline
- Goals... what? why? where? when?
- Modelling goals
- Formulating goals
- Conclusion
8What 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)
9What are Goals?
Goals are expressed at different levels of
abstraction
- Increase the number of
- contracts by 20
10What 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"
11What are Goals?
Goals cover different types of concerns
-
- functional goals what the system is expected
to do - non-functional goals quality of the system
behaviour - security, safety, accuracy,
- performance, cost, usability,
- adaptability,
12What are Goals?
Achieving goals require co operation among
agents/actors
Safe Transportation
Goal
13What 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)
14Exercise (1)
- Assume that you have to set the goals for an
insurance claim system - Elicit some goals
- Classify them into functional and non functional
goals - Draw some dependencies of the form lt actor1, goal
g, actor2gt - 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
15Why 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)
16Where are goals coming from ?
Bottom-up (why)
Top-down (how)
Eliciting goals in not an easy task!!
17Where 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
18When 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)
19Exercise (2)
Apply a bottom-up approach to the Room Booking
System to identify one or more high level goals
20Outline
- Goals... what? why? where? when?
- Modelling goals
- Formulating goals
- Conclusion
21Modelling 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 organisations mission objectives
- bridging organisation objectives to system
requirements -
The goal model is a goal graph build with
AND/OR links
22Modelling goals AND/OR links
Borrowed from problem reduction methods in AI
AND decomposition/refinement
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
23Modelling goals AND/OR links
AND
Collect Meter Readings
Physically Collect Readings
Organise Routes
Collect Manage Readings
Produce Daily Routes
Assign Routes
Read Meters
24Modelling goals AND/OR links
OR refinement
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
25Modelling goals AND/OR links
Provide interactive bulletin board on Internet
26Modelling goals AND/OR links
Estimate efficiently load needs
OR
Use forecast efficiently
Elicit estimation needs
Hire estimation agents
Make forecast
AND
Define estimation criteria
Define forecast periodicity
By district
Centrally
By region
Make long term forecasts
Make short term forecasts
Make shifting forecasts
27Modelling goals AND/OR links
Operationalize goal
OR (choice)
Operationalize goal following Peris approachgt
Operationalize goal following Axels approachgt
AND (composition)
Identify hypotheses
Formulate decomposition
OR (choice)
Express Pros and Cons for each hypothesis
, Perform an OR reduction based on milestone
Perform an OR reduction based on case
28Exercise (3)
Decompose the goal Manage Lending Books
29Modelling goals As-Is To-Be graphs
30Modelling goals goal types
ELEKTRA taxonomy 7 types of change
goals (Rolland99)
EXTEND
Extend current liaison procedures
IMPROVE
REPLACE
Improve customer satisfaction for new
installation request
Replace manual meter reading by remote meter
reading
INTRODUCE
ADAPT
Introduce a customer oriented culture
Automate the financial aspects for electricity
supply
31Modelling goals goal types
Anton's taxonomy 2 main types of
goals (Anton96)
Goal Type
Maintenance Provide career tracks Coordinate
training
Achievement Create career track
portfolio Announce available course slots
32Modelling goals goal types
Dardenne's taxonomy 3 types of behaviours 5
types of goals (Dardenne93)
Goal Type
? Q property Q will hold in all future states
? Q property Q will hold in some future state
33Modelling goals goal types
Prat's taxonomy (Prat97)
Each class has its set of semantic functions Ex
become Qual keepObject
dissociatesourceetc.
34Exercise (4)
Classify the following goals (Dardennes
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
35Modelling 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
36Modelling goals AND/OR satisfycing
Qualitative framework
Passenger Transportation
G contributes positively to K - G
contributes negatively to K
(Mylopoulos92, Nixon93, Chung00)
37Modelling 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
dependency- I,Yu93) -
38Modelling goals goal links
Improve financial results
EKD model
supports
supports
Minimise costs
Increase revenue
hinders
supports
Reduce power failures by 10 in the next 5 years
Enter new markets exploiting existing assets
39Modelling goals goal links
Object reference
(Dardenne91, Mylopoulos92, Rolland98, ...)
40Modelling goals goal links
Scenario coverage
41Modelling goals goal links
Agent/goal dependency (Yu93)
hard goal, task resource dependency
42Outline
- Goals... what? why? where? when?
- Modelling goals
- Formulating goals
- Conclusion
43Formulating 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
Jackson97)
Ex Replace manual transfer of meter
readings Capturing data of meter reading sheets
is error-prone. Introducing devices permitting
automatic transfer should reduce errors
44Formulating goals
- Semi formal expression of goal statements
- goal type, parameters
Accuracy account.balance (Mylopoulos92)
Avoid train collision (Dardenne91)
Maintain Career tracks (Anton96)
45Formulating goals
- Linguistic approach (Prat97)
- Goal Verb ltTargetgt ltparametergt
- 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
46Formulating goals
- Semi-Formal
- Goal Verb ltTargetgt ltparametergt
- 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
47Formulating 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
48Formulating 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
49Formulating 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)
50Exercise (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
51Formulating goals
- Formal specification in Kaos Achieve
BookRequestSatisfied - (? bor Borrower, b Book, lib Library)
- Requesting (bor, b)? b.subject ?
lib.coverageArea - ? ? (? bcBookCopy) (Copy(bc,
b)?Borrowing(bor, bc))
52Conclusion 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