18
CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

Embed Size (px)

Citation preview

Page 1: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

CLEANROOM SOFTWARE ENGINEERING By Alan Spangler

Presented By : Vamshi Krishna Merugu

Page 2: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

OVERVIEWo IntroductionoCleanroom Development processoComparing TechnologiesoSoftware DevelopmentoExampleoReliability Certification oProject ManagementoSoftware Quality Achievement oAdvantagesoConclusion

Page 3: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

INTRODUCTION

The term ‘Cleanroom’ was derived from the semi-conductor 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.

Page 4: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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.

Page 5: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

CLEANROOM DEVELOPMENT PROCESS

Cleanroom software development involves four team functions.

1. Specification Team2. Development Team3. Certification Team4. Documentation Team

Page 6: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

CLEANROOM DEVELOPMENT PROCESS

Page 7: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

COMPARING METHODOLOGIES

Cleanroom Traditional

•Team operations•Incremental development•Defect prevention•Team correctness verification•Developer testing

•Individual operations•Waterfall development•Defect correction•Individual debugging•Independent test team

Page 8: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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 view2.State box view3.Clear box view

Page 9: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

EXAMPLE

Page 10: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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.

Page 11: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

PROJECT MANAGEMENTBoth 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.

Page 12: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

PROJECT MANAGEMENTAs 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.

Page 13: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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.

Page 14: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

Software Quality Achievement through Cleanroom

Page 15: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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.

Page 16: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

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.

Page 17: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

QUESTIONS?

Page 18: CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu

THANK YOU