SE&PM - Module 5 - Software Quality
SE&PM - Module 5 - Software Quality
Chapter -13
13.1 Introduction
we need to define the qualities required for a system. We need to judge the objectively whether
system meets the quality requirements and this needs to be measured.
McCall Model
Defines the following eleven attributes of the software.
Dromey’s model
Dromey’s hierarchical quality model is shown in fig 13.2. The model proposes four major high-
level properties of the software: Correctness, internal characteristics, contextual
characteristics and certain descriptive properties.
Boehm’s model
The quality of a software can be defined based on three high-level characteristics. These high-
level characteristics are:
• As-is utility – how well (easily, reliably and efficiently) can it be used?
• Maintainability – how easy it is to understand, modify and then retest the software?
• Portability – how difficult would it be to make the software in a changed environment?
Fig 13.3 shows the Boehm’s hierarchical quality model based on wider range of software
attributes with greater focus on maintainability.
13.6 ISO 9126
• ISO 9126 standard was introduced in 1991 to tackle the question of the definition of
software quality.
• The documents are very lengthy and has separate documents to cater for these three
sets of needs.
• Acquirers – who are obtaining software from external suppliers.
• Developers – who are building a software product.
• Independent evaluators – who are assessing the quality of software product, not for
themselves but for a community of users.
• ISO 9126 identifies six major external quality characteristics:
• Functionality – which covers the functions that a software product provides to satisfy
user needs.
• Reliability – which relates to the capability of the software to maintain its level of
performance.
• Usability - which relates to the effort needed to use the software.
• Efficiency – which relates to the physical resources used when software is executed.
• Maintainability – which relates to effort needed to make changes to the software.
• Portability – which relates to the ability of the software to be transferred to a different
environment.
ISO 9126 also suggests sub-characteristics for each of the above primary characteristics.
Functionality:
• Interoperability – refers to the ability of the software to interact with other systems.
Reliability:
• Analyzability – is the ease with which the cause of failure can be determined.
• Stability – refers to low risk of a modification to the software having unexpected effects.
Portability:
• Replaceability – refers to the factors that give upwards compatibility between old software
components and the new ones.
• Coexistence – refers to the ability of the software to share resources with other software
components.
Map measurements onto ratings that reflect user satisfaction:
• According to ISO9126, measurements that act as indicators of the final quality of the
software can be used at different stages of software development life cycle.