"Musa...is considered the guru of software reliability engineering." - Michael R. Lyn, Ph.D., Technical Staff, AT&T Laboratories. Spotlighting the practical steps that you need to apply Software Reliability Engineering to software development and testing, this first-of-its-kind guide puts the efficiency-enhancing benefits of SRE within easy reach. Organized for quick learning and rapid application, this book leads you through the entire SRE process with the Fone Follower case study, adapted from a Bell Laboratories product.
To enhance understanding, each chapter features answered FAQs, as well as hands-on exercises for instant application. The book boils down the core practice of SRE to a one- or two-day learning process. Even newcomers to Software Reliability Engineering can quickly discover how to: set quantitative reliability goals; develop operational profiles; use CASRE to estimate software reliability; and determine operational modes. Also helpful to systems engineers, systems architects, developers, and managers, this unique and valuable tool shows you step-by-step how to deliver the highly efficient engineered software development and testing procedures needed in today's fast-moving marketplace.
Review By: Cathy Bell 09/11/2002This book guides the reader step-by-step through the process of software reliability engineering.
The material presented shows how to practice software reliability engineering, and how to establish SRE in your organization, from persuading upper management, implementation, and deployment. A software product can be measured by two characteristics: the expected use of its functions and its required major quality characteristics. The measurement of these two aspects are quantified and reported. Topics covered show how to set quantitative reliability goals, develop operational profiles, and determine operational modes.
Chapter 1 is an overview of SRE, showing how software reliability engineering is in practice today. There is plenty of coverage and documentation supporting why SRE should be considered the standard for developing software, from new products using the latest technology to software developed for legacy systems. Many of today’s questions about software development, risk, and testing are covered showing how SRE can improve the software produced, as well as the quality and cost of the software.
Chapters 2-6 walk you through the process step-by-step. There are frequent breaks in each chapter for “Frequently Asked Questions.” Where appropriate, a background section is included that gives additional insight into the area just covered. Throughout the book, a real-life example illustrates the practicality of the information. Each chapter ends with problems for you to solve, which reinforces the material learned.
Frequently used terms are defined as they are introduced. The appendices include a glossary, frequently used formulas, and solutions to the problems at the end of the chapters. The practical advice interwoven in the text covers many areas that are plaguing the software development industry today, such as what should be considered a failure, regression testing, reusability of code and testware, mean time to repair, and proper documentation. We are admonished that to meet customer expectations, we should follow the SRE process, and in turn this will make development and testing more reliable, faster, and cheaper.
The author introduces the book with the statement “I designed this book with the goal of most efficiently teaching you what software reliability engineering is and how to apply it in software development and testing and software development.” He lived up to that opening statement. I found the book very easy to read and the process very easy to follow. The process follows a logical path, introducing new concepts that build on areas already covered. This book proves to be an excellent self-study guide for SRE. Each facet of SRE is covered in depth, and the author’s practical advice reinforces the best practices in software development and testing.
The format and content of the “Frequently Asked Questions” helped me further understand the topics, as the questions asked and answered were often those that had crossed my mind while I read. Using the author’s example to build on the material for each chapter provided consistency and enhanced the learning process.
I recently sat in two college classes, business statistics and analytic methods, wondering “how will I ever use this information?” Well, SRE showed me the practicality of these classes. From chapter 1 forward, this book encourages the use of formulas to gather statistics and quantify software reliability. In one of the FAQ sections, the question reads “Does it take a statistician to do software reliability engineering? ANSWER: No.” It does take the ability to use the formulas given and apply them to the data gathered about your software project.
This book is a valuable desk reference for implementing and maintaining SRE. I have many pages already marked with sticky notes, the sign of any good reference book.