Preface |
|
ix | (2) |
Introduction |
|
xi | |
Part I Cleanroom Software Engineering Fundamentals |
|
1 | (110) |
|
|
3 | (18) |
|
1.1 Economic Production of High-Quality Software |
|
|
3 | (1) |
|
1.2 Cleanroom Foundations |
|
|
4 | (4) |
|
1.3 Cleanroom Technologies |
|
|
8 | (5) |
|
1.4 The Cleanroom Process |
|
|
13 | (2) |
|
1.5 Relationship of Cleanroom to Other Practices |
|
|
15 | (3) |
|
1.6 Cleanroom Project Experience |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
19 | (2) |
|
2 Cleanroom Management by Incremental Development |
|
|
21 | (12) |
|
2.1 Benefits of Incremental Development |
|
|
22 | (3) |
|
2.2 Theoretical Foundations of Incremental Development |
|
|
25 | (3) |
|
2.3 Increment Planning in Practice |
|
|
28 | (2) |
|
2.4 Incremental Development in Practice |
|
|
30 | (2) |
|
|
32 | (1) |
|
3 Cleanroom Software Specification |
|
|
33 | (28) |
|
3.1 Box Structures for Cleanroom Specification and Design |
|
|
34 | (9) |
|
3.2 The Sequence-Based Specification Process |
|
|
43 | (3) |
|
3.3 Example: Specification of a Security Alarm |
|
|
46 | (13) |
|
|
59 | (2) |
|
4 Cleanroom Software Development |
|
|
61 | (30) |
|
4.1 Box Structure Development |
|
|
61 | (2) |
|
4.2 Clear Box Development |
|
|
63 | (9) |
|
4.3 Clear Box Verification |
|
|
72 | (9) |
|
4.4 Example: The Security Alarm Clear Box |
|
|
81 | (9) |
|
|
90 | (1) |
|
5 Cleanroom Software Certification |
|
|
91 | (20) |
|
5.1 Benefits of Statistical Testing Based on a Usage Model |
|
|
91 | (2) |
|
5.2 Theoretical Foundations of Statistical Testing |
|
|
93 | (2) |
|
5.3 Statistical Usage Testing in Practice |
|
|
95 | (4) |
|
5.4 Example: Security Alarm |
|
|
99 | (9) |
|
|
108 | (3) |
Part II The Cleanroom Software Engineering Reference Model |
|
111 | (98) |
|
6 The Cleanroom Reference Model |
|
|
113 | (18) |
|
6.1 An Introduction to the CRM |
|
|
113 | (12) |
|
6.2 Cleanroom Process Definition Format |
|
|
125 | (1) |
|
6.3 Common Cleanroom Process Elements |
|
|
126 | (3) |
|
|
129 | (2) |
|
7 Cleanroom Management Processes |
|
|
131 | (14) |
|
7.1 Project Planning Process |
|
|
131 | (5) |
|
7.2 Project Management Process |
|
|
136 | (3) |
|
7.3 Performance Improvement Process |
|
|
139 | (3) |
|
7.4 Engineering Change Process |
|
|
142 | (3) |
|
8 Cleanroom Specification Processes |
|
|
145 | (24) |
|
8.1 Requirements Analysis Process |
|
|
145 | (4) |
|
8.2 Function Specification Process |
|
|
149 | (5) |
|
8.3 Usage Specification Process |
|
|
154 | (6) |
|
8.4 Architecture Specification Process |
|
|
160 | (3) |
|
8.5 Increment Planning Process |
|
|
163 | (4) |
|
|
167 | (2) |
|
9 Cleanroom Development Processes |
|
|
169 | (14) |
|
9.1 Software Reengineering Process |
|
|
169 | (4) |
|
9.2 Increment Design Process |
|
|
173 | (5) |
|
9.3 Correctness Verification Process |
|
|
178 | (4) |
|
|
182 | (1) |
|
10 Cleanroom Certification Processes |
|
|
183 | (16) |
|
10.1 Usage Modeling and Test Planning Process |
|
|
183 | (8) |
|
10.2 Statistical Testing and Certification Process |
|
|
191 | (6) |
|
|
197 | (2) |
|
11 Cleanroom and the Capability Maturity Model for Software |
|
|
199 | (10) |
|
11.1 The CMM for Software |
|
|
199 | (3) |
|
11.2 Cleanroom Process Mappings to CMM KPAs |
|
|
202 | (4) |
|
11.3 Integrating CRM Technology and CMM Management |
|
|
206 | (1) |
|
|
207 | (2) |
Part III A Case Study in Cleanroom Software Engineering |
|
209 | (174) |
|
12 Satellite Control System Requirements |
|
|
211 | (10) |
|
12.1 The Satellite Control System Case Study |
|
|
211 | (1) |
|
12.2 Satellite Operations Software Requirements |
|
|
212 | (7) |
|
|
219 | (2) |
|
13 Satellite Control System Black Box Specification |
|
|
221 | (56) |
|
13.1 Black Box Sequence-Based Specification |
|
|
221 | (3) |
|
13.2 Step 1: Define the System Boundary |
|
|
224 | (5) |
|
13.3 Step 2: Enumerate Stimulus Sequences |
|
|
229 | (27) |
|
13.4 Step 3: Analyze Canonical Sequences |
|
|
256 | (1) |
|
13.5 Step 4: Define Specification Functions |
|
|
257 | (3) |
|
13.6 Step 5: Construct the Black Box Tables |
|
|
260 | (9) |
|
13.7 Removing Abstractions |
|
|
269 | (3) |
|
13.8 Common Sequence Abstraction Techniques |
|
|
272 | (5) |
|
14 Satellite Control System State Box Specification |
|
|
277 | (16) |
|
14.1 State Box Specification |
|
|
277 | (1) |
|
14.2 Step 1: Invent the State Data |
|
|
278 | (5) |
|
14.3 Step 2: Construct the State Box Tables |
|
|
283 | (10) |
|
15 Satellite Control System Clear Box Design |
|
|
293 | (56) |
|
15.1 Clear Box Implementation |
|
|
293 | (1) |
|
15.2 Step 1: Select a High-Level Software Architecture |
|
|
294 | (18) |
|
15.3 Step 2: Select an Implementation for Stimulus Gathering |
|
|
312 | (1) |
|
15.4 Step 3: Select an Implementation for Response Generation |
|
|
313 | (3) |
|
15.5 Step 4: Select an Implementation for the State Data Items |
|
|
316 | (1) |
|
15.6 Step 5: Select an Implementation for Each Entry in the State Box Table |
|
|
317 | (21) |
|
15.7 Step 6: Reorganize the Implementations into Executable Code |
|
|
338 | (11) |
|
16 Satellite Control System Testing and Certification |
|
|
349 | (34) |
|
|
349 | (1) |
|
16.2 Step 1: Define Certification Plan |
|
|
350 | (2) |
|
16.3 Step 2: Build Model Structure |
|
|
352 | (25) |
|
16.4 Step 3: Determine State Transition Probabilities |
|
|
377 | (1) |
|
16.5 Step 4: Validate the Usage Model |
|
|
378 | (2) |
|
16.6 Step 5: Generate Test Cases, and Execute and Evaluate Results |
|
|
380 | (3) |
Index |
|
383 | |