140 likes | 302 Views
Quality and Metrics. One can't proceed from the informal to the formal by formal means. Alan J. Perlis. Software Quality. Flexibility Testability Portability Reusability Interoperability. Correctness Reliability Efficiency Integrity Usability Maintainability.
E N D
Quality and Metrics One can't proceed from the informal to the formal by formal means. Alan J. Perlis
Software Quality Flexibility Testability Portability Reusability Interoperability • Correctness • Reliability • Efficiency • Integrity • Usability • Maintainability 329-13
McCall’s Software Quality Factors Portability Reusability Interoperability Maintainability Flexibility Testability PRODUCT REVISION PRODUCT TRANSITION PRODUCT OPERATION Correctness Usability Efficiency Reliability Integrity 329-13
FURPS • Functionality • Usability • Reliability • Performance • Supportability ISO 9126 adds “Portability” 329-13
Which is more important, • Correctness • Functionality 329-13
Correctness • Does the system meet the documented requirements? • Functionality • Does the system meet the actual requirements of the users? • Are the written requirements the actual requirements of the users? 329-13
Metrics • Metrics for “correctness” • # tests for each requirements • # tests that pass • # outstanding bugs • Metrics for “functionality” • ratings on a survey • average time to complete task on a prototype 329-13
Metrics • Portability? • Reliability? • Supportability? • Flexibility? 329-13
Evaluating Quality Method for evaluating quality should be • Simple and computable • Empirically and intuitively persuasive • Repeatable (objective) • Programming language independent • Effective for high-quality feedback 329-13
Weighted Methods Per Class • Depth of Inheritance Tree • Number of Children • Coupling between Object Classes • Response for a Class • Lack of Cohesion in Methods 329-13
Metrics for Software Quality Flexibility Testability Portability Reusability Interoperability • Correctness • Reliability • Efficiency • Integrity • Usability • Maintainability 329-13
Feedback • Feedback is crucial, not necessarily numbers. • Design reviews, pair programming. If you don’t check to make sure that your software has a desired property, it doesn’t. 329-13
Taking measurements • Manually • counting stories completed • man-months • Automatically • lines of code • number of classes 329-13
Quality assurance plan • What are your goals for quality? • Define metrics • How will you tell whether you meet them? • Define process for taking measurements • What will you do if you don’t meet them? 329-13