cases where these goals must be resigned to match
product features (Alves and Filnkestain, 2002);
(Cooper and Chung, 2002).
As a possible improvement, the Six Sigma
approach has been suggested selecting packaged
software (Tayntor, 2002); however the evaluation
mainly relies on the information provided by demos
and additional documentation of the software. Then,
the lack of measures makes this process perfectible.
Along these lines, our approach based on Six-
Sigma precepts, focuses on fact-based decisions,
teamwork, and measurement as a way of driving the
identification and filtering process (Cechich and
Piattini, 2004a; Cechich and Piattini 2004b).
We refer to a component-based system as a
system that uses at least one component in
conjunction with other components, legacy systems,
and other pieces of software – including COTS
components – to satisfy user’s requirements. This
concept is introduced to emphasize the fact that the
output from the system satisfies the user’s
requirements by using the functionality supplied by
at least one COTS component. Particularly, we
consider functional suitability as the main aspect to
be measured; however, measures should be
expressed in such a way that calculation is possible
at early stages.
Our proposal aims at improving the filtering
process by performing three steps: (1) a
“commitment” step, which produces a committed
required specification of a component; (2) a “pre-
filtering” step, in which COTS candidates are pre-
selected according to their functional suitability; and
(3) a “filtering” step, in which architectural
semantics adaptability produces an indicator of
stability that serves as a basis for the final candidate
filtering. In this paper, we particularly address the
second step (“pre-filtering”), in which functional
suitability measures are calculated and analysed.
Metrics for COTS based systems are emerging
from the academic and industrial field (Martín-Albo
et al., 2003). However, many of these definitions do
not provide any guideline or context of use, which
makes metric’s usability dependable on subjective
applications. Measures are not isolated calculations
with different meanings; on the contrary, capability
of measures is strongly related to the process of
calculating and providing indicators based on the
measures. Our approach intends to define a filtering
process in which measures are included as a way of
providing more specific values for comparison. At
the same time, the process guides the calculation, so
ambiguity is decreased.
Among other relationships, resulting measures
are related to the artefact to be measured. In our
approach, the artefact is expressed as functionality
required by a particular application, and
functionality offered by COTS candidates. Generally
speaking, both cases are subject to analysing
information that is modelled and weighted by people
– composers or integrators on one side, and
component’s suppliers on the other. Different
interpretations, perceptions, and judgements are then
affected by the expressiveness of information.
Nevertheless, our comparisons are abstract-level
definitions, which allow us to customize the filtering
process by instantiating the calculation procedure
according to different contexts of use.
Since information needed to compute the
measures depends on how COTS suppliers
document COTS component’s functionality (Bertoa
et al., 2003), and how requirements are specified, in
this paper we illustrate how metrics might be
calculated by measuring functional suitability on
COTS candidates for an E-payment case study.
In section 2 we briefly introduce our compact
suite of measures (Cechich and Piattini, 2004c) that
should be used during the pre-filtering process.
Then, section 3 shows how measures might be
applied to our case and provides some discussion. A
final section addresses conclusions and topics for
further research.
2 MEASURING FUNCTIONAL
SUITABILITY
In the previous section, we have emphasized the fact
that a system should satisfy the user’s requirements
by using the functionality supplied by at least one
COTS component. Then, given a specification S
C
for
an abstract component type C, a candidate
component K to be a concrete instance of C must
conform to the interface and behaviour specified by
S
C
. Mappings in S
C
, which represent the different
required functionalities, are established between
input and output domains. We focus on
incompatibilities derived from functional differences
between the specification in terms of mappings of a
component K
i
(S
Ki
) and the specification in terms of
mappings of S
C
.
Our measures have been defined to detect
domain compatibility as well as functional
suitability. Let us briefly clarify this point: domain
compatibility measures show that there are some
candidate components able to provide some
functionality. However, we cannot be certain of the
amount of functionality that is actually provided –
matching input data does not certify that output data
match too. Therefore, even a component might be
full domain compatible, there is still another set of
measures to be applied in order to determine the
functional suitability.
ICEIS 2005 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
12