You are on page 1of 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/228716711

Elicitation and Prioritization of Software Requirements

Article · December 2009

CITATIONS READS

19 282

2 authors:

Mohd Sadiq Mohd Shahid


Jamia Millia Islamia Mewat Engineering College (WAQF)
69 PUBLICATIONS   628 CITATIONS    6 PUBLICATIONS   87 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Requirements elicitation View project

Numerical Algorithm View project

All content following this page was uploaded by Mohd Sadiq on 08 January 2016.

The user has requested enhancement of the downloaded file.


SHORT PAPER
International Journal of Recent Trends in Engineering, Vol 2, No. 3, November 2009

Elicitation and Prioritization of Software


Requirements
Mohd. Sadiq Mohd. Shahid
Computer Engineering Section, University M. Tech. Scholar, Department of Computer
Polytechnic, Faculty of Engineering and Science and Engineering, Al-Falah School of
Technology Jamia Millia Islamia (A Central Engineering and Technology, Dhauj, Faridabad
University), New Delhi-110025 (India) Maharshi Dayanand University, Rohtak,
E-mail: sadiq.jmi@gmail.com Haryana (India)
E-mail: shahid27.jmi@gmail.com

Abstract: A requirements may be defined as a demand and complete set of security requirements. The
or need. In software engineering, a requirement is a resulting system is likely to have fewer security
description of what a system should do. System may exposures when security requirements are elicited in
have dozen to thousands of requirements. Software a systematic way. QFD was developed in the Kobe
requirements stipulate what must be accomplished,
transformed, produced or provided. In this paper we
shipyards as a way to expand and implement the view
have proposed a framework for elicitation and of quality as taught by W. Edwards Deming and
prioritization of software requirements using AHP and others [16, 17]. It has been widely applied in many
QFD techniques. This framework mathematically industries worldwide, such as automobile,
prioritize the software requirements after eliciting the electronics, food processing, computer hardware, and
software requirements from existing method such as software. Software Quality function Deployment
misuse case, JAD, ontology and so on, but in this paper (SQFD) focuses on improving the quality of both the
we have used the JAD approach in order to elicit the software development process and the product [16,
software requirements. 18]. A number of requirements elicitations techniques
Keywords: Software Requirements, Elicitation have been developed to extract requirements from a
Techniques, Analytic Hierarchy Process, and Quality user. The following list is a sample of methods that
Function Deployment. could be considered for eliciting security
I. INTRODUCTION:
requirements. The goal of JAD (Joint Application
Elicitation is all about determining the needs of Development) is to involve all stakeholders in the
stakeholders and learning, uncovering extracting and design phase of the product via highly structured and
/or discovering needs of the users and other potential focused meetings. Typical participants in the session
stakeholders [5]. Requirement elicitation is include a facilitator, end users of the product, main
recognized as one of the most critical knowledge developers, and observers. In the preliminary phases
intensive activities of the development of software. of JAD, the requirements-engineering team is tasked
Studies by [13] indicate that 70% of the system errors with fact finding and information gathering.
are due to the inadequate system specification and Typically, the outputs of this phase, as applied to
30% of the system errors are due to design issue. The security requirements elicitation, are security goals
analysis of secure software system based on the and artifacts. The actual JAD session is then used to
system requirements elicited in the form of use case validate this information by establishing an agreed-on
and misuse case. Use cases have proven helpful for set of security requirements for the product. If JAD
elicitation of communication about, and has some advantages so it has also some
documentation of the function requirements. The disadvantages. The important disadvantage of JAD is
integral development of use and misuse cases that if there are too many JAD sessions while the
[8,10,12] provides a systematic way for the elicitation project is progressing then user may develop a
of both the functional and non functional feeling that the developer are shifting their work and
requirements [9]. Using an elicitation method can responsibility onto the users. To get the detailed
help in producing a consistent and complete set of description about the remaining techniques please
security requirements. However, brainstorming and refer to [5] [6] [4]. The paper is organized as follows:
elicitation methods used for ordinary functional (end- In section 2 we present the background and related
user) requirements usually are not oriented toward work. In section 3 we have proposed the framework
security requirements and do not result in a consistent for elicitation and prioritization of software

138

© 2009 ACADEMY PUBLISHER


SHORT PAPER
International Journal of Recent Trends in Engineering, Vol 2, No. 3, November 2009

