Está en la página 1de 9

$3URFHVV)UDPHZRUNIRU5HTXLUHPHQWV$QDO\VLVDQG6SHFLILFDWLRQ

Category: Experience Paper

Enrique García Alcázar (egarcia@tcpsi.es), Antonio Monzón (amonzon@tcpsi.es)


TCP Sistemas e Ingeniería
López de Hoyos, 327, 28043 Madrid, Spain
Tel.: +34 917489920, Fax: +34 917489876

$EVWUDFW phase of many projects and has evolved into a reasonably


7KLV SDSHU SUHVHQWV D QHZ DSSURDFK IRU OLQNLQJ comprehensive RE Process Framework (PF) that is being
5HTXLUHPHQWV (QJLQHHULQJ DFWLYLWLHV LQWR D 3URFHVV implanted in most divisions of the company and tested in
)UDPHZRUN WKDW FDQ EH XVHG DV D UHIHUHQFH IRU GULYLQJ several client organizations.
FRQFUHWH5HTXLUHPHQWV(QJLQHHULQJSURFHVVHV The techniques initially selected by the division to
6SHFLDO HPSKDVLV LV SODFHG RQ FRQVWUXFWLQJ 3UREOHP perform the process were based on commercial tools,
'RPDLQ PRGHOV LQ RUGHU WR EXLOG D FRPPRQ mainly Relational Database (RDB) and design-oriented
XQGHUVWDQGLQJ RI WKH SUREOHP FRQWH[W WR VLWXDWH XVHU Computer Aided Software Engineering (CASE) tools.
UHTXLUHPHQWVZLWKUHIHUHQFHWRLWDQGDVDWHFKQLTXHIRU But, although the information suited the RDB structure
XVHUUHTXLUHPHQWVUHILQHPHQW well, the kind of presentation required was not adequately
$QRWKHUDVSHFWKLJKOLJKWHGE\WKH3URFHVV)UDPHZRUNLV supported, requiring substantial handwork. The
WKHVHSDUDWLRQ RI WKH HOLFLWDWLRQ DQDO\VLV DQG UHILQHPHQW continuous evolution of requirements-related information
RIXVHUUHTXLUHPHQWVIURPWKHFRQVWUXFWLRQRIDV\VWHPRU and its difficult integration with CASE tools aggravated
VRIWZDUHVSHFLILFDWLRQ these problems still further. Only a part of the problem
$OWKRXJK WKH HPSKDVLV LV SODFHG RQ WKH SURFHVV DQG WKH could be solved using the requirements management tools
DFWLYLWLHV WR EH SHUIRUPHG WKH SDSHU GHVFULEHV VSHFLILF available.
WHFKQLTXHVWKDWKDYHEHHQXVHGVXFFHVVIXOO\ For these reasons, a tool2 was developed, and is being
7KH 3URFHVV )UDPHZRUN LV VXSSRUWHG E\ D WRRO DQG KDV used to support the Process Framework. Again, the
EHHQ WHVWHG LQ VHYHUDO SURMHFWV IURP GLIIHUHQW information is stored on a commercial RDB that acts as a
RUJDQL]DWLRQV repository but provides sufficient support for the activities
7KLV SDSHU GHVFULEHV WKHVH H[SHULHQFHV GUDZV considered in the PF as well as adequate presentation,
FRQFOXVLRQVDQGKLJKOLJKWVIXWXUHLVVXHV reporting, navigation and management. It required a
substantial effort to define the Process Framework clearly
.H\ZRUGV 5HTXLUHPHQWV (QJLQHHULQJ 3URFHVV and consistently, but this had the beneficial effect of
)UDPHZRUN3UREOHP'RPDLQ bringing many of its concepts and activities under the
microscope.
The techniques were initially applied in a project with
,QWURGXFWLRQ an especially complex requirements analysis phase. The
project [Project1] intended to build the technical platform
The Requirements Engineering (RE) framework has and to prototype systems for the remote operation of
been developed within the Software Engineering1 scientific laboratories or premises. It constituted a good
Division of TCP. It started as an effort to solve recurring test bench, because there was a significant number of
problems encountered during the requirements analysis stakeholders with different origins, affiliations and
interests, all providing user requirements and validating

1 2
TCP Sistemas e Ingeniería is a Madrid (Spain) -based software house. Initially a prototype tool was developed to support the PF. This
The Software Engineering Division of TCP provides consulting support prototype has finally derived in a commercial tool named Integral
both in-house and to external clients in software engineering methods Requisite Analyzer - IRqA [9].
and tools.
the proposed solutions. The experience gained in this and a) Users have a problem and a need to solve it. Analysts
two other projects is described below. have to understand the problem, the context in which
The team that started this job tried to use, when it arises, and the user’s expectations.
possible, already existing, reasonably proven techniques. b) Analysts “create” a solution they think suitable for the
Due to this background, mainly Object Oriented (OO) and user problem. Users have to understand what the
Domain Analysis techniques have been used, as can be analysts propose –the specification- and accept,
seen in the process description. But, over time, the modify, or discard it, preferably before starting the
emphasis has shifted from what technique is used to what application development.
are the activities that have to be performed, what are the And this is not a linear but a cyclic and iterative
results we are looking for, and how they fit into the process. The RE Process Framework is therefore
overall process. Although the techniques themselves are articulated around this loop.
not new, the way to integrate them and to perform the Another key aspect came to the fore when trying to
complete process constitutes a new approach in RE. This reconcile requirements from different stakeholders. It
paper describes the process and the experience obtained in soon became clear that, very often, they had substantially
applying it to several real projects in different differing mental models of the problem: whenever users
organizations. are providing requirements, they think in terms of a set of
concepts, characteristics, meanings and relationships that
are often called the Problem Domain (PD). It is no
7KHSURFHVV surprise then that it becomes very hard to understand –and
therefore to analyze- user requirements unless you
7KHVFHQDULR understand their context [1].
User requirements have a meaning and a structure only
The Process Framework was developed as an answer when referred to their primary context, the Problem
from TCP’s Software Engineering division to the Domain: the concepts that populate the area in which the
problems encountered during the requirements users carry out their activity, and in which they have a
specification phase by many software projects from other problem and expect a solution. Other artificial structures
company divisions. can be built upon the requirements, but the natural one is
Those problems were the typical ones related to given by its context.
requirements phases (problems related to the difficulty of Building a Problem Domain model, and situating the
eliciting user requirements and managing them in the user requirements in that context has therefore become
course of their evolution). But a problem that appeared one of the key techniques in our RE framework for
recurrently, especially in projects collecting requirements analyzing and building a common understanding of users’
from different stakeholders, was the large dispersion in problems. The importance of identifying the Problem
the style, aim and vocabulary used. Some way of Domain and clearly separating it from the solution domain
analyzing and organizing them not based on their has already been discussed extensively by Jackson [2]
structure, but rather on their meaning appeared to be a (who terms them as “application domain” and “machine
desirable objective. domain” respectively). We have verified the relevance,
This was the problem appointed to the SW. and the difficulty, of doing this in practice.
Engineering Div. that ultimately gave rise to the One last point is worth mentioning. There is no unique
development of the Process Framework. process in RE. This statement, quite obvious on the other
hand, has become clear when trying to standardize a
)RXQGDWLRQV process. This is why we have tried to formalize our
experience in a “Process Framework” that is intended to
The first approach to the complete process and the tool serve as a reference and as a guide, but not to cast any and
were ready by mid ’98. During the evolution of the RE all RE process into a fixed process pattern. We have
process definition, many problems appeared, both found substantial differences in the processes required,
theoretical and practical. During its evolution, some of depending on many factors. Among these, we can mention
these problems became clear to the team, highlighting key the level of formality required (having formal
aspects of the process. These key foundation concepts are requirements lists or not); the application novelty for
presented below. client and developer; the type of product (if it is an ad-hoc
The first point is key for structuring the process: the or free-standing product or a member of a product
basic problem that always underlies Requirements family).
Engineering activities is a communications problem, and
can be stated in a simple way:
7KH3URFHVV)UDPHZRUN Business process and organizational descriptions can
give additional information to understand the
We present below the main activities comprising the requirements. They are also part of the context.
RE Process Framework (Fig. 1). With each activity, we
suggest the techniques that we have found most useful to $QDO\]HUHTXLUHPHQWVE\PRGHOLQJWKH3UREOHP
obtain good results, and the way to use them. Other 'RPDLQThe key activity in the framework for analyzing
techniques could be used instead, in many cases: the key requirements is to build a Problem Domain Model
points are the objectives and the activities, not the specific (conceptual model). This is done, first, to capture all
techniques used (although we discuss the ones we have information relevant to the Problem Domain, concepts,
found most appropriate). characteristics, relationships. Clarifying vocabulary and
definitions is also an important part.
The objective is to build a common understanding of
Capture User Analyze
the Problem Domain concepts, vocabulary … among all
Requirements Requirements
participants in the process and to have a reference concept
model/dictionary.
We have basically used the techniques provided by
static Object Oriented models (Unified Modeling
Language - UML [8]) to capture that information. It
Verify Build Solution appears to be a powerful way of representing and
Specification Specification characterizing concepts and their relationships within the
problem context. Entity-Relationship models are also a
suitable alternative.
Figure 1. Process framework activities
([DPSOH 
A simple example, shown in boxed paragraphs, is used In the example, one of the user requirements could be
to illustrate each activity. described as “A document can be modified or
suppressed by the persons authorized by the department
([DPSOH  manager”. The concepts related with this requirement
In a public organization a new system of documentation are “Document” and “Person” (see Fig. 2). The
access management is going to be built. This system particular approach used to model it (OO) involves the
organizes the documents within the institution and use of attributes and operations3 to characterize
manages the access to them by authorized people. internally the PD concepts. In this case, the concept
“Document” was associated with the requirement
 &DSWXUH ZHOO LGHQWLILHG XVHU UHTXLUHPHQWV All through its operations “Modify” and “Suppress”.
information items should be collected and identified
(stakeholder, date). Requirements lists are very useful but
other formats should also be captured (graphs, free texts,
references to external data, applicable standards,...).

([DPSOH 
Three user requirements identified during the
development of this activity are:
ID Name Description
R1 Document Department manager should decide
distribution the type of distribution for each
Figure 2. Problem Domain
document generated in his dept.
R2 External External documents should be
document classified by the librarian. We have complemented this technique with facet
treatment models, [5][6] coming from the field of Domain Analysis
R3 Internal Internal document registration is (and from library sciences before that), that are very
registration allowed only during the morning.
of documents 3
In this context, an operation should be understood as something that
happens to those concept objects in the Problem Domain, and therefore
serves to further characterize the concept.
useful to classify information with simple, flat, expected to behave in its interaction with the external
independent criteria (hierarchical models can be described world.
with the classical OO techniques). The facets are used in
two ways, first as domain facets (classificatory aspects ([DPSOH 
coming from the specific Problem Domain), and as Four services (Use Cases) were identified to describe
domain-independent facets, that are very useful for the external behavior of the system: “To register
managing the requirements and the project. documents in the system”, “To access documents to
consult them”, “To access documents to modify or
([DPSOH  suppress them” and “To manage personnel”. Within the
In our example, six domain-dependent facets were used first service some internal activities were identified to
to classify the requirements: describe in detail the processing of a document (see
Fig. 3).
)DFHW 7HUP
Type of Access Confidential Use Cases [3] are becoming one of the key techniques
Free for specifying application requirements. They are intuitive
Type of Person Department manager and fit well both with OO styles and with functional
Librarian styles. Building a Use Case specification model is
Secretary therefore used as key technique for specifying. The Use
Hour of the day Morning Cases have also been enriched with additional techniques
Afternoon (state-charts in the activity-event style, UML notation [8];
Document Origin Internal and responsibility-oriented descriptions, in the sense used
External by Wirfs-Brock [7]) to strengthen its formality and level
Document Format Paper of detail, as suggested by UML/UMP [3] and others [4].
Electronic
Document Type Technical document
Memorandum
Notification
Minutes of meetings

A second but equally important activity is to situate the


requirements in their context: identify relations among
requirements and model elements.
The concrete mechanism is to establish a link between
the requirement and its related context elements. As well
as easing navigation and searching, the activity of Figure 3. "Register file" Use Case
analyzing the links of each requirement often sheds light description
on the requirement itself, producing the clarification and
refinement of the requirements and their implications. Two additional techniques complement Use Cases:
Anyway, building the models and linking them with Actors and Scenarios identification and definition. Actors,
requirements is not necessarily an independent activity. whose description also adds to the context knowledge,
Very often, identifying model elements and linking them enforced in the sense “all external entities (roles) that
to the requirements are done simultaneously. interact with the application”. On the other hand,
scenarios act as good examples of Use Case execution
 &DSWXUH ZHOO GHILQHG VROXWLRQ VSHFLILFDWLRQ The sequences.
objective is to express what the application has to do –its
specification- in such a way that analysts and stakeholders  9HULI\ VSHFLILFDWLRQ Linking each user
get a clear picture, and the latter accept it. It should requirement to the Use Case or Cases that solve it closes
express it in the terms stated by the Problem Domain the process. This activity is to be performed by the
models but should not enter into how the application will analysts, and allows them to confirm that all user
solve it, so Problem Domain elements should appear requirements have been adequately taken into account,
referenced as such, but not as part of the solution. The and gives a path to trace them.
specification should describe how the application is
([DPSOH  can reach a certain point, plus a set of techniques and
One of the conclusions to be obtained during the suggestions to arrive there easily.
specification verification is how the Use Cases are In the PF, the sequence described above is called
related to the requirements. ‘direct path’ because it is the natural way in traditional
The particular service represented in Figure 3 (“Register Requirements Engineering. But we have found that in
File”) 'solves' the requirements: “Document many other cases the ‘inverse path’ could be more useful.
distribution”, “External documents treatment” and In our example, a direct approach was used ( Fig. 4). An
“Internal registration of documents”. initial requirements list was prepared (requirements
elicitation). From these requirements an analysis was
 *XLGHOLQHV WR JR WKURXJK WKH 3)  The PF made to extract the main problem concepts and their
involves a number of activities to be developed during the internal characteristics and the PD facets to classify the
requirements analysis phase. But the process also includes requirements. The second task during this phase was the
some advice on the sequence of activities to follow during association of the concepts and facets to their related
this analysis work. requirements, and based on this relationship a primary
Some paths are recommended to address the final revision was performed. Once the problem was
objective of obtaining a good definition of the problem. sufficiently clear, the next step was the proposition
These paths show the logical order in which each activity (creation) of functional specifications. The identification
has to occur. of Use Cases, and then their internal description and their
The activities presented above constitute the Process association with the requirements they solve, was the last
Framework. Although there is a logical order (Capture activity in this direct process. Once we have all the
user requirements ⇒ Analyze them ⇒ Build a software elements, we can perform a first global revision of the
specification ⇒ Verify it), it should be seen rather as a specification.
loop (Fig. 1), that always requires some iteration, and An alternative approach is recommended for those
having several entry points (Figs. 4 and 5). projects in which more accurate information of the overall
functionalities is available. In this case the entry point is
the specification. The inverse approach (Fig. 5) is
Functional Requirements interesting in product families or well-known project
Requirements Análisis Problem specifications.
Domain
Capture User Analyze Models
Requirements Requirements Functional Requirements
Requirements Analysis

Solution Capture User Analyze


Specification Requirements Requirements
Problem
Verify Domain
Build Solution Models
Specification Specification
Services
Specification Verify Build Solution
Specification Specification

Process Activity Result or Document Services Solution


Specification Specification

Figure 4. Direct process (entry point in


requirements) Figure 5. Inverse process (entry point in
specificacion)
Depending on the way requirements are handled in the
organization, on the level of formality of the process, on Both approaches, direct and inverse, are valid and
the application type –free-standing or product family-, and useful, but one of them has to be selected for each
many other factors, the stress may be placed on any of particular project, according to the previous experience or
these activities and some may even be dropped. But the knowledge of the problem definition.
framework will in any case be there to orient us on where
we are, what it is we are doing, and what not, and how we
2WKHU5(DFWLYLWLHV The particular projects are:
- REMOT-DYNACORE [Project1]: This international
Two additional activities are an integral part of the RE project deals with the remote operation of large
process. We show below how they are supported in the scientific devices like telescopes or plasma physics
framework. facilities (plasma fusion). The main idea of this
project is to provide the application and
 7UDFH UHTXLUHPHQWV Tracing requirements is a communication infrastructure to operate complex and
usual concern in RE. The Process Framework described very expensive experimental devices.
above gives multiple paths and facilities to perform it. - Sales Promotion System (SPS) in banking
First of all, user requirements are directly traced to the environment [Project2]: The objective was to develop
Use Cases that solve them. Once the specified Use Cases a system to support the acquisition of non-financial
are solved (in the design phase) through a specific products, using the existing commercial
software module or process, there is a clear path to trace infrastructure, within one of the most important
the user requirement down to the design and later to the financial institutions in Spain (Caja Madrid).
code. - SIGA [Project3]: This project deals with the
An alternative and complementary trace path can be automatization of telecoms connections with ADSL
established through the Problem Domain model elements. (Asymmetric Digital Subscriber Line) technology.
Whether they are object classes or entities, they will in The target system should support ADSL service
most cases evolve into design elements (without confusing provision, monitoring and operation. It was
the representation of the real world –the Problem Domain- developed by the first telecommunications operator in
with a design artifact –the elements of the solution Spain (Telefónica) in the R&D division.
domain-). Through the link between user requirements The application of the activities involved within this
and Problem Domain elements, the former can be traced framework was not manual, but supported by the tool that
down to the program classes that handle those concepts in helped the analysts take advantage of the electronic
the application, or to the table structure and processes that manipulation of requirements information.
do so.
$JUHHPHQWEHWZHHQSDUWLHV
 5HTXLUHPHQWV PDQDJHPHQW The proposed
solution to the requirement management problem is the One of the points most often mentioned in the
use of certain requirement attributes, concerned directly application of this Process Framework is the benefit of
with this matter. In the PF these requirements compromise. All of the people involved in the
characteristics are called 'management facets'. They are requirements process were aware that they had to propose,
considered internally in the same way as domain facets, discuss and accept the elements needed to conform a
but with the particularity that they are domain- consistent requirement specification. They were expected
independent (they can be applied to requirements in to agree with some kind of ‘contract’ between all of the
different Problem Domains). The main objective of these parties, mainly the final users and the development team.
requirement characteristics is to facilitate the evolution This formalization procedure is the first step towards
and management of requirements. Some examples of reaching the desired problem specification.
attributes are the state of a requirement, the type of The framework provides a standard way to solve the
requirement or the acceptance criterion. differences in the conception of the problem and the
solution by the various parties. The DYNACORE project
can be seen as the most complex from the organizational
([SHULHQFHXVLQJWKH3URFHVV)UDPHZRUN viewpoint. Various international partners participated with
different roles. In this context, the participation of a
We will discuss the experience gained during the coordinator was needed, not only to organize the
development of three different projects. They were administrative work, but also to ensure the correct
selected in order to provide a wide point of view on the comprehension of the user needs. Within this project,
application of the Process Framework but it is important when a partner wanted to introduce a change in the
to emphasize that they were not designed specifically to specification, the PF provided him with the necessary
test the efficiency of the proposed methodological information and mechanisms to verify if the desired
framework. They are real-life working projects, with the modification would fit with the current development
common point that they have adapted the RE Process situation. Through the use of this PF, the stakeholder can
Framework to their needs. take the decision to carry out the modification or to
postpone it to another version. Therefore a first benefit
that could be addressed by the use of the Process This is the point on which the SIGA project focuses. In
Framework was better project management. this case, the analysts employed the Use Cases [3]
Our previous experience in managing and coordinating technique to represent user needs. The proposed PF
international projects allowed us to draw comparisons supports this representation through the relationship with
with the experience gained in this project. Instead of just the user requirements: a requirement is solved by a Use
throwing away a new or changed requirement, it is Case. This association between Use Cases and
strongly recommended to analyze its impact on the overall requirements is quite useful to detect inconsistencies in
requirements and system specification, and then decide to the course of the requirement specification.
push it or delay it, or even discard it. In the SPS project, the final users were initially
unspecified. Within the analysis team, some analysts were
3UREOHPFRPSUHKHQVLRQ also domain experts. For this reason a reasonable
functional specification could be initially provided.
One of the most important differences of this PF with Therefore, during the initial solution specification, Use
regard to other methodological approaches in the Cases modeling [4] was the basic technique for functional
requirements environment is the use of Problem Domain requirement description. The requirement elicitation
models in order to understand the context in which the process was defined internally and could be modified on
requirements are stated. the basis of future experience.
It was especially useful in the analysis of the The relationships between the requirements and the
DYNACORE and SIGA projects. Both projects have a rest of the elements are the keys to ensure a correct and
common characteristic: they involve complex concepts. useful specification and to trace them through the
The Problem Domain was intrinsically difficult to remaining life cycle activities.
understand because of the particularities of the scientific Our experience in the usage of Use Cases as a
environment, in the first case, and the telecommunication description of the external behavior of a system is very
concepts, in the second one. The analysts of the SIGA positive. We have found that this representation is easily
project initially used a classical E-R diagram to represent understood by end users with scant knowledge of
the domain concepts. They translated this into a proposed Software Engineering but is also sufficiently useful for the
object diagram, with an enhancement of these concepts development team for it to be used in the early stages of
supported on its internal behavior. Although this the design phase.
representation is alternative, they found it very useful to
understand better the problem concepts. 5HTXLUHPHQWVDQDO\VLV
An additional benefit derived from the use of a model
is the unification in the notation. One of the most DYNACORE involved more than 300 requirements
important problems during the elaboration of a consistent and around 40 problem concepts. When we tried to
requirement specification is the existence of synonyms. A analyze this volume of information, we found that a
domain model defines each concept clearly and in a traditional RDB structure was insufficient to organize it
unique way. The requirements must initially use the same adequately. One of the facilities needed was the flexible
word while referring to the same concept to be created selection of particular requirements according to various
within the problem model. Synonyms could be used with criteria. The implementation of this facility on a standard
adequate tool support. RDB Management System implies the creation of
particular queries for each restriction or organization of
6ROXWLRQVSHFLILFDWLRQ the requirement list. A more efficient mechanism was
needed to organize and display the information. Finally
Given a set of user requirements, the solution is not the tool developed implemented a multi-criteria
automatic. At least in novel applications (novel to the classification option with a tree-representation control to
participants), the solution concept has to be “created” by organize the requirements list. This technique has
the analysts, and communicated to the client, to be demonstrated good results from the viewpoint of the
discussed, modified and eventually approved. This is the analysis. Based on different classifications, the analyst can
purpose of the specification and it is quite distinct from make decisions about the requirements specification on-
the user requirements. User requirements convey the line.
stakeholders' problems, needs and expectations. The The concept of domain facet was successfully used in
specification conveys a solution concept. This is basically the DYNACORE project to allow the classification by
equivalent to the distinction made in standards between different context aspects. The benefit obtained by the use
“user” requirements and “system” or “software” of domain-dependent facets is the possibility to classify
requirements. the requirements from very different problem viewpoints.
3DWKVHOHFWLRQ (attributes) and maintaining a centralized database of
requirements.
Based on our experience, we have found two different This last point reinforces the PF idea of “knowledge
sequences of activities through the PF. The first one took management” in a corporate environment. The
place during the first phase of the project DYNACORE information contained in the specification of a system can
(named REMOT). At the beginning, the involved be shared throughout the rest of the organization to be
stakeholders (astronomers and plasma physicists) had a used by other development groups in other similar
general idea of what they wanted from such a remote- projects.
operated system. The problem to be solved was diffuse, This experience showed that some aspects of the PF
unclear. The scientific particularities made could be improved, such as the traceability of
communication with the system analysts especially requirements, the impact analysis of requirement changes
difficult. In such a context, a first non-structured user or the communication with other tools (project
requirements capture was needed to establish a baseline to management tools, CASE design tools, etc.)
construct the problem specification. The subsequent Another interesting experience in this field was
activity of analyzing the information obtained was the obtained during the development of the DYNACORE
natural second step in the process. Once the Problem project. As mentioned above, this project included many
Domain was sufficiently clear and the user requirements requirements and problem concepts. This complexity
structured and associated with the problem concepts, the caused management difficulties (see 3.1).
third activity was to obtain the functional specification of
the system. In this matter the Use Cases technique was &RQFOXVLRQV
particularly useful. Of course, in the first iteration many
mistakes were found after verification. The framework seems to have good acceptance in
In the case of the SIGA project, the analysts had prior organizations. Several of them are evaluating it for
experience of specifying and building similar systems. possible adoption, while some others have started to use it
They had a clear idea of the problem (the system was in pilot projects. The framework provides a
developed ‘in house’, with no other participant), and the comprehensive set of concepts, activities and techniques
emphasis had to be put on the functional aspects of the that constitute a good reference for organizations.
system. The first step was the construction of the software It requires further work to integrate it with different
specification. They just had to focus on what the system activities (estimation, testing and validation, project
had to provide. Once the functional aspects were covered, management, requirements tracing…) and different
next came the selection of known requirements, applied to development methods.
this project, and the establishment of known problem A problem that has appeared repeatedly is the effort
concepts. They managed an existing E-R model used in required to build the Problem Domain models and to link
other projects with an RDB representation. The pure the user requirements to them. Still worse, when
requirement elicitation did not occur because the requirements –and models- evolve, there is a substantial
requirements existed prior to the definition of the effort required to keep them consistent and synchronized.
particular problem. Of course, the verification activity was We are now working with a University department on
needed to detect and correct the definition mistakes. In automating as far as possible the model extraction and
this case the stakeholders were not end users but project linkage identification, and especially the revision of the
engineers and the engineers responsible for other systems. whole info set after each change is introduced. Although
complete automation seams neither feasible nor desirable,
5HTXLUHPHQWVPDQDJHPHQW this will substantially alleviate the analysts’ job, leaving
them with the task of checking what the automatic tool
The problem of managing requirements depends on may propose and completing the analysis, an activity that
their evolution and their relationship with the design. has to be maintained because it is crucial for gaining a
Good requirement management is needed to achieve the shared understanding of the problem.
success of the global development process. In RE, there is always some tendency to become
In the SPS project, the PF support tool was used for formal. We have intentionally tried to avoid formal
requirements structuring and labeling. Domain techniques, because they preclude the participation of
independent facets were applied to classify requirements many analysts and of almost all stakeholders. We tried to
for project management purposes. The project analysts use semi-formal but expressive techniques that facilitate
found that the tool was beneficial considering its the participation of all stakeholders. The process is
capabilities for: grouping requirements into domains, therefore not designed for safety-critical applications that
classifying requirements with domain independent facets require a formal demonstration. But it can be used in such
cases provided formal techniques are incorporated into the Contact person: José L. Fernández. Caja Madrid, Las
framework. Rozas, 28230 Madrid, Spain.
The framework does not explicitly differentiate Web page: http://www.cajamadrid.es
between functional and non-functional requirements. For [Project3]: SIGA ‘Sistema Integrado de Gestión ADSL’
the requirements collection and analysis activities, (ADSL Integrated Management System)
sufficient techniques are given to handle these differences. The system developed facilitates the automatic
However, the Use Case-driven specification is clearly provision of connection between end users and GIGADSL
oriented towards the functional part of the specification. service clients. These clients are usually Internet
This may need to be complemented with specific providers. The system also provides service monitoring
techniques for the non-functional aspects. and management.
We suspect that, although requirement evolution is Contact person: José R. Yeste. Division Manager.
unavoidable, a significant part of that “evolution” is just Telefónica I+D. Emilio Vargas, 6 28043 Madrid, Spain.
the process of stakeholders becoming aware of the (e-mail: jramon@tid.es)
meaning of the requirements and of their implications. So Web page: http://www.tid.es
it should pay off to dedicate some effort to analyze and
clarify the requirements, and to build a common 5HIHUHQFHV
understanding among all participants in the process. This
has still to be proven. [1] J. Siddiqui and M. Chandra Shekaran, “Requirements
The methods and techniques require exposure to the Engineering: The Emerging Wisdom”, IEEE Software,
international university and industry communities. This is Mar. 1996
the main reason for this paper. Therefore, all comments,
suggestions and criticisms can be addressed to the authors [2] M. Jackson, Software Requirements and
and will be welcomed. Specifications, Addison-Wesley, 1995

$FNQRZOHGJHPHQWV [3] I. Jacobson, Object-Oriented Software Engineering,


Addison-Wesley / ACM Press, 1992
We want to express our gratitude to Dr. José L. [4] I. Jacobson et. al., The Unified Software Development
Fernández from Caja Madrid, Mr. José R. Yeste and Process, Addison-Wesley / ACM Press, 1999
Mr. Antonio Hedo from Telefónica I+D, and Mr. Julio
Rejas, Telematic Applications Div. Manager from TCP, [5] Cohen, S., et. al. “Feature Oriented Domain Analysis
for their experience in the mentioned projects. (FODA) Feasibility Study”, CMU, 1990

3URMHFWV [6] Prieto-Diaz, R., “Domain Analysis for Reuse: A


Practical Approach”, ESEC'95
[Project1]: REMOT (Remote Experiment MOnitoring &
ConTrol), DYNACORE (DYNAmically COnfigurable [7] R. Wirfs-Brock et al., Designing Object Oriented
REMOT) Software, Prentice Hall
The objective of the DYNACORE project is to provide
[8] Unified Modeling Language Specification (UML),
scientists and astronomers with a tool for remote
Object Management Group, Inc., http://www.omg.com
operation of experiments and facilities that require real-
time control and multimedia information feedback, using [9] IRqA - Integral Requisite Analyzer , TCP Sistemas e
communications infrastructures available to European Ingenieria, http://www.tcpsi.es/irqa
researchers.
Contact person: Julio Rejas. TCP Sistemas e Ingeniería.
$FURQ\PV
López de Hoyos, 327, 28043 Madrid, Spain. (e-mail:
jrejas@tcpsi.es). ADSL: Asymmetric Digital Subscriber Line
Project web page: http://www.tcpsi.es/dynacore CASE: Computer Aided Software Engineering
[Project2]: Sales Promotion System (SPS) IRqA: Integral Requisite Analyzer
Caja Madrid Requirements Engineering Group used OO: Object Oriented
the PF support tool for requirements management of the PD: Problem Domain
Sales Promotion System developed in-house. The Sales PF: Process Framework
Promotion System supports the acquisition of products RDB: Relational Data Base
sold by third parties to the bank’s customers, ensuring best RE: Requirements Engineering
price policies, and arranged payment conditions. UML: Unified Modeling Language

También podría gustarte