Requirements evaluation Outline Why do we do this? Types of inconsistency

advertisement
Outline
 Working towards the three C’s:
 Consistency
Requirements evaluation
 Correctness
 Completeness
 Handling risks in the system-to-be
 Prioritising amongst alternatives:
 Requirements
Kristian Sandahl
 Strategies
IDA
 Features
2
Why do we do this?
Types of inconsistency
 There are many people depending on the requirements, use
cases, user stories, win-condition or what ever you call it.
 Terminology clash: one concept – many names
 It is hard to predict the behaviour of a complex system.
 Structure clash: one concept – many structures
 We have always a limited amount of resources.
 Strong conflict: A
 Designation clash: many concepts – one name
B
⊥ (always)
 Weak conflict (divergence): A
Therefore:
B
⊥ (sometimes, under
boundary condition)
We want to avoid future problems.
We don’t want show-stoppers.
We want to spend resources where they make the best value.
3
Linköpings universitet
4
Terminology clash
- dead parrot
Detecting and identifying conflicts
Mr. Praline:
 Reviewing requirements documents and models:
 Peer-review
'E's not pinin'! 'E's passed on! This parrot is no
more! He has ceased to be! 'E's expired
and gone to meet 'is maker! 'E's a stiff!
Bereft of life, 'e rests in peace! If you hadn't
nailed 'im to the perch 'e'd be pushing up
the daisies! 'Is metabolic processes are
now 'istory! 'E's off the twig! 'E's kicked the
bucket, 'e's shuffled off 'is mortal coil, run
down the curtain and joined the bleedin'
choir invisibile!! THIS IS AN EX-PARROT!!
 Structured walk-through
 Inspection
 Cross-referencing requirements relations
 Heuristic detection
 Natural language processing techniques
 Formal techniques
5
Inspection process
6
Cross-referencing
 Group:
 Initial:
 Check criteria
 Detection, or
 Plan
 Collection
 Overview
 Inspection record
R1
R1
 Preparation, or
 Detection
 Change
R6
R6
R7
OK
OK
R5
 Document & data handling
R5
OK
R4
 Follow-up
R4
OK
OK
R3
 Exit:
R3
OK
R2
 Data collection
 Individual:
R2
OK
OK
OK
Conflict
OK
OK
OK
OK
R7
Oops!
7
Linköpings universitet
7
8
Heuristic detection
Natural language processing techniques
 Iteratively obtain a taxonomy of conflict-prone requirement
classes: ex: control algorithms, exception handling
 Uses NLP approach to determine:
 Perform classification during elicitation
 Analyze different classes
 Similarities between specifications, ex: market wishes – product
plans
 Search for keywords, important variables, ex: “decreasing”
 Finding candidates for consistency checking
 Create checklists, ex: investigate initial states, check that all
variables are used,
 Consolidation of requirements
 Similarities within a specification, ex: functional – non functional
 The goodness of approach is measured by
 Recall, % correct classification per known classification
 Precision % correct classification per all system classification

Johan Natt och Dag: Managing Natural Language Requirements in
LargeScale Software Development, PhD dissertation Lund, 2005,
(ISRN LUTEDX/TETS–1070–SE+222P)
9
Case study, similarity between
specifications, preprocessing
Case study, similarity measure
11
Linköpings universitet
10
12
Case study, similarity threshold and recall
Formal notations, Z example
 Book example on white-board
13
Handling inconsistencies
14
The NFR Framework
Good Capacity
for accounts
 Glossary – cheap and effective way of handling terminology
Secure
accounts
 Negotiations:
 Stakeholders’ win-condition
 Conflicting Non-functional requirements (NFRs)
 Use resolution tactics:
Response
time
Space
 Avoid boundary conditions – provide parallel solutions
-
 Restore conflicting statements – find satisfying sequences of use
-
 Weaken conflicting statements – permit exceptions
+
+
 Drop lower-priority statements
 Specialise conflict source or target – fine-grained domain model

Use stakeholders in elicitation for resolution

