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