110 likes | 126 Views
Quality Assurance in Construction and Maintenance (Section 13.4 of Maintenance Text; Chapter 20 of Code Complete ). Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture. Today. Team progress report & show a test case Quality Issues – this (no quiz)
E N D
Quality Assurance inConstruction and Maintenance(Section 13.4 of Maintenance Text;Chapter 20 of Code Complete) Steve Chenoweth CSSE 375, Rose-Hulman Based on Don Bagert’s 2006 Lecture
Today • Team progress report & show a test case • Quality Issues – this (no quiz) • Tonight - Start HW3: Detailed Design. • Tomorrow – • Help on coding and testing - Bring your laptop • Defensive Programming and Debugging – Tori
Review:Goal-Question-Metric Method • One source of information: • http://wwwagse.informatik.uni-kl.de/pubs/repository/basili94b/encyclo.gqm.pdf. • A short example: • Goal: To maximize customer support satisfaction • Question: Are there are consistent problems with the software? • Metric: Number of problem reports generated per day → →
Outline • General Principle of Software Quality • Software Quality Assurance Factors • External Quality Characteristics • Internal Quality Characteristics • Some Software Quality Improvement Techniques
General Principle of Software Quality: Improving quality reduces development costs.
Quality Assurance Factors • External quality characteristics • Attributes that can be determined from use of the software product • Functional • Correctness/Reliability • Accuracy • Other (“Non-Functional”) • Efficiency • Integrity • Usability • Adaptability • Robustness
Quality Assurance Factors • Internal quality characteristics • Attributes determined from examination of the artifacts • Both Development and Maintenance Characteristics • Readability • Understandability • Reusability • Primarily a Development Characteristic • Testability • Primarily Maintenance Characteristics • Flexibility • Portability • Maintainability
McConnell’s caution on these – It depends on the project. You could argue, for example, that Efficiency often conflicts with all the rest of these.
How do these QA factors compare with Bass’s list1? Here are his six “Quality Attributes”: • Performance & capacity • Reliability & availability • Usability • Security • Modifiability, maintainability, & customizability • Testability 1From Software Architecture in Practice (2nd Edition), by Len Bass, et al, the book we use in CSSE 374 and 377.
Some Software Quality Improvement Techniques • Improved Process • Formal and Informal Reviews • Software Quality Metrics • Note that metrics relate to an improved process and reviews!
Exercise • You work for a company that develops commercial desktop software • Your team will be assigned an external quality attribute • Come up with a plan on how to measure and improve that attribute • Repeat for an internal quality attribute • 5 min per attribute!