Professional Documents
Culture Documents
06 - Ανάλυση Απαιτήσεων
06 - Ανάλυση Απαιτήσεων
Requirements Engineering
From System Goals
to UML Models
to Software Specifications
Fundamentals of RE
Chapter 3
Requirements Evaluation
© A. van Lamsweerde 1
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
alternative options
Chap. 2: Chap. 3:
Elicitation Evaluation
techniques techniques
documented requirements
© A. van Lamsweerde 2
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
u Inconsistency management
– Types of inconsistency
– Handling inconsistencies
– Managing conflicts: a systematic process
u Risk analysis
– Types of risk
– Risk management
– Risk documentation
– DDP: quantitative risk management for RE
u Evaluating alternative options for decision making
u Requirements prioritization
© 2009 John Wiley and Sons
5
www.wileyeurope.com/college/van lamsweerde
Inconsistency management
© A. van Lamsweerde 3
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Types of inconsistency in RE
© A. van Lamsweerde 4
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Handling inconsistencies
10
© A. van Lamsweerde 5
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
11
12
© A. van Lamsweerde 6
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
u See ...
– Sect. 3.3 in this chapter (“Evaluating alternative options”)
– Chapters 16, 18
13
u Inconsistency management
– Types of inconsistency
– Handling inconsistencies
– Managing conflicts: a systematic process
u Risk analysis
– Types of risk
– Risk management
– Risk documentation
– DDP: quantitative risk management for RE
u Evaluating alternative options for decision making
u Requirements prioritization
© 2009 John Wiley and Sons
14
www.wileyeurope.com/college/van lamsweerde
14
© A. van Lamsweerde 7
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
What is a risk ?
15
Types of RE risk
16
© A. van Lamsweerde 8
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
RE risk management
17
18
© A. van Lamsweerde 9
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
19
20
© A. van Lamsweerde 10
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
decomposable node
AND
OR leaf node
Train is moving
21
22
© A. van Lamsweerde 11
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Risk identification:
using elicitation techniques
23
Risk assessment
24
© A. van Lamsweerde 12
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
J Easy to use
L Limited conclusions: coarse-grained, subjective estimates
likelihood of consequences not considered
© 2009 John Wiley and Sons
25
www.wileyeurope.com/college/van lamsweerde
25
26
© A. van Lamsweerde 13
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Risk control
27
Exploring countermeasures
28
© A. van Lamsweerde 14
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
29
30
© A. van Lamsweerde 15
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
31
u Inconsistency management
– Types of inconsistency
– Handling inconsistencies
– Managing conflicts: a systematic process
u Risk analysis
– Types of risk
– Risk management
– Risk documentation
– DDP: quantitative risk management for RE
u Evaluating alternative options for decision making
u Requirements prioritization
© 2009 John Wiley and Sons
32
www.wileyeurope.com/college/van lamsweerde
32
© A. van Lamsweerde 16
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
u Three steps:
Elaborate Determine
Elaborate
countermeasure optimal balance
risk Impact
Effectiveness risk reduction /
matrix
matrix countermeasure cost
33
34
© A. van Lamsweerde 17
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Impact matrix:
example for library system
Risks
Objectives Late returns Stolen copies Lost copies Long loan by staff Loss
(likelihood: 0.7) (likelihood: 0.3) (likelihood: 0.1) (likelihood: 0.5) obj.
Regular availability of 0.30 0.60 0.60 0.20 0.22
book copies (weight: 0.4)
Comprehensive library 0 0.20 0.20 0 0.02
coverage (weight: 0.3)
Staff load reduced 0.30 0.50 0.40 0.10 0.04
(weight: 0.1)
Operational costs 0.10 0.30 0.30 0.10 0.05
decreased (weight: 0.2)
Risk criticality 0.12 0.12 0.04 0.06
35
36
© A. van Lamsweerde 18
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Effectiveness matrix:
example for library system
Weighted risks
Late returns Stolen copies Lost copies Long loan by staff Overall effect of
Countermeasures (likelihood: 0.7) (likelihood: 0.3) (likelihood: 0.1) (likelihood: 0.5) countermeasure
Email reminder sent 0.70 0 0.10 0.60 0.12
Fine subtracted from 0.80 0 0.60 0 0.12
registration deposit
Borrower unregistration 0.90 0.20 0.80 0 0.16
+ insertion on black list
Anti-theft device 0 1 0 0 0.12
Combined risk
0.99 1 0.93 0.60
reduction
37
38
© A. van Lamsweerde 19
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
u Inconsistency management
– Types of inconsistency
– Handling inconsistencies
– Managing conflicts: a systematic process
u Risk analysis
– Types of risk
– Risk management
– Risk documentation
– DDP: quantitative risk management for RE
u Evaluating alternative options for decision making
u Requirements prioritization
© 2009 John Wiley and Sons
39
www.wileyeurope.com/college/van lamsweerde
39
40
© A. van Lamsweerde 20
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
41
42
© A. van Lamsweerde 21
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
u Inconsistency management
– Types of inconsistency
– Handling inconsistencies
– Managing conflicts: a systematic process
u Risk analysis
– Types of risk
– Risk management
– Risk documentation
– DDP: quantitative risk management for RE
u Evaluating alternative options for decision making
u Requirements prioritization
© 2009 John Wiley and Sons
43
www.wileyeurope.com/college/van lamsweerde
43
Requirements prioritization
M
u Elicited & evaluated reqs must be assigned priorities ...
– conflict resolution
– resource limitations (budget, personnel, schedules)
– incremental development
– replanning due to unexpected problems
u Some principles for effective req prioritization ...
(1) by ordered levels of equal priority, in small number
(2) qualitative & relative levels (“higher than”, ...)
(3) comparable reqs: same granularity, same abstraction level
(4) reqs not mutually dependent (one can be kept, another dropped)
(5) agreed by key players
44
© A. van Lamsweerde 22
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
Value-cost prioritization
M
u Systematic technique, meets principles (1) - (3)
u Three steps:
1. Estimate relative contribution of each req to project’s value
2. Estimate relative contribution of each req to project’s cost
3. Plot contributions on value-cost diagram: shows what req fits
what priority level according to value-cost tradeoff
50 POD
Value High
percentage 40 priority
Medium
30 HPL
priority
20
PCR Low
priority
10
MA
MLC
10 20 30 40 50
© 2009 John Wiley and Sons
Cost percentage 45
www.wileyeurope.com/college/van lamsweerde
45
46
© A. van Lamsweerde 23
Axel van Lamsweerde
Requirements Engineering: From System Goals to UML Models to Software
Specifications
47
© A. van Lamsweerde 24