160 likes | 519 Views
Chapter 26 Quality Management. 26.1 Quality Concepts. Quality of design: requirements, specifications, and the design of the system Quality of conformance: implementation User Satisfaction = compliant product + good quality
E N D
26.1 Quality Concepts • Quality of design: requirements, specifications, and the design of the system • Quality of conformance: implementation • User Satisfaction = compliant product + good quality + delivery within budget and schedule Definition: Software Quality Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. 1/13
26.1 Quality Concepts • Cost of Quality • Prevention costs quality planning, formal technical reviews, test equipment, training… • Appraisal costs process inspection, equipment calibration and maintenance, testing… • Failure costs • Internal failure costs: rework, repair, failure mode analysis before shipment • External failure costs: complaint resolution, product return and replacement, help line support, warranty work… 2/13
26.2 Software Quality Assurance • SQA Activities • Prepares an SQA plan for a project, The plan identifies • evaluations to be performed • audits and reviews to be performed • standards that are applicable to the project • procedures for error reporting and tracking • documents to be produced by the SQA group • amount of feedback provided to the software project team • Participates in the development of the project’s software process description 3/13
26.2 Software Quality Assurance • SQA Activities (continued) • Reviews software engineering activities to verify compliance with the defined software process • Audits designated software work products to verify compliance with those defined as part of the software process • Ensures that deviations in software work and work products are documented and handled according to a documented procedure • Records any noncompliance and reports to senior management 4/13
Errors from previous step Defects Detection Errors passed to next step Errors passed through Percent efficiency for errors detection Amplified errors 1 : x Newly generated errors 26.3 Software Reviews • Defect Amplification Model • Assume that an error uncovered during design will cost 1.0 monetary unit to correct. Relative to this cost, the same error uncovered just before testing commences will cost 6.5 units; during testing, 15 units; and after release, between 60 and 100 units. • A number of studies indicate that design activities introduce between 50% - 65% of all errors during the software process. However, formal review technique have been shown to be up to 75% effective in uncovering design flaws. 5/13
Preliminary design Detail design Code/unit test 0 0% 10 6 6 0% 37 10 10 20% 0 4 4*1.5 27 27*3 10 93 25 25 Integration test Validation test System test 93 50% 47 50% 24 50% 0 12 0 0 0 0 0 26.3 Software Reviews Example: Defect Amplification - No Reviews Total cost = (10+27*3+25)*20%*6.5 + (93+47+24)*50%*15 + 12*67 = 2183.5 6/13
Preliminary design Detail design Code/unit test 0 70% 3 2 2 50% 15 5 5 60% 0 1 1*1.5 10 10*3 10 24 25 25 Integration test Validation test System test 24 50% 12 50% 6 50% 0 3 0 0 0 0 0 26.3 Software Reviews Example: Defect Amplification - With Reviews Total cost = (10*70%+28.5*50%)*1.0 + (5+10*3+25)*60%*6.5 + (24+12+6)*50%*15 + 3*67 = 771 7/13
26.4 Formal Technical Reviews • Objectives • To uncover errors • To verify that the software meets its requirements • To ensure that the software has been represented according to predefined standards • To achieve software in a uniform manner • To make project more manageable • Serves as a training ground 8/13
review leader standards bearer (SQA) producer maintenance oracle reviewer recorder user rep 26.4 Formal Technical Reviews Please read Section 26.4.3 for Review Guidelines 9/13
Product & Process measurement ... an understanding of how to improve quality ... 26.6 Statistical SQA • Collect information on all defects • Find the causes of the defects • Move to provide fixes for the process 10/13
# of defects / million occurrences 6 Sigma 3.4 5 Sigma 230 4 Sigma 6210 3 Sigma 66,800 2 Sigma 308,000 1 Sigma 690,000 26.6 Statistical SQA • Six-Sigma for Software Engineering (Motorola in 1980s) The term six sigma is derived from 6 (standard deviations), implying an extremely high quality standard. 11/13
26.6 Statistical SQA • The Six Sigma methodology defines three core steps: • Definecustomer requirements and deliverables and project goals via well-defined methods of customer communication • Measurethe existing process and its output to determine current quality performance (collect defect metrics) • Analyzedefect metrics and determine the vital few causes (80% of the defects can be traced to 20% of all possible causes). • Improvethe process by eliminating the root causes of defects. • Controlthe process to ensure that future work does not reintroduce the causes of defects. Or • Design the process to avoid the root causes of defects and to meet customer requirements. • Verify that the process model will, in fact, avoid defects and meet customer requirements. 12/13
Availability = (Shooman, 1983) where MTTF = Mean Time To Failure = MTTR = Mean Time To Repair = 26.7 Software Reliability Reliability = MTBF = MTTF + MTTR tu1 td1 tu2 td2 0 t Software safety focuses on the identification and assessment of potential hazards that may affect software negatively and cause an entire system to fail. 13/13