SlideShare a Scribd company logo
1 of 32
Question
• Is it possible to build software without any
bug in it?
. Answer: Maybe, By using Cleanroom software development.
Causes for Bugs in Programs
• The main reasons for bugs in programs:
* Design flaws.
* Coding error.
* Other (including human related error).
human oriented (as he said dr.celal)
Cleanroom Software Engineering CSE: History
- 1983: Original idea of Cleanroom came from one of Dr. Harlan Mills’
published papers.
- 1987: Proposed by Dr. Mills as a SE methodology. The name
“Cleanroom” was borrowed from the electronics industry
- 1988: Defense Advanced Research Projects Agency (DARPA)
Software Technology for Adaptable Reliable Systems
(STARS) focus on Cleanroom.
- 1991-1992: Prototyping of Cleanroom Process Guide
- 1992: A book of CSE published, foundation of CSE
- 1992-1993: Army and Air Force Demonstration of Cleanroom
Technology.
- 1993-1994: Prototyping of Cleanroom tools
- 1995: Commercialization of a Cleanroom Certification Tool
-1995: Cleanroom and CMM (Capability Maturity Model) Consistency Review
Cleanroom Software Engineering
Cleanroom software engineering (CSE) is an
engineering process for the development of high
quality software with certified reliability with the
emphasis on design with no defects and test based
on software reliability engineering concepts.
• CSE focuses on defect prevention instead of defect
correction, and certification of reliability for the
intended environment of use.
Cleanroom Software Engineering
• CSE yields software that is correct by mathematically
sound design, and software that is certified by
statistically valid testing.
• CSE represents a paradigm shift from traditional,
craft-based SE practices to rigorous, engineering-
based practices.
CSE: Characteristics
Objective: Achieve zero defects with certified
reliability.
Focus: Defect prevention rather than defect
correction.
Process: Incremental (short) development
cycles; long product life.
Quality.
Most suitable for critical applications.
Increased Productivity.
Reduces Costs.
Comparison:
Craft-Based SE Cleanroom SE
Sequential or chaos development Incremental development
Informal design Disciplined engineering specification and
design
Unknown reliability Measured reliability
Individual development Peer reviewed engineering
Individual unit testing Team correctness verification
Informal load or coverage testing Statistical usage testing
CSE: Processes
• 1. Management process.
• 2. Specification process.
• 3. Development process.
• 4. Certification process.
CSE: Management Process
• Project Planning
Cleanroom engineering guide
Software development plan (incremental)
• Project Management
Project record
• Performance Improvement
Performance improvement plan
• Engineering Change
Engineering change log
CSE: Specification Process /1
• Requirements Analysis
• Elicitation(deriving) and analysis of requirements
• Define requirements for the software product
• Obtain agreement with the customer on the
requirements.
• Function Specification
• Base on the result of Requirements Analysis
Specify the complete functional behavior of the
software in all possible modes of use.
CSE: Specification Process /2
• Usage Specification
• Identify and classify software users, usage scenarios, and
environments of use (operational modes).
• Establish and analyze the probability distribution for
software usage models.
• Architecture Specification
• Define the conceptual model, the structural organization,
and the execution characteristics of the software.
• Architecture definition is a multi-level activity that spans
the life cycle.
CSE: Specification Process /3
• Increment Planning
• Allocate customer requirements defined in the
Function Specification to a series of software
increments that satisfy the Software
Architecture,
• Define schedule and resource allocations for
increment development and certification
• Obtain agreement with the customer on the
increment plan
CSE: Development Process
CSE: Certification Process
• Usage modeling and test planning
• A usage model represents a possible usage scenario of
the software
• Usage model is based on usage specification and is
used for testing
• Statistical Testing and Certification
• Testing is conducted in a formal statistical design under
experimental control.
• Management decisions on continuation of testing and
certification of the software are based on statistical
estimates of software quality.
Cleanroom Strategy /1
• Requirement gathering (RG)
• A detailed description of customer level requirements for
each increment.
• Box structure specification (BSS)
• Functional specification using box structure to separate
behavior, data and procedures.
• Formal design (FD)
Specifications (black boxes) are refined to become
analogous to architectural (state boxes) and procedural
(clear boxes) design.
Cleanroom Strategy /2
• Correctness verification (CV)
• A set of correctness verification activities on the design and
moves later to code. First level verification is via application of a set
of “correctness questions”.
• Code generation, inspection & verification (CG &CI)
The box structure transformed to a programming language.
Walkthrough and code inspection techniques are used to ensure
semantic conformance with the box structure.
Cleanroom Strategy /3
• Statistical test planning (TP)
• Planning the test based on operational modes, operational
profiles and reliability.
• Statistical use testing (SUT)
• Creating test case, execute them and collecting error data.
• Certification (C)
• Conducting certification test rather than reliability growth
to accept/reject developed software components (using
reliability demonstration chart, etc).
Box Structure /1
Box structures are used to move from an abstract specification to
a detailed design providing implementation details.
Box Structure /2
Black box
Specifies the behavior of a system or a part of a system.
The system responds to specific stimuli (events) by applying a set
of transition rules that map the stimuli to response.
(specifications ).
State box
Encapsulates state data and services (operations). Input to the
state box and outputs are represented. (architectural designs).
Clear box
Transition function that are implied by the state box. It contains
the procedural design of the state box. (component designs).
Example
• Automated Teller Machine (ATM)
• Requirements:
• The customer has a PIN number and access-card to use the ATM.
• The customer can deposit, withdraw money from the account.
• Transaction involves no bank employee.
Example: Usage Model
Example: Black Boxes
• Black boxes
• Card Processor
• In: ValidCard(cardNum)
• Out: showMessage(message)
Boolean
• Cash Dispenser
• In: enoughCashInMachine(amount)
dispenseCash(amount)
• Out: showMessage(message)
dispense(amount)
Boolean
• Transaction Manager
• In: ValidCustomer(cardNum, pin)
AmountLimit(amount)
EnoughCashInAccount(amount)
• Out: showMessage(message)
Boolean
Example: State Box
Example: Clear Box Spec
CSE: Team
• Specification team:
• Responsible for developing and maintaining the
system specification.
• Development team:
• Responsible for developing and verifying the
software.
• The software is not executed during this process.
• Certification team:
• Responsible for developing a set of statistical tests to
exercise the software after development.
• Use reliability growth models to assess reliability.
CSE: Evaluation
• Basic features of Cleanroom development that
distinguishes it from other SE methodologies
are:
• Formal specification (Box structure).
• Correctness verification.
• Statistical certification test.
Conclusion:
• Key Characteristics of Cleanroom SE
– Incremental Development Life Cycle.
– Defect Prevention: Quality Assessment thru
Statistical Testing.
– Disciplined SE methods required to create correct,
verifiable software.
Conclusion:
• Cleanroom approach is a rigorous approach to
software engineering that has emphasis on:
• Formal specification.
• Mathematical verification of correctness of design.
• Certification of software reliability.
• Cleanroom approach is yet to become a common
practice in software development industry because
of emphasis on the above three points.
Resources
• Linger, R. and Trammel, C. (1996). Cleanroom.
• Software Engineering Reference Model Version 1.0.
• http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr022.
• 96.pdf
• Wolack, C. (2001). Taking The Art Out of Software
• Development – An In-Depth Review of Cleanroom.
• Software Engineering.
• http://www.scisstudyguides.addr.com/papers/cwdiss725paper
• 1.htm
• Pressmen and Associates (2000). Cleanroom.
• Engineering Resources.
• far@ucalgary.ca 83
• http://www.rspa.com/spi/cleanroom.html
Resources
• http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page
1.html UTA.
• http://www.dacs.dtic.mil/databases/url/key.php?keycode=64
DACS.
• http://www.criticaljunction.com/werbicki/SENG623/Group/SE
NG623W03_Cleanroom.pdf
Any Question ?
Thank you
for your
listening and viewing.

