- the usage of complexity reduction techniques
regarding the specification of quality
requirements;
- the usage of techniques to support close
collaboration between users and engineers
regarding the definition and prioritisation of
quality attributes.
The paper presents results regarding the
decomposition of software quality characteristics,
the determination of their relative importance by
using AHP-techniques, and the determination of the
contribution of particular engineering activities to
the implementation of software quality.
2 BACKGROUND
The International Standard Organization (ISO),
defines quality as ‘the totality of characteristics of an
entity that bear on its ability to satisfy stated and
implied needs’ (ISO/IEC 9126, 2001). ISO 9126
makes a dinstinction between internal and external
quality, and quality in use. Internal quality attributes
reflect e.g. the statical aspects of the software code
of an application. External quality characteristics are
determined by the dynamic aspects of a software
application, and 'quality in use' is determined by the
level to that a software application meets the
expectations of the user. Although ISO9126 offers
clear definitions of the quality characteristics and
attributes, it doesn't offer guidance to the process of
identification and prioritisation of quality
characteristics, and it doesn't support software
engineers in the process of implementing particular
quality attributes (Trienekens and Kusters, 1999). As
a consequence, currently a lot of subjectivity exist in
the way that quality is dealt with. Both the
specification and the implementation of quality into
the software applications are characterised by vague
and often ambiguous decisions of both domain
experts, information analysts and software
engineers.
3 LINKING QUALITY
SPECIFICATION TO QUALITY
IMPLEMENTATION: THE
APPROACH
Specification and implementation of software
quality cover complex decision processes because of
issues such as the high degree of subjectivity,
conflicting needs, weak structuredness of
requirements, etc. Decision processes with these
characteristics are being explored in a research area
called Multi Criteria Decision Analysis (MCDA)
(Roy, 1996). The objective of MCDA is to provide
practitioners with a rationale for the ordering and
rating (i.e. prioritisation) of different aspects of a
process or product by using different types of
criteria. At CAMS it has been concluded that
MCDA could offer support in the specification and
prioritisation of quality characteristics and attributes,
and also regarding the selection of appropriate
engineering activities to implement particular quality
attributes into a software-intensive system.
Analytical Hierarchy Process (AHP) makes use of a
set of techniques that offer support to reduce the
complexity of a problem, and to determine the
relative importances of particular aspects of a system
(Saaty, 2001). This set of techniques offer domain
experts and engineers the opportunity to clarify and
motivate their decisions in complex engineering
processes.
The first step in applying AHP in our case study is
the specification of quality characteristics (i.e. the
external quality) and quality attributes (i.e the
internal quality). Based on the ISO9126 standard on
software quality a hierarchical well-specified
structure of quality characteristics and attributes has
been developed
In the second step AHP is used to determine the
weights to specify the relative importances of the
various quality characteristics and attributes. AHP is
a hierarchical method of pairwise comparisons of
each quality (sub)-attribute against one another with
respect to a higher level quality characteristic or
attribute. Preferences among quality characteristics
and attributes are converted into numerical weights,
see for a clear report of an AHP application (Weil
and Apostolakis, 2001).
In the third step the engineering activities are being
determined that are needed to implement the
particular quality attributes into the software
application. For these engineering activities so-
called contribution functions are being determined.
A contribution function reflects the contribution of a
particular engineering activity to the implementation
of particular quality attributes.
In the fourth step, the performance index (PI) of
each quality (sub)-attribute is calculated which
expresses the relative contribution of a software
quality (sub)-attribute to the overall quality of a
software application. The following section presents
the application of the stepwise approach in a case
study.
ICSOFT 2007 - International Conference on Software and Data Technologies
118