You are on page 1of 26

MOSHI CO-OPERATIVE UNIVERSITY

(MoCU)

CIT 307: Software Quality Assurance

Quality Software Models

BICT III
Learning objectives
Software quality concepts
Describe the McCall Quality Model
Describe the Boehm Quality Model
Describe Gilb Quality Model
Describe the Dromey’s Quality model
Describe the ISO 9000 certification
What is software quality?
In the context of software engineering, software quality refers
to two related but distinct notions that exist wherever quality
is defined in a commercial context:
The functional quality of the software reflects how well it
meets or fits a given design, based on functional requirements
or specifications.
The structural quality of software refers to how it
complies with non-functional requirements that support the
delivery of functional requirements, such as strength or
maintainability.
Measurement of quality
Quality, like beauty, is in the eye of the beholder
From the point of view of the measurement, it must have a
precise definition in terms of software attributes that are of
interest to the user
In general, these are external attributes, however,
many proposals measure and analyze internal
attributes because they consider them as predictors of
external ones
The internal attributes have two advantages:
• They are available for earlier measurement
• They are easier to measure
Initial models of quality
From the beginning of software engineering, it was
observed that the quality is composed of a
composition of many characteristics
A quality model then describes these characteristics
and their relationships
Many models make diffuse the distinction between
internal and external attributes, which makes the
understanding of the concept of quality difficult
McCall Quality Model (1977)
Also called as General Electrics Model.
This model was the first to be presented in 1977, and
originated/ motivated by US Air Force and Department
of Defense(DoD) to bridge the gap between users and
developers.
Focuses on the final product, identifying key attributes
from the user's point of view.
These attributes are called quality factors and are
usually external attributes, but some internal
attributes are also included.
McCall Quality Model (1977) Cont..
The quality factors are too abstract to be measured
directly, so for each of them low level attributes called
quality criteria are introduced
Some quality criteria are internal attributes, reflecting
McCall's belief that the internal attribute has a direct
effect on the corresponding external attribute
One more level of decomposition is necessary,
mapping each quality criterion into a set of quality
metrics that are attributes (both of the product and
the process) of very low level, directly measurable
McCall Quality Model (1977) Cont..
McCall proposes three perspectives to group quality
factors
Product revision
Product transition
Product operation
McCall Quality Model (1977) Cont..
The Product revision includes the following quality
factors:
■ Maintainability Maintainability includes the following
■ Flexibility criteria:
■ Consistency
■ Testability ■ Simplicity
■ Thoroughness
■ Self Description
■ Modularity
McCall Quality Model (1977) Cont..
Maintainability is strongly influenced by the use of
good practices throughout the development cycle
Follow a well-defined methodology
Use good design techniques, both procedures and
data, to increase cohesion and reduce coupling
Observe the internal documentation
Use good programming practices: significant names,
readable code, etc.
McCall Quality Model (1977) Cont..
According to McCall, the flexibility factor includes the
following criteria:
Expansibility
Generality
Self Description
Modularity
McCall Quality Model (1977) Cont..
According to McCall, the factor of testability includes
the following criteria:
■ Simplicity
■ Instrumentation
Boehm Quality Model (1978)
The second best known quality model
This model introduces high level characteristics,
intermediate level characteristics and primitive
characteristics, each of which contributes to the
overall level of quality
Boehm Quality Model (1978) Cont.…
High-level characteristics represent general
requirements for use
Utility the extend to which the software can be used (easy
of use, reliability and efficiency)
Maintainability Easy of identifying what needs to be
changed as well as easy of modification and retesting
Portability easy of changing software to accommodate a
new environment
Boehm Quality Model (1978) Cont.…
The intermediate level characteristics represent the
quality factors of Boehm:
Portability (general utility)
Reliability (utility per-se)
Efficiency (utility per-se)
Usability (utility per-se)
Testability (maintainability)
Ease of understanding (maintainability)
Modifiability or flexibility (maintainability)
Boehm Quality Model (1978) Cont.…
The lowest level corresponds to characteristics directly
associated with one or two quality metrics
Portability
Reliability
Efficiency
Usability
Testability
Gilb Quality Model (1988)
This model presents as a fundamental aspect the
definition of the quality attributes that really interest
the user and the level of quality that each of them
must have to satisfy it since it does not make sense to
demand quality in a product, if it does not have this
basis.
Each attribute has sub attributes that help the
measurement
Gilb Quality Model (1988)
Advantage
This model evaluates independently
Like other processes, it uses levels of hierarchies to
delegate work
Disadvantages
Many factors that cause more work in time and costs are
evaluated
The 8 Dimensions of Garvin's Quality
Performance
Features (Additional Functions)
Reliability
Design Conformity
Durability
Quality of service
Artistic
Perceived quality
Dromey’s Quality model(1995):
Dromey has built a quality evaluation framework that
analyzes the quality of software components through
the measurement of tangible quality properties
Each artifact produced in the software life-cycle can
be associated with a quality evaluation model.
Dromey gives the following examples of what he means by
software components for each of the different models:
• Variables, functions, statements, etc. can be considered
components of the Implementation model;
Dromey’s Classification of components
Correctness : Evaluates if some basic principles are
violated.
Internal : Measure how well a component has been
deployed according to its intended use
Contextual : Deals with the external influences by
and on the use of a component.
Descriptive : Measure the descriptiveness of a
component (for example, does it have a meaningful
name.)
Dromey’s model cont……….
Dromey is focusing on the relationship between the
quality attributes and the sub-attributes, as well as
attempting to connect software product properties
with software quality attributes.
Dromey’s Quality Model is further structured around a
5 step process
Dromey’s 5 step process
1) Choose 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.
ISO 9000 certification
ISO (International Standards Organization) is a consortium of
63 countries established to formulate and foster
standardization
ISO published its 9000 series of standard in 1987
The ISO 9000 standard specifies the guidelines for
manufacturing a quality system
The ISO standard mainly addresses operational and
organizational aspects such as responsibilities reporting etc
ISO specifies a set of guidelines for repeatable and high
quality product development
ISO 9000 certification cont.…
The types of industries to which the different ISO standard
apply are as follows:
ISO 9001 applies to the organization engaged in design,
development, production and servicing of goods.
This standard applicable to most software development
organization
ISO 9002 applies to those organization which do not design
products but are only involved in production example steel
and car manufacturing
ISO 9003 applies to organization that are involved only in
installation and testing of the products
Silent features of ISO 9001
All document concerned with development of a software
product should be properly managed , authorized and
controlled . This requires a configuration management system
to be in place.
Proper plans should be prepared and then the progress
against these plans should be monitored
Important documents should be independently checked and
reviewed for effectiveness and correctness
The product should be tested against specification
Several organization aspects should be addressed eg
management reporting of the quality team

You might also like