Use authority
Use uncompressed
format
15
Linköpings universitet
Use indexing
Validity access
against eligibility
rules
16
18
Risk management, some terminology
Hazard, Incident, Accident
 A risk is an uncertain factor whose occurrence may result in a
loss of satisfaction of a corresponding objective.
 Hazard – System state or
condition that may lead to an
incident.
 A risk has a likelihood of occurrence, some authors use
probability
 Incident – Potentially dangerous
system behaviour
 If occurred, a risk has negative consequences
 Accident – Unplanned sequence
of events that lead to human
death, severe injury or big loss of
resources
 Each consequence has a severity, some authors use impact
 Risks are handled with countermeasures
 Focus of the book: Product-related risks
17
Risk management process
18
Risk identification
 Risk checklists
 Missing functions
 Wrong assumptions
Risk identification
Risk assessment
Risk control
 Hazards
 Vulnerabilities....
 Software reviews
 Risk trees
 Scenarious
 Knowledge reuse
 Brainstorming
19
Linköpings universitet
20
Risk assessment
Defect Detection Prevention (DDP)
Impact matrix
 L(c) – likelihood of occurrence for consequence c
 0
 S(c) – severity of consequence c
 Assume risk r has a set of independent consequences
 Risk exposure Exp can be calculated as
Exp(r ) = ! L(c) " S (c)
c
 Some authors use Risk Magnitude Indicator with averaged S(c)
per risk
 Some authors use Risk Criticality explicitly calculating risk as a
weighted sum of different objective consequences
0.7 " (0.4 " 0.3 + 0.3 " 0 + 0.1" 0.3 + 0.2 " 0.1) ! 0.12
21
22
Risk control tactics (strategies)
Finding countermeasures
 Avoid – Require failure-safe mechanisms
 What-if questions in elicitation
 Transfer – Buy components
 Simulate system or process
 Accept
 Prototyping
 Mitigate – Lower the likelihood of occurrence
 Define contingency plan – A “plan B” if the risk occurs
 Risk-Reduction Leverage (RRL) for risk r and countermeasure
cm
RRL(r , cm) = ( Exp(r ) ! Exp(r cm) / cost (cm)
 Exp( r|cm) is the new risk exposure given that cm is taken.
23
Linköpings universitet
24
Evaluating alternatives
Weighted matrices
Decisions are everywhere in requirements:
Criteria
Option1
Option2
Option3
 Alternative combinations of sub-systems
Convenience 0.3
0.5
0.9
...
 Alternative system boundaries
Reliability
0.6
0.9
0.3
...
Price
0.1
0.5
1.0
...
Total
1.0
0.74
0.55
...
 Alternative conflict resolution methods
 Alternative countermeasures
Weight
Values can be based on judgement, statistics or both
 Alternative scheduling
 Alternative software acquisition opportunities
totalScore(opt ) = ! ( Score(opt , crit ) " Weight (crit ))
 Alternative business strategies
crit
25
26
AHP for requirements prioritisation
AHP, calculating the relative priority
 Create hierarchies of comparable requirements that are on
same abstraction level and in the same sub-system
 Let C be the comparison matrix, then w is a non-null so called
eigenvector such that:
 Make pairwise comparisons on a 9 grade-scale and construct
an AHP comparison matrix:
Cw = !w
 λ is the eigenvalue
 Elements of w correspond to the relative priority for the
requirements in the rows of C
Always the inverse values
27
Linköpings universitet
28
AHP, approximating the calculation of the
eigenvector
Result from the book
 Normalise values per column, so
1
1/ 5
1/ 6
1/ 7
0.66
becomes
0.13
0.11
0.10
 Next, sum the rows and divide by number of requirements, so
0.66 0.78 0.39 0.53
becomes 0.59
29
30
32
31
Linköpings universitet
31
32
Wait, a minute...
 What about correctness and completeness?
 What is the crucial prerequisite of the methods?
33
33
www.liu.se
Linköpings universitet
34
Download