More Related Content

What's hot

Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10koolkampus
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)MuhammadTalha436
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)Er. Shiva K. Shrestha
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality ManagementKrishna Sujeer
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activitesGolu Gupta
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Multimedia development process
Multimedia development processMultimedia development process
Multimedia development processhrishharish
 
Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringFaizanAhmad340414
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 

What's hot (20)

Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10Architectural Design in Software Engineering SE10
Architectural Design in Software Engineering SE10
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Chapter 2 software process models
Chapter 2   software process modelsChapter 2   software process models
Chapter 2 software process models
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
Software process
Software processSoftware process
Software process
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
ATAM
ATAMATAM
ATAM
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activites
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Multimedia development process
Multimedia development processMultimedia development process
Multimedia development process
 
Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software Engineering
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 

Viewers also liked

Cleanroom clothing - Why, what and how?
Cleanroom clothing - Why, what and how?Cleanroom clothing - Why, what and how?
Cleanroom clothing - Why, what and how?Heidi Tuomi
 
Cost Comparison of Cleanroom Designs
Cost Comparison of Cleanroom DesignsCost Comparison of Cleanroom Designs
Cost Comparison of Cleanroom DesignsBrittany Berryman
 
Clean Room Opportunities
Clean Room OpportunitiesClean Room Opportunities
Clean Room OpportunitiesDIv CHAS
 
