Req Interactin Matrix
Req Interactin Matrix
Requirements Engineering
Basic concepts
The process model
Techniques: checklists, matrices
Requirements analyst
Prototyping
Requirements prioritization
Characteristics of good
requirements
Valid (or correct)
Complete
Specifies all the things the system
must do and all the things it must
not do!
Conceptual Completeness
Doesnt contradict
Necessary
Doesnt contain anything that isnt
required
Modifiable
Can be changed without difficulty
I.e. is satisfiable
Understandable (Clear)
E.g. by non-computer specialists
E.g. no TBDs!!!
Consistent
E.g. in a glossary
Verifiable
A process exists to test satisfaction
of each requirement
Structural Completeness
Unambiguous
Every statement can be read in
exactly one way
Clearly defines confusing terms
Requirements analysis
The goal of analysis is to discover problems,
incompleteness and inconsistencies in the elicited
requirements
Input - A draft system requirements document
Output identification a set of problematic requirements
Analysis is interlaced with elicitation
Requirements negotiation
Requirements analysis
Necessity
checking
Unnecessary
requirements
Requirements
discussion
Consistency and
completeness
checking
Conflicting and
incomplete
requirements
Requirements
prioritisation
Feasibility
checking
Infeasible
requirements
Requirements
agreement
Requirements negotiation
6
Analysis checklists
University of Tampere, Department of Computer Sciences
Premature design
Combined requirements
Unnecessary requirements
Use of non-standard hardware
Conformance with business goals
Requirements ambiguity
Requirements realism
Requirements testability
Requirements interactions
Requi rement
R1
R2
R3
R4
R5
R6
R1
0
0
1000
0
1
1
R2
0
0
0
0
0
0
R3
1000
0
0
1000
0
1000
R4
0
0
1000
0
1
1
R5
1
0
0
1
0
0
R6
1
0
1000
1
0
0
10
Negotiation meetings
An independent chairman
11
Information stage
Discussion stage
Resolution stage
12
Requirements analyst
Project Sponser
Project Management
Business Reqs.
User Reqs.
User Representatives
Requirements
Analyst
Development
A project role
Other Stakeholders
Testing
13
Listening
Interviewing and questioning
Analytical skills
Facilitation skills
Observational skills
Writing
Organizational skills
Modeling skills
Interpersonal skills
Creativity
15
16
Outline
17
Basic concepts
The process model
Techniques: checklists, matrices
Requirements analyst
Prototyping
Requirements prioritization
18
Prototype
Types of prototyping
Throw-away
Evolutionary
19
20
Benefits of prototyping
Challenges of prototyping
University of Tampere, Department of Computer Sciences
Training costs
Development costs
Incompleteness
Mislead users
21
22
Approaches to prototyping
Paper prototyping
Wizard of Oz prototyping
Executable prototyping
23
Prototyping guidelines
Include prototyping tasks in your project plan
Create throw-away prototypes as quickly and cheaply
as possible
Do not prototype requirements you already understand
Resist the temptation or the pressure from users to keep
adding more functionality
Use plausible dummy data in prototype screen displays
and reports
Do not expect a prototype to replace written
requirements
24
Outline
Basic concepts
The process model
Techniques: checklists, matrices
Requirements analyst
Prototyping
Requirements prioritization
Limited
resources
Schedule
Customer
expectations
are high
Budget
Effort
Resources
Changing Reqs
Requirements
Conflicting
Reqs
25
26
Prioritization
Challenges of prioritization
University of Tampere, Department of Computer Sciences
27
28
Prioritization techniques
Prioritization scales
University of Tampere, Department of Computer Sciences
Prioritization scales
Prioritization model based on value, cost, and risk
Other techniques, QFD, TQM
29
30
Pros
Cheap and easy to use
Suitable for a small project
Cons
The results are in many cases just a rough estimate
Participant dependent method
Customers estimate 85% of requirements at high priority, 15%
at medium and 5% at low priority
No desired flexibility for the project
31
32
Prioritization model
University of Tampere, Department of Computer Sciences
33
35
36
37
38
Prioritization considerations
University of Tampere, Department of Computer Sciences
Key points
39
41