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. booknews cleanroom Is A Theory-based, Team-oriented Process For The Production Of High-quality Software In An Economical Manner. Written By Four Experienced Developers And Practitioners Of Cleanroom, The Book Provides An Overview Of The Methods For Application To Software Engineering Projects, And A Road Map For Software Management, Development, And Testing As Disciplined Engineering Practices. A Case Study Of A Satellite Control System Project Illustrates The Methods. Annotation C. Book News, Inc., Portland, Or (booknews.com) Contents Preface Introduction Part I: Cleanroom Software Engineering Fundamentals 1 Cleanroom Overview 1.1 Economic Production of High-Quality Software 1.2 Cleanroom Foundations 1.3 Cleanroom Technologies 1.4 The Cleanroom Process 1.5 Relationship of Cleanroom to Other Practices 1.6 Cleanroom Project Experience 1.7 References 1.8 Suggested Reading 2 Cleanroom Management by Incremental Development 2.1 Benefits of Incremental Development 2.2 Theoretical Foundations of Incremental Development 2.3 Increment Planning in Practice 2.4 Incremental Development in Practice 2.5 References 3 Cleanroom Software Specification 3.1 Box Structures for Cleanroom Specification and Design 3.2 The Sequence-Based Specification Process 3.3 Example: Specification of a Security Alarm 3.4 References 4 Cleanroom Software Development 4.1 Box Structure Development 4.2 Clear Box Development 4.3 Clear Box Verification 4.4 Example: The Security Alarm Clear Box 4.5 References 5 Cleanroom Software Certification 5.1 Benefits of Statistical Testing Based on a Usage Model 5.2 Theoretical Foundations of Statistical Testing 5.3 Statistical Usage Testing in Practice 5.4 Example: Security Alarm 5.5 References Part II: The Cleanroom Software Engineering Reference Model 6 The Cleanroom Reference Model 6.1 An Introduction to the CRM 6.2 Cleanroom Process Definition Format 6.3 Common Cleanroom Process Elements 6.4 References 7 Cleanroom Management Processes 7.1 Project Planning Process 7.2 Project Management Process 7.3 Performance Improvement Process 7.4 Engineering Change Process 8 Cleanroom Specification Processes 8.1 Requirements Analysis Process 8.2 Function Specification Process 8.3 Usage Specification Process 8.4 Architecture Specification Process 8.5 Increment Planning Process 8.6 References 9 Cleanroom Development Processes 9.1 Software Reengineering Process 9.2 Increment Design Process 9.3 Correctness Verification Process 9.4 References 10 Cleanroom Certification Processes 10.1 Usage Modeling and Test Planning Process 10.2 Statistical Testing and Certification Process 10.3 References 11 Cleanroom and the Capability Maturity Model for Software 11.1 The CMM for Software 11.2 Cleanroom Process Mappings to CMM KPAs 11.3 Integrating CRM Technology and CMM Management 11.4 References Part III: A Case Study in Cleanroom Software Engineering 12 Satellite Control System Requirements 12.1 The Satellite Control System Case Study 12.2 Satellite Operations Software Requirements 12.3 Reference 13 Satellite Control System Black Box Specification 13.1 Black Box Sequence-Based Specification 13.2 Step 1: Define the System Boundary 13.3 Step 2: Enumerate Stimulus Sequences 13.4 Step 3: Analyze Canonical Sequences 13.5 Step 4: Define Specification Functions 13.6 Step 5: Construct the Black Box Tables 13.7 Removing Abstractions 13.8 Common Sequence Abstraction Techniques 14 Satellite Control System State Box Specification 14.1 State Box Specification 14.2 Step 1: Invent the State Data 14.3 Step 2: Construct the State Box Tables 15 Satellite Control System Clear Box Design 15.1 Clear Box Implementation 15.2 Step 1: Select a High-Level Software Architecture 15.3 Step 2: Select an Implementation for Stimulus Gathering 15.4 Step 3: Select an Implementation for Response Generation 15.5 Step 4: Select an Implementation for the State Data Items 15.6 Step 5: Select an Implementation for Each Entry in the State Box Table 15.7 Step 6: Reorganize the Implementations into Executable Code 16 Satellite Control System Testing and Certification 16.1 Statistical Testing 16.2 Step 1: Define Certification Plan 16.3 Step 2: Build Model Structure 16.4 Step 3: Determine State Transition Probabilities 16.5 Step 4: Validate the Usage Model 16.6 Step 5: Generate Test Cases, and Execute and Evaluate Results Index A B C D E F G H I K L M N O P Q R S T U V W The concept of Cleanroom software engineering greatly reduces defects even before the software testing stage. This formalized software development process, created at IBM, allows software project participants to examine software mathematically and remove bugs prior to coding. Cleanroom software engineering allows companies to gain a competitive industry advantage by increasing productivity, reducing costs, and delivering extremely reliable software.Written by the creators and preeminent practitioners of Cleanroom software engineering, this book provides an introduction and in-depth description of the topic. Following an explanation of Cleanroom theory and basic practice, the authors draw on their extensive experience in industry to elaborate in detail on the Cleanroom development and certification process, and show how this process is compatible with the Software Engineering Institute's Capability Maturity Model (CMM). The book is particularly valuable for its many examples and its large-scale case study illustrating proven best practices in Cleanroom software engineering. 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