did-you-know? rent-now

Rent More, Save More! Use code: ECRENTAL

did-you-know? rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780201854800

Cleanroom Software Engineering Technology and Process

by ; ; ;
  • ISBN13:

    9780201854800

  • ISBN10:

    0201854805

  • Edition: 1st
  • Format: Paperback
  • Copyright: 1999-03-09
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $49.95

Summary

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 Engineeringprovides 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.

Author Biography

Stacy J. Prowell is a member of the technical staff at Q-Labs, and is the principal inventor of the sequence-based specification method introduced in this book. 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.

Table of Contents

Preface ix(2)
Introduction xi
Part I Cleanroom Software Engineering Fundamentals 1(110)
1 Cleanroom Overview
3(18)
1.1 Economic Production of High-Quality Software
3(1)
1.2 Cleanroom Foundations
4(4)
1.3 Cleanroom Technologies
8(5)
1.4 The Cleanroom Process
13(2)
1.5 Relationship of Cleanroom to Other Practices
15(3)
1.6 Cleanroom Project Experience
18(1)
1.7 References
18(1)
1.8 Suggested Reading
19(2)
2 Cleanroom Management by Incremental Development
21(12)
2.1 Benefits of Incremental Development
22(3)
2.2 Theoretical Foundations of Incremental Development
25(3)
2.3 Increment Planning in Practice
28(2)
2.4 Incremental Development in Practice
30(2)
2.5 References
32(1)
3 Cleanroom Software Specification
33(28)
3.1 Box Structures for Cleanroom Specification and Design
34(9)
3.2 The Sequence-Based Specification Process
43(3)
3.3 Example: Specification of a Security Alarm
46(13)
3.4 References
59(2)
4 Cleanroom Software Development
61(30)
4.1 Box Structure Development
61(2)
4.2 Clear Box Development
63(9)
4.3 Clear Box Verification
72(9)
4.4 Example: The Security Alarm Clear Box
81(9)
4.5 References
90(1)
5 Cleanroom Software Certification
91(20)
5.1 Benefits of Statistical Testing Based on a Usage Model
91(2)
5.2 Theoretical Foundations of Statistical Testing
93(2)
5.3 Statistical Usage Testing in Practice
95(4)
5.4 Example: Security Alarm
99(9)
5.5 References
108(3)
Part II The Cleanroom Software Engineering Reference Model 111(98)
6 The Cleanroom Reference Model
113(18)
6.1 An Introduction to the CRM
113(12)
6.2 Cleanroom Process Definition Format
125(1)
6.3 Common Cleanroom Process Elements
126(3)
6.4 References
129(2)
7 Cleanroom Management Processes
131(14)
7.1 Project Planning Process
131(5)
7.2 Project Management Process
136(3)
7.3 Performance Improvement Process
139(3)
7.4 Engineering Change Process
142(3)
8 Cleanroom Specification Processes
145(24)
8.1 Requirements Analysis Process
145(4)
8.2 Function Specification Process
149(5)
8.3 Usage Specification Process
154(6)
8.4 Architecture Specification Process
160(3)
8.5 Increment Planning Process
163(4)
8.6 References
167(2)
9 Cleanroom Development Processes
169(14)
9.1 Software Reengineering Process
169(4)
9.2 Increment Design Process
173(5)
9.3 Correctness Verification Process
178(4)
9.4 References
182(1)
10 Cleanroom Certification Processes
183(16)
10.1 Usage Modeling and Test Planning Process
183(8)
10.2 Statistical Testing and Certification Process
191(6)
10.3 References
197(2)
11 Cleanroom and the Capability Maturity Model for Software
199(10)
11.1 The CMM for Software
199(3)
11.2 Cleanroom Process Mappings to CMM KPAs
202(4)
11.3 Integrating CRM Technology and CMM Management
206(1)
11.4 References
207(2)
Part III A Case Study in Cleanroom Software Engineering 209(174)
12 Satellite Control System Requirements
211(10)
12.1 The Satellite Control System Case Study
211(1)
12.2 Satellite Operations Software Requirements
212(7)
12.3 References
219(2)
13 Satellite Control System Black Box Specification
221(56)
13.1 Black Box Sequence-Based Specification
221(3)
13.2 Step 1: Define the System Boundary
224(5)
13.3 Step 2: Enumerate Stimulus Sequences
229(27)
13.4 Step 3: Analyze Canonical Sequences
256(1)
13.5 Step 4: Define Specification Functions
257(3)
13.6 Step 5: Construct the Black Box Tables
260(9)
13.7 Removing Abstractions
269(3)
13.8 Common Sequence Abstraction Techniques
272(5)
14 Satellite Control System State Box Specification
277(16)
14.1 State Box Specification
277(1)
14.2 Step 1: Invent the State Data
278(5)
14.3 Step 2: Construct the State Box Tables
283(10)
15 Satellite Control System Clear Box Design
293(56)
15.1 Clear Box Implementation
293(1)
15.2 Step 1: Select a High-Level Software Architecture
294(18)
15.3 Step 2: Select an Implementation for Stimulus Gathering
312(1)
15.4 Step 3: Select an Implementation for Response Generation
313(3)
15.5 Step 4: Select an Implementation for the State Data Items
316(1)
15.6 Step 5: Select an Implementation for Each Entry in the State Box Table
317(21)
15.7 Step 6: Reorganize the Implementations into Executable Code
338(11)
16 Satellite Control System Testing and Certification
349(34)
16.1 Statistical Testing
349(1)
16.2 Step 1: Define Certification Plan
350(2)
16.3 Step 2: Build Model Structure
352(25)
16.4 Step 3: Determine State Transition Probabilities
377(1)
16.5 Step 4: Validate the Usage Model
378(2)
16.6 Step 5: Generate Test Cases, and Execute and Evaluate Results
380(3)
Index 383

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

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 Fundamentalsis 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 Modelprovides 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 Engineeringpresents 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. AcknowledgmentsThe 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

Rewards Program