Software quality1 Software quality factors How to describe and measure software quality
Software quality2 Quality in general Garvin’s five definitions of quality (1988) Transcendent –Quality is universally recognizable Product-based –Quality is a precise and measureable variable User-based –Quality is fitness for intended use Manufacturing-based –Quality is conformance to specifications Value-based –Quality is defined in terms of costs and prices.
Software quality3 The software life cycle The software life cycle describes the production, use, and maintenance of a piece of software. Different software has different life spans –Short life spans Prototypes made for an exhibition –Long life cycles Most administrative systems
Software quality4 Functional vs. non-functional requirements Examples: Hotel reservation Functional requirements –Reservations and cancellations –Meals and extra services –Billings Non-functional requirements –Max. time to do reservation < 2 min –Downtime < 1% –Run on Microsoft Windows + Mac –Easy to change DBMS
Software quality5 Software quality framework Software quality factor –Management-oriented view of produce quality Software quality criteria –Software-oriented attributes which provides quality Software quality metrics –Quantitative measures of those attributes –Figure 1. Software quality framework, page 959
Software quality6 Example quality factors Table 1. Example Quality Factors, page 959 Figure 2. Quality factors perspectives, page 960 Table 2. Definition of Software Quality Factors, page 961
Software quality7 Definitions of software quality factors Figure 4. Relationship of criteria to software quality factors, page 963 Table 4. Criteria Definitions for Software Quality Factors, page 965 Figure 5. Relationships between software quality factors, page 967
Software quality8 Grouping software quality factors Product operations –Will it work correctly now and in the future? Product revision –Can it be changed? Product transition –Can it be used in other contexts? –Figure 3. Allocation of software quality factors to life cycle activity, page 962
Software quality9 Metrics How to measure software quality? –We need some numbers! –Metrics are measurements of whether the criteria exists or not, and to what degree Example metrics –Checklists: Grading the software –Inspection guidelines –Quantitative measures –Table 5. Quality Metrics Summary, page
Software quality10 Practice How to do it? User quality goals Identify quality requirements. Depends on –Life cycle –Risk of use –Performance –Etc. –Figure 6. Quality factor specification process, page 968 –Table 6. Quality Factors Relates to System Characteristics, page 968 Traceability
Software quality11 References James McCall Quality Factors, page in –John J. Marcianiak (editor) Encyclopedia of Software Engineering, Volume 2, Wiley 1994 David A. Garvin Managing Quality, The Free Press 1988, page 40-46