Skip to main content

Software Quality: Concepts and Practice

Software Quality: Concepts and Practice

Daniel Galin

ISBN: 978-1-119-13451-0

Feb 2018, Wiley-IEEE Computer Society Pr

720 pages

$100.99

Description

The book presents a comprehensive discussion on software quality issues and software quality assurance (SQA) principles and practices, and lays special emphasis on implementing and managing SQA. Primarily designed to serve three audiences; universities and college students, vocational training participants, and software engineers and software development managers, the book may be applicable to all personnel engaged in a software projects

Features:

  • A broad view of SQA. The book delves into SQA issues, going beyond the classic boundaries of custom-made software development to also cover in-house software development, subcontractors, and readymade software.
  • An up-to-date wide-range coverage of SQA and SQA related topics. Providing comprehensive coverage on multifarious SQA subjects, including topics, hardly explored till in SQA texts.
    • A systematic presentation of the SQA function and its tasks: establishing the SQA processes, planning, coordinating, follow-up, review and evaluation of SQA processes.
    • Focus on SQA implementation issues. Specialized chapter sections, examples, implementation tips, and topics for discussion.
    • Pedagogical support: Each chapter includes a real-life mini case study, examples, a summary, selected bibliography, review questions and topics for discussion. The book is also supported by an Instructor’s Guide.

Related Resources

Instructor

Request an Evaluation Copy for this title

Preface xvii

Acknowledgments xxi

About the Author xxiii

Guides for Special Groups of Readers xxv

PART I INTRODUCTION 1

1. SQA – DEFINITIONS AND CONCEPTS 3

1.1 Software quality and software quality assurance – definitions 3

1.2 What is a software product? 5

1.3 The principles of SQA 7

1.4 Software errors, faults, and failures 7

1.5 The causes of software errors 11

1.6 Software quality assurance versus software quality control 16

1.7 Software quality engineering and software engineering 17

Summary 18

Selected bibliography 20

Review questions 20

Topics for discussion 21

2. SOFTWARE QUALITY FACTORS (ATTRIBUTES) 23

2.1 Complaints from the City Computer Club members – an introductory mini case 23

2.2 The need for comprehensive software quality requirements 24

2.3 McCall’s classic model for software quality factors 25

2.4 The ISO/IEC 25010 model and other alternative models of software quality factors 33

2.5 Software compliance with quality factors 38

Summary 41

Selected bibliography 42

Review questions 43

Topics for discussion 44

3. THE SOFTWARE QUALITY CHALLENGES 45

3.1 Introduction 45

3.2 The uniqueness of software quality assurance 45

3.3 Software development, maintenance, and SQA environment 49

Summary 55

Review questions 56

Topics for discussion 56

4. ORGANIZATION FOR ASSURING SOFTWARE QUALITY 58

4.1 Introduction 58

4.2 Top management’s quality assurance activities 59

4.3 Department managers with direct responsibilities for quality 63

4.4 Project management responsibilities for quality 65

4.5 The SQA unit and its associated players in the SQA system 66

4.6 The associated players in the SQA system 71

Summary 74

Selected bibliography 77

Review questions 77

Topics for discussion 79

5. THE SQA WORLD – AN OVERVIEW 81

5.1 First area: introductory topics (Part I of the book) 81

5.2 Second area: SQA process implementation activities (Part II of the book) 83

5.3 Third area: product assurance activities for conformance (Part III of the book) 87

5.4 Fourth area: process assurance activities for conformance (Part IV of the book) 91

5.5 Fifth area: additional tools and methods supporting software quality (Part V of the book) 96

5.6 Sixth area: Appendices (Part VI of the book) 99

5.7 The SQA Hall of Fame 103

PART II SQA PROCESS IMPLEMENTATION ACTIVITIES 105

6. ESTABLISHING SQA PROCESSES AND THEIR COORDINATION WITH RELEVANT SOFTWARE PROCESSES 107

6.1 Establishing SQA processes 107

6.2 Coordinating SQA processes with related software processes 108

Summary 109

Selected bibliography 110

Review questions 110

Topics for discussion 110

7. SQA PLAN AND PROJECT PLAN 111

7.1 Introduction 111

7.2 The process of preparing an SQA plan 112

7.3 The SQAP elements 112

7.4 The process of preparing a project plan 116

7.5 Jack thanks his department manager – a mini case 117

7.6 The elements of the project plan 119

7.7 Project plans for small projects and for internal projects 130

Summary 134

Selected bibliography 136

Review questions 136

Topics for discussion 138

Appendix 7.A: Risk management activities and measures 139

8. PREPROJECT PROCESS – CONTRACT REVIEW 141

8.1 The CFV project completion celebration – an introductory mini case 141

8.2 Introduction 142

8.3 The contract review process and its stages 143

8.4 Contract review evaluation subjects 146

8.5 Implementation of a contract review 149

8.6 Contract reviews for internal projects 151

Summary 153

Selected bibliography 154

Review questions 154

Topics for discussion 155

Appendix 8.A: Proposal draft review 157

Appendix 8.B: Contract draft review 161