Cleanroom PODs with LifeAire Systems
Cleanroom PODs with LifeAire SystemsCleanroom PODs with LifeAire Systems
Cleanroom PODs with LifeAire SystemsBrittany Berryman
 
Trends of Modular Mobile Cleanroom Facilities
Trends of Modular Mobile Cleanroom FacilitiesTrends of Modular Mobile Cleanroom Facilities
Trends of Modular Mobile Cleanroom FacilitiesBrittany Berryman
 
Mold town presentation
Mold town presentationMold town presentation
Mold town presentationMark Chan
 
What is insert molding?
What is insert molding?What is insert molding?
What is insert molding?Dixien, LLC
 
Filters: The 4 Elements of Cleanroom Construction Part 1
Filters: The 4 Elements of Cleanroom Construction Part 1Filters: The 4 Elements of Cleanroom Construction Part 1
Filters: The 4 Elements of Cleanroom Construction Part 1AM Technical Solutions, Inc
 
Micro molding milling
Micro molding millingMicro molding milling
Micro molding millingMohit Ostwal
 
Classifications: The 4 Elements of Cleanroom Construction Part 3
Classifications: The 4 Elements of Cleanroom Construction Part 3Classifications: The 4 Elements of Cleanroom Construction Part 3
Classifications: The 4 Elements of Cleanroom Construction Part 3AM Technical Solutions, Inc
 
Challenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro MoldingChallenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro MoldingDesign World
 
pharmaceutical clean room
pharmaceutical clean room pharmaceutical clean room
pharmaceutical clean room Kiran Thakur
 
Cleanroom, Classification, Design and
Cleanroom, Classification, Design and Cleanroom, Classification, Design and
Cleanroom, Classification, Design and Ahmadreza Barazesh
 

Viewers also liked (14)

Cleanroom clothing - Why, what and how?
Cleanroom clothing - Why, what and how?Cleanroom clothing - Why, what and how?
Cleanroom clothing - Why, what and how?
 
Cost Comparison of Cleanroom Designs
Cost Comparison of Cleanroom DesignsCost Comparison of Cleanroom Designs
Cost Comparison of Cleanroom Designs
 
Clean Room Opportunities
Clean Room OpportunitiesClean Room Opportunities
Clean Room Opportunities
 
Cleanroom PODs with LifeAire Systems
Cleanroom PODs with LifeAire SystemsCleanroom PODs with LifeAire Systems
Cleanroom PODs with LifeAire Systems
 
Trends of Modular Mobile Cleanroom Facilities
Trends of Modular Mobile Cleanroom FacilitiesTrends of Modular Mobile Cleanroom Facilities
Trends of Modular Mobile Cleanroom Facilities
 
Mold town presentation
Mold town presentationMold town presentation
Mold town presentation
 
What is insert molding?
What is insert molding?What is insert molding?
What is insert molding?
 
Filters: The 4 Elements of Cleanroom Construction Part 1
Filters: The 4 Elements of Cleanroom Construction Part 1Filters: The 4 Elements of Cleanroom Construction Part 1
Filters: The 4 Elements of Cleanroom Construction Part 1
 
Micro molding milling
Micro molding millingMicro molding milling
Micro molding milling
 
Classifications: The 4 Elements of Cleanroom Construction Part 3
Classifications: The 4 Elements of Cleanroom Construction Part 3Classifications: The 4 Elements of Cleanroom Construction Part 3
Classifications: The 4 Elements of Cleanroom Construction Part 3
 
Challenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro MoldingChallenges & Emerging Solutions through Micro Molding
Challenges & Emerging Solutions through Micro Molding
 
Basic Cleanroom Protocol
Basic Cleanroom ProtocolBasic Cleanroom Protocol
Basic Cleanroom Protocol
 
pharmaceutical clean room
pharmaceutical clean room pharmaceutical clean room
pharmaceutical clean room
 
Cleanroom, Classification, Design and
Cleanroom, Classification, Design and Cleanroom, Classification, Design and
Cleanroom, Classification, Design and
 

Similar to Cleanroom montaser hamza iraq2016

