Search and Find
Service
Preface to the Second Edition
6
Preface to the First Edition
7
Acknowledgements
9
Contents
10
1 Introduction
13
1.1 Introduction to Requirements
13
1.2 Introduction to Systems Engineering
15
1.3 Requirements and Quality
18
1.4 Requirements and the Lifecycle
18
1.5 Requirements Traceability
21
1.6 Requirements and Modelling
25
1.7 Requirements and Testing
27
1.8 Requirements in the Problem and Solution Domains
27
1.9 How to Read This Book
30
2 A Generic Process for Requirements Engineering
32
2.1 Introduction
32
2.2 Developing Systems
32
2.3 Generic Process Context
35
2.3.1 Input Requirements and Derived Requirements
36
2.3.2 Acceptance Criteria and Qualification Strategy
36
2.4 Generic Process Introduction
38
2.4.1 Ideal Development
38
2.4.2 Development in the Context of Change
39
2.5 Generic Process Information Model
40
2.5.1 Information Classes
40
2.5.2 Agreement State
42
2.5.3 Quali.cation State
43
2.5.4 Satisfaction State
44
2.5.5 Information Model Constraints
45
2.6 Generic Process Details
45
2.6.1 Agreement Process
45
2.6.2 Analyze and Model
47
2.6.3 Derive Requirements and Qualification Strategy
49
2.7 Summary
51
3 System Modelling for Requirements Engineering
53
3.1 Introduction
53
3.2 Representations for Requirements Engineering
54
3.2.1 Data Flow Diagrams
54
3.2.2 Entity–Relationship Diagrams
59
3.2.3 Statecharts
60
3.2.4 Object-oriented Approaches
61
3.3 Methods
63
3.3.1 Viewpoint Methods
64
3.3.2 Object-oriented Methods
73
3.3.3 The UML Notation
75
3.3.4 Formal Methods
79
3.4 Summary
81
4 Writing and Reviewing Requirements
82
4.1 Introduction
82
4.2 Requirements for Requirements
83
4.3 Structuring Requirements Documents
84
4.4 Key Requirements
85
4.5 Using Attributes
85
4.6 Ensuring Consistency Across Requirements
86
4.7 Value of a Requirement
86
4.8 The Language of Requirements
89
4.9 Requirement Boilerplates
90
4.10 Granularity of Requirements
92
4.11 Criteria for Writing Requirements Statements
94
4.12 Summary
95
5 Requirements Engineering in the Problem Domain
96
5.1 What is the Problem Domain?
96
5.2 Instantiating the Generic Process
97
5.3 Agree Requirements with Customer
98
5.4 Analyze and Model
99
5.4.1 Identify Stakeholders
99
5.4.2 Create Use Scenarios
101
5.4.3 Scoping the System
104
5.5 Derive Requirements
104
5.5.1 Define Structure
105
5.5.2 Capture Requirements
108
5.5.3 Define Acceptance Criteria
114
5.5.4 Define Qualification Strategy
115
5.6 Summary
115
6 Requirements Engineering in the Solution Domain
117
6.1 What is the Solution Domain?
117
6.2 Engineering Requirements from Stakeholder Requirements to System Requirements
118
6.2.1 Producing the System Model
119
6.2.2 Creating System Models to Derive System Requirements
120
6.2.3 Banking Example
125
6.2.4 Car Example
128
6.2.5 Deriving Requirements from a System Model
132
6.2.6 Agreeing the System Requirements with the Design Team
133
6.3 Engineering Requirements from System Requirements to Subsystems
133
6.3.1 Creating a System Architecture Model
134
6.3.2 Deriving Requirements from an Architectural Design Model
135
6.4 Other Transformations Using a Design Architecture
135
6.5 Summary
136
7 Advanced Traceability
138
7.1 Introduction
138
7.2 Elementary Traceability
138
7.3 Satisfaction Arguments
140
7.4 Requirements Allocation
144
7.5 Reviewing Traceability
144
7.6 The Language of Satisfaction Arguments
146
7.7 Rich Traceability Analysis
146
7.8 Rich Traceability for Quali.cation
146
7.9 Implementing Rich Traceability
147
7.9.1 Single-layer Rich Traceability
147
7.9.2 Multi-layer Rich Traceability
147
7.10 Design Documents
148
7.11 Metrics for Traceability
151
7.11.1 Breadth
153
7.11.2 Depth
153
7.11.3 Growth
154
7.11.4 Balance
155
7.11.5 Latent Change
156
7.12 Summary
158
8 Management Aspects of Requirements Engineering
159
8.1 Introduction to Management
159
8.2 Requirements Management Problems
160
8.2.1 Summary of Requirement Management Problems
162
8.3 Managing Requirements in an Acquisition Organization
162
8.3.1 Planning
162
8.3.2 Monitoring
164
8.3.3 Changes
165
8.4 Supplier Organizations
167
8.4.1 Bid Management
167
8.4.2 Development
170
8.5 Product Organizations
172
8.5.1 Planning
173
8.5.2 Monitoring
176
8.5.3 Changes
176
8.6 Summary
177
8.6.1 Planning
177
8.6.2 Monitoring
178
8.6.3 Changes
178
9 DOORS: A Tool to Manage Requirements
179
9.1 Introduction
179
9.2 The Case for Requirements Management
179
9.3 DOORS Architecture
180
9.4 Projects, Modules and Objects
181
9.4.1 DOORS Database Window
181
9.4.2 Formal Modules
181
9.4.3 Objects
184
9.4.4 Graphical Objects
186
9.4.5 Tables
186
9.5 History and Version Control
187
9.5.1 History
187
9.5.2 Baselining
187
9.6 Attributes and Views
188
9.6.1 Attributes
188
9.6.2 Views
189
9.7 Traceability
189
9.7.1 Links
189
9.7.2 Traceability Reports
190
9.8 Import and Export
192
9.9 UML Modelling with DOORS/Analyst
194
9.10 Summary
195
Bibliography
196
Index
199
All prices incl. VAT