Sei sulla pagina 1di 5

World appl. programming, Vol(4), No (4), April, 2014. pp.

119-123

TI Journals

World Applied Programming


www.tijournals.com

ISSN:
2222-2510
Copyright 2014. All rights reserved for TI Journals.

Toward Supporting Requirements Engineering with Automated Tools


Najmeh Ghasemi Fard
Qom, Iran.

Ali Mirarab*
Qom, Iran.

Mahboubeh Shamsi
Department of Electrical and Computer Engineering, Qom University of Technology, Qom, Iran.
*Corresponding author: mirarabali@gmail.com

Keywords

Abstract

Requirements Engineering
Automated Requirements Tools
Requirements Metrics
Automated Tools Metrics

While much research effort has been done on software engineering, the number of projects failures remains
high and the success percentage remains low. Software systems are frequently delivered too late, with budget
overrun, and do not meet the needs of the stakeholders. Several studies indicate that poor requirements
engineering practices are often the main cause of these problems. Measuring the metrics manually is a
tedious and time consuming task. Moreover it is not free from errors. Therefore automated requirements
measurement tools should be used. With the use of automated requirements tools collection of metrics is
faster and more reliable. Requirements can be managed in a better way through automated tools and
consequently better requirements management leads to better product.
In order to choose an appropriate automated tool for requirements engineering we need to know the
advantages and disadvantages of each tool. This research describes the requirements engineering and its
scenario and automated tools for requirements engineering will introduction. Also identifying metrics for
requirements engineering and automated requirements tools and finally provide an assessment of the
existing automated tools and evaluate their strengths and weaknesses are the goals of this paper.

1.

Introduction

While much research effort has been done on software engineering, the number of projects failures remains high and the success percentage
remains low. Software systems are frequently delivered too late, with budget overrun, and do not meet the needs of the stakeholders. Several
studies indicate that poor requirements engineering practices are often the main cause of these problems. A survey over 3800 organizations in 17
countries concluded that most of the perceived software problems are related to requirements specification (>50%) and management (50%) [3].
Requirements Engineering one of the macro-activities of Software Engineering is a systematic process of capturing, modeling and documenting
requirements through an interactive and cooperative approach. Its an activity which requires team work [4]. As one of the processes in software
engineering, requirements engineering (RE) play a crucial role in ensuring the overall success of the software engineering process [1].
Requirements engineering has critical problems which can be due to lack of stakeholders involvement in the requirements process. Lack of
requirements management skills also leads to bad requirements engineering [5]. Unclear responsibilities and communication among stake holders
can also lead to bad requirements engineering [1].
Measuring the metrics manually is a tedious and time consuming task. Moreover it is not free from errors. Therefore automated requirements
measurement tools should be used. With the use of automated requirements tools collection of metrics is faster and more reliable. Requirements
can be managed in a better way through automated tools and consequently better requirements management leads to better product.
Automated Requirements Measurement Tool, Requirements Use Case Tool, IBM Rational RequisitePro, Software Requirements Manager,
Dynamic Object Oriented Requirements Systems, and Cooperative Requirements Engineering Support Tool are some of automated requirements
tools used for software measurement, collecting, viewing, and changing requirements.
The rest of the paper is organized as follows, first we will review requirements engineering and its scenario, and then the automated tools for
requirements engineering are discussed. Criteria for Automated Requirements Engineering Tools evaluation expressed and we'll continue to
evaluate automated Requirements Engineering tools and the positive and negative aspects of the tools is displayed. Finally our study result is
expressed.

2.

Requirements engineering

