CLEANROOM SOFTWARE ENGINEERING By Alan Spangler

advertisement
CLEANROOM SOFTWARE ENGINEERING
By Alan Spangler
Presented By : Vamshi Krishna Merugu
OVERVIEW
Introduction
oCleanroom Development process
oComparing Technologies
oSoftware Development
oExample
oReliability Certification
oProject Management
oSoftware Quality Achievement
oAdvantages
oConclusion
o
INTRODUCTION
The term ‘Cleanroom’ was derived from the semiconductor industries. In the semiconductor industry,
contaminant free environments called as
cleanrooms are used to manufacture the silicon
chips.
The
main goal of the cleanroom software
engineering is to develop zero-defect software which
is similar to the cleanroom approach followed by the
semi-conductor industries.

INTRODUCTION
The Cleanroom software engineering adopts an
incremental development. Software is developed in
small increments which reduces the complexity in
system.
Cleanroom
software engineering has
a
mathematical based approach to pursue their
specifications and development process.

CLEANROOM DEVELOPMENT
PROCESS
1.
2.
3.
4.
Cleanroom software development involves
four team functions.
Specification Team
Development Team
Certification Team
Documentation Team
CLEANROOM DEVELOPMENT
PROCESS
COMPARING METHODOLOGIES
Cleanroom
Team operations
•Incremental development
•Defect prevention
•Team correctness
verification
•Developer testing
•
Traditional
Individual operations
•Waterfall development
•Defect correction
•Individual debugging
•Independent test team
•
Software Development
Cleanroom software engineering uses ‘box
structures’ approach to develop a software system.
This approach is the frequently used mathematical
model in developing the software system.
In box structure, three different views are expressed.
1.
Black box view
2.
State box view
3.
Clear box view
EXAMPLE
RELIABILITY CERTIFICATION
The primary form of testing in cleanroom is ‘usage
testing’.
A statistical model is applied to usage testing results
to estimate the product’s reliability.
The metric calculated is called “Mean Time To
Failure”(MTTF) which is measured in terms of units.
For a database product, MTTF could be measured in
terms of number of transactions processed
successfully.

PROJECT MANAGEMENT
Both managerial and intellectual is maintained by
doing things on a small scale as well as through team
work.
The team concept is fundamental in Cleanroom.
Developing and testing is conducted by teams that
are restricted to a maximum of 8 in a team when
feasible.
The teams provide technical and leadership skills,
cross training and reduce communications and
bureaucratic overhead.

PROJECT MANAGEMENT
As said earlier, incremental development process is used in
cleanroom which provides several benefits.
Increments are cumulative, each increment includes all
previous work plus some new work.

For each increment, schedule, budget, quality and
productivity goals are set.

This way they have ample of time to make needed process
changes for subsequent increments. This paradigm embodies
the fundamental activities of quality control, measure,
feedback, and correction action.

Software Quality Achievement
through Cleanroom
Cleanroom looks like unattainable, however,
many cleanroom teams have used it
successfully.
The teams have built a total of nearly 2
millions lines of extremely high quality
software during the past decade, while
maintaining high productivity rates.

Software Quality Achievement
through Cleanroom
ADVANTAGES
High Quality: Statistical usage testing tends to find
errors early in testing. As a result any errors in
customer use tend to be low-rate, if found they can
be easily fixed.

Reduced Maintenance Cost: Because of the quality
of the product, the required maintenance activities
also becomes less which indirectly reduces the
maintenance costs.

CONCLUSION
Cleanroom software engineering not only
produce the software with zero defects, but
also to certify the reliability of software and to
develop products with ultrahigh quality within
the provided budget and schedule.
QUESTIONS?
THANK YOU
Download