
3 STAKEHOLDER’S
PREFERENCES ON COTS
FUNCTIONALITY
Stakeholders might try to find the best component
(or set of components) decomposing and weighting
the goals of the abstract specification S
C
, as it was
presented in the previous section. For example, a
reuse architect may be interested in identifying and
acquiring components promoting the value of reuse
and ensuring consistency of design across projects; a
certifier may be interested in setting component
specification standards and ensuring compliance and
consistency of components across different teams; or
a business process coordinator may be interested in
demonstrating the value of components with respect
to business processes (Allen and Frost, 2001).
Hence, functional requirements are affected by
different views that should be conciliated.
Generally speaking, goals can be decomposed to
calculate a preference value for each stakeholder.
The extended version of a Goal-Oriented
Requirements Analysis Method called AGORA,
(Kaiya et al., 2002), is a top-down approach for
refining and decomposing the needs of customers
into more concrete goals that should be achieved for
satisfying the customer’s needs.
An AGORA goal graph, is an attributed version
of AND-OR goal graphs, whose parts can be
described as follows:
• Attribute values are attached to nodes and
edges, in addition to structural characteristics of
the graph. There are two types of attributes:
o A preference matrix is attached to a
node, i.e. a goal, and stands for the
degree of preference or satisfiability of
the goal for each stakeholder; and
o A contribution value is attached to an
edge to express the degree of the
contribution of the goal to the
achievement of its connected parent
goal.
• Rationale can be attached to an attribute as well
as a node and an edge. It represents
decomposition decisions associated to goal
refinement and attribute value definition.
The procedure to construct an AGORA goal
graph involves:
• Establishing initial goals as customers’ needs.
• Decomposing and refining goals into sub-goals.
• Choosing and adopting the goals from the
alternatives of decomposed goals.
• Detecting and resolving conflicts on goals.
The stakeholders attach the value subjectively.
However, they can use some systematic techniques,
such as the AHP method (Saaty, 1990), to assign
more objective values.
The contribution values and preference matrices
help to choose suitable sub-goals. Basically, when a
sub-goal is connected to an edge having a high
contribution, it can be a candidate to be chosen as a
successor of his parent goal
Since a preference matrix includes the
preference degree for each stakeholder, we can
identify the conflicts among them by analysing the
variance on the diagonal elements of the matrix.
In the following subsection, we introduce an
extension of the AGORA graph to include some
necessary elements when evaluating COTS
components. Our approach explicitly considers some
characteristics of COTS components to balance
stakeholder’s preferences on functional goals.
3.1 AGORA Graphs in COTS
Selection
Initial goals are typically considered as the customer
needs and assigned to nodes of the graph. But when
incorporating COTS components, goals should be
balanced against COTS services. For example, using
the main concepts of goal-oriented requirements
engineering, the goal acquisition and specification
process (Alves, 2003; Alves and Finkelnstein, 2002)
includes the necessity of identify goals that help to
distinguish between products (called core goals)
from those that are provided by most available
products (called peripheral goals). Then, our
proposal extends the AGORA graph to include a
first categorisation of goals into core and peripheral.
A second categorisation is due to the traditional
separation of requirements into functional and non-
functional properties. This classification remains
relevant due to the different treatments given to the
properties when defining quality attributes and
measurements. In this work, only functional
suitability is considered. Then, we limit the scope of
this paper to analysing functional properties.
Initial goals, as considered in AGORA graphs, are
the needs of the customers that will be refined and
decomposed into sub-goals one after another. It is
possible to have more than one sub-goal of a parent
goal, and it is also possible to use two types of
decomposition corresponding to the logical
combination of the sub-goals – one is AND-
decomposition and the other is OR-decomposition.
Therefore, with the functional goals of the
component specified by mappings in S
C
, the next
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
118