Cleanroom Software Engineering: Technology and Process - Softcover

Prowell, Stacy J.

  • 3.40 out of 5 stars
    5 ratings by Goodreads
 
9780201854800: Cleanroom Software Engineering: Technology and Process

Synopsis

Cleanroom software engineering is a process for developing and certifying high-reliability software. Combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification, the Cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development.

Cleanroom originated with Harlan D. Mills, an IBM Fellow and a visionary in software engineering. Written by colleagues of Mills and some of the most experienced developers and practitioners of Cleanroom, Cleanroom Software Engineering provides a roadmap for software management, development, and testing as disciplined engineering practices. This book serves both as an introduction for those new to Cleanroom and as a reference guide for the growing practitioner community. Readers will discover a proven way to raise both quality and productivity in their software-intensive products, while reducing costs.

Highlights

  • Explains basic Cleanroom theory
  • Introduces the sequence-based specification method
  • Elaborates the full management, development, and certification process in a Cleanroom Reference Model (CRM)
  • Shows how the Cleanroom process dovetails with the SEI's Capability Maturity Model for Software (CMM)
  • Includes a large case study to illustrate how Cleanroom methods scale up to large projects.

"synopsis" may belong to another edition of this title.

About the Author

Stacy J. Prowell is a member of the technical staff at Q-Labs, and is the principal inventor of the sequence-based specification method.

Carmen J. Trammell is Manager of Software Quality at CTI-PET Systems, a leading medical imaging company that is integrating Cleanroom technology into product development.

Richard C. Linger is a Visiting Scientist at Carnegie Mellon University's Software Engineering Institute. During his career at IBM he worked with Harlan D. Mills to develop the foundations of Cleanroom, and managed IBM's first Cleanroom project.

Jesse H. Poore is a Professor of Computer Science at the University of Tennessee and holds the Ericsson-Harlan D. Mills Chair in Software Engineering.



0201854805AB04062001

From the Back Cover

Cleanroom software engineering is a process for developing and certifying high-reliability software. Combining theory-based engineering technologies in project management, incremental development, software specification and design, correctness verification, and statistical quality certification, the Cleanroom process answers today's call for more reliable software and provides methods for more cost-effective software development.

Cleanroom originated with Harlan D. Mills, an IBM Fellow and a visionary in software engineering. Written by colleagues of Mills and some of the most experienced developers and practitioners of Cleanroom, Cleanroom Software Engineering provides a roadmap for software management, development, and testing as disciplined engineering practices. This book serves both as an introduction for those new to Cleanroom and as a reference guide for the growing practitioner community. Readers will discover a proven way to raise both quality and productivity in their software-intensive products, while reducing costs.

