smqa unit v

21
Cleanroom Software Engineering Mr. M. E. Patil S.S.B.T COET, Bambhori 1

Upload: manoj-patil

Post on 07-May-2015

472 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Smqa unit v

Cleanroom Software Engineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 1

Page 2: Smqa unit v

The Cleanroom Process Model

Mr. M. E. Patil S.S.B.T COET, Bambhori 2

RequirementsGathering

Box StructureSpecification

FormalDesign

CorrectnessVerification

CodeInspection Statistical

UseTesting

Cerfification

Test Planning

SystemEngineering

RequirementsGathering

Box StructureSpecification

FormalDesign

CorrectnessVerification

CodeInspection Statistical

UseTesting

Cerfification

Test Planning

RequirementsGathering

Box StructureSpecification

FormalDesign

CorrectnessVerification

CodeInspection Statistical

UseTesting

Cerfification

Test Planning

increment #1

increment #2

increment #n

Page 3: Smqa unit v

The Cleanroom Strategy-I

Mr. M. E. Patil S.S.B.T COET, Bambhori 3

Increment Planning—adopts the incremental strategy

Requirements Gathering—defines a description of customer level requirements (for each increment)

Box Structure Specification—describes the functional specification

Formal Design—specifications (called “black boxes”) are iteratively refined (with an increment) to become analogous to architectural and procedural designs (called “state boxes” and “clear boxes,” respectively).

Correctness Verification—verification begins with the highest level box structure (specification) and moves toward design detail and code using a set of “correctness questions.” If these do not demonstrate that the specification is correct, more formal (mathematical) methods for verification are used.

Code Generation, Inspection and Verification—the box structure specifications, represented in a specialized language, are transmitted into the appropriate programming language.

Page 4: Smqa unit v

The Cleanroom Strategy-II

Mr. M. E. Patil S.S.B.T COET, Bambhori 4

Statistical Test Planning—a suite of test cases that exercise of “probability distribution” of usage are planned and designed

Statistical Usage Testing—execute a series of tests derived from a statistical sample (the probability distribution noted above) of all possible program executions by all users from a targeted population

Certification—once verification, inspection and usage testing have been completed (and all errors are corrected) the increment is certified as ready for integration.

Page 5: Smqa unit v

Box Structure Specification

Mr. M. E. Patil S.S.B.T COET, Bambhori 5

BB1

BB1.1

BB1.2

BB1.n

BB1.1.1

BB1.1.2

BB1.1.3

SB1.1.1

CB1.1.1.1

CB1.1.1.2

CB1.1.1.3

black box

state box

clear box

Page 6: Smqa unit v

Box Structures

Mr. M. E. Patil S.S.B.T COET, Bambhori 6

f:S* RS R

black boxstate box

clear box

S Rblack box, g

StateT

S R

StateT

g11

g12

g13

cg1

Page 7: Smqa unit v

Design Refinement & Verification

Mr. M. E. Patil S.S.B.T COET, Bambhori 7

If a function f is expanded into a sequence g and h, the correctness condition for all input to f is:

• Does g followed by h do f?

When a function f is refined into a conditional (if-then-else), the correctness condition for all input to f is:

• Whenever condition <c> is true does g do f and whenever <c> is false, does h do f?

When function f is refined as a loop, the correctness conditions for all input to f is:

• Is termination guaranteed?

• Whenever <c> is true does g followed by f do f, and whenever <c> is false, does skipping the loop still do f?

Page 8: Smqa unit v

Advantages of Design Verification It reduces verification to a finite process. It lets cleanroom teams verify every line

of design and code. It results in a near zero defect level. It scales up. It produces better code than unit testing.

Mr. M. E. Patil S.S.B.T COET, Bambhori 8

Page 9: Smqa unit v

Cleanroom Testing statistical use testing

tests the actual usage of the program determine a “usage probability distribution”

analyze the specification to identify a set of stimuli

stimuli cause software to change behavior create usage scenarios assign probability of use to each stimuli test cases are generated for each stimuli

according to the usage probability distribution