requirements (FEPSR) using AHP and QFD 3. Elicit the software requirements with the
techniques, in this section we have also applied help of the following
FEPSR on a Mini Software for Numerical Integration (a) Collect information about user
(MSNI) and finally we conclude the paper in section expectations.
4. (b) Train the Clients, Users and Managers.
II. BACKGROUND AND RELATED WORK: (c) Write the description of the user need for
D.Firesmith [1], have worked for prioritization the proposed system.
dimensions, prioritization approach, prioritization (d) Now you can apply Misuse cases, JAD,
techniques and processes. This paper does not RAD, and Ontology framework.
explain how the software requirements will be 4. In this framework we are using two different
prioritize mathematically? It has only a list of prioritizing techniques i.e. Analytic
prioritization techniques. In [19] C. Kuloor and A. Hierarchy Process (AHP) and Quality
Eberlrin have explained the requirements engineering Function Deployment (QFD).
for software product lines. It has limited number of 5. If we are using AHP
elicitation techniques. This paper does not include {
ontology framework, misuse cases, rapid application Create the overall performance
development etc. In [21] J.Karlsson, C Wohlin, and matrix
B.Regnell have evaluated six different methods for }
prioritization software requirements. In this paper, Then calculate the Eigen vector
authors have found that Analytic Hierarchy Process Else
to be the most promising method. But in literature we {
have found the some weaknesses of the AHP. The Develop the QFD matrix
limitation of the AHP is that it only works because on the basis of the software
the matrices are all of the same mathematical form- requirements
known as positive reciprocal matrix. To create such a }
matrix requires that, if we use the number 9 to 6. Draw the Pareto- like graph
represent A is absolutely more important than B then
we have to use 1/9 to define the relative importance 3.1 Evaluation of Elicitation Criteria:
of B with respect to A. Some people regard that as The elicitation evaluation criteria may be useful in
reasonable: others are less happy about it. This paper selecting an elicitation method. We evaluate the
does not include any elicitation technique. We know elicitation criteria on the basis of [13, 14].
that without eliciting any requirements we can not
prioritize it. So in order to prioritize the requirements, 3.2 Choose the appropriate Elicitation Technique: In
there should be a list of elicitation techniques. [4] Nancy. R. Mead, have discussed the techniques to
Researchers, scientist and academician in the field of evaluate the elicitation criteria .So in this paper we
software engineering have proposed several have used that technique to evaluate the best
techniques to elicit the software requirements. In [3] elicitation technique and we found that JAD is
authors have proposed an approach for the software appropriate for MSNI. Above parameters are used to
requirements elicitation. They have used the several choose the best elicitation techniques. In this paper
steps like training sessions to eliminate “lack of user we have applied Joint Application Development to
input” and “poor understanding”, recording elicit the software requirements. We know that we
keywords, pictorial representation of needs and wants have elicited the software requirements for
to reduce language barriers etc. but this approach Numerical Integration Based Software i.e. MSNI
does not have the information that how we will which were used to solve the given set of integrals
prioritize the requirements. In [7] the authors have using Simpson’s 1/3, Simpson’s 3/8 and Trapezoidal
provided the different elicitation technique and rules.
criteria for its selection. In the continuation of the 3.3 Elicit the Software Requirements with the help of
above work we have proposed a FEPSR using AHP the following:
and QFD. 3.3.1 Collect information about user expectations:
III. PROPOSED FRAMEWORK: Software Requirement Specification is the first step
In this section we have proposed FEPSR using AHP in the software development which is used to capture
and QFD with the help of [14, 15]. This framework the requirement of the client. Before the designing
overcomes the problems that we had discussed in the phase SRS team write the user manual i.e. SRS and
last section. from this SRS we collect the information about the
1. Evaluation of Elicitation Criteria. user need and expectations. This careful compilation
2. Choose the appropriate Elicitation method. of information will be used in the next phase to train

139

© 2009 ACADEMY PUBLISHER


SHORT PAPER
International Journal of Recent Trends in Engineering, Vol 2, No. 3, November 2009