As one of the processes in software engineering, requirements engineering (RE) plays a vital role in ensuring the overall success of the software
engineering process. Requirements engineering (RE) is one of the key process areas being performed in a different way, depending on the
organization size. In addition, requirements engineering practices are highly related to the success and failure rates of software projects.
Requirements engineering is a process of discovering the needs of stake holders and documenting them for analysis, communication and
implementation [6]. Many errors can be detected in the requirements phase. Davis [2] claims that fixing of errors detected in later stages of software
development is more expensive than the initial stages. If errors are not detected in the requirements phase it leads to wrong product development.
Wrong requirements can also lead to wastage of valuable resources.
Collecting requirements is not an easy task. Requirements engineering has critical problems which can be due to lack of stakeholders involvement
in the requirements process. Lack of requirements management skills also leads to bad requirements engineering. Because of the natural human
tending to hide bad news, the real statistic may be even higher [5]. Unclear responsibilities and communication among stake holders can also lead
to bad requirements engineering.
Several researchers have identified the following issues as cause of problems in the requirements engineering process:

Najmeh Ghasemi Fard, Ali Mirarab *, Mahboubeh Shamsi

120

World Applied Programming Vol(4), No (4), April, 2014.

- Inadequate Supporting Tools [8] [9] [10]. Many requirements engineers do not use adequate supporting tools when engineering their
requirements. Typically they use a mix of specification documents, spreadsheets and Web repositories. The use of these scattered solutions is
expensive and error-prone because both (1) it involves manual processing and (2) requirements are kept in several dispersed resources and
sometimes they are incoherent.
- Inadequate Requirements Management [7] [8] [10]. Provided requirements are frequently managed in documents they become difficult
manipulate, maintain and validate. Lack of access control does not allow limiting the access to sensitive requirements and implementing proper
change control mechanisms. Lack of centralized and automated requirements management also make difficult the capture, analysis, and report of
requirements-based metrics (e.g., requirements stability, maturity, and completion).

3.

Requirements engineering scenario

Requirements engineering helps software engineers to better understand the problem they will work to solve [11], for that reason, it must be
conducted following an appropriate strategy. Requirements engineering is a process which include a set of activities that we describe them as
follows:
3.1 Problem synthesis
Synthesis involves the ability of putting together the parts you analyzed with other information to create something original. You reach out for
data or ideas derived from a variety of sources [12].
3.2 Requirements elicitation
Requirements elicitation is a process of identifying needs and bridging the disparities among the involved communities for the purpose of defining
and distilling requirements to meet the constraints of these communities [13]. Other often used names for requirements elicitation are requirements
acquisition, requirements capture, requirements discovery, requirements gathering, problem analysis, understanding etc. This process requires
application domain knowledge, organizational knowledge and technical knowledge, as well as specific problem knowledge. Requirements
elicitations are non-trivial because you cannot get all requirements from user and customer by just asking what a system should do.
A lot of techniques such as Interviews, Ethnography, Questionnaire, Contextual query, Scenarios and etc. can be used in the requirements elicitation
process [14].
3.3 Requirements analysis and negotiation
Requirements Analysis and Negotiation is a process during which requirements are analyzed and modeled. Possible conflicts are resolved by
negotiation between stakeholders. The elicitation process provides the input to this process. The output of the process is a consistent and complete
set of requirements.
3.4 Requirements documentation
Requirements documentation is the process to select proper notations to document requirements at the appropriate level of detail.
The documentation process receives its input from the analysis and negotiation process. The output of the process is a well-structured and defined
specification.
3.5 Software requirements specification
The Requirements document or Software Requirements Specification describes external behavior of software system. Internal attributes of
requirements documents describe how requirements should be specified. What they should include and how they affect others attributes.
3.6 System modeling
System modeling is a technique to express, visualize, analyze and transform the architecture of a system. System modeling is intended to assist in
developing and maintaining large systems with emphasis on the construction phase.
3.7 Requirements verification and validation
Requirements verification and validation (V&V) is the process to ensure that the requirements document is unambiguous, consistent and complete,
that the stakeholders are satisfied with the final requirements specification. The output of the requirements documentation process is the input of
the verification and validation process. The output of the V&V process is the finalized requirements specification document agreed and authorized
by all stakeholders.
3.8 Requirements management
Requirements Management is a process of managing changes to requirements. Requirements Management is carried out in parallel with other
requirements activities in the software development. Activities of requirements management includes keeping project plan undated with
requirements, controlling requirements versions, tracking status of requirements and tracing the requirements.