Mr. M. E. Patil S.S.B.T COET, Bambhori 9

Page 10: Smqa unit v

Certification

Mr. M. E. Patil S.S.B.T COET, Bambhori 10

1.1. Usage scenarios must be created.Usage scenarios must be created.

2.2. A usage profile is specified.A usage profile is specified.

3.3. Test cases are generated from the profile.Test cases are generated from the profile.

4.4. Tests are executed and failure data are Tests are executed and failure data are recorded and analyzed.recorded and analyzed.

5.5. Reliability is computed and certified.Reliability is computed and certified.

Page 11: Smqa unit v

Certification Models

Mr. M. E. Patil S.S.B.T COET, Bambhori 11

Sampling modelSampling model.. Software testing executes m random test cases and is certified if no failures or a specified numbers of failures occur. The value of m is derived mathematically to ensure that required reliability is achieved.

Component model. Component model. A system composed of n components is to be certified. The component model enables the analyst to determine the probability that component i will fail prior to completion.

Certification model. Certification model. The overall reliability of the system is projected and certified.

Page 12: Smqa unit v

Reengineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 12

Page 13: Smqa unit v

Business Process

• A set of logically related tasks performed to archive a defined business outcome

• With in the business process people , equipments material resources and business procedures are combined to produce the specific result

Mr. M. E. Patil S.S.B.T COET, Bambhori 13

Page 14: Smqa unit v

• BPR is iterative process• Business process goals and the processes that

achive them must ne adapted tp a changing business environment

• There is no start and end of the BPR its is an evolutionary process

Mr. M. E. Patil S.S.B.T COET, Bambhori 14

Page 15: Smqa unit v

Mr. M. E. Patil S.S.B.T COET, Bambhori 15

Businessdefinition

Processidentification

ProcessEvaluation

ProcessSpecificationand Design

Prototyping

Refinement&

Instantiation

Page 16: Smqa unit v

BPR Principles

• Organize around outcomes, not tasks. • Have those who use the output of the process perform the

process.• Incorporate information processing work into the real work that

produces the raw information. • Treat geographically dispersed resources as though they were

centralized. • Link parallel activities instead of integrated their results. When

different • Put the decision point where the work is performed, and build

control into the process.• Capture data once, at its source.

Mr. M. E. Patil S.S.B.T COET, Bambhori 16

Page 17: Smqa unit v

Software Reengineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 17

inventoryanalysis

documentrestructuring

datarestructuring

reverseengineeringcode

restructuring

forwardeng ineering

Page 18: Smqa unit v

Inventory Analysis build a table that contains all applications establish a list of criteria, e.g.,

name of the application year it was originally created number of substantive changes made to it total effort applied to make these changes date of last substantive change effort applied to make the last change system(s) in which it resides applications to which it interfaces, ...

analyze and prioritize to select candidates for reengineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 18

Page 19: Smqa unit v

Restructuring

Document Restructuring options range from doing nothing to regeneration of

all documentation for critical system Reverse Engineering

the intent here is to achieve design recovery Code Restructuring

rebuild spaghetti bowl code Data Restructuring

data architecture

Mr. M. E. Patil S.S.B.T COET, Bambhori 19

Page 20: Smqa unit v

Reverse Engineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 20

dirty source code

restructurecode

extractabstractions

refine&

simplify

clean source code

initial specification

final specification

processing

interface

database

Page 21: Smqa unit v

Forward Engineering

Mr. M. E. Patil S.S.B.T COET, Bambhori 21

1. 1. The cost to maintain one line of source code may be 20 to 40 times the cost of initial development of that line.

2. Redesign of the software architecture (program and/or data structure), using modern design concepts, can greatly facilitate future maintenance.

3. Because a prototype of the software already exists, development productivity should be much higher than average.

4. The user now has experience with the software. Therefore, new requirements and the direction of change can be ascertained with greater ease.

5. CASE tools for reengineering will automate some parts of the job.

6. A complete software configuration (documents, programs and data) will exist upon completion of preventive maintenance.