8
CLEANROOM SOFTWARE ENGINEERING SYED SAQIB RAZA RIZVI

Cleanroom Software Engineering

Embed Size (px)

Citation preview

Page 1: Cleanroom Software Engineering

CLEANROOM SOFTWARE ENGINEERING

SYED SAQIB RAZA RIZVI

Page 2: Cleanroom Software Engineering

INTRODUCTION: CR Methodology

In classical software engineering QA or testing was just a phase of development

Quality was assured after the completion of Requirement Engineering, Modeling even coding phase

Result, a software full of bugs, errors, upset clients etc….. And huge financial loss

Quality software was demand of clients and it was necessary to survive in IT industry

Page 3: Cleanroom Software Engineering

INTRODUCTION: CR Methodology

CR provided an efficient solution to that problem

CR methodology is straight forward technique

Instead performing QA as a last phase of

development, Assure quality of each and every phase of software development, which lead to quality product

Page 4: Cleanroom Software Engineering

INTRODUCTION

CR is an approach that emphasis on developing quality software with the help of statistical and mathematical techniques

Cleanroom is also a formal methodology

Conventional software engineering (informal methods) + statistical QA techniques (formal methods) lead to high quality software engineering

Page 5: Cleanroom Software Engineering

INTRODUCTION: CR Methodology

Requirement Engineering

Modeling

Coding and Development

Testing

Quality Assurance

Page 6: Cleanroom Software Engineering

INTRODUCTION: CR Methodology

In short verifying the correctness of every phase before testing

But verification takes place with the help of statistical and mathematical techniques, which makes CR a formal method

CR is can also be said a statistical quality control technique because it emphasis on mathematical verification of each activity

Page 7: Cleanroom Software Engineering

INTRODUCTION: CR Methodology

A very trained and expert software engineer performs CR

Mistakes creates rework, Rework take time and increase project cost

Wouldn't it be nice if a technique reduces these mistakes(bugs)…..

CR is useful in that sense

Page 8: Cleanroom Software Engineering

Why CR is not widely adopted??

According to the experts CR is not very adoptable because of the following reasons:

1. CR methodology is too theoretical and too mathematical for use in real world software development

2. Advocates no unit or code testing but, instead replaces it with statistical quality control

3. Since much of the industry continues with low process maturity, software engineers are not ready to adopt this technique yet, Experts suggest CR as a future technique