4.

Requirements automated tools

There is a large list of tools to support the requirements engineering process. In this section, we will introduce and evaluate some automated
requirements tools.
4.1 Automated Requirements Measurement Tool ARM
The Automated Requirement Measurement (ARM) Tool was developed by the Software Assurance Technology Center (SATC) at the National
Aeronautics and Space Administration (NASA) Goddard Space Flight Center. It is an early life cycle tool for assessing requirements that are
specified in natural language. The Objective of the ARM tool is to measure the quality or requirements documents/SRS. It helps in Writing the
requirements right, not Writing the right requirements. ARM tool basically fetch quality indicators from requirements documents. ARM tool
creates a file that includes three reports. This file contains a summary report, imperative report and detail weak phrase report [1].

121

Toward Supporting Requirements Engineering with Automated Tools


World Applied Programming Vol(4), No (4), April, 2014.

NASA categorized quality indicators in two types of classes. They are in relation to individual statements and in relation to total requirements
documents [4].
4.2 Software Requirements Manager SRM
SRM is a collaborative application which supports team members during a software project development. The tool acts as an information repository
providing communication and coordination inside the team and also with the stakeholders. The requirements are the central element of the tool
[3].
SRM is able to manage multiple projects; each one as an independent shared space. A project (i.e. a shared space) is composed of users and
software requirements, design artifacts, test cases and a list of team members with roles. The tool has a Web user interface allowing developers to
view or manipulate the project artifacts depending on their access grants [3].
SRM supports two almost independent data flows: (1) the input, which represents the feeding process, and (2) the output, that represents the
feedback process. By default, SRM allows team members to view all the artifacts stored in the project. Typically it is useful to keep the developers
communicated and coordinated. However, the access grants to the project resources can be changed by the project manager in order to adhere with
any other setting. On the other hand, the stakeholders are also able to access some project information. By default, they can access the users
requirements list, the accomplishment level of them, and a metric indicating the progress of the project [3].
4.3 Requirements Use Case Tool RUT
The Requirements Use case Tool (RUT) helps managers, customers, and developers in assessing the quality of use cases. The RUT provides a
series of metrics useful for calculating information about the relationships among the captured use cases and performs use case evaluation by
searching text and identifying risk indicators such as incomplete or weak phrases. For collecting, evaluating, and maintaining software
requirements RUT is a valuable resource. RUT combines with the industry-standard tool developer Rational Rose, for developing UML diagrams
[1].
RUT is a web-based, multi-user application that provides the ability to create, view, and modify use cases and related information for a particular
project. The tool was developed for using multi-platform, open source technologies (PHP and MySQL) [1].
Furthermore, this development approach provides users the ability to modify the system to suit their individual project needs and will simplify the
process of adding additional features or components to the tool in the future. To ensure consistency, RUT provides a standard use case template
[12] to be used for all use case entry into the repository [1].
One of the most beneficial features of RUT in terms of quality analysis is its capability to parse use case text for matches against a pre-defined and
user-modifiable set of risk indicators. An effort is currently underway to transition this tool into general usage among NASAs software project
teams [1].
4.4 Cooperative Requirements Engineering Support Tool CRETA
CRETA is a Cooperative Requirements Engineering Support Tool that intends to integrate groupware applications with the area of Requirements
Engineering, supporting the work of the knowledge managers, requirements engineers, domain specialists, users, project managers and sponsors.
The goal is to support the main activities of the Requirements Engineering process and to promote mechanisms for sharing information, and
facilitating communication, coordination and cooperation among people, as well as awareness and knowledge management [4].
In CRETA, the existent knowledge on paradigm, process, life cycle models, activities and artifacts, among others, is registered by the knowledge
manager, as well as the templates that can be adopted. The project to be developed is registered, its process is defined and people are allocated to
activities [4].
The participants make use of cooperative tools available such as electronic agendas, electronic mail and appointments, discussion lists,
synchronous (chat) and asynchronous (forum) virtual meetings to improve communication, cooperation and interaction. Documents and
prototypes for evaluation can be made available using the tool. The several artifacts generated in each activity, such as plans of interviews, meetings
minutes and Software Requirements Specifications, can be registered so as to promote their sharing, validation and management [4].
4.5 IBM Rational RequisitePro
IBM Rational RequisitePro is a requirements management tool that uses Microsoft word as the primary user interface for managing requirements.
It helps in writing good use cases, improves the traceability and manages the requirements. Rational RequisitePro increases the quality, reduces
the risks and lead to right solution on time and within budget [1].
Rational RequisitePro supports databases such as Oracle, Microsoft SQL Server and Microsoft Access. The tool is aimed at novice users who have
less experience in requirements management tools. The tool is only suitable for small and medium sized projects. The tool supports change impact
analysis, bi-directional traceability and cross-project traceability [1].
Software development is a team endeavor, so it is important that the team members share understanding, vision, goals, specifications and
requirements of the project. Change tracking is a powerful feature of IBM Rational tool. It manages change by linking requirements so that when
changes occur to one requirement its effect is seen on other requirements. Each modification is captured, tracked and documented. The IBM
Rational Requisitely has a web interface that makes requirements accessible from multi-platform and remote locations [1].
4.6 Dynamic Object Oriented Requirements System DOORS
Dynamic Object Oriented Requirements System (DOORS) is a leading market software metrics tool. It supports communication to reduce project
failure risk, collaboration to increase productivity and traceability to enable validation. DOORS provide ability to manage changes and exchange
requirements data with other requirements management tools. DOOSRS has 4 types of tools requirements management [1].
DOORS help in managing requirements, analyzing requirements, tracing requirements, parsing of requirements and capturing the requirements
[1].
DOORS/Analyst [1] is a requirements management tool which is traceable, easy-to-learn and it also maintains data integrity. UMP-based
requirements modeling has a capability for drawing models, pictures, and diagrams inside DOORS. Features of DOOR Analyst include visual
model of use cases capturing, create a common understanding among team members and It provide UMP drawing tool linked with other DOOR
requirements tools [1].
DOORS XT enhances requirements management by better communication for the projects based on distributed multiple sites globally. It has 3tier architecture which includes DOOR server, Oracle server and web application server. It maintains a central database and provides necessary
files to its multiple clients distributed all over the world. Storing database in a central repository reduce installation and maintenance cost. It has
the same traceability features as compared to DOOR which helps user to use interface for required information [1].

