Preface |
|
xvii | |
Unique features of this text |
|
xviii | |
The book's audience |
|
xix | |
Acknowledgements |
|
xx | |
Publisher's acknowledgements |
|
xxi | |
bout the author |
|
xxii | |
Guides for special groups of readers |
|
xxiii | |
|
Guide to readers interested in ISO 9000-3 requirements |
|
|
xxiii | |
|
Guide to readers interested in ASQ'S CSQE body of knowledge |
|
|
xxiv | |
Part I Introduction |
|
1 | (74) |
|
Chapter 1 The software quality challenge |
|
|
3 | (11) |
|
1.1 The uniqueness of software quality assurance |
|
|
4 | (3) |
|
1.2 The environments for which SQA methods are developed |
|
|
7 | (4) |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
12 | (2) |
|
Chapter 2 What is software quality? |
|
|
14 | (21) |
|
|
15 | (1) |
|
2.2 Software errors, faults and failures |
|
|
16 | (3) |
|
2.3 Classification of the causes of software errors |
|
|
19 | (5) |
|
2.4 Software quality - definition |
|
|
24 | (1) |
|
2.5 Software quality assurance - definition and objectives |
|
|
25 | (5) |
|
2.6 Software quality assurance and software engineering |
|
|
30 | (1) |
|
|
30 | (2) |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
33 | (2) |
|
Chapter 3 Software quality factors |
|
|
35 | (21) |
|
3.1 The need for comprehensive software quality requirements |
|
|
36 | (1) |
|
3.2 Classifications of software requirements into software quality factors |
|
|
37 | (1) |
|
3.3 Product operation software quality factors |
|
|
38 | (3) |
|
3.4 Product revision software quality factors |
|
|
41 | (2) |
|
3.5 Product transition software quality factors |
|
|
43 | (1) |
|
3.6 Alternative models of software quality factors |
|
|
44 | (3) |
|
3.7 Who is interested in the definition of quality requirements? |
|
|
47 | (2) |
|
3.8 Software compliance with quality factors |
|
|
49 | (2) |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
52 | (2) |
|
|
54 | (2) |
|
Chapter 4 The components of the software quality assurance system overview |
|
|
56 | (19) |
|
4.1 The SQA system - an SQA architecture |
|
|
57 | (3) |
|
4.2 Pre-project components |
|
|
60 | (1) |
|
4.3 Software project life cycle components |
|
|
61 | (4) |
|
4.4 Infrastructure components for error prevention and improvement |
|
|
65 | (3) |
|
4.5 Management SQA components |
|
|
68 | (1) |
|
4.6 SQA standards, system certification, and assessment components |
|
|
69 | (1) |
|
4.7 Organizing for SQA - the human components |
|
|
70 | (2) |
|
4.8 Considerations guiding construction of an organization's SQA system |
|
|
72 | (3) |
Part II Pre-project software quality components |
|
75 | (44) |
|
Chapter 5 Contract review |
|
|
77 | (18) |
|
5.1 Introduction: the CFV Project completion celebration |
|
|
78 | (1) |
|
5.2 The contract review process and its stages |
|
|
79 | (1) |
|
5.3 Contract review objectives |
|
|
80 | (2) |
|
5.4 Implementation of a contract review |
|
|
82 | (3) |
|
5.5 Contract review subjects |
|
|
85 | (1) |
|
5.6 Contract reviews for internal projects |
|
|
85 | (2) |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
89 | (3) |
|
Appendix 5A: Proposal draft reviews - subjects checklist |
|
|
92 | (2) |
|
Appendix 5B: Contract draft review - subjects checklist |
|
|
94 | (1) |
|
Chapter 6 Development and quality plans |
|
|
95 | (24) |
|
6.1 Development plan and quality plan objectives |
|
|
97 | (1) |
|
6.2 Elements of the development plan |
|
|
97 | (4) |
|
6.3 Elements of the quality plan |
|
|
101 | (2) |
|
6.4 Development and quality plans for small projects and for internal projects |
|
|
103 | (3) |
|
|
106 | (2) |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
110 | (2) |
|
Appendix 6A: Software development risks and software risk management |
|
|
112 | (7) |
Part III SQA components in the project life cycle |
|
119 | (190) |
|
Chapter 7 Integrating quality activities in the project life cycle |
|
|
121 | (28) |
|
7.1 Classic and other software development methodologies |
|
|
122 | (9) |
|
7.2 Factors affecting intensity of quality assurance activities in the development process |
|
|
131 | (2) |
|
7.3 Verification, validation and qualification |
|
|
133 | (2) |
|
7.4 A model for SQA defect removal effectiveness and cost |
|
|
135 | (8) |
|
|
143 | (2) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
147 | (2) |
|
|
149 | (29) |
|
|
150 | (2) |
|
8.2 Formal design reviews (DRs) |
|
|
152 | (6) |
|
|
158 | (10) |
|
8.4 A comparison of the team review methods |
|
|
168 | (2) |
|
|
170 | (1) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
172 | (2) |
|
|
174 | (1) |
|
Appendix 8A: DR report form |
|
|
175 | (1) |
|
Appendix 8B: Inspection session findings report form |
|
|
176 | (1) |
|
Appendix 8C: Inspection session summary report |
|
|
177 | (1) |
|
Chapter 9 Software testing strategies |
|
|
178 | (38) |
|
9.1 Definition and objectives |
|
|
180 | (2) |
|
9.2 Software testing strategies |
|
|
182 | (5) |
|
9.3 Software test classifications |
|
|
187 | (2) |
|
|
189 | (8) |
|
|
197 | (12) |
|
|
209 | (2) |
|
|
211 | (1) |
|
|
212 | (1) |
|
|
213 | (3) |
|
Chapter 10 Software testing implementation |
|
|
216 | (38) |
|
|
217 | (15) |
|
|
232 | (3) |
|
|
235 | (10) |
|
10.4 Alpha and beta site testing programs |
|
|
245 | (2) |
|
|
247 | (2) |
|
|
249 | (1) |
|
|
250 | (1) |
|
|
251 | (3) |
|
Chapter 11 Assuring the quality of software maintenance components |
|
|
254 | (25) |
|
|
255 | (2) |
|
11.2 The foundations of high quality |
|
|
257 | (4) |
|
11.3 Pre-maintenance software quality components |
|
|
261 | (3) |
|
11.4 Maintenance software quality assurance tools |
|
|
264 | (9) |
|
|
273 | (2) |
|
|
275 | (1) |
|
|
275 | (2) |
|
|
277 | (2) |
|
Chapter 12: Assuring the quality of external participants' contributions |
|
|
279 | (19) |
|
12.1 Introduction: the HealthSoft case |
|
|
280 | (2) |
|
12.2 Types of external participants |
|
|
282 | (1) |
|
12.3 Risks and benefits of introducing external participants |
|
|
283 | (3) |
|
12.4 Assuring quality of external participants' contributions: objectives |
|
|
286 | (1) |
|
12.5 SQA tools for assuring the quality of external participants' contributions |
|
|
287 | (6) |
|
|
293 | (2) |
|
|
295 | (1) |
|
|
295 | (1) |
|
|
296 | (2) |
|
Chapter 13 CASE tools and their effect on software quality |
|
|
298 | (11) |
|
13.1 What is a CASE tool? |
|
|
299 | (3) |
|
13.2 The contribution of CASE tools to software product quality |
|
|
302 | (2) |
|
13.3 The contribution Of CASE tools to software maintenance quality |
|
|
304 | (1) |
|
13.4 The contribution of CASE tools to improved project management |
|
|
304 | (1) |
|
|
305 | (1) |
|
|
306 | (1) |
|
|
306 | (1) |
|
|
307 | (2) |
Part IV Software quality infrastructure components |
|
309 | (90) |
|
Chapter 14 Procedures and work instructions |
|
|
311 | (14) |
|
14.1 The need for procedures and work instructions |
|
|
312 | (1) |
|
14.2 Procedures and procedure& manuals |
|
|
313 | (3) |
|
14.3 Work instructions and work instruction manuals |
|
|
316 | (1) |
|
14.4 Procedures and work instructions: preparation, implementation and updating |
|
|
317 | (1) |
|
|
318 | (1) |
|
|
319 | (1) |
|
|
319 | (1) |
|
|
320 | (2) |
|
Appendix 14A: Design review procedure |
|
|
322 | (3) |
|
Chapter 15 Supporting quality devices |
|
|
325 | (10) |
|
|
326 | (3) |
|
|
329 | (3) |
|
|
332 | (1) |
|
|
333 | (1) |
|
|
333 | (1) |
|
|
334 | (1) |
|
Chapter 16 Staff training and certification |
|
|
335 | (14) |
|
16.1 Introduction: Surprises for the "3S" development team |
|
|
336 | (1) |
|
16.2 The objectives of training and certification |
|
|
337 | (1) |
|
16.3 The training and certification process |
|
|
338 | (1) |
|
16.4 Determining professional knowledge requirements |
|
|
338 | (1) |
|
16.5 Determining training and updating needs |
|
|
339 | (1) |
|
16.6 Planning training and updating programs |
|
|
340 | (1) |
|
16.7 Defining positions requiring certification |
|
|
340 | (1) |
|
16.8 Planning the certification processes |
|
|
341 | (1) |
|
16.9 Delivery of training and certification programs |
|
|
342 | (2) |
|
16.10 Follow-up subsequent to training and certification |
|
|
344 | (1) |
|
|
345 | (1) |
|
|
346 | (1) |
|
|
347 | (1) |
|
|
347 | (2) |
|
Chapter 17 Corrective and preventive actions |
|
|
349 | (16) |
|
17.1 Introduction: the "3S" development team revisited |
|
|
350 | (1) |
|
17.2 Corrective and preventive actions - definitions |
|
|
351 | (1) |
|
17.3 The corrective and preventive actions process |
|
|
352 | (1) |
|
17.4 Information collection |
|
|
353 | (1) |
|
17.5 Analysis of collected information |
|
|
354 | (2) |
|
17.6 Development of solutions and their implementation |
|
|
356 | (3) |
|
17.7 Follow-up of activities |
|
|
359 | (1) |
|
17.8 Organizing for preventive and corrective actions |
|
|
360 | (1) |
|
|
361 | (1) |
|
|
362 | (1) |
|
|
362 | (1) |
|
|
363 | (2) |
|
Chapter 18 Configuration management |
|
|
365 | (22) |
|
18.1 Software configuration, its items and its management |
|
|
367 | (2) |
|
18.2 Software configuration management - tasks and organization |
|
|
369 | (2) |
|
18.3 Software change control |
|
|
371 | (2) |
|
18.4 Release of software configuration versions |
|
|
373 | (7) |
|
18.5 Provision of SCM information services |
|
|
380 | (1) |
|
18.6 Software configuration management audits |
|
|
380 | (1) |
|
18.7 Computerized tools for managing software configuration |
|
|
381 | (1) |
|
|
382 | (1) |
|
|
383 | (1) |
|
|
384 | (1) |
|
|
384 | (3) |
|
Chapter 19 Document control |
|
|
387 | (12) |
|
19.1 Introduction: where is the documentation? |
|
|
388 | (1) |
|
19.2 Controlled documents and quality records |
|
|
389 | (3) |
|
19.3 The controlled documents list |
|
|
392 | (1) |
|
19.4 Controlled document preparation |
|
|
393 | (1) |
|
19.5 Issues of controlled document approval |
|
|
393 | (1) |
|
19.6 Issues of controlled document storage and retrieval |
|
|
394 | (1) |
|
|
395 | (1) |
|
|
396 | (1) |
|
|
397 | (1) |
|
|
397 | (2) |
Part V Management components of software quality |
|
399 | (72) |
|
Chapter 20 Project progress control |
|
|
401 | (11) |
|
20.1 The components of project progress control |
|
|
402 | (2) |
|
20.2 Progress control of internal projects and external participants |
|
|
404 | (1) |
|
20.3 Implementation of project progress control regimes |
|
|
405 | (1) |
|
20.4 Computerized tools for software progress control |
|
|
406 | (2) |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
410 | (1) |
|
|
411 | (1) |
|
Chapter 21 Software quality metrics |
|
|
412 | (37) |
|
21.1 Objectives of quality measurement |
|
|
414 | (1) |
|
21.2 Classification of software quality metrics |
|
|
415 | (1) |
|
|
416 | (4) |
|
|
420 | (7) |
|
21.5 Implementation of software quality metrics |
|
|
427 | (5) |
|
21.6 Limitations of software metrics |
|
|
432 | (2) |
|
|
434 | (2) |
|
|
436 | (2) |
|
|
438 | (2) |
|
|
440 | (2) |
|
Appendix 21A: The function point method |
|
|
442 | (7) |
|
Chapter 22 Costs of software quality |
|
|
449 | (22) |
|
22.1 Objectives of cost of software quality metrics |
|
|
450 | (1) |
|
22.2 The classic model of cost of software quality |
|
|
451 | (4) |
|
22.3 An extended model for cost of software quality |
|
|
455 | (3) |
|
22.4 Application of a cost of software quality system |
|
|
458 | (4) |
|
22.5 Problems in the application of cost of software quality metrics |
|
|
462 | (1) |
|
|
463 | (2) |
|
|
465 | (1) |
|
|
465 | (3) |
|
|
468 | (3) |
Part VI Standards, certification and assessment |
|
471 | (99) |
|
Chapter 23 Quality management standards |
|
|
475 | (32) |
|
23.1 The scope of quality management standards |
|
|
476 | (1) |
|
23.2 ISO 9001 and ISO 9000-3 |
|
|
477 | (4) |
|
23.3 Certification according to ISO 9000-3 |
|
|
481 | (4) |
|
23.4 Capability Maturity Models - CMM and CMMI assessment methodology |
|
|
485 | (5) |
|
23.5 The Bootstrap methodology |
|
|
490 | (2) |
|
23.6 The SPICE project and the ISO/IEC 15504 software process assessment standard |
|
|
492 | (5) |
|
|
497 | (2) |
|
|
499 | (1) |
|
|
500 | (1) |
|
|
501 | (1) |
|
Appendix 23A: CMMI process areas |
|
|
502 | (3) |
|
Appendix 23B: ISO/IEC 15504 model processes |
|
|
505 | (2) |
|
Chapter 24 SQA project process standards - IEEE software engineering standards |
|
|
507 | (36) |
|
24.1 Structure and content of IEEE software engineering standards |
|
|
509 | (1) |
|
24.2 IEEE/EIA Std 12207 - software life cycle processes |
|
|
510 | (4) |
|
24.3 IEEE Std 1012 - verification and validation |
|
|
514 | (5) |
|
24.4 IEEE Std 1028 - reviews |
|
|
519 | (2) |
|
|
521 | (3) |
|
|
524 | (1) |
|
|
524 | (1) |
|
|
525 | (1) |
|
Appendix 24A: IEEE Software Engineering Standards |
|
|
526 | (2) |
|
Appendix 24B: MIL-STD-498: list of Data Item Descriptions (DIDs) |
|
|
528 | (1) |
|
Appendix 24C: Task structure for a primary process according to IEEE/EIA Std 12207 - example |
|
|
528 | (11) |
|
Part VII Organizing for quality assurance |
|
|
539 | (4) |
|
Chapter 25 Management and its role in software quality assurance |
|
|
543 | (12) |
|
25.1 Top management's quality assurance activities |
|
|
544 | (5) |
|
25.2 Department management responsibilities for quality assurance |
|
|
549 | (1) |
|
25.3 Project management responsibilities for quality assurance |
|
|
550 | (1) |
|
|
551 | (1) |
|
|
552 | (1) |
|
|
553 | (1) |
|
|
554 | (1) |
|
Chapter 26 The SQA unit and other actors in the SQA system |
|
|
555 | (15) |
|
|
556 | (7) |
|
26.2 SQA trustees and their tasks |
|
|
563 | (1) |
|
26.3 SQA committees and their tasks |
|
|
563 | (1) |
|
26.4 SQA forums - tasks and methods of operation |
|
|
564 | (1) |
|
|
565 | (3) |
|
|
568 | (1) |
|
|
568 | (2) |
Epilogue The future SQA |
|
570 | (7) |
|
Facing the future: SQA challenges |
|
|
571 | (3) |
|
Facing the future: SQA capabilities |
|
|
574 | (3) |
Author index |
|
577 | (3) |
Subject index |
|
580 | |