partition of elements into Link and NotLink. An
element of the type Link is a connector between two
elements, one being the Source and the other the
Target. Elements, which are not links, are referred to
as NotLink. An element is-a another element, might
inherit from another element.
Figure 1: The meta-model for gap typology.
3 REUSE-BASED MAPS
3.1 Styles of Requirements
In requirements specification, a requirements item
may express many types of information. This
information should be divided to analyze
requirements meaning and to reuse for next projects.
We classify requirements into four styles such as
data, functional, quality, and managerial
requirements (Lauesen, 2002).
Data requirements styles
are related to database
and input/output formats. The system has to store the
corresponding data in some kind of database or other
internal objects. Database data is independent of the
interface. However, input and output data appear on
the various interfaces. The data requirement should
in principle specify the detailed data formats for
each interface.
Functional requirements styles
are related to the
functions of system. The function may present how
it records, computes, transforms, and transmits data.
Traditionally, function means that for any given
input and any given system state, it will deliver
some output and set the system state to something
new. In practice, when we give the system a
command, the response may be some visible output,
some invisible change in database contents, and
other variables.
Quality requirement styles
are related to non-
functional requirements such as performance,
usability, and maintenance. Performance means how
efficiently the system should work with the
hardware corresponding response time, accurate
results and stored data amount. Usability means how
efficiently the system should work with the user
corresponding easy learning. Maintenance means
how easy the system should be to repair defects and
add new functionality.
Managerial requirements styles
are related to
delivery time, legal responsibility, and penalties
corresponding contractual issue.
3.2 Generating Maps
From the viewpoint of reuse, the importance of
requirements is function, non-function, fine or
medium granularity, and representation
formalization. That reasons are that the end users see
their problems in this way and the search in the
repository that solve these problems should start
from these bases. In order to deal with these
requirements, it is necessary to make requirements
representation formalize so they are more easily
identifiable, comparable and can be related to each
other(Miguel, 2004).
The most frequent approaches are scenarios, in
diverse variations, goals, and business rules. The
most widely used scenarios are the use cases,
introduced by (Jacobson, 1993) and updated in
UML(Booch, 2005). However, other variations
should be considered, in particular business
processes or workflows. The scenarios are usually
based on natural or structured language. Thus, from
the point of view of reuse, it is convenient that this
type of requirements follow some kind of norm
which allows them to be compared for their
incorporation to new requirements.
From the structural point of view, (Durán, 1999)
breaks down the scenarios (as use cases)into their
elemental parts. This possibility of breaking a
requirement down into its atomic parts is
fundamental in order to exchange, or even
automatically generate, requirements in different
formats, compatible with different tools.
Our approach to generate maps was based on the
linguistic patterns proposed by Durán, and on the
standardization proposed by Miguel. The former can
be used both during elicitation meetings with clients
and users and to create a case graph(CG). The latter
can be used in standard phrases which have been
identified that are usual in requirements
specifications. The structuring of the information in
the form of a template and the standard phrases
proposal facilitate the writing of the requirements.
A REUSE-BASED REQUIREMENTS ELICITATION PROCESS
405