attributes, higher-level attributes may be called
quality factors, lower-level attributes called
quality attributes (IEEE 610). For example,
Usability is defined for various quality attributes
such as Learnability, Understandability,
Operability, etc.
Characteristic: This is a higher-level concept of
an approach. It may be, for example, the
software development process, models,
metamodels, languages, tools, transformations or
the quality assurance techniques.
Subcharacteristic: This is a lower-level concept
of an approach. For example, the Model-Driven
Engineering characteristic may have various
subcharacteristics such as, the Language
Definition, Transformations and Trace
Generation.
Metric: In the Quality Model, metrics should
indicate which quality attribute is affected by
subcharacteristics and also the degree to which it
is affected. For example, the evaluation may be
via measuring quantitatively by metrics or
subjective evaluation, inspections using
checklists or interviewing the users.
Therefore, a Quality Model contains a minimal
amount of characteristics and subcharacteristics
through which any kind of MDWE approach can
be evaluated. In order to define a Quality Model, it
contains association links between the
subcharacteristics and the quality attributes. These
association links represent the dependencies
between subcharacteristics and quality attributes.
They show quality attributes which are affected by
subcharacteristics or the areas of the methodology
that will be significantly affected if the approach is
changed. Association links may be based on
proven and real-world experience. The impact of
each subcharacteristic on quality attributes must be
demonstrated and the requirements determined by
real case study applications to a number of real
projects. Hence, a quality factor has various
quality attributes and a characteristic has various
subcharacteristics, as is shown in Figure 1.
4.1.1 Identifying Quality Factors
A set of quality factors based on current literature,
such as ISO/IEC 9126, IEEE and other standards
which are adapted to MDWE methodologies, has to
be identified, classified and hierarchical. The
Quality Factors of an approach include Usability,
Functionality, Reliability, Maintainability and
Portability. Each quality factor and attribute in ISO
9126 is described in relation with a software product
whereas in our study all quality factors and attributes
would be described in relation with approach
characteristics. In this work, Reliability is taken as
an example of the quality factor. In ISO 9126,
Reliability is a quality factor which is defined as:
The ability of the software product to perform its
required functions under stated conditions for a
specified period of time, or for a specified number of
operations. This definition could be adapted to
more closely fit our specific domain: “The ability of
a characteristic approach to perform its required
functions under stated conditions for a specified
period of time, or for a specified number of
operations” or in a general way could be described
as: “A set of attributes that bear on the capability of
a characteristic approach to maintain its level of
performance under stated conditions for a stated
period of time”.
4.1.2 Identifying Quality Attributes for each
Quality Factor
For each quality factor, a set of quality attributes
have to be identified. For example, quality attributes
related with Reliability are described in the same
way by adapting other definitions from ISO, IEEE,
other standards and work already published. Some
of these quality attributes may be described as:
Maturity: The capability of a characteristic
approach to avoid failure as a result of defects in
the approach.
Recoverability: The capability of a characteristic
approach to re-establish a specified level of
performance and recover a stated development
point affected in case of failure.
Fault Tolerance: The capability of a
characteristic approach to maintain a specified
level of performance in cases of faults (defects)
or of infringement of requirements.
Compactness: The state of being compact. A
characteristic approach is more compact if it is
getting closer to a specific domain.
4.1.3 Identifying Characteristics
In MDWE, models are refined progressively and
transformed into new models or code with tools.
Moreover, each methodology may define its
development process and/or techniques. The idea is
to characterize the whole MDWE process. The
quality of methodologies in turn depends on the
following Characteristics: The Model-Driven
Engineering, the knowledge of MDWE methodology
users, the web modelling, the customization
QuEF - An Environment for Quality Evaluation on Model-driven Web Engineering Approaches
139