• No results found

Clean Room SE

N/A
N/A
Protected

Academic year: 2020

Share "Clean Room SE"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Question

 Is it possible to build software without any bug in it?

.

(3)

Causes for Bugs in Programs

 The main reasons for bugs in programs: * Design flaws

* Coding error

* Other (including human related error)

(4)

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

(5)

Cleanroom Software Engineering

CSE

yields software that is correct by

(6)

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.

(7)

Comparison:

Craft-Based SE Cleanroom SE

Sequential 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

(8)
(9)

CSE: Management

Process

Project Planning

 Cleanroom engineering guide

 Software development plan (incremental)

Project Management

 Project record

Performance Improvement

 Performance improvement plan

Engineering Change

(10)

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

(11)

CSE: Specification Process

/2

Usage Specification

 Identify and classify software users, usage scenarios, and environments of use

(operational modes).

Architecture Specification

 Define the conceptual model, the

structural organization and the execution characteristics of the software.

(12)

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

(13)
(14)

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

(15)

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

(16)

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

(17)

Cleanroom Strategy /3

Statistical use testing (SUT)

Creating test case, execute them and collecting error

data.

Certification (C)

Conducting certification test to accept/reject developed software components (using

(18)

Box Structure /1

Box structures are used to move from an abstract specification to

(19)

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

Summarizes 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.

(20)

Example

Automated Teller Machine (

ATM

)

Requirements:

(21)
(22)

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)

(23)
(24)
(25)

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

(26)

CSE: Evaluation

 Basic features of Cleanroom development

that

distinguishes it from other SE methodologies

are:

 Formal specification (Box structure).  Correctness verification.

(27)

Conclusion:

 Key Characteristics of Cleanroom SE

 Incremental Development Life Cycle.  Defect Prevention: Quality Assessment

through Statistical Testing.

 Disciplined SE methods required to create

(28)

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

References

Related documents

• multiply and divide integers using one of two methods: the table method or the like/unlike method.. Integers – Multiplying and

2012 Leap of Sight, Galleri Olsson, Stockholm, Sweden 2011 Hide-outs, The Company, Los Angeles, CA 2010 Video Screenings , Inman Gallery, Houston, TX.. Sigrid Sandström,

Thus, the goal of the research is to define the effective ways of students’ foreign language communicative competence formation by means of reading and speaking activities within

Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in

The prevalence of scrotal calculi was 2.65%, and a minority of patients had other abnormalities, reflecting the generally benign etiology of these “pearls.” To date, no infor- mation

Interviewer note: If the student is or was taking courses in an entirely different field that is or was unrelated to their previous education and that previous education was

using a path through the down link. If we call the AS up- stream of the down link the failover AS, then Mechanism 1 ensures that the failover AS will have a failover path when the

Annual Administrative Costs of Investment Program: Amount Estimated Annual Fiduciary Fees for All Investment