You are on page 1of 20

Software Quality Models

Dr. Aprna Tripathi


Topics Covered
Questions:
• ISO 9126
• Overview of McCall's quality Model
Modeling Quality
• Several models have been built to understand
and measure quality
• Old Models
– McCall’s model
– ISO 9126
• New model
– Dromey’s model
McCall's Model
• Defines product qualities as hierarchy of
factors, criteria and metrics:
– Quality factor represents behavior characteristic of
the system
– Quality criterion is an attribute of a quality factor
that is related to software production and design
– Quality metric is a measure that captures some
aspect of a quality criterion.
McCall's quality Model…

• The metrics have to be answered with ‘yes’ or


‘no’ answer

• The final quality is assessed by dividing the


‘yes’ answers by the total number of questions
chosen to describe the quality
McCall’s Model…
ISO 9126
• Six characteristics, completely hierarchical
• Quality charactertistics are divided into sub-
characteristics which can be measured using
metrics
• Recommends measuring the char-acteristics
directly, but does not indicate clearly how to
do it
Quality Definition
Characteristic
Functionality A set of attributes that bear on the existence
of a set of functions and their specified
propertise. The functions are those that
satisfy stated or implied needs.
Reliability A set of attributes that bear on the capability
of software to maintain its performance level
under stated conditions for a stated period of
time.
Usability A set of attributes that bear on the effort
needed for use and on the individual
assessment of such use by a stated or implied
set of users.
A set of attributes that bear on the relationship
between the software’s performance and the
Efficiency amount of resources used under stated conditions.

Maintainability A set of attributes that bear on the effect needed


to make specified modifications (which may include
correction, improvements, or adaptations of
software to environmental changes and changes in
the requirements and functional specifications).

Portability A set of attributes that bear on the ability of


software to be transferred from one environment
to another (this includes the organizational,
hardware or software environment).
ISO 9126…
Suitability
Accurecy
Functionality Interoperability
Secuity

Maturity
Reliebility Fault Tolerance
Recoverability

Understandability
Usability Learnability
Operability

Characteristics Sub-characteristics
ISO 9126…
Time behavior
Effiency Resource behavior

Analyzability
Changeability
Maintainability Stability
Testability

Adaptability
Installability
Portability Conformance
Replaceability

Characteristics Sub-characteristics
Functionality
Suitability: This is the essential characteristic and
refers to the appropriateness (to
specification) of the functions of the
software.
Accurateness: The correctness of the functions, Ex: an ATM
may provide a cash dispensing function but is
the amount correct?
Interoperability: It concerns the ability of a software
component to interact with other components
or systems
Security: This sub-characteristic relates to unauthorized
access to the software functions.
Reliability
Maturity: It concerns frequency of failure of
the software.
Fault tolerance: The ability of software to withstand
(and recover) from component, or
environmental, failure.
Recoverability: Ability to bring back a failed system to
full operation, including data and
network connections.
Usability
Understandability: Determines the ease of which the
systems functions can be
understood, relates to user mental
models in Human Computer
Interaction methods.
Learnability: Learning effort for different users, i.e.
novice, expert, casual etc.
Operability: Ability of the software to be easily
operated by a given user in a given
environment.
Efficiency
Time behavior: Characterizes response times for a
given throughput, i.e. transaction
rate.
Resource behavior: Characterizes resources used, i.e.
memory, cpu, disk and network
usage.
Maintainability
Analyzability: Ability to identify the root cause of a
failure within the software.
Changeability: the amount of effort to change a system.
Stability: The sensitivity to change of a given system
that is the negative impact that may be
caused by system changes.
Testability: The effort needed to verify (test) a system
change.
Portability
Adaptability: Ability of the system to change to new
specifications or operating environments.
Installability: Characterizes the effort required to install the
software.
Conformance: Similar to compliance for functionality, but this
characteristic relates to portability. Ex: Open
SQL conformance which relates to portability of
database used.
Replaceability: Characterizes the plug and play aspect of
software components, that is how easy is it to
exchange a given software component within
specified environment.
Main Differences between Mccall’s and ISO
9126 model

Mccall’s ISO 9126


• with different quality frame • work and terminology
• quality factor • quality characteristic
and subcharacteristics
• not hierarchical • completely hierarchical
Model Problems
• Lack rationale for determining which factor should be
included in the quality definition
• Lack rationale for deciding which criteria relate to a
particular factor
• The measure of metrics can be too subjective
• Does not describe how lower level metrics are
composed into an overall assessment of higher level
quality characteristics
Conclusion
• Quality is a complex concept; It means different
things to different people
• You must define aspects of quality in which you are
interested
• Quality should be defined in a measurable way, so
that it can be understood and verified
• Quality must be related to business goals

You might also like