9. COST OF SOFTWARE QUALITY 162

9.1 This time the budget was approved – an introductory mini case 162

9.2 Objectives of cost of software quality measurement 164

9.3 The classic model of cost of software quality 166

9.4 The scope of the cost of software quality – industry figures 170

9.5 An extended model for cost of software quality 171

9.6 Application of a cost of software quality system 175

9.7 Problems in application of CoSQ measurements 179

Summary 181

Selected bibliography 183

Review questions 184

Topics for discussion 186

10. THE EFFECTIVENESS AND COST OF A V&V PLAN – THE SQA MODEL 189

10.1 The data required for the SQA model 189

10.2 The SQA model 191

10.3 Application of the SQA model for comparing V&V plans 195

Summary 198

Selected bibliography 199

Review questions 199

Topics for discussion 199

11. SQA RECORDS AND DOCUMENTATION CONTROL 200

11.1 Jeff’s troubles – an introductory mini-case 200

11.2 Introduction 201

11.3 Objectives of documentation control processes 203

11.4 The implementation of documentation control 203

Summary 207

Selected bibliography 208

Review questions 208

Topics for discussion 209

PART III PRODUCT ASSURANCE ACTIVITIES FOR CONFORMANCE 211

12. EVALUATION OF PRODUCTS FOR CONFORMANCE 213

12.1 Introduction 213

12.2 The evaluation of project plans for conformance 214

12.3 The evaluation of project’s software products for conformance 215

12.4 Evaluation of project products for acceptability by the customer 216

12.5 The evaluation of project’s operation phase products for conformance 216

12.6 The evaluation of software product by measurements 217

Summary 218

Selected bibliography 219

Review questions 219

Topics for discussion 220

13. REVIEWS 222

13.1 Introduction 222

13.2 The happy design review – an introductory mini case 224

13.3 Formal design reviews (DRS) 225

13.4 Peer reviews 231

13.5 Expert opinions 244

Summary 247

Selected bibliography 248

Review questions 248

Topics for discussion 250

Appendix 13.A: DR report form 252

Appendix 13.B: Inspection session findings report form 253

Appendix 13.C: Inspection session summary report 254

14. SOFTWARE TESTING 255

14.1 Introduction 255

14.2 Joe decided to skip in-process testing – an introductory mini-case 259

14.3 Software testing strategies 260

14.4 Requirement-driven software testing 272

14.5 Planning of the testing process 280

14.6 Designing the testing process 286

14.7 Implementation of the testing process 287

14.8 Automated testing 289

14.9 Alpha and beta site testing programs 301

14.10 Code review activities for the programming and testing phases 303

Summary 304

Selected bibliography 310

Review questions 312

Topics for discussion 314

15. ASSURING SOFTWARE QUALITY CONFORMANCE FOR OPERATION SERVICES 318

15.1 Introduction 318

15.2 HR Software’s success – an introductory mini case 321

15.3 The foundations of high-quality operation services 324

15.4 Software maintenance maturity model – a model for the operation phase 329

15.5 Managerial processes of software operation quality assurance 329

Summary 341

Selected bibliography 342

Review questions 343

Topics for discussion 344

16. SOFTWARE PRODUCT QUALITY METRICS 346

16.1 What are software quality metrics? – an introduction 346

16.2 Implementation of software quality metrics 349

16.3 Product metrics and their classification 352

16.4 Software product size metrics 353

16.5 Software product attribute metrics 356

Summary 362

Selected bibliography 364

Review questions 366

Topics for discussion 367

Appendix 16.A: FSM method implementation 370

17. PROCEDURES AND WORK INSTRUCTIONS 375

17.1 Introduction – the need for procedures and work instructions 375

17.2 Superbox pays $9000 in damages due to failing support center – a mini case 376

17.3 Procedures and work instructions and their conceptual hierarchy 378

17.4 Procedures and procedure manuals 378

17.5 Work instructions 382

17.6 Procedures and work instructions: preparation, implementation, and updating 382

Summary 385

Selected bibliography 386

Review questions 386

Topics for discussion 387

Appendix 17.A: Design review procedure 389

PART IV PROCESS ASSURANCE ACTIVITIES FOR CONFORMANCE 393

18. EVALUATION OF PROCESSES AND DEVELOPMENT ENVIRONMENT FOR CONFORMANCE 395

18.1 Introduction 395

18.2 The evaluation of life cycle processes and plans for conformance 396

18.3 The evaluation of the required environment for conformance 397

18.4 The evaluation of subcontractor processes for conformance 398

18.5 The evaluation of software process by measurements 399

18.6 The assessment of staff skills and knowledge 400

Summary 401

Selected bibliography 401

Review questions 402

Topics for discussion 402

19. IMPROVEMENT PROCESSES – CORRECTIVE AND PREVENTIVE ACTIONS 404

19.1 The “3S” development team – revisited – an introductory mini case 404

19.2 Introduction 406

19.3 The corrective and preventive actions process 407

19.4 Organization for preventive and corrective actions 416

Summary 417

Selected bibliography 418

Review questions 418