the clients/ user and make them aware of what they Competing manufactures of that equipment have
can and can not expect from the software developers. offered three options, X, Y, and Z . The software
In this stage stakeholder also learn about the engineers have looked at these options and decided
limitations of the computer resources and that X is cheap and easy to operate but is very
functionalities, and availability of other resources. reliable and could not easily be adapted to other
3.3.2 Train the Clients, Users, and Managers: Once users. Y is somewhat more expensive, is reasonable
we have collected the information about the user and easy to operate, and is very reliable and not very
need and expectation; the next step is to train the adaptable. Finally, Z is very expensive, not easy to
clients, users and managers. At this stage, missing operate, is a little less reliable than Y but is claimed
user input can be supplemented. by the manufacturer to have a wide range of
3.3.3 Write the description of the user need for the alternatives uses. Each of X, Y, and Z will satisfy the
proposed system: After the successful completion of firm’s requirements to differing extents so which,
the above steps, each stakeholder will write the overall, best meets this firm’s needs? This is clearly
description of his/ her needs of the system that the an important and common class of problem and AHP
clients want to develop. Since the clients and have numerous applications. We first provide an
customers are already educated about the computer initial matrix for the firm’s pair wise comparisons in
limitations and availability of resources through the which the principal diagonal contains entries of 1, as
training sessions. In this stage expectations of the each factor is as important as itself [15].
development process become clearer. With the help
of the above steps i.e. 3.3.1, 3.3.2, and 3.3.3, we have E O R F
elicited the software requirements for MSNI and the E 1
O 1
important list of software requirements are given R 1
below. F 1
(a) Total numbers of existing algorithm like There is no standard way to make the pair wise
Simpson’s 1/3 rule, Simpson’s 3/8 and Trapezoidal comparison but let us suppose that the firm decide
rule. (EA); (b) Total numbers of algorithms proposed that O is slightly more important than cost. In the
by the researchers (PA); (c) Accuracy (AC); (d) next matrix that is rated as 3 in the cell O, E and I/3
Graphical User Interface (GI); (e) Functionality of in E, O. They also decide that reliability is far more
the algorithm (FA); (f) Passwords (PW) (g) Risk (RI) important than cost, giving 9 in R, E and 1/9 in E, R.
(h) Cost (CO). Similarly we enter the information into the given
3.4 In this paper we have used two different matrix on the basis of the Saaty Rating scale. This
approaches for prioritizing the software requirements forms the completed matrix, which we will term the
i.e. Analytic Hierarchy Process and Quality Function Overall Preference matrix (OPM) is
Deployment (QFD). The Analytic Hierarchy Process E O R F
(AHP) is a structured technique for dealing with E 1 1/3 1/9 1/5
complex decisions. Rather than prescribing a O 3 1 1 1
"correct" decision, the AHP helps the decision
R 9 1 1 3
makers find the one that best suits their needs and
F 5 1 1/3 1
their understanding of the problem. Based on
The eigenvector (importance weight) of the relative
mathematics and psychology, it was developed by
importance or value of E, O, R, and F is (0.058,
Thomas L. Saaty [11] in the 1970s and has been
0.2620, 0. 454, and 0.226). Thus R is most valuable,
extensively studied and refined since then. The AHP
O and F are behind, but roughly equal and E is very
provides a comprehensive and rational framework for
much less significant. So in this way we can easily
structuring a decision problem, for representing and
collect the customer’s requirements. After the
quantifying its elements, for relating those elements
detailed description of the AHP we have provided the
to overall goals, and for evaluating alternative
QFD approach in order to prioritize the software
solutions. It is used around the world in a wide
requirements and the steps for the QFD are given
variety of decision situations, in fields such as
below:
government, business, industry, healthcare, and
1. Generate the importance weight for CNS
education. In this section we have first explain how
using Analytic Hierarchy Process (AHP)
the AHP would be used to prioritize the software
2. Place the customer needs, their weight and
requirements. Suppose a university wishes to buy a
specification in a QFD matrix.
piece of software of certain type and has four aspects
3. Find out the absolute weight and relative
in mind which will govern its purchasing choice. (i)
weight.
Expense, E (ii) Operability, O (iii) Reliability, R (iv)
4. Create the Pareto-like chart of the weights.
Adaptability for other uses or Flexibility , F.

140

© 2009 ACADEMY PUBLISHER


SHORT PAPER
International Journal of Recent Trends in Engineering, Vol 2, No. 3, November 2009