Statistical test based model in software engineering
Statistical test based model in software engineeringStatistical test based model in software engineering
Statistical test based model in software engineeringyashpurohit2020
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3Azhar Shaik
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESSIvano Malavolta
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to qualityDhanashriAmbre
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v modelMinal Kashyap
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projectsDaniel Ionita
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Testing documents
Testing documentsTesting documents
Testing documentssuhasreddy1
 
Software Testing Future and Challenges
Software Testing Future and ChallengesSoftware Testing Future and Challenges
Software Testing Future and ChallengesBakr Salim
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process ModelsEducation Front
 

Similar to Cleanroom montaser hamza iraq2016 (20)

Statistical test based model in software engineering
Statistical test based model in software engineeringStatistical test based model in software engineering
Statistical test based model in software engineering
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
 
System models of sdlc- v model
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
Unit 1.pdf
Unit 1.pdfUnit 1.pdf
Unit 1.pdf
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
Cost estamition
Cost estamitionCost estamition
Cost estamition
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Gcs day1
Gcs day1Gcs day1
Gcs day1
 
Management (IP)
Management (IP)Management (IP)
Management (IP)
 
Software Testing Future and Challenges
Software Testing Future and ChallengesSoftware Testing Future and Challenges
Software Testing Future and Challenges
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
 

Recently uploaded

Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 

Recently uploaded (20)

Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 

