Proceedings of the 5
th
National Conference; INDIACom-2011
Computing For Nation Development, March 10 – 11, 2011
Bharati Vidyapeeth‟s Institute of Computer Applications and Management, New Delhi
Copy Right © INDIACom-2011 ISSN 0973-7529 ISBN 978-93-80544-00-7
Metrics for Requirements Engineering and Automated Requirements Tools
Mohammad Ubaidullah Bokhari
1
and Shams Tabrez Siddiqui
2
1, 2
Department of Computer Science, AMU, Aligarh
1
mubokhari@gmail.com and
2
ksamtab@rediffmail.com
ABSTRACT
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. Software quality can be maintained
by checking quality attributes in requirements document.
Requirements metrics such as volatility, traceability, size and
completeness are used to measure requirements engineering
phase of software development lifecycle. Manual measurement
is expensive, time consuming and prone to error therefore
automated tools should be used. Automated requirements tools
are helpful in measuring requirements metrics. The aim of this
paper is to study, analyze requirements metrics and automated
requirements tools, which will help in choosing right metrics to
measure software development based on the evaluation of
Automated Requirements Tools
KEYWORDS
Software requirements, Software quality, Software
development, Requirements management, Quality attributes,
Requirements metrics, Automated Requirements Tools
1. INTRODUCTION
In the last few decades, software projects have encountered
major difficulties. Most software engineering projects tend to
be late and over budget. Several of the causes of these failures
are related to requirements engineering issues such as
requirements creep, poorly documented requirements,
requirements that were impossible to satisfy, and requirements
that failed to meet the needs of the user. Good requirements
management practices help improve customer satisfaction,
lower the system development costs and increase the chance of
having successful project. 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.
Requirements engineering helps software engineers to better
understand the problem they will work to solve [5].
Requirement engineering begins with inception-a task that
defines the scope and nature of the problem to be solved. Its
moves onward to elicitation- a task that helps the customer to
define what is required, and then elaboration- where basic
requirement are defined and modified. As the customer defines
the problem, negotiation occurs- what are the priorities, what is
essential, when it is required? Finally the problem is specified
in some manner and then reviewed or validated to ensure that a
stakeholder understanding of the problem and the customer‟s
understanding of the problem coincides.
Collecting requirements is not an easy task. Requirements
engineering has critical problems which can be due to lack of
stakeholder‟s 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 [17]. Unclear
responsibilities and communication among stake holders can
also lead to bad requirements engineering.
Functional requirements or behavioral requirements define
functions of the product. Functional requirements include input
that the software gets and output it generates. Non-Functional
requirements or non-behavioral requirements are the properties
of software such as portability, reliability, reusability,
testability, efficiency and modifiability [6].
Requirements management is the process of eliciting,
documenting and communicating requirements. Requirements
management play important role in success of software. It
manages changes to requirements and maintains traceability in
requirements documents. Requirements can be written using
quality attributes known as software requirements
specification. Success rate of product depends on process used
by organization. Every company needs to assess their present
approach in order to remain competent in dynamic market.
Capability Maturity Model, Goal Question Metrics,
BOOTSTRAP, The ISO 9000 process improvement models are
used to assess process and suggest methods to improve them.
Once new process are adopted their performance should be
checked, therefore measurement of software is necessary.
Software can be measured using process, product, resources
and requirements metrics.
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. Volatility
metrics checks the changes of the requirements, traceability
evaluates links between requirements to requirements within a
document and requirements completeness metrics checks