2 BACKGROUND
The ISO 9126 standard (ISO/IEC, 2002) does not
define software quality incorporation; it simply
defines a model with the characteristics to be taken
into account when establishing quality requirements
for product evaluation. This standard outlines a
software quality model which includes internal and
external quality and quality of use. It specifies six
(6) characteristics for internal and external quality,
with subsequent divisions (or sub-characteristics),
which are the product of internal attributes and come
into play externally whenever the software is used as
a part of a computing system. The characteristics are
applicable to any type of software.
The ISO/IEC 9126 model organizes quality
attributes into six characteristics (Functionality,
Reliability, Usability, Efficiency, Maintainability,
and Portability). Each characteristic is, in turn,
subdivided into sub-characteristics that can be
measured through internal and external metrics. The
Quality of Use refers to the software’s capability to
allow users to attain specific goals effectively,
productively, securely and satisfactorily within a
particular context.
A metric of software quality refers to a
quantitative method and scale used to determine the
value of a particular quality characteristic in a
software product. According to ISO 9126 the
evaluation of software quality can be achieved
through internal and external metrics (ISO/IEC,
2002).
In this study we are particularly interested on
internal metrics which can be applied to a software
product without executing (to specifications or
source code) during the design or codification.
When a software product is developed the
intermediate product can be evaluated using internal
metrics to measure intrinsic properties.
In order to generate the internal metrics we used
the Goal Question Metric (GQM) approach (Basili,
1992) (sometimes called the GQM paradigm) which
supports a top-down approach to define the goals
behind measuring software processes and products,
and using these goals to decide precisely what to
measure (choosing metrics). It additionally supports
a bottom-up approach to interpreting data based on
the previously defined goals and questions.
In our case, the expected quality attributes, as
outlined by the ISO 9126 standard, were established
as goals, where the steps previously mentioned were
applied to each attribute. Due to space constraints
we have omitted the questions that emerged during
the research, focusing on the metrics generated
which are shown in the next section.
3 METRICS FOR EVALUATING
INTERNAL QUALITY OF
SOFTWARE
As previously stated, in this work we have
considered our previous findings about architectural
evaluation (Grimán et al., 2006). According to that
study an evaluation method include a quality model
to estimate the satisfaction of quality requirements.
Metrics can be used to compose a quality model and
evaluate software architecture. In this sense they
must assess architectural mechanisms (patterns and
styles) and models (composed by components,
relationships, and views). Grimán et al. (2006) also
established that ISO 9126 is a convenient framework
to organize the quality model needed in the
evaluation. This way, in this investigation the
organization of the proposed metrics followed the
ISO 9126 structure.
Based on this study we oriented the metrics
proposal towards the evaluation of: elements
(presence/absence, quantity), relationships
(presence/absence, type), views (consistency, layers,
and balance), models (consistency, layers, and
balance), and mechanisms (presence/absence of
architectural patterns or styles). These key
architectural aspects constituted the goal of our
assessment; the next step was proposing one or more
metrics to achieve each goal.
Respect to the metrics proposal, two other works
were considered as antecedents: (1) Ortega et al.
(2003), which, in turn, was inspired on ISO 9126
and proposed a seminal set of metrics to measure
mainly the external quality of the product, factoring
in efficiency and effectiveness for each one of the
characteristics. After analyzing, we found they
included 10 internal metrics (related to
Maintainability), which were generalized and
incorporated in our proposal; (2) Losavio and Levy
(2002) who proposed definitions and parameters to
measure and evaluate the quality characteristics and
sub-characteristics at the architectural level. Four
metrics proposed by (Losavio and Levy, 2002) were
incorporated in our proposal, they were related to
Functionality, Reliability and Portability.
As a result of this study we obtained a model of
117 internal metrics as follows: Functionality: 24,
Reliability: 30, Maintainability: 31, Efficiency: 15,
Portability: 4 and Usability: 13. We had also to
determine if all the sub-characteristics were
architectural in nature, as a result of this analysis we
were able to organize the 117 metrics into
characteristics and sub-characteristics.
These metrics were validated through the
application of different architectural evaluations
onto different case studies (Grimán et al., 2003;
A METRICS PROPOSAL TO EVALUATE SOFTWARE INTERNAL QUALITY WITH SCENARIOS
559