Cleanroom montaser hamza iraq2016

  • 1.
  • 2. Question • Is it possible to build software without any bug in it? . Answer: Maybe, By using Cleanroom software development.
  • 3. Causes for Bugs in Programs • The main reasons for bugs in programs: * Design flaws. * Coding error. * Other (including human related error). human oriented (as he said dr.celal)
  • 4. Cleanroom Software Engineering CSE: History - 1983: Original idea of Cleanroom came from one of Dr. Harlan Mills’ published papers. - 1987: Proposed by Dr. Mills as a SE methodology. The name “Cleanroom” was borrowed from the electronics industry - 1988: Defense Advanced Research Projects Agency (DARPA) Software Technology for Adaptable Reliable Systems (STARS) focus on Cleanroom. - 1991-1992: Prototyping of Cleanroom Process Guide - 1992: A book of CSE published, foundation of CSE - 1992-1993: Army and Air Force Demonstration of Cleanroom Technology. - 1993-1994: Prototyping of Cleanroom tools - 1995: Commercialization of a Cleanroom Certification Tool -1995: Cleanroom and CMM (Capability Maturity Model) Consistency Review
  • 5. Cleanroom Software Engineering Cleanroom software engineering (CSE) is an engineering process for the development of high quality software with certified reliability with the emphasis on design with no defects and test based on software reliability engineering concepts. • CSE focuses on defect prevention instead of defect correction, and certification of reliability for the intended environment of use.
  • 6. Cleanroom Software Engineering • CSE yields software that is correct by mathematically sound design, and software that is certified by statistically valid testing. • CSE represents a paradigm shift from traditional, craft-based SE practices to rigorous, engineering- based practices.
  • 7. CSE: Characteristics Objective: Achieve zero defects with certified reliability. Focus: Defect prevention rather than defect correction. Process: Incremental (short) development cycles; long product life. Quality. Most suitable for critical applications. Increased Productivity. Reduces Costs.
  • 8. Comparison: Craft-Based SE Cleanroom SE Sequential or chaos development Incremental development Informal design Disciplined engineering specification and design Unknown reliability Measured reliability Individual development Peer reviewed engineering Individual unit testing Team correctness verification Informal load or coverage testing Statistical usage testing
  • 9. CSE: Processes • 1. Management process. • 2. Specification process. • 3. Development process. • 4. Certification process.
  • 10. CSE: Management Process • Project Planning Cleanroom engineering guide Software development plan (incremental) • Project Management Project record • Performance Improvement Performance improvement plan • Engineering Change Engineering change log
  • 11. CSE: Specification Process /1 • Requirements Analysis • Elicitation(deriving) and analysis of requirements • Define requirements for the software product • Obtain agreement with the customer on the requirements. • Function Specification • Base on the result of Requirements Analysis Specify the complete functional behavior of the software in all possible modes of use.
  • 12. CSE: Specification Process /2 • Usage Specification • Identify and classify software users, usage scenarios, and environments of use (operational modes). • Establish and analyze the probability distribution for software usage models. • Architecture Specification • Define the conceptual model, the structural organization, and the execution characteristics of the software. • Architecture definition is a multi-level activity that spans the life cycle.
  • 13. CSE: Specification Process /3 • Increment Planning • Allocate customer requirements defined in the Function Specification to a series of software increments that satisfy the Software Architecture, • Define schedule and resource allocations for increment development and certification • Obtain agreement with the customer on the increment plan
  • 15. CSE: Certification Process • Usage modeling and test planning • A usage model represents a possible usage scenario of the software • Usage model is based on usage specification and is used for testing • Statistical Testing and Certification • Testing is conducted in a formal statistical design under experimental control. • Management decisions on continuation of testing and certification of the software are based on statistical estimates of software quality.
  • 16. Cleanroom Strategy /1 • Requirement gathering (RG) • A detailed description of customer level requirements for each increment. • Box structure specification (BSS) • Functional specification using box structure to separate behavior, data and procedures. • Formal design (FD) Specifications (black boxes) are refined to become analogous to architectural (state boxes) and procedural (clear boxes) design.
  • 17. Cleanroom Strategy /2 • Correctness verification (CV) • A set of correctness verification activities on the design and moves later to code. First level verification is via application of a set of “correctness questions”. • Code generation, inspection & verification (CG &CI) The box structure transformed to a programming language. Walkthrough and code inspection techniques are used to ensure semantic conformance with the box structure.
  • 18. Cleanroom Strategy /3 • Statistical test planning (TP) • Planning the test based on operational modes, operational profiles and reliability. • Statistical use testing (SUT) • Creating test case, execute them and collecting error data. • Certification (C) • Conducting certification test rather than reliability growth to accept/reject developed software components (using reliability demonstration chart, etc).
  • 19. Box Structure /1 Box structures are used to move from an abstract specification to a detailed design providing implementation details.
  • 20. Box Structure /2 Black box Specifies the behavior of a system or a part of a system. The system responds to specific stimuli (events) by applying a set of transition rules that map the stimuli to response. (specifications ). State box Encapsulates state data and services (operations). Input to the state box and outputs are represented. (architectural designs). Clear box Transition function that are implied by the state box. It contains the procedural design of the state box. (component designs).
  • 21. Example • Automated Teller Machine (ATM) • Requirements: • The customer has a PIN number and access-card to use the ATM. • The customer can deposit, withdraw money from the account. • Transaction involves no bank employee.
  • 23. Example: Black Boxes • Black boxes • Card Processor • In: ValidCard(cardNum) • Out: showMessage(message) Boolean • Cash Dispenser • In: enoughCashInMachine(amount) dispenseCash(amount) • Out: showMessage(message) dispense(amount) Boolean • Transaction Manager • In: ValidCustomer(cardNum, pin) AmountLimit(amount) EnoughCashInAccount(amount) • Out: showMessage(message) Boolean
  • 26. CSE: Team • Specification team: • Responsible for developing and maintaining the system specification. • Development team: • Responsible for developing and verifying the software. • The software is not executed during this process. • Certification team: • Responsible for developing a set of statistical tests to exercise the software after development. • Use reliability growth models to assess reliability.
  • 27. CSE: Evaluation • Basic features of Cleanroom development that distinguishes it from other SE methodologies are: • Formal specification (Box structure). • Correctness verification. • Statistical certification test.
  • 28. Conclusion: • Key Characteristics of Cleanroom SE – Incremental Development Life Cycle. – Defect Prevention: Quality Assessment thru Statistical Testing. – Disciplined SE methods required to create correct, verifiable software.
  • 29. Conclusion: • Cleanroom approach is a rigorous approach to software engineering that has emphasis on: • Formal specification. • Mathematical verification of correctness of design. • Certification of software reliability. • Cleanroom approach is yet to become a common practice in software development industry because of emphasis on the above three points.
  • 30. Resources • Linger, R. and Trammel, C. (1996). Cleanroom. • Software Engineering Reference Model Version 1.0. • http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr022. • 96.pdf • Wolack, C. (2001). Taking The Art Out of Software • Development – An In-Depth Review of Cleanroom. • Software Engineering. • http://www.scisstudyguides.addr.com/papers/cwdiss725paper • 1.htm • Pressmen and Associates (2000). Cleanroom. • Engineering Resources. • far@ucalgary.ca 83 • http://www.rspa.com/spi/cleanroom.html
  • 31. Resources • http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page 1.html UTA. • http://www.dacs.dtic.mil/databases/url/key.php?keycode=64 DACS. • http://www.criticaljunction.com/werbicki/SENG623/Group/SE NG623W03_Cleanroom.pdf
  • 32. Any Question ? Thank you for your listening and viewing.