From the above steps we have got the idea that how specification attributes and SA-2 means second
we will collect the customer needs and how we will specification attributes and so on.
prioritize that need using AHP? In this paper we have
used the concept of the QFD [16, 17] for the Table-04
prioritization of the software requirements. Consider Category I. Weight
4.1 0.0948
the following overall performance matrix (OPM) that 4.2 0.121
is derived from customer needs statement for MSNI: 4.3 0.069
Table-1 (OPM) 4.4 0.112
C PA AC EA FA GI RI PW CO 4.5 0.080
1 PA 1 1/5 1/3 1/7 3 3 1/5 1/3 4.6 0.121
2 AC 5 1 1/5 1/9 3 3 1/3 1/5 4.7 0.129
3 EA 3 5 1 1/7 3 3 3 5 4.8 0.084
4 FA 7 9 7 1 9 1/5 1/3 5 4.9 0.109
5 GI 1/3 1/3 1/3 1/9 1 5 3 1/5 4.10 0.0793
6 RI 1/3 1/3 1/3 5 1/5 1 3 5
7 PW 5 3 1/3 3 1/3 1/3 1 5 QFD Matrix
8 CO 3 5 1/5 1/5 5 1/5 1/5 1 CN GW Quality Characteristics
After applying the AHP we have got the importance SA-1 SA-2 SA-3 SA-4 SA-5
weights and it is summarized in table- 02. 4.1 .0253 1 1 3 10
Table-02 4,.2 .0323 3
Category I. Weight 4.3 .0184
1 0.0569 4.4 .0299
2 0.0674 4.5 .0213 9
3 0.221 4.6 .0323 10
4 0.2667 4.7 .0344 10
5 0.0627 4.8 .0224 1
6 0.100 4.9 .0291 1
7 0.141 4.10 .0211
8 0.083 Once the body of the matrix is filled in, multiply the
In the above table functionality of the algorithm has values in each column of the body of the matrix by
the highest priority because its importance weight is the corresponding values in the global weight column
0.2667 i. e. category 4. Under this category there are and sum the column. All raw column weights thus
again 10 requirements and these requirements are R1, calculated and then normalized as shown in the
R2, ----- R10. The overall performance matrix for following table:
this situation is as below: Table-5
Table-03 (OPM) S. Attributes Absolute Weight Normalized weight
R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 SA-1 0.0253 0.00281
R1 1 1/5 3 7 1/3 5 7 9 1/9 1/3 SA-2 0.0323 0.00358
R2 5 1 3 1/3 5 3 1/5 1/5 9 1/7 SA-3 0.4199 0.046
R3 1/3 1/3 1 3 7 3 1/7 1/5 1/3 1/5 SA-4 0.4738 0.053
R4 1/7 3 1/3 1 3 3 3 1/5 1/3 7 SA-5 0.4423 0.0491
R5 3 1/5 1/7 1/3 1 3 5 9 1/9 1/7 From the given chart we conclude that which
R6 1/5 1/3 1/3 1/3 1/3 1 5 5 7 9 specification attribute will get the priority. In this
R7 1/7 5 7 1/3 1/5 1/5 1 3 5 7 approach SA-4 has got first priority, then SA-5 and
R8 1/9 5 5 5 1/9 1/5 1/3 1 5 1/5
R9 9 1/9 3 3 9 1/7 1/5 1/5 1 3 so on.
R10 3 1/7 5 1/7 7 1/9 1/7 5 1/3 1
Pareto-Like Chart of the weights
After applying the AHP [11, 18] we have got the ranked from largest to smallest
importance weights and it is summarized in table- 04. 0.06
To compare the global importance of all items in all
Relative Weights

0.05
0.04
categories each item needs to be adjusted by the 0.03 Series1
0.02
importance weighting of its corresponding category. 0.01

Thus all the weight category 4 would be adjusted by 0IV. CONCLUSION:


SA-4 SA-5 SA-3 SA-2 SA-1
multiplying the weight of each element by the Specification Attributes

importance weighting of category 4 i.e. 0.267. Thus


the global weight of element 4.1 would be IV CONCLUSION:
0.267*0.094= 0.0253. After obtaining all the global The poor performance could be (i) unrelated to
weights we proceed to the next step in our CTQ elicitation techniques, (ii) caused by lack of effective
(critical- to- quality) process. Now we will Place elicitation techniques, (iii) by availability but poor
customer needs, there weight and specification in use of effective elicitation techniques. In this paper
QFD matrix. In the following table SA-1 means first we have proposed an approach to elicit the software

141

© 2009 ACADEMY PUBLISHER


SHORT PAPER
International Journal of Recent Trends in Engineering, Vol 2, No. 3, November 2009