Najmeh Ghasemi Fard, Ali Mirarab *, Mahboubeh Shamsi

122

World Applied Programming Vol(4), No (4), April, 2014.

DOORSTEP requirements management tool is suitable for less frequent users such as project managers, software engineers, test engineers and
quality assurance managers. This tool has web interface and provides access to users who can perform basic editing and reviewing tasks. Users
can browse, search and submit changes to the requirements data. By providing online access of the database it reduces weekly meetings and
conferences [1].

5.

Criteria of requirements engineering and automated requirements tools

Software requirements are the foundations from which quality is measured. Measurement enables to improve the software process; assist in
planning, tracking and controlling the software project and assess the quality of the software thus produced. Quality issues such as accuracy,
security and performance are often crucial to the success of a software system. Quality should be maintained from starting phase of software
development. Requirements management, play an important role in maintaining quality of software. A project can deliver the right solution on
time and within budget with proper requirements management. Requirements metrics are useful in identifying risks of a project by identifying
errors in requirements document. There are many metrics used for measuring the requirements. Requirements metrics when incorporated in
requirements management, it assists in analyzing the quality of requirements and identifying the reasons for software re-engineering/failure.
Requirements metrics define the output measures of the software process. These metrics validate the written requirements against actual
requirements. Single metric cannot ensure overall quality therefore multiple metrics should be used for measurement [1].
Automated requirements tools evaluation criteria will be described in this section. The analysis of mentioned automated requirements tools was
necessary to define their common characteristics and way how they measure tools. Besides that the result of this comparison is a set of criteria that
we believe are necessary for automated requirements tools. The criteria listed below are most common criteria that discussed in articles and
researches [1] [3] [4]:
Data integrity: Data integrity refers to maintaining and assuring the accuracy and consistency of data over its entire life-cycle in tool.
Traceability: An automated tools is said to be traceable if it has reference of every requirement stated.
Changes Management: change management refers to a systematic approach to keeping track of the details of the requirements in tool.
Risk Reduction: To measure how a tool reducing the severity of the loss or the likelihood of the loss from occurring.
Quality Improvement: Quality Improvement is a formal approach to measure performance of tool in requirements engineering
improvement.
Facilitate Communication: to measure how a tool make better communication among stakeholders, customers, managers and developers.
Use of Databases: Whether the tool uses the database or not.
Suitable for writing Use Cases: Capability to write use cases for requirements.
Validation: The assurance that a tool product meets the needs of the customer and other identified stakeholders. It often involves
acceptance and suitability with external customers.

