Foreword |
|
v | |
With Contributions from |
|
vii | |
1 Introduction and Foundations |
|
1 | (10) |
|
|
1 | (4) |
|
1.1.1 Figures and Facts from Ordinary Projects |
|
|
1 | (2) |
|
1.1.2 Requirements Engineering - What Is It? |
|
|
3 | (2) |
|
1.1.3 Embedding Requirements Engineering into Process Models |
|
|
5 | (1) |
|
1.2 Fundamentals of Communication Theory |
|
|
5 | (1) |
|
1.3 Characteristics of a Requirements Engineer |
|
|
6 | (2) |
|
|
8 | (1) |
|
1.5 Importance and Categorization of Quality Requirements |
|
|
9 | (1) |
|
|
10 | (1) |
2 System and Context Boundaries |
|
11 | (8) |
|
|
11 | (1) |
|
2.2 Defining System and Context Boundaries |
|
|
12 | (5) |
|
2.2.1 Defining the System Boundary |
|
|
13 | (2) |
|
2.2.2 Defining the Context Boundary |
|
|
15 | (2) |
|
2.3 Documenting the System Context |
|
|
17 | (1) |
|
|
17 | (2) |
3 Eliciting Requirements |
|
19 | (14) |
|
|
19 | (3) |
|
3.1.1 Stakeholders and Their Significance |
|
|
19 | (1) |
|
3.1.2 Handling Stakeholders in the Project |
|
|
20 | (2) |
|
3.2 Requirements Categorization According to the Kano Model |
|
|
22 | (2) |
|
3.3 Elicitation Techniques |
|
|
24 | (7) |
|
3.3.1 Types of Elicitation Techniques |
|
|
24 | (1) |
|
|
25 | (1) |
|
3.3.3 Creativity Techniques |
|
|
26 | (2) |
|
3.3.4 Document-centric Techniques |
|
|
28 | (1) |
|
3.3.5 Observation Techniques |
|
|
29 | (1) |
|
|
30 | (1) |
|
|
31 | (2) |
4 Documenting Requirements |
|
33 | (16) |
|
|
33 | (1) |
|
4.2 Types of Documentation |
|
|
34 | (3) |
|
4.2.1 The Three Perspectives of Requirements |
|
|
34 | (1) |
|
4.2.2 Requirements Documentation using Natural Language |
|
|
35 | (1) |
|
4.2.3 Requirements Documentation using Conceptual Models |
|
|
35 | (1) |
|
4.2.4 Hybrid Requirements Documents |
|
|
36 | (1) |
|
|
37 | (3) |
|
4.3.1 Standardized Document Structures |
|
|
37 | (2) |
|
4.3.2 Customized Standard Contents |
|
|
39 | (1) |
|
4.4 Using Requirements Documents |
|
|
40 | (1) |
|
4.5 Quality Criteria for Requirements Documents |
|
|
41 | (2) |
|
4.5.1 Unambiguity and Consistency |
|
|
42 | (1) |
|
|
42 | (1) |
|
4.5.3 Modifiability and Extendibility |
|
|
42 | (1) |
|
|
42 | (1) |
|
|
43 | (1) |
|
4.6 Quality Criteria for Requirements |
|
|
43 | (2) |
|
|
45 | (2) |
|
|
47 | (2) |
5 Documenting Requirements in Natural Language |
|
49 | (10) |
|
5.1 Effects of Natural Language |
|
|
49 | (4) |
|
|
50 | (1) |
|
5.1.2 Nouns without Reference Index |
|
|
51 | (1) |
|
5.1.3 Universal Quantifiers |
|
|
51 | (1) |
|
5.1.4 Incompletely Specified Conditions |
|
|
52 | (1) |
|
5.1.5 Incompletely Specified Process Verbs |
|
|
53 | (1) |
|
5.2 Requirement Construction using Templates |
|
|
53 | (4) |
|
|
57 | (2) |
6 Model-Based Requirements Documentation |
|
59 | (30) |
|
|
59 | (3) |
|
6.1.1 Properties of Models |
|
|
60 | (1) |
|
|
60 | (1) |
|
6.1.3 Requirements Models |
|
|
61 | (1) |
|
6.1.4 Advantages of Requirements Models |
|
|
61 | (1) |
|
6.1.5 Combined Use of Models and Natural Language |
|
|
62 | (1) |
|
|
62 | (2) |
|
6.2.1 Goal Documentation Using AND/OR Trees |
|
|
63 | (1) |
|
6.2.2 Example of AND/OR Trees |
|
|
63 | (1) |
|
|
64 | (6) |
|
6.3.1 UML Use Case Diagrams |
|
|
64 | (3) |
|
6.3.2 Use Case Specifications |
|
|
67 | (3) |
|
6.4 Three Perspectives on the Requirements |
|
|
70 | (1) |
|
6.5 Requirements Modeling in the Data Perspective |
|
|
71 | (5) |
|
6.5.1 Entity-Relationship Diagrams |
|
|
71 | (3) |
|
|
74 | (2) |
|
6.6 Requirements Modeling in the Functional Perspective |
|
|
76 | (6) |
|
|
76 | (2) |
|
6.6.2 Models of the Functional Perspective and Control Flow |
|
|
78 | (1) |
|
6.6.3 UML Activity Diagrams |
|
|
79 | (3) |
|
6.7 Requirements Modeling in the Behavioral Perspective |
|
|
82 | (5) |
|
|
83 | (1) |
|
|
84 | (3) |
|
|
87 | (2) |
7 Requirements Validation and Negotiation |
|
89 | (22) |
|
7.1 Fundamentals of Requirements Validation |
|
|
89 | (1) |
|
7.2 Fundamentals of Requirements Negotiation |
|
|
90 | (1) |
|
7.3 Quality Aspects of Requirements |
|
|
91 | (3) |
|
7.3.1 Quality Aspect "Content" |
|
|
91 | (1) |
|
7.3.2 Quality Aspect "Documentation" |
|
|
92 | (1) |
|
7.3.3 Quality Aspect "Agreement" |
|
|
93 | (1) |
|
7.4 Principles of Requirements Validation |
|
|
94 | (3) |
|
7.4.1 Principle 1: Involvement of the Correct Stakeholders |
|
|
94 | (1) |
|
7.4.2 Principle 2: Separating the Identification and the Correction of Errors |
|
|
95 | (1) |
|
7.4.3 Principle 3: Validation from Different Views |
|
|
95 | (1) |
|
7.4.4 Principle 4: Adequate Change of Documentation Type |
|
|
96 | (1) |
|
7.4.5 Principle 5: Construction of Development Artifacts |
|
|
96 | (1) |
|
7.4.6 Principle 6: Repeated Validation |
|
|
96 | (1) |
|
7.5 Requirements Validation Techniques |
|
|
97 | (7) |
|
|
97 | (1) |
|
|
98 | (1) |
|
|
99 | (1) |
|
7.5.4 Perspective-Based Reading |
|
|
100 | (1) |
|
7.5.5 Validation through Prototypes |
|
|
101 | (2) |
|
7.5.6 Using Checklists for Validation |
|
|
103 | (1) |
|
7.6 Requirements Negotiation |
|
|
104 | (5) |
|
7.6.1 Conflict Identification |
|
|
105 | (1) |
|
|
105 | (1) |
|
7.6.3 Conflict Resolution |
|
|
106 | (2) |
|
7.6.4 Documentation of the Conflict Resolution |
|
|
108 | (1) |
|
|
109 | (2) |
8 Requirements Management |
|
111 | (28) |
|
8.1 Assigning Attributes to Requirements |
|
|
111 | (4) |
|
8.1.1 Attributes for Natural Language Requirements and Models |
|
|
111 | (1) |
|
|
112 | (1) |
|
8.1.3 Attribute Types of Requirements |
|
|
113 | (2) |
|
8.2 Views on Requirements |
|
|
115 | (3) |
|
8.2.1 Selective Views on the Requirements |
|
|
115 | (2) |
|
8.2.2 Condensed Views on the Requirements |
|
|
117 | (1) |
|
8.3 Prioritizing Requirements |
|
|
118 | (4) |
|
8.3.1 Method for Requirements Prioritization |
|
|
118 | (1) |
|
8.3.2 Techniques for Requirements Prioritization |
|
|
119 | (3) |
|
8.4 Traceability of Requirements |
|
|
122 | (5) |
|
8.4.1 Advantages of Traceable Requirements |
|
|
122 | (1) |
|
8.4.2 Purpose-Driven Definition of Traceability |
|
|
123 | (1) |
|
8.4.3 Classification of Traceability Relations |
|
|
124 | (1) |
|
8.4.4 Representation of Requirements Traceability |
|
|
125 | (2) |
|
8.5 Versioning of Requirements |
|
|
127 | (4) |
|
8.5.1 Requirements Versions |
|
|
128 | (1) |
|
8.5.2 Requirements Configurations |
|
|
129 | (1) |
|
8.5.3 Requirements Baselines |
|
|
130 | (1) |
|
8.6 Management of Requirements Changes |
|
|
131 | (5) |
|
8.6.1 Requirements Changes |
|
|
131 | (1) |
|
8.6.2 The Change Control Board |
|
|
131 | (2) |
|
|
133 | (1) |
|
8.6.4 Classification of Incoming Change Requests |
|
|
134 | (1) |
|
8.6.5 Basic Method for Corrective and Adaptive Changes |
|
|
134 | (2) |
|
8.7 Measurement of Requirements |
|
|
136 | (1) |
|
8.7.1 Product vs. Process Metric |
|
|
136 | (1) |
|
8.7.2 Examples of Product and Process Metrics |
|
|
136 | (1) |
|
|
137 | (2) |
9 Tool Support |
|
139 | (10) |
|
|
139 | (1) |
|
|
140 | (1) |
|
9.3 Requirements Management Tools |
|
|
141 | (2) |
|
9.3.1 Specialized Tools for Requirements Management |
|
|
142 | (1) |
|
9.3.2 Standard Office Applications |
|
|
142 | (1) |
|
|
143 | (1) |
|
|
144 | (3) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
147 | (1) |
|
|
147 | (1) |
|
|
147 | (2) |
References |
|
149 | (8) |
Index |
|
157 | |