Topics for discussion 419

20. SOFTWARE PROCESS ASSURANCE ACTIVITIES FOR EXTERNAL PARTICIPANTS 421

20.1 Introduction 421

20.2 The Pharmax tender – a mini case 424

20.3 Benefits and risks of introducing external performers 427

20.4 Benefits and risks of using readymade software 430

20.5 QA activities for assuring external performers’ process quality 432

20.6 QA activities for assuring quality of readymade software 438

Summary 441

Selected bibliography 444

Review questions 445

Topics for discussion 446

21. SOFTWARE PROCESS QUALITY METRICS 448

21.1 Software process metrics – an introduction 448

21.2 North against South – who’ll win this time round? – a mini case 450

21.3 Software development process metrics 452

21.4 Software operation process metrics 460

21.5 Software maintenance process metrics 462

21.6 Management process metrics 466

21.7 Limitations of software metrics 467

Summary 470

Selected bibliography 471

Review questions 472

Topics for discussion 473

22. SOFTWARE CHANGE CONTROL PROCESSES 476

22.1 Introduction 476

22.2 How a well-planned project lost over half a million dollars – a mini case 477

22.3 The process of handling an SCR 479

22.4 The SCC function in the organization 481

22.5 Software quality assurance activities related to software change control 482

Summary 482

Selected bibliography 483

Review questions 483

Topics for discussion 484

23. STAFF SKILLS AND KNOWLEDGE – TRAINING AND CERTIFICATION 486

23.1 Introduction 486

23.2 Surprises for the “3S” development team – an introductory mini case 487

23.3 The objectives of training 488

23.4 The staff training process for software development 489

23.5 The training process for the SQA function team 493

23.6 The objectives of certification 495

23.7 The certification process 495

Summary 501

Selected bibliography 503

Review questions 503

Topics for discussion 504

PART V ADDITIONAL TOOLS AND METHODS SUPPORTING SOFTWARE QUALITY 507

24. TEMPLATES AND CHECKLISTS 509

24.1 Introduction 509

24.2 Templates 509

24.3 The organizational framework for implementing templates 511

24.4 Checklists 514

24.5 The organizational framework for implementing checklists 516

Summary 518

Selected bibliography 519

Review questions 519

Topics for discussion 520

25. CONFIGURATION MANAGEMENT 522

25.1 Introduction 522

25.2 Software configuration items 523

25.3 Release of software configuration versions 526

25.4 Documentation of software configuration versions 531

25.5 Configuration management planning 532

25.6 Provision of SCM information services 534

25.7 Computerized tools for performing configuration management tasks 535

25.8 The software configuration management function in the organization 536

25.9 Software quality assurance activities related to SCM 537

Summary 539

Selected bibliography 541

Review questions 542

Topics for discussion 542

26. CASE TOOLS AND IDEs – IMPACT ON SOFTWARE QUALITY 544

26.1 What is a CASE tool? 544

26.2 The classic CASE tool 546

26.3 IDE CASE tools 548

26.4 Real CASE tools 550

26.5 The contribution of CASE tools to software quality 554

Summary 556

Selected bibliography 557

Review questions 559

Topics for discussion 559

PART VI APPENDICES 561

APPENDIX A: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE PROCESS STANDARDS 563

A.1 Introduction – standards and their use 563

A.2 IEEE Std. 730-2014 Standard for software quality assurance 566

A.3 ISO/IEC Std. 12207-2008: system and software engineering – software life cycle processes 570

A.4 IEEE Std. 1012-2012 systems and software verification and validation 574

Summary 579

Selected bibliography 581

Review questions 582

Topics for discussion 583

APPENDIX B: SOFTWARE QUALITY MANAGEMENT STANDARDS AND MODELS 585

B.1 ABC Software Ltd – an unnecessary loss – a mini-case 585

B.2 The scope of quality management standards 587

B.3 Software quality management standards as SPI standards 589

B.4 ISO/IEC 90003 590

B.5 Capability maturity CMMI models – assessment methodology 597

B.6 The SPICE project and the ISO/IEC 15504 software process assessment standard 602

B.7 Additional software quality management standards 609

Summary 611

Selected bibliography 613

Review questions 615

Topics for discussion 616

APPENDIX C: PROJECT PROGRESS CONTROL 617

C.1 Introduction 617

C.2 Finally, a successful project – a mini case 619

C.3 The components of project progress control 621

C.4 Progress control of distributed and globally distributed software development projects 623

C.5 Progress control of internal projects and external participants 624

C.6 Implementation of project progress control 625

C.7 Computerized tools for software progress control 626

Summary 631

Selected bibliography 632

Review questions 633

Topics for discussion 634

APPENDIX D: FROM SDLC TO AGILE – PROCESSES AND QUALITY ASSURANCE ACTIVITIES 635

D.1 The classical software development models 636

D.2 The object-oriented model 645

D.3 The incremental delivery model 649

D.4 The staged model 652

D.5 The Agile methodology models 652

Summary 660

Selected bibliography 662

Review questions 663

Topics for discussion 664

Author Index 667

Subject Index 673