Adobe® Digital Editions software.This eBook requires the free
Before downloading this DRM-encrypted PDF, be sure to:
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.
I. CLEANROOM SOFTWARE ENGINEERING FUNDAMENTALS.1. Cleanroom Overview.
Economic Production of High-Quality Software.
The Cleanroom Process.
Relationship of Cleanroom to Other Practices.
Cleanroom Project Experience.
Suggested Reading.2. Cleanroom Management by Incremental Development.
Benefits of Incremental Development.
Theoretical Foundations of Incremental Development.
Increment Planning in Practice.
Incremental Development in Practice.
References.3. Cleanroom Software Specification.
Box Structures for Cleanroom Specification and Design.
The Sequence-Based Specification Process.
Example: Specification of a Security Alarm.
References.4. Cleanroom Software Development.
Box Structure Development.
Clear Box Development.
Clear Box Verification.
Example: The Security Alarm Clear Box.
References.5. Cleanroom Software Certification.
Benefits of Statistical Testing Based on a Usage Model.
Theoretical Foundations of Statistical Testing.
Statistical Usage Testing in Practice.
Example: Security Alarm.
II. THE CLEANROOM SOFTWARE ENGINEERING REFERENCE MODEL.6. The Cleanroom Reference Model.
An Introduction to the CRM.
Cleanroom Process Definition Format.
Common Cleanroom Process Elements.
References.7. Cleanroom Management Processes.
Project Planning Process.
Project Management Process.
Performance Improvement Process.
Engineering Change Process.8. Cleanroom Specification Processes.
Requirements Analysis Process.
Function Specification Process.
Usage Specification Process.
Architecture Specification Process.
Increment Planning Process.
References.9. Cleanroom Development Processes.
Software Reengineering Process.
Increment Design Process.
Correctness Verification Process.
References.10. Cleanroom Certification Processes.
Usage Modeling and Test Planning Process.
Statistical Testing and Certification Process.
References.11. Cleanroom and the Capability Maturity Model for Software.
The CMM for Software.
Cleanroom Process Mappings to CMM KPAs.
Integrating CRM Technology and CMM Management.
III. A CASE STUDY IN CLEANROOM SOFTWARE ENGINEERING.12. Satellite Control System Requirements.
The Satellite Control System Case Study.
Satellite Operations Software Requirements.
Reference.13. Satellite Control System Black Box Specification.
Black Box Sequence-Based Specification.
Step 1: Define the System Boundary.
Step 2: Enumerate Stimulus Sequences.
Step 3: Analyze Canonical Sequences.
Step 4: Define Specification Functions.
Step 5: Construct the Black Box Tables.
Common Sequence Abstraction Techniques.14. Satellite Control System State Box Specification.
State Box Specification.
Step 1: Invent the State Data.
Step 2: Construct the State Box Tables.15. Satellite Control System Clear Box Design.
Clear Box Implementation.
Step 1: Select a High-Level Software Architecture.
Step 2: Select an Implementation for Stimulus Gathering.
Step 3: Select an Implementation for Response Generation.
Step 4: Select an Implementation for the State Data Items.
Step 5: Select an Implementation for Each Entry in the State Box Table.
Step 6: Reorganize the Implementations into Executable Code.16. Satellite Control System Testing and Certification.
Step 1: Define Certification Plan.
Step 2: Build Model Structure.
Step 3: Determine State Transition Probabilities.
Step 4: Validate the Usage Model.
Step 5: Generate Test Cases, and Execute and Evaluate Results.Index. 0201854805T04062001