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