2. Software Quality Assurance (SQA) 2
Outline
■ McCall’s Quality Model (1977)
■ Boehm’s Quality Model (1978)
■ FURPS/FURPS+
■ Dromey's Quality Model
■ ISO Models (ISO 9126)
■ Capability Maturity Model(s)
■ Six Sigma
3. Software Quality Assurance (SQA) 3
McCall’s Quality Model
■ Three major perspectives for defining
and identifying the quality of a
software product:
■ Product Revision (ability to undergo
changes),
■ Product Transition (adaptability to new
environments) and
■ Product Operations (its operation
characteristics).
4. Software Quality Assurance (SQA) 4
McCall’s Quality Model
■ The model details the three types of
quality characteristics in a hierarchy of
■ 11 Factors,
■ 23 Quality Criteria and
■ Metrics
5. McCall’s Quality Model (Cont.)
It distinguishes between two levels of quality attributes:
1. Quality Factors
The higher level quality attributes which can be accessed
directly are called quality factors.
These attributes are external attributes.
The attributes in this level are given more importance by the
users and managers.
2. Quality Criteria
The lower or second level quality attributes which can be
accessed either subjectively or objectively are called Quality
Criteria.
These attributes are internal attributes.
Each quality factor has many second level of quality
attributes or quality criteria.
Software Quality Assurance (SQA) 5
6. McCall’s Quality Model
It classifies all software requirements
into 11 software quality factors.
The 11 factors are organized into three
product quality factors
Product operation,
Product revision, and
Product transition factors.
Software Quality Assurance (SQA) 6
12. Software Quality Assurance (SQA) 12
Boehm’s Quality Model
■ Similar to the McCall Quality Model
■ Presents a hierarchical quality model
structured around
■ High-level characteristics,
■ Intermediate level characteristics,
■ Primitive characteristics
13. The Highest Level
1. As is utility
Extent to which, we can use software as-is.
2. Maintainability
Effort required to detect and fix an error
during maintenance.
3. Portability
Effort required to change software to fit in
a new environment
Software Quality Assurance (SQA) 13
14. Intermediate Level
Characteristic
Portability –
Effort required to change software to fit in a new
environment.
Reliability –
Extent to which software performs according to
requirements.
Efficiency –
Amount of hardware resources and code required to
execute a function.
Usability (Human Engineering) –
Extent of effort required to learn, operate and
understand functions of the software.
Software Quality Assurance (SQA) 14
15. Intermediate Level
Characteristic (cont.)
Testability –
Effort required to verify that software
performs its intended functions.
Understandability –
Effort required for a user to recognize
logical concept and its applicability.
Modifiability –
Effort required to modify a software during
maintenance phase.
Software Quality Assurance (SQA) 15
18. Boehm’s Model
Advantages :
It focuses and tries to satisfy the needs of the
user.
It focuses on software maintenance cost
effectiveness.
Disadvantages :
It doesn’t suggest, how to measure the quality
characteristics.
It is difficult to evaluate the quality of software
using the top-down approach
Software Quality Assurance (SQA) 18
19. Software Quality Assurance (SQA) 19
FURPS/FURPS+
■ Similar to the McCall’s and Boehm’s
Quality Models
■ Divides quality attributes into two
■ Functional (F)
■ Nonfunctional (URPS)
■ Proposed by Robert Grady
■ Extended by Rational Software, now IBM
Rational Software - into FURPS+
20. Software Quality Assurance (SQA) 20
FURPS/FURPS+
1. Functionality – which may include feature sets, capabilities
and security
2. Usability – which may include human factors, aesthetics,
consistency in the user interface, online and context sensitive help,
wizards and agents, user documentation, and training materials
3. Reliability - which may include frequency and severity of
failure, recoverability, predictability, accuracy, and mean time
between failure (MTBF)
4. Performance - imposes conditions on functional requirements
such as speed, efficiency, availability, accuracy, throughput,
response time, recovery time, and resource usage
5. Supportability - which may include testability, extensibility,
adaptability, maintainability, compatibility, configurability,
serviceability, installability, localizability (internationalization)
21. Software Quality Assurance (SQA) 21
Dromey's Quality Model
■ Geoff Dromey proposed a product
based quality model
■ Similar to the McCall’s, Boehm’s and
the FURPS(+) quality model,
■ The basic idea is: “quality evaluation
differs for each product”
23. Software Quality Assurance (SQA) 23
Dromey's Quality Model
■ Dromey's Quality Model is further structured
around a 5 step process:
1. Chose a set of high-level quality attributes
necessary for the evaluation.
2. List components/modules in your system.
3. Identify quality-carrying properties for the
components / modules (qualities of the
component that have the most impact on the
product properties from the list above).
4. Determine how each property effects the quality
attributes.
5. Evaluate the model and identify weaknesses.
24. Software Quality Assurance (SQA) 24
ISO 9126 Standard Quality Model
■ A deviation of McCall’s Factor-Criteria-
Metric Model
■ Established in 1993
■ Defines software quality as:
“The totality of features and characteristics of a
software product that bear on it ability to satisfy
stated or implied needs.”
25. Software Quality Assurance (SQA) 25
ISO 9126
■ Quality is decomposed into six factors:
1. Functionality
2. Reliability
3. Efficiency
4. Usability
5. Maintainability and
6. Portability