Highlights

  • Explains basic Cleanroom theory
  • Introduces the sequence-based specification method
  • Elaborates the full management, development, and certification process in a Cleanroom Reference Model (CRM)
  • Shows how the Cleanroom process dovetails with the SEI's Capability Maturity Model for Software (CMM)
  • Includes a large case study to illustrate how Cleanroom methods scale up to large projects.

    0201854805B04062001
  • From the Inside Flap

    This book is about Cleanroom software engineering technology and management. It provides an overview of Cleanroom for application to software engineering projects, and a road map for software management, development, and testing as disciplined engineering practices. It serves as an introduction for those who are new to Cleanroom software engineering and as a reference guide for the growing practitioner community.

    The book is organized into three parts as follows:

    Part I: Cleanroom Software Engineering Fundamentals is a presentation of Cleanroom theory and engineering practice. The principal Cleanroom practices are described: incremental development under statistical quality control; function-based specification, development, and verification; and statistical testing based on usage models. The Cleanroom Reference Model (CRM) is introduced as a framework for an overall Cleanroom engineering process. A small example, the security alarm, is used in Part I to illustrate practices and work products. Part II: The Cleanroom Software Engineering Reference Model provides a process model that can be adopted, tailored, and elaborated by a software engineering organization. The CRM is expressed in 14 Cleanroom processes and 20 work products. Each process is defined in terms of an augmented ETVX (Entry, Tasks, Verification, Exit) model. The CRM is a guide for Cleanroom project performance and process improvement. Chapter 11 relates the CRM to the Key Process Areas of the Capability Maturity Model for Software. Part III: A Case Study in Cleanroom Software Engineering presents a large example, the satellite control system, that includes key technical work products produced in a Cleanroom project: a box structure specification and design, a usage model and usage model analysis.

    In many situations, Cleanroom technologies can be applied without special tools. For example, box structure specifications and designs can be recorded using conventional word processors and templates. It is often the case, however, that tools can simplify and improve Cleanroom practice, and help enable scale-up to larger systems. Accordingly, the principal examples in this book are augmented with output from Cleanroom tools to provide additional analysis and insight.

    This book is intended to give managers and technical practitioners an understanding of Cleanroom technologies, and to provide an overall process framework for managing Cleanroom projects. Part I describes the underlying theory and the methods of practice, and is recommended for all readers. Part II defines Cleanroom processes and may be used as both a reference and as a guide for management activities. The large case study in Part III will help readers to understand what is produced in a Cleanroom project and to envision how Cleanroom can be applied to their own projects.

    We also recommend this book for both undergraduate and graduate students in computer science and software engineering programs. It is important for students to understand the value and necessity for intellectual control in large-scale software engineering, and the importance of the technologies and processes used to achieve it. Of special importance for students is an appreciation of the incremental development life cycle, methods for precise specification, design, and verification, and application of usage-based testing to certify software. Acknowledgments

    The authors thank Ingrid Biery, Laura Prados, and Kirk Sayre for their valuable assistance in the verification of various work products presented herein.

    We also thank Helen Goldstein, our editor at Addison-Wesley, for her patience and support in working with us to produce this book.

    0201854805P04062001

    Excerpt. © Reprinted by permission. All rights reserved.

    Preface

    This book is about Cleanroom software engineering technology and management. It provides an overview of Cleanroom for application to software engineering projects, and a road map for software management, development, and testing as disciplined engineering practices. It serves as an introduction for those who are new to Cleanroom software engineering and as a reference guide for the growing practitioner community.

    The book is organized into three parts as follows:

    1.Part I: Cleanroom Software Engineering Fundamentals is a presentation of Cleanroom theory and engineering practice. The principal Cleanroom practices are described: incremental development under statistical quality control; function-based specification, development, and verification; and statistical testing based on usage models. The Cleanroom Reference Model (CRM) is introduced as a framework for an overall Cleanroom engineering process. A small example, the security alarm, is used in Part I to illustrate practices and work products.

    2.Part II: The Cleanroom Software Engineering Reference Model provides a process model that can be adopted, tailored, and elaborated by a software engineering organization. The CRM is expressed in 14 Cleanroom processes and 20 work products. Each process is defined in terms of an augmented ETVX (Entry, Tasks, Verification, Exit) model. The CRM is a guide for Cleanroom project performance and process improvement. Chapter 11 relates the CRM to the Key Process Areas of the Capability Maturity Model for Software.

    3.Part III: A Case Study in Cleanroom Software Engineering presents a large example, the satellite control system, that includes key technical work products produced in a Cleanroom project: a box structure specification and design, a usage model and usage model analysis.

    In many situations, Cleanroom technologies can be applied without special tools. For example, box structure specifications and designs can be recorded using conventional word processors and templates. It is often the case, however, that tools can simplify and improve Cleanroom practice, and help enable scale-up to larger systems. Accordingly, the principal examples in this book are augmented with output from Cleanroom tools to provide additional analysis and insight.

    This book is intended to give managers and technical practitioners an understanding of Cleanroom technologies, and to provide an overall process framework for managing Cleanroom projects. Part I describes the underlying theory and the methods of practice, and is recommended for all readers. Part II defines Cleanroom processes and may be used as both a reference and as a guide for management activities. The large case study in Part III will help readers to understand what is produced in a Cleanroom project and to envision how Cleanroom can be applied to their own projects.

    We also recommend this book for both undergraduate and graduate students in computer science and software engineering programs. It is important for students to understand the value and necessity for intellectual control in large-scale software engineering, and the importance of the technologies and processes used to achieve it. Of special importance for students is an appreciation of the incremental development life cycle, methods for precise specification, design, and verification, and application of usage-based testing to certify software.

    "About this title" may belong to another edition of this title.