Lecture Notes for CS 325
Cleanroom Development, 15 March 2000
- the engineering metaphor for software engineering
- hardware fabrication cleanrooms
- strictly controlled environments
- prevent fabrication errors
- software cleanrooms - software development process and management
techniques
- close control over software development
- emphasis on defect prevention
- certifying the results
- principles
- emphasis on defect prevention and early detection
- mathematically sound software development
- statistically valid testing results
- approaches
- incremental and iterative development under statistical quality control
- requirements for each increment
- box structure spec - like architectural design
- formal design - like logical design
- correctness verification
- code inspection
- statistical use testing
- certification
- programs as functions - box structure method with verification
- like structure charts, except purely functional
- black boxes - behavioral, specification
- state boxes - transformational, architectural
- clear boxes - operational, implementation
- statistically controlled testing for reliability and confidence
- use-case distributions derived from expected uses
- test-case generation based on use-case distributions
- measurements establishing mean-time-to-failure and other statistical
measures of reliability
- certification based statistical measures
- sampling, component, and certification models
- characteristics
- team-based development
- six to eight person teams
- specification, development, and verification subgroups.
- group (design, validation) and individual (development) tasks
- parallel development
- larger projects broken up into flat, incremental subprojects
- front-end loaded scheduling
- emphasis on design and implementation
- in theory, less time needed for testing
- examples
- ericsson os development - 70% productivity improvement, 100% testing
productivity improvement
- usaf command infrastructure - 30-40$/loc vs. 130$/loc
- picatinny - 4.2:1 productivity increase, 20:1 roi
- problems
- sophisticated - verification and statistical mathematics
- different from other s.e. processes, although it can accommodate them
- counter to current thinking - verification vs. testing
This page last modified on 31 March 2000.