Authoritative resource providing step-by-step guidance for producing reliable software to be tailored for specific projects
Software Reliability Techniques for Real-World Applications is a practical, up to date, go-to source that can be referenced repeatedly to efficiently prevent software defects, find and correct defects if they occur, and create a higher level of confidence in software products. From content development to software support and maintenance, the author creates a depiction of each phase in a project such as design and coding, operation and maintenance, management, product production, and concept development and describes the activities and products needed for each.
Software Reliability Techniques for Real-World Applications introduces clear ways to understand each process of software reliability and explains how it can be managed effectively and reliably. The book is supported by a plethora of detailed examples and systematic approaches, covering analogies between hardware and software reliability to ensure a clear understanding. Overall, this book helps readers create a higher level of confidence in software products.
In Software Reliability Techniques for Real-World Applications, readers will find specific information on:
- Defects, including where defects enter the project system, effects, detection, and causes of defects, and how to handle defects
- Project phases, including concept development and planning, requirements and interfaces, design and coding, and integration, verification, and validation
- Roadmap and practical guidelines, including at the start of a project, as a member of an organization, and how to handle troubled projects
- Techniques, including an introduction to techniques in general, plus techniques by organization (systems engineering, software, and reliability engineering)
Software Reliability Techniques for Real-World Applications is a practical text on software reliability, providing over sixty-five different techniques and step-by-step guidance for producing reliable software. It is an essential and complete resource on the subject for software developers, software maintainers, and producers of software.
Table of Contents
Preface xi
Series Editor’s Foreword by Dr. Andre Kleyner xiii
Acronyms xv
Glossary xvii
1 Introduction 1
1.1 Description of the Problem 1
1.2 Implications for Software Reliability 2
References 3
2 Understanding Defects 5
2.1 Where Defects Enter the Project System 5
2.2 Effects of Defects 6
2.3 Detection of Defects 7
2.4 Causes of Defects 9
References 12
3 Handling Defects 13
3.1 Strategy for Handling Defects 13
3.2 Objectives 14
3.3 Plan 15
3.4 Implementation, Monitoring, and Feedback 28
3.5 Analogies Between Hardware and Software Reliability Engineering 31
References 33
4 Project Phases 35
4.1 Introduction to Project Phases 35
4.2 Concept Development and Planning 43
4.2.1 Description of the CDP Phase 43
4.2.2 Defects Typical for the CDP Phase 46
4.2.3 Techniques and Processes for the CDP Phase 47
4.2.4 Metrics for the CDP Phase 51
4.3 Requirements and Interfaces 62
4.3.1 Description of the Requirements and Interfaces Phase 62
4.3.2 Defects Typical for the Requirements and Interfaces Phase 63
4.3.3 Techniques and Processes for the Requirements and Interfaces Phase 65
4.3.4 Metrics for the Requirements and Interfaces Phase 68
4.4 Design and Coding 73
4.4.1 Description of the DC Phase 73
4.4.2 Defects Typical for the DC Phase 76
4.4.3 Techniques and Processes for the DC Phase 78
4.4.4 Metrics for the DC Phase 82
4.5 Integration, Verification, and Validation 91
4.5.1 Description of the IV&V Phase 91
4.5.2 Defects Typical for the IV&V Phase 94
4.5.3 Techniques and Processes for the IV&V Phase 96
4.5.4 Metrics for the IV&V Phase 98
4.6 Product Production and Release 105
4.6.1 Description of the Product Production and Release Phase 106
4.6.2 Defects Typical for the Product Production and Release Phase 107
4.6.3 Techniques and Processes for the Product Production and Release Phase 108
4.6.4 Metrics for the Product Production and Release Phase 111
4.7 Operation and Maintenance 115
4.7.1 Description of the Operation and Maintenance Phase 116
4.7.2 Defects Typical for the OM Phase 119
4.7.3 Techniques and Processes for the OM Phase 119
4.7.4 Metrics for the OM Phase 121
4.8 Management 125
4.8.1 Description of Management 125
4.8.2 Defects Typical for Management 126
4.8.3 Techniques and Processes for Management 128
4.8.4 Metrics for Management 131
References 139
5 Roadmap and Practical Guidelines 141
5.1 Summary and Roadmap 141
5.1.1 Start of a Project 142
5.1.2 As a Member of an Organization 145
5.1.3 Troubled Projects 145
5.2 Guidelines 149
References 150
6 Techniques 151
6.1 Introduction to the Techniques 151
6.2 Techniques for Systems Engineering 151
6.3 Techniques for Software 161
6.4 Techniques for Reliability Engineering 179
6.5 Project-Wide Techniques and Techniques for Quality Assurance 254
References 316
Index 323