Smqa unit v


Published on

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Smqa unit v

  1. 1. Cleanroom Software Engineering Mr. M. E. Patil 1 S.S.B.T COET, Bambhori
  2. 2. The Cleanroom Process Model increment #1 Box Structure Formal Correctness Code Specification Design Verification Statistical Cerfification Inspection Requirements Use Gathering Testing Test Planning SystemEngineering increment #2 Box Structure Formal Correctness Code Specification Design Verification Statistical Cerfification Inspection Requirements Use Gathering Testing Test Planning increment #n Box Structure Formal Correctness Code Specification Design Verification Statistical Cerfification Inspection Requirements Use Gathering Testing Test Planning Mr. M. E. Patil 2 S.S.B.T COET, Bambhori
  3. 3. The Cleanroom Strategy-IIncrement Planning—adopts the incremental strategyRequirements Gathering—defines a description of customer levelrequirements (for each increment)Box Structure Specification—describes the functional specificationFormal Design—specifications (called “black boxes”) are iteratively refined(with an increment) to become analogous to architectural and proceduraldesigns (called “state boxes” and “clear boxes,” respectively).Correctness Verification—verification begins with the highest level boxstructure (specification) and moves toward design detail and code using aset of “correctness questions.” If these do not demonstrate that thespecification is correct, more formal (mathematical) methods forverification are used.Code Generation, Inspection and Verification—the box structurespecifications, represented in a specialized language, are transmitted intothe appropriate programming language. Mr. M. E. Patil 3 S.S.B.T COET, Bambhori
  4. 4. The Cleanroom Strategy-IIStatistical Test Planning—a suite of test cases that exercise of “probabilitydistribution” of usage are planned and designedStatistical Usage Testing—execute a series of tests derived from astatistical sample (the probability distribution noted above) of all possibleprogram executions by all users from a targeted populationCertification—once verification, inspection and usage testing have beencompleted (and all errors are corrected) the increment is certified as readyfor integration. Mr. M. E. Patil 4 S.S.B.T COET, Bambhori
  5. 5. Box Structure Specification CB1.1.1.1black box BB1.1.1 SB1.1.1 CB1.1.1.2 clear box BB1.1 BB1.1.2 CB1.1.1.3 BB1 BB1.1.3 BB1.2 state box BB1.n Mr. M. E. Patil 5 S.S.B.T COET, Bambhori
  6. 6. Box Structures State TS f:S* R R S black box, g R black box state box State T g12 S g11 cg1 R g13 clear box Mr. M. E. Patil 6 S.S.B.T COET, Bambhori
  7. 7. Design Refinement & Verification 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? Mr. M. E. Patil 7 S.S.B.T COET, Bambhori
  8. 8. 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 8 S.S.B.T COET, Bambhori
  9. 9. 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
  10. 10. Certification1. Usage scenarios must be created.2. A usage profile is specified.3. Test cases are generated from the profile.4. Tests are executed and failure data are recorded and analyzed.5. Reliability is computed and certified. Mr. M. E. Patil 10 S.S.B.T COET, Bambhori
  11. 11. Certification ModelsSampling model. Software testing executes m random test model.cases and is certified if no failures or a specified numbers offailures occur. The value of m is derived mathematically toensure that required reliability is achieved.Component model. A system composed of n components isto be certified. The component model enables the analyst todetermine the probability that component i will fail prior tocompletion.Certification model. The overall reliability of the system isprojected and certified. Mr. M. E. Patil 11 S.S.B.T COET, Bambhori
  12. 12. Reengineering Mr. M. E. Patil 12 S.S.B.T COET, Bambhori
  13. 13. 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 13 S.S.B.T COET, Bambhori
  14. 14. • 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 14 S.S.B.T COET, Bambhori
  15. 15. Business definition Refinement & InstantiationPrototyping Process identification Process Specification and Design Process Evaluation Mr. M. E. Patil 15 S.S.B.T COET, Bambhori
  16. 16. 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 16 S.S.B.T COET, Bambhori
  17. 17. Software Reengineering fo rw ard inventory eng ineering analysis data documentrestructuring restructuring reverse code engineering res truc tu ring Mr. M. E. Patil 17 S.S.B.T COET, Bambhori
  18. 18. 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 18 S.S.B.T COET, Bambhori
  19. 19. 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 19 S.S.B.T COET, Bambhori
  20. 20. Reverse Engineering dirty source code restructure code clean source code processing extract abstractions interface initial specification database refine & simplify final specification Mr. M. E. Patil 20 S.S.B.T COET, Bambhori
  21. 21. Forward Engineering1. The cost to maintain one line of source code may be 20 to 40times the cost of initial development of that line.2. Redesign of the software architecture (program and/or datastructure), using modern design concepts, can greatly facilitate futuremaintenance.3. Because a prototype of the software already exists, developmentproductivity should be much higher than average.4. The user now has experience with the software. Therefore, newrequirements and the direction of change can be ascertained withgreater ease.5. CASE tools for reengineering will automate some parts of the job.6. A complete software configuration (documents, programs anddata) will exist upon completion of preventive maintenance. Mr. M. E. Patil 21 S.S.B.T COET, Bambhori