Upload
pelagia-aradia
View
43
Download
0
Tags:
Embed Size (px)
DESCRIPTION
CLEANROOM: AN UPDATED VIEW. EE 599 Software V&V LCdr Rob Burch 6 May 98. Presentation Goals. Provide overview of Cleanroom, history and activities Demonstrate applicability to generic OO methodology Outline Cleanroom extensions to specific OO methods - Booch / Schlaer - Mellor*. - PowerPoint PPT Presentation
Citation preview
CLEANROOM: AN UPDATED VIEW
EE 599 Software V&V
LCdr Rob Burch
6 May 98
04/19/23 Cleanroom - updated 2
Presentation Goals
• Provide overview of Cleanroom, history and activities
• Demonstrate applicability to generic OO methodology
• Outline Cleanroom extensions to specific OO methods - Booch / Schlaer - Mellor*
04/19/23 Cleanroom - updated 3
Cleanroom Goal: Prevent software defects by use of
rigorous precise methods
04/19/23 Cleanroom - updated 4
Cleanroom is a SHIFT in practice from:
• craftsmanship peer reviewed engineering• sequential incremental development• informal design engineering specification and
design• unit testing team correctness verification• coverage testing statistical usage testing• unknown reliability measured reliability
04/19/23 Cleanroom - updated 5
ESSENTIALS• Manage Cleanroom Development• Understand the system environment• Write a cleanroom specification• Create an incremental development plan• Develop verifiable software designs• Verify correctness of designs• Carry out statistical quality certification
04/19/23 Cleanroom - updated 6
ESSENTIALS - Amplified
• Cleanroom Incremental Development• Cleanroom Specification• Cleanroom Design and Verification• Cleanroom Reliability Testing
04/19/23 Cleanroom - updated 7
IBM's Cleanroom Software Technology Center
IBM no longer provides Cleanroom SoftwareEngineering services.For more information on Cleanroom, please see our Cleanroom Software Engineering Web page or contactIBM by e-mail or phone:
[email protected]@us.ibm.com301-803-2763
IBM & Cleanroom
04/19/23 Cleanroom - updated 8
Cleanroom - a timeline• 1970s- 1980s: Origin of the Ideas
• 1987: Origin of the Name
• 1988: ARPA STARS focus on Cleanroom
• 1989: Research on Reuse and Reliability
• 1990: Research on Box Structures with Ada
• 1992: Prototyping of an evaluation Framework for Reusable Components
• 1991-1992: Prototyping of Cleanroom Process Guide
04/19/23 Cleanroom - updated 10
Cleanroom - a timeline: continued
• 1992 - ongoing: Army Demonstration of Cleanroom Technology
• 1993 - 1994: Prototyping of Tools• 1993 - ongoing Air Force Demonstration of
Cleanroom Technology• 1995 - Commercialization of Cleanroom
Certification• 1995: Cleanroom and CMM Consistency Review
04/19/23 Cleanroom - updated 12
Cleanroom - a timeline: updated
• 1996 Integrating Cleanroom with OO methods• 1997 Extensions to Cleanroom
– Booch
– Objectory
– Shlaer-Mellor
04/19/23 Cleanroom - updated 13
SET - Cleanroom
• Process Definition• Precise Software Specification• Rigorous, Structured Development• Indepnedent Testing• Prodcut Certification• Quantitative Management
04/19/23 Cleanroom - updated 15
Cleanroom & OO: Common Characteristics
• Lifecycle: Cleanroom incremental development and OO iterative development
• Usage: OO Use case and Cleanroom usage model• State machine: Cleanroom state box and OO state
transition diagram• Reuse: OO class and Cleanroom common service
04/19/23 Cleanroom - updated 16
Cleanroom & OO: Key differences
• Cleanroom decomposition vs. OO composition• Cleanroom formal methods vs. OO "cases" in
characterizing usage• OO inheritance hierarchy vs. Cleanroom usage
hierarchy• OO graphical vs. Cleanroom tabular
representation• Tool support
04/19/23 Cleanroom - updated 17
Booch extensions to Cleanroom
04/19/23 Cleanroom - updated 18
Booch extensions to Cleanroom
Booch Process Cleanroom Process1. Conceptualization
Executable Prototype Risk Assessment
1.1 Project Planning Software Development Plan:
Risk Analysis Plan
2.5 Increment Planning Increment Construction Plan
Vision of Project's Requirements Micro Process Work Products
1.1 Project Planning Software Development Plan:
Project Mission Plan
Cleanroom extension: Prepare an initial incremental development plan to embody theresults of Booch Risk Assessment.
04/19/23 Cleanroom - updated 19
Booch extensions to Cleanroom
Booch Process Cleanroom Process2. Analysis2.1 Domain AnalysisDomain Model
2.2 Scenario PlanningSystem Context DescriptionScenariosRevised Risk AssessmentMicro Process Work Products
2. Specification2.1 Requirements AnalysisSoftware Requirements
2.3 Usage SpecificationUsage Specification
2.2 Function SpecificationFunction Specification
Cleanroom extension: Prepare a black box function specification for the system.
04/19/23 Cleanroom - updated 20
Booch extensions to Cleanroom
Booch Process Cleanroom Process3. Design3.1 Architectural PlanningArchitecture DescriptionExecutable and Baselined ArchitectureMicro Process Work Products
2.4 Architecture SpecificationSoftware Architecture
Cleanroom extension: Prepare a state box specification for the system.
Cleanroom extension: Examine the state box for transaction closure.
Cleanroom extension: Ensure referential transparency by preparing a black boxspecification for each subsystem.
04/19/23 Cleanroom - updated 21
Booch extensions to Cleanroom
Booch Process Cleanroom Process3.2 Tactical DesignDescription of Common Tactical PoliciesMicro Process Work Products
2.4 Architecture SpecificationSoftware Architecture
3.3 Release PlanningRelease PlanRevised Risk Assessment
2.5 Increment PlanningI ncrement Construction Plan
Cleanroom extension: Update the incremental development plan (that was created as anaction plan for the initial Booch Risk Assessment) as the Booch Release Plan andRevised Risk Assessment.
Test CriteriaMicro Process Work Products
4.1 Usage Modeling and Test PlanningUsage Model(s)Increment Test Plan
Cleanroom extension: Develop a plan for statistical usage testing.
04/19/23 Cleanroom - updated 22
Booch extensions to Cleanroom
Booch Process Cleanroom Process4. Evolution4.1 Application of the MicroProcessExecutable ReleasesBehavioral PrototypesMicro Process Work ProductsSystem and User DocumentationQuality Assurance Results
4.2 Release Assessment and ChangeManagementMicro Process Work Products
3. Development3.1 Software ReengineeringReengineering PlanReengineered Software Specification
3.2 Increment DesignIncrement Design
3.3 Correctness VerificationIncrement Verification Report
4. Certification4.2 Statistical Testing and CertificationExecutable SystemStatistical Test CasesStatistical Testing ReportIncrement Certification Report
1. Management1.4 Engineering ChangeEngineering Change Log
Cleanroom extension:Certify the system using Cleanroom statistical certification.
04/19/23 Cleanroom - updated 23
Booch extensions to Cleanroom
Booch Process Cleanroom Process5. Maintenance (Regarded as a new increment. All
activities apply.)Micro Process Work Products:
Data Dictionary Key Abstraction Roles and
Responsibilities Specifications Object Diagrams State Transition Diagrams Interaction Diagrams
Key Abstraction RelationshipSpecifications
CRC Cards Module Diagrams Process Diagrams
Pseudocode Executable Software
Cleanroom extension: None.Rationale: None.
Schlaer-Mellor extensions to Cleanroom
04/19/23 Cleanroom - updated 25
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1. Analysis1.1 Partition the System into Domains1.1.1 Identify and Partition Domains of the Proposed SystemDomain Chart
1.1.2 Prepare Domain DescriptionDomain Description
1.1.3 Prepare Domain Bridge Descriptions and AssumptionsCross Domain Bridge DescriptionBridge Assumptions
1.1.4 Prepare Project MatrixProject Matrix
1.2 Analyze the Application Domain1.2.1 Build an Object Information ModelObject Information Model
2. Specification2.1 Requirements AnalysisSoftware Requirements
2.2 Function SpecificationFunction Specification
Cleanroom extension: Prepare a black box function specification for the system.
04/19/23 Cleanroom - updated 26
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1.2.2 Build the Object State ModelObject State Model
2.3 Usage SpecificationUsage Specification
4.1 Usage Modeling and Test PlanningUsage Model(s)
Cleanroom extension: Develop an Object State Model for the system and analyze it as aMarkov Chain usage model.
Cleanroom extension: Use the object state models as Markov usage models in certificationtesting of reusable components.
04/19/23 Cleanroom - updated 27
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1.2.3 Build the Process ModelProcess Model
2.4 Architecture SpecificationSoftware Architecture (state box portion)
Cleanroom extension: Prepare a top-level state box specification for the system.
Cleanroom extension: Examine the state box for transaction closure.
04/19/23 Cleanroom - updated 28
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1.2.4 Derive Models from the ThreeFundamental Models1.2.4.1 Derive Peer Subsystem LevelModelsSubsystem Relationship ModelSubsystem Communication ModelSubsystem Access Model
2.4 Architecture SpecificationSoftware Architecture (clear box portion)
Cleanroom extension: Prepare a top-level clear box design for the system.
Cleanroom extension: Ensure referential transparency by preparing a black boxspecification for each subsystem.
04/19/23 Cleanroom - updated 29
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process2.5 Increment PlanningIncrement Construction Plan
Cleanroom extension: Prepare an incremental development plan for subsystemdevelopment.
1.2.4.2 Derive Object Models thatDescribe Aspects of the SubsystemsObject Communication ModelEvent ListObject Access ModelState Process TableThread of Control Chart
3.2 Increment DesignIncrement Design
Cleanroom extension: Use the work products in SM 1.2.4.2 to prepare a state box andclear box for each subsystem.
Cleanroom extension: Ensure referential transparency in subsystem clear boxes, bydeveloping black box specifications for next-level subsystems (which may be atomicobjects).
Cleanroom extension: Continue the stepwise process of transaction specification (theblack box), state data definition (the state box), and procedural design (the clear box) foreach level of decomposition.
04/19/23 Cleanroom - updated 30
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1.3 Confirm the Analysis1.3.1 Static Confirmation1.3.2 Dynamic Simulation1.4 External Specification1.4.1 Define System BoundarySystem Boundary Statement
1.5 Extract Requirements from theService DomainsService Domain Requirements
1.6 Analyze Service DomainsInformation Model,State ModelProcess ModelDerived Models
3.3 Correctness VerificationIncrement Verification Report
Cleanroom extension: Use black box stimulus information as an input to Shlaer-Mellor Service Domain Analysis.
04/19/23 Cleanroom - updated 31
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process2. Design2.1 Specify the ArchitecturalDomainClass DiagramInheritance diagramDependency diagramClass structure chart
Cleanroom extension : Use the box structure hierarchy developed in the analysis phaseas the system architecture.
2.2 Build ArchitecturalComponentsMechanismsStructures
3. Implementation3.1 Translate the OOA ModelsPopulated task archetypesPopulated module archetypes
Cleanroom extension: Implement all clear boxes in the target language.
04/19/23 Cleanroom - updated 32
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process4. Certification4.1 Usage Modeling and Test PlanningUsage Model(s)Increment Test Plan
4.2 Statistical Testing and CertificationExecutable SystemStatistical Test CasesStatistical Testing ReportIncrement Certification Report
Cleanroom extension: Certify the system using Cleanroom statistical certification.
04/19/23 Cleanroom - updated 33
Schlaer-Mellor extensions to Cleanroom
Shlaer-Mellor Process Cleanroom Process1.3 Performance ImprovementPerformance Improvement Plan
Cleanroom extension: Review performance in each increment for lessons learned.
04/19/23 Cleanroom - updated 34
Conclusion• Cleanroom techniques are current• Cleanroom strength is in addressing combination of
management and technical concerns.• Cleanroom can be applied to OO Methods
• Most people who have studied the relationship between Cleanroom and object-orientation regard the two as complementary, each with strengths that can enhance the practice of the other.