By: David Golke.  Introduction  Architecture Specification ◦ Requirements Analysis ◦ Function Specification ◦ Usage Specification ◦ Increment Planning.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Advertisements

Kai H. Chang COMP 6710 Course NotesSlide ES- 1 Auburn University Computer Science and Software Engineering Course Notes : Examining the Specification Computer.
Cleanroom Software Engineering A unique approach to software development.
CLEANROOM SOFTWARE ENGINEERING
Lecture 12 Reengineering Computer-aided Software Engineering Cleanroom Software Engineering.
Cleanroom Engineering and the B-Method: A Comparison Drew Connelly.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Software Testing and Quality Assurance
Delivered System Documentation u One of the most important things that can be done to make a system maintainable is to create the best, most complete,
Cleanroom Method CS 415, Software Engineering II Mark Ardis, Rose-Hulman Institute March 20, 2003.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
06/12/2007SE _6_12_Design.ppt1 Design Phase Outputs: Completed & Inspected SDS & Integration Test Plan Completed & Inspected System Test Plan.
1 Security Architecture and Analysis Software Inspections and Verification Software Testing and Certification.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
COMP 6710 Course NotesSlide 4-0 Auburn University Computer Science and Software Engineering Course Notes Set 4: Cleanroom Software Engineering Computer.
Special Software Development Paradigms Today: HW #5 Next Class: Pressman 17; Demos? Questions? / Team Status Reports / HW#4 Object-Oriented Paradigm Bio.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Andy Moyer. Cleanroom Software Engineering  What is it?  Goals  Properties of Cleanroom  Cleanroom Technologies  Case Studies  Critiques.
Casey Ehlers April 28 th, Outline of Presentation 1. Background and History of Cleanroom 2. Who Uses Cleanroom Software Development? 3. Basics of.
Cleanroom Software Engineering Crystal Donald. Origins Developed by Dr. Harlan Mills in 1987 Developed by Dr. Harlan Mills in 1987 Name derived from hardware.
Software Integration and Documenting
Terms: Test (Case) vs. Test Suite
CLEANROOM SOFTWARE ENGINEERING By Alan Spangler Presented By : Vamshi Krishna Merugu.
CompSci 230 Software Design and Construction
CLEANROOM SOFTWARE ENGINEERING.
The Rational Unified Process
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Understand Application Lifecycle Management
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Teaching material for a course in Software Project Management & Software Engineering – part II.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
System Development Life Cycle. The Cycle When creating software, hardware, or any kind of product you will go through several stages, we define these.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Software Testing and Quality Assurance Software Quality Assurance 1.
CLEAN ROOM SOFTWARE ENGINEERING CSC-532
Cleanroom Software Engineering Getting it right the first time.
The Cleanroom Approach to Quality Software Development
Anton Krbaťa Ján Budáč  Verification: "Are we building the product right ?„  Validation: "Are we building the right product ?"
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1 Chapter 26 Cleanroom Software Engineering Cleanroom Developed in early 80’s by Harlan Mills Reported very good results –reliable, high-quality.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Herriman High Computer Programming 1A Software Development Cycle Things to Know.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
1 Advanced Computer Programming Project Management: Basics Copyright © Texas Education Agency, 2013.
COMP 6710 Course NotesSlide 4-0 Auburn University Computer Science and Software Engineering Course Notes Set 4: Cleanroom Software Engineering Computer.
Cleanroom Software Engineering
Introduction to Testing Design Strategies – The Smarter Tester
Maintaining Quality Test Optimization with Increasing Software Complexity Ankit Goyal Software Engineer II Adobe Systems.
Chapter 9: Class Tournament
Chapter 2 – Software Processes
Chapter 28 Formal Modeling and Verification
Chapter 10: Test Tournament
Cleanroom Software Engineering
Presentation transcript:

By: David Golke

 Introduction  Architecture Specification ◦ Requirements Analysis ◦ Function Specification ◦ Usage Specification ◦ Increment Planning

 Architecture Specification ◦ Software Reengineering, Increment Design, Correctness Verification ◦ Usage Modeling and Test Planning ◦ Statistical Testing and Certification  Examples Projects  Conclusion  Questions?

 Harlan Mills and colleagues from IBM  Where does the name come from?  Defect prevention  Quality Control

 Figure out what the customer wants  As usual, subject to change  We need requirements laid out in a way for future defect prevention

 Break down requirements (easily verifiable)  Tagging  Used in later steps ◦ With Box Structure Method ◦ For Function and Usage Specification ◦ For Increment Planning

 Tagging

 Both come directly after Requirements Analysis  How the system will function  How the users will interact with the system ◦ Who are users ◦ Different environments ◦ Usage scenarios

 Box Structure Development Method ◦ Black box ◦ State box ◦ Clear box  Differ from ◦ Black box ◦ Grey box ◦ White box

 Stimuli  Response  Keep track of all previous input/stimuli  Also subject to change throughout the project  Product: “Function Specification Document”

 Created from tagged requirements and Function Specification ◦ Aren’t these concurrent?  Used to make sure Function Specification is complete and accurate.

 Uses ◦ How much testing needs to be done ◦ Analyzing probabilities of failures ◦ How many resources are needed ◦ Along with Function Specification will later be used to determine probabilities of failure.

 Released in pieces  Must plan how “pieces” are released  “Increment Construction Plan” ◦ Subject to change  Once again uses previously produced documents to produce this document

 Subject to change (as always)  Uses of increments ◦ Identify failures ◦ form final product  Increments are made from previously discussed box structures

 Reusing old code ◦ Must meet cleanroom requirements  Was it developed using cleanroom?  Must get it certified  How much will this cost?  Figure out functionality ◦ create new reengineered software to our needs

 Follow through of the plan from Increment Specification  Use plan to produce design and code  Use Increment Construction Plan to do this

 Must be correct  Mathematical verification  Statistical testing

 Used together with Test Planning  Usage model ◦ Set up every possible way the program can be used ◦ Reason for input/stimuli/usage history ◦ Determine all possible “usages”

 Uses usage model  Must be able to produce statistics  This along with Usage Modeling will be used later for testing and certification

 Depends on previous correctness  Final step  Certification may be different in different cases/projects  Makes use of documents created in previous steps

 Unique software practice  Build off of previous steps  Must maintain correctness throughout steps  Probably only used when the system cannot afford failures/defects

 Prowell, Stacy J., Carmen J. Trammell, Richard C. Linger, and Jesse H. Poore. Cleanroom Software Engineering: Technology and Process. Reading, MA: Addison-Wesley, Print.  Becker, Shirley A., and James A. Whittaker. Cleanroom Software Engineering Practices. Harrisburg, PA: Idea Group Pub., Print.  Mills, Harlan D.; Dyer, M.; and Linger, R. C., "Cleanroom Software Engineering" (1987). The Harlan D. Mills Collection.  R. C. Linger "Cleanroom Software Engineering for Zero-Defect Software", Proc., 15th Int. Conf. on Software Eng., pp from f f  Garbett, S. P. (2003). Cleanroom software engineering. Dr.Dobb's Journal, 28(8), Retrieved from software-engineering/ software-engineering/