Klaus Pohl
Chris Rupp
Requirements
Engineering
Fundamentals
Study Guide for the Certified Professional
for Requirements Engineering Exam
A
Foundation Level
rocky
IREB
compliant
xiii
Contents
The Certified Professional for
Requirements Engineering (CPRE)
Exam
vii
Foreword
With Contributions from
ix
Introduction and Foundations
1.1
Introduction
1
and Facts from
1.1.1
Figures
Ordinary Projects
1.1.2
Requirements Engineering-What Is It?
1.1.3
Embedding Requirements Engineering
into Process Models
1
3
1.2
Fundamentals of Communication
1.3
Characteristics of
1.4
Requirement Types
1.5
Importance
1.6
Summary
System
and Context Boundaries
11
2.1
System
Context
11
2.2
Defining System
and Context Boundaries
12
2.2.1
Defining
the
13
2.2.2
Defining the
Theory
Requirements Engineer
6
7
Categorization of Quality Requirements
and
9
10
System Boundary
Context
2.3
Documenting the System
2.4
Summary
Boundary
Context
15
17
17
Contents
Eliciting Requirements
3.1
Requirements
19
Sources
19
3.1.1
Stakeholders and Their Significance
19
3.1.2
Handling Stakeholders in the Project
20
3.2
Requirements Categorization According
3.3
Elicitation Techniques
to the Kano Model
22
24
3.3.1
Types of Elicitation Techniques
24
3.3.2
Survey Techniques
25
3.3.3
Creativity Techniques
26
3.3.4
Document-centric
28
3.3.5
Observation
3.3.6
Support Techniques
Techniques
Techniques
29
30
3.4
Summary
31
Documenting Requirements
33
4.1
Document
Design
33
4.2
Types of
4.3
Documentation
34
4.2.1
The Three Perspectives of Requirements
4.2.2
Requirements Documentation using Natural Language
4.2.3
Requirements Documentation using Conceptual
4.2.4
Hybrid Requirements
Documents
34
....
Models
..
35
35
36
Document Structures
37
4.3.1
Standardized Document Structures
37
4.3.2
Customized Standard Contents
38
4.4
Using Requirements
4.5
Quality Criteria for Requirements
Documents
40
Documents
41
4.5.1
Unambiguity and Consistency
41
4.5.2
Clear Structure
42
4.5.3
Modifiability and Extendibility
42
4.5.4
Completeness
42
4.5.5
Traceability
43
Contents
4.6
Quality
Criteria for
4.7
Glossary
45
4.8
Summary
47
Documenting Requirements in
5.1
Effects of Natural
Requirements
Natural
43
Language
49
49
Language
5.1.1
Nominalization
50
5.1.2
Nouns without Reference Index
51
5.1.3
Universal Quantifiers
51
5.1.4
Incompletely Specified Conditions
52
5.1.5
Incompletely Specified
53
Process Verbs
5.2
Requirement Construction using Templates
53
5.3
Summary
57
Model-Based Requirements Documentation
59
6.1
The Term Model
59
6.2
6.3
6.4
6.1.1
Properties of Models
60
6.1.2
Modeling Languages
60
6.1.3
Requirements Models
61
6.1.4
Advantages of Requirements Models
61
6.1.5
Combined Use of Models and Natural Language
62
62
Goal Models
6.2.1
Goal Documentation Using AND/OR Trees
63
6.2.2
Example of AND/OR Trees
63
64
Use Cases
6.3.1
UML Use Case
6.3.2
Use Case Specifications
Three Perspectives
on
Diagrams
the
Requirements
64
67
70
xv
Contents
6.5
6.6
6.7
Requirements Modeling
in the Data
71
Perspective
6.5.1
Entity-Relationship Diagrams
71
6.5.2
UML Class
74
Diagrams
Requirements Modeling
in the Functional
76
Perspective
6.6.1
Data Flow
76
6.6.2
Models of the Functional Perspective and Control Flow
6.6.3
UML
Diagrams
78
79
Activity Diagrams
Requirements Modeling
....
in the Behavioral
82
Perspective
6.7.1
Statecharts
83
6.7.2
UML State
84
Diagrams
6.8
Summary
87
Requirements Validation and Negotiation
89
7.1
Fundamentals of Requirements Validation
89
7.2
Fundamentals of
90
7.3
Quality Aspects of Requirements
91
7.3.1
Quality Aspect "Content"
91
7.3.2
Quality Aspect "Documentation"
92
7.3.3
Quality Aspect "Agreement"
93
7.4
Requirements Negotiation
Principles of Requirements Validation
94
7.4.1
Principle
94
7.4.2
Principle 2: Separating
1: Involvement of the Correct Stakeholders
the Identification
and the Correction of Errors
7.5
95
7.4.3
Principle
3: Validation from Different Views
7.4.4
Principle 4: Adequate Change of
7.4.5
Principle
5: Construction of
7.4.6
Principle
6:
Documentation
95
Type
Development Artifacts
Repeated Validation
96
96
96
Requirements Validation Techniques
97
7.5.1
Commenting
97
7.5.2
Inspection
98
7.5.3
Walk-Through
99
Contents
7.6
7.5.4
Perspective-Based Reading
100
7.5.5
Validation
through Prototypes
101
7.5.6
Using Checklists for Validation
103
104
Requirements Negotiation
7.6.1
Conflict Identification
105
7.6.2
Conflict
105
7.6.3
Conflict Resolution
106
7.6.4
Documentation of the Conflict Resolution
108
Analysis
7.7
Summary
109
Requirements Management
111
8.1
Assigning Attributes
111
Attributes for Natural Language Requirements
and Models
111
8.1.2
Attribute Scheme
112
8.1.3
Attribute Types of Requirements
113
8.1.1
8.2
8.3
8.4
8.5
to Requirements
Views
on
Requirements
115
8.2.1
Selective Views
8.2.2
Condensed Views on the Requirements
on
the
Requirements Foundation
115
117
118
Prioritizing Requirements
8.3.1
Method for Requirements Prioritization
118
8.3.2
Techniques for Requirements
119
Prioritization
Traceability of Requirements
122
8.4.1
Advantages of Traceable Requirements
122
8.4.2
Purpose-Driven Definition of Traceability
123
8.4.3
Classification of
124
8.4.4
Representation of Requirements Traceability
Traceability Relations
125
Versioning of Requirements
128
8.5.1
Requirements Versions
128
8.5.2
Requirements Configurations
129
8.5.3
Requirements Baselines
130
xviii
Contents
8.6
Management of Requirements Changes
131
8.6.1
Requirements Changes
131
8.6.2
The
Change Control
132
8.6.3
The
Change Request
8.6.4
Classification of Incoming Change Requests
134
8.6.5
Basic Method for Corrective and
134
Board
133
Adaptive Changes
8.7
Summary
136
Tool
139
9.1
General Tool
9.2
Modeling
9.3
Requirements Management Tools
141
9.3.1
Specialized
142
9.3.2
Standard Office
Support
139
Support
Tools
140
Tools for
Requirements Management
Applications
142
9.4
Introducing Tools
143
9.5
Evaluating Tools
144
9.6
9.5.1
Project View
145
9.5.2
User View
146
9.5.3
Product View
146
9.5.4
Process View
146
9.5.5
Provider View
146
9.5.6
Technical View
147
9.5.7
Economic View
147
Summary
147
References
149
Index
157