requirements and its prioritization using AHP. From IEEE International Conference on System
this approach we can easily rank the requirements Sciences, 2002.
and can implement it on the basis of the ranking. In 6. W.R. Friedrich, J. A. Van der Poll, “Towards a
Methodology to Elicit Tacit Domain knowledge
this paper we have developed the mini software for
from Users”, Interdisciplinary Journal of
numerical integration (MSNI). This software Information, Knowledge, and Management,
basically integrates the value of a given function after Volume2, 2007.
applying existing techniques like Simpson’s 1/3 rule, 7. A.M. Hickey, A.M. Davis, “Elicitation
Simpson’s 3/8 rule, trapezoidal rule etc. Any product Technique Selection: How Do Experts Do It?”
development involves projecting its potentials Proceedings of the 11th IEEE International
success in achieving its functional and commercial Requirements Engineering Conference, 2003.
goals. Better quality designs that match customer 8. Gunnar Peterson, John Steven, “Defining Misuse
needs and preferences and integrate other life cycle within the Development Process”, IEEE Security
and Privacy, 2006.
issues early in the software development process.
9. J.J.Pauli, D.Xu, “Misuse Case-Based design and
Thus there is significant concern in industry about Analysis of secure Software Architecture”,
quality product design, which is addressed by Quality Proceedings of the IEEE International
function Deployment (QFD). From the proposed Conference on Information Technology: Coding
framework it would be easy to prioritize the and Computing (ITCC05), 2005.
requirements. We know that 70% of the system errors 10. Ian Alexander, “Misuse Cases Help to Elicit
are due to the in adequate system specification and Non-functional Requirements”, Computing and
30% of the system errors are due to design issue. If Control Engineering 2003.
we can elicit the system requirements properly and 11. T. L. Saaty, “The Analytic Hierarchy process”,
New York, McGraw-Hill, 1980.
can prioritize it according to proposed framework
12. J. Karlsson, “Software Requirements
then we can definitely reduce this 70% factor. Prioritizing”, Proceedings of the International
Conference on Requirement Engineering, 1996.
V. ACKNOWLEDGEMENTS: 13. Beichter F. et al, “ SLAN-4-A Software
The authors would like to thank Mr. Iqbal Azam, Specification and Design Language”, IEEE
Principal, University Polytechnic, Faculty of Transaction on Software Engineering, SE- 10,2,
Engineering and Technology, Jamia Millia Islamia 1994, pp 155-162.
(A Central University), New Delhi-25, India ; and 14. Mohd. Sadiq, Shabina Ghafir, Mohd. Shahid,
Mr. Jawad Ahmad Siddiqui, Chairman, Al-Falah “An Approach for Eliciting Software
Requirements and its Prioritization using
School of Engineering and Technology, Dhauj,
Analytic Hierarchy Process”, IEEE International
Faridabad, Haryana, India, for his valuable support , Conference on Advances in Recent Technologies
guidance and encouragement in Communication and Computing, 2009,
ACEEE annual world congress on Engineering
REFERENCES: and Technology , Kerala, India.
1. D. Firesmith, “ Prioritizing Requirements”, 15. Mohd. Sadiq, Shabina Ghafir, Mohd. Shahid,” A
Journal of Object Technology, Volume 3, No.8, Framework to Prioritize the software
September 2004 Requirements using Quality Function
2. LI Zong-yong, WANG Zhi-xue, YANG-ying, Deployment”, National Conference on Recent
WU Yue, LIU Ying, “ Towards multiple Development in Computing and its Application,
ontology Framework for Requirements 2009, organized by Jamia Hamdard, Delhi, India.
Elicitation and Reuse”, 31st IEEE Annual 16. Xiaoqing frank Liu, “Software Quality
International Computer Software and Application Development”, IEEE Potentials, 2008.
Conference, 2007. 17. Bruce White, “QFD for small business”,
3. P.Rajagopal, R.Lee, Thomas Ahlswede, Chia- Transaction from the 18 Symposium on QFD,
Chu Chiang, D. Karolak, “ A New Approach for 2006.
Software Requirements Elicitation”, Proceedings 18. http://en.wikipedia.org/wiki/Analytic_Hierarchy_
of the 6th IEEE International Conference on Process
Software Engineering, Artificial Intelligence, 19. C.Kuloor, Armin Eberlein, “Requirements
Networking and Parallel/ Distributed Computing, Engineering for Software Product Lines”, The
2005. University of Calgary, Canada.
4. Nancy R. Mead, “Requirements Elicitation 20. J. Karlsson, C. Wohlin, B. Regnell, “An
Introduction”, Software Engineering Institute Evaluation of Methods for Prioritizing Software
Carnegie Mellon University, 2008-2009. Requirements”, Elsvier Journal of Information
5. Ann M. Hickey, Alan M. Davis, “Requirements and Software Technology, 1998, pp. 939-947.
Elicitation and Elicitation technique selection: A
Model for Two knowledge-Intensive Software
development Process”, Proceedings of the 36th

142

© 2009 ACADEMY PUBLISHER

View publication stats

You might also like