6.

Evaluation and discussion

All the frameworks discussed under the category of data security frameworks have been presented in Table 1 chronologically. Each security
framework has been evaluated with reference to evaluation criteria discussed in Section 5.

Table 1. Comparison of automated requirements tools


Tools
Metrics
Data Integrity
Traceability
Changes
Management
Risk Reduction
Quality
Improvement
Facilitate
Communication
Use of Databases
Suitable for
writing Use
Cases
Validation

ARM

CRETA

SRM

DOORS

RUT

IBM Rational
RequisitePro
-

Automated Requirements Measurement Tool ARM [1]: This tool is appropriate for determine the requirements accuracy that improve the
quality of requirements, manages and documents requirements. One of the major drawbacks of this tool is that it is only appropriate for assessing
requirements early in the software development life cycle.
Software Requirements Manager SRM [3]: This tool supports team members during a software project development and providing
communication and coordination inside the team and also with the stakeholders. SRM is also able to manage multiple projects; each one as an
independent shared space. The disadvantages are that the facilities for data integrity, traceability, risk reduction and quality improvement does not
provide. It does not improve validation and maintainability does not enhance and it isnt also suitable for writing use cases.
Requirements Use Case Tool RUT [1]: This tool will improve change management and lead to reduce project risks. It can assist administrators
and developers in evaluating the use cases and provide appropriate metric for this task, but will not provide data integrity. RUT is a web-based,
multi-user and open source application that provides the ability to create, view, and modify use cases and related information for a particular

123

Toward Supporting Requirements Engineering with Automated Tools


World Applied Programming Vol(4), No (4), April, 2014.

project. It has high ability in quality and use cases analysis that leads to project risks reduction. The disadvantages of this tool are lack of traceability
in the software development process, management requirements, communication facilitating and also lack of validation promotion.
A Cooperative Requirements Engineering Support Tool CRETA [4]: It facilitates communication, coordination and cooperation among
people. All information related to the project will be documented and provides the possibility of using collaborative tools. This tool improves
Validation and Requirements Management but will not provide data integrity. This tool also has no traceability and does not provide facilities to
reduce risk and improve quality and is not also appropriate for writing use cases.
IBM Rational RequisitePro [1]: Because of providing right solution on time and within budget increases the quality, reduces the risks. Supports
databases such as Oracle, Microsoft SQL Server and Microsoft Access that leads to cost reduction. Traceability is very high and improves and
facilitates communication. The disadvantages of this tool can noted as lack of validation capability and maintainability and it also focuses at novice
users who have less experience in requirements management tools. In addition this tool is only suitable for small and medium sized projects. It is
not supports data integrity and does not provides the possibility of using collaborative tools but helps in writing good use cases.
Dynamic Object Oriented Requirements System DOORS [1]: This tool provides useful and leading metrics. It reduce project risk through
communication and supports productivity and traceability and validation through collaboration, manages changes and maintains data integrity.
This tool is Web-based, multi-user and distributional that maintains a central database, therefore reduces the cost of installation and maintenance.
Through online access facilitate communication but provides requirements management tool for less frequent users such as project managers,
software engineers, test engineers and quality assurance managers. DOORS does not improve maintainability, not appropriate for writing use cases
and does not provides the possibility of using collaborative tools.

7.

Conclusion

In this paper, requirements engineering, and a number of automated tools for requirements have investigated. Combination of requirements
engineering with automated tools make collection of metrics and requirements faster and more reliable. Metrics of requirements engineering and
automated requirements tools identified and introduced that include: Data integrity, Traceability, Changes Management, Risk Reduction, Quality
Improvement, Facilitate Communication, Use of Databases, Suitable for writing Use Cases and Validation.
Automated Requirements Measurement Tool, Requirements Use Case Tool, IBM Rational RequisitePro, Software Requirements Manager,
Dynamic Object Oriented Requirements Systems, and Cooperative Requirements Engineering Support Tool are some of automated requirements
tools which discussed in this paper and in an evaluation compared them.

References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]

M. Bokhari, Sh. Siddiqui, Metrics for Requirements Engineering and Automated Requirements Tools, 5th National Conference, INDIACom, New Delhi,
2011.
A. Davis, Software Requirements - Objects, Functions, and States, Prentice Hall, 1993.
F. Ochoa, A. Quispe, A. Vergara and J. Pino, Improving Requirements Engineering Processes in Very Small Software Enterprises Through the Use of a
Collaborative Application, 14th International Conference on Computer Supported Cooperative Work in Design, 2010.
D. Togneri, R. Falbo, C. Silva, Supporting Cooperative Requirements Engineering with an Automated Tool, 5th workshop on requirements engineering,
Brazil, 2002.
P. Dorsey, Top 10 Reasons Why Systems Projects Fail, Dulcian, Inc., 2005.
Stokes DA. Requirements analysis. In: Software engineers reference book. Butterworth-Heinemann, Oxford, 1991, Ch 16.
J. Aranda, S. Easterbrook, G. Wilson. Requirements in the Wild: How Small Companies Do It. Proc. of the 15th IEEE Requirements Engineering Conference,
pp. 39 48, Oct. 1519, 2007.
D. Firesmith. Common Requirements Problems, Their Negative Consequences, and the Industry Best Practices to Help Solve Them. Journal of Object
Technology, Vol. 6. No. 1, pp 17-33, January-February 2007.
H. F. Hofmann, F. Lehner. Requirements Engineering as a Success Factor in Software Projects. IEEE Software, Vol. 18, No 4, pp. 58-66, Jul/Ago 2001.
N. Juristo, A. M. Moreno, A. Silva. Is the European Industry Moving toward Solving Requirements Engineering Problems?. IEEE Software, Vol. 19, No 6,
pp. 70 77, Nov/Dec 2002.
R.S. Pressman, Software Engineering - A Practitioners Approach, McGraw-Hill, 2005.
B. Reichenbach, Introduction to Critical Thinking. Boston: McGraw Hill, 2001, page 25.
SEI - Software Engineering Institute Requirements Engineering Project, Requirements Engineering and Analysis Workshop Proceedings, Technical Report
CMU/SEI-91-TR-30, Software Engineering Institute, Carnegie Me note llon University, 1991.
I.K. Bray, An Introduction to Requirements Engineering, Addison Wesley, 2002.
J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.6873.
I. S. Jacobs and C. P. Bean, Fine particles, thin films and exchange anisotropy, in Magnetism, vol. III, G. T. Rado and H. Suhl, Eds. New York: Academic,
1963, pp. 271350.
K. Elissa, Title of paper if known, unpublished.
R. Nicole, Title of paper with only first word capitalized, J. Name Stand. Abbrev., in press.
Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, Electron spectroscopy studies on magneto-optical media and plastic substrate interface, IEEE Transl. J.
Magn. Japan, vol. 2, pp. 740741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301, 1982.
M. Young, The Technical Writer's Handbook. Mill Valley, CA: University Science, 1989.

Potrebbero piacerti anche