Abstract
Software Development Lifecycle (SDLC) is a systematic process used to achieve high quality software that meets customer requirements. During SDLC requirements, engineering plays an important role. Prioritisation helps to focus on the most important requirements in terms of importance, cost, penalty, time and risk. Stakeholders (users, developers) of the software product identify requirements. The two major activities of requirement engineering process are requirements classification and requirements prioritisation. Sometimes requirement mentioned by stakeholder can be of both types, i.e. functional and non-functional. So it is challenging to classify requirements separately in two different categories. There are many fundamental prioritisation techniques available to prioritise software requirements. In this paper, we have compared existing requirements prioritisation techniques based on ease of use, speed, scalability and accuracy. Our literature study suggests that the appropriate requirements prioritisation technique has to be selected that can help software developer to minimise the risk, penalty. In automating various tasks of software engineering, machine learning (ML) has shown useful positive impact. This paper discusses the various algorithms used to classify and prioritise the software requirements. The results in terms of performance, scalability and accuracy from different studies are contradictory in nature due to variations in research methodologies and the type of dataset used. Based on the literature survey conducted, we propose a new architecture that will use both types of datasets, i.e. Software Requirement Specifications (SRS) and user text reviews to create a generalised model. Our proposed architecture will attempt to extract features which can be used to train the model using ML algorithms. The ML algorithms for classifying and prioritising software requirements will be developed and assessed based on performance, scalability and accuracy.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
P. Achimugu, A. Selamat, R. Ibrahim, A clustering based technique for large scale prioritization during requirements elicitation, in Recent Advances on Soft Computing and Data Mining, vol. 287, ed. by T. Herawan, R. Ghazali, M. Deris (Springer, Cham, Switzerland, 2014), p. 3039
C. Hoskinson, Army’s faulty computer system hurts operations, Politico, 2011, (Online). Available: http://www.politico.com/news/stories/0611/58051.html
T. Iqbal, P. Elahidoost, L. Lucio, A Bird’s eye view on requirements engineering and machine learning, https://doi.org/10.1109/apsec.2018.00015
F. Hujainah, R.B.A. Bakar, M.A. Abdulgabber and K.Z. Zamli, Software requirements prioritisation: a systematic literature review on significance, stakeholders, techniques and challenges, vol. 6 (IEEE Access, 2018), pp. 71497–71523
A. Khan, B. Baharudin, L.H. Lee, K. Khan, A review of machine learning algorithms for text-documents classification. J. Adv. Inf. Technol. 1(1), 4–20 (2010)
M. Binkhonain, L. Zhao, A review of machine learning algorithms for identification and classification of non-functional requirements. Expert Syst. Appl. https://doi.org/10.1016/j.eswa.2019.02.031
R. Malhotra, A. Chug, A. Hayrapetian, R. Raje, Analyzing and evaluating security features in software requirements (Innovation and Challenges in Cyber Security, Noida, India, 2016)
P. Singh, D. Singh, A. Sharma, Rule-based system for automated classification of non-functional requirements from requirement specifications (Advances in Computing, Communications and Informatics, Jaipur, India, 2016)
M. Lu, P. Liang, Automatic classification of non-functional requirements from augmented app user reviews, in Proceedings of 21st International Conference on Evaluation and Assessment in Software Engineering, Karlskrona, Sweden, 2017
R. Deocadez,, R. Harrison, D. Rodriguez, Automatically classifying requirements from app stores: a preliminary study, in IEEE 25th International Requirements Engineering Conference Workshops, Lisbon, Portugal, 2017
J. Zou, L. Xu, M. Yang, X. Zhang, D. Yang, Towards comprehending the non-functional requirements through developers’ eyes: an exploration of Stack Overflow using topic analysis. Inf. Softw. Technol. 84, 19–32 (2017)
Z. Kurtanović, W. Maalej, Automatically classifying functional and non-functional requirements using supervised machine learning, in IEEE 25th International Requirements Engineering Conference (RE), Lisbon, 2017, pp. 490–495
D. Singh, A. Sharma, Software requirement prioritization using machine learning, in Proceedings of the International Conference on Software Engineering and Knowledge Engineering, (SEKE. 2014), pp. 701–704
F. Shao, R. Peng, H. Lai, B. Wang, DRank: a semi-automated requirements prioritization method based on preferences and dependencies. J. Syst. Softw. (2016). https://doi.org/10.1016/j.jss.2016.09.043
J. Winkler, A. Vogelsang, Automatic classification of requirements based on convolutional neural networks, in IEEE 24th International Requirements Engineering Conference Workshops (REW), Beijing, 2016, pp. 39–45. https://doi.org/10.1109/rew.2016.021
C. Li, L. Huang, J. Ge, B. Luo, V. Ng, Automatically classifying user requests in crowdsourcing requirements engineering. J. Syst. Softw. 138, 108–123 (2107)
Z.S.H. Abad, O. Karras, P. Ghazi, M. Glinz, G. Ruhe, K. Schneider, What works better? A study of classifying requirements. Paper presented at IEEE 25th International Requirements Engineering Conference Workshops, Lisbon, Portugal, 2017
R. Jindal, R. Malhotra, A. Jain, Automated classification of security requirements, in Advances in Computing, Communications and Informatics, Jaipur, India, 2016
A. Mahmoud, G. Williams, Detecting, classifying, and tracing non-functional software requirements. Requirements Eng. 21, 2016. https://doi.org/10.1007/s00766-016-0252-8
I. Morales-Ramirez, D. Muñante, F. Kifetew, A. Perini, A. Susi, A. Siena, Exploiting user feedback in tool-supported multi-criteria requirements prioritization, in Proceedings of IEEE Region 10 Humanitarian Technologies Conference (R10-HTC), 2017, pp. 424–429
M. Sadiq, T. Hassan, S. Nazneen, AHP_GORE_PSR: applying analytic hierarchy process in goal oriented requirements elicitation method for the prioritization of software requirements, in Proceedings of 3rd IEEE International Conference, 2017, pp. 1–5
K.S. Ahmad, N. Ahmad, H. Tahir, S. Khan, Fuzzy_MoSCoW: a fuzzy based MoSCoW method for the prioritization of software requirements, in Proceedings of International Conference on Intelligent Computing, Instrumentation and Control Technologies (ICICICT), 2017, pp. 433–437
L. Alawneh, Requirements prioritization using hierarchical dependencies, in Information Technology_New Generations. Cham, Switzerland: Springer, 2018, pp. 459–464
B.B. Jawale, G.K. Patnaik, A.T. Bhole, Requirement prioritization using adaptive fuzzy hierarchical cumulative voting, in 2017 IEEE 7th International Advance Computing Conference (IACC), Hyderabad, 2017, pp. 95-102. https://doi.org/10.1109/iacc.2017.0034
R. Anand, R. Dinakaran, M., Handling stakeholder conflict by agile requirement prioritization using Apriori technique. Comput. Electr. Eng. 17(61), 126–136 (2017). https://doi.org/10.1016/j.compeleceng.2017.06.022
L. Chung, B.A. Nixon, E. Yu, J. Mylopoulos, Non-Functional Requirements in Software Engineering, International Series in Software Engineering, vol. 5 (Springer, Heidelberg, 1999), p. 476
A.S. Danesh, R. Ahmad, Study of prioritization techniques using students as subjects, in ICIME ’09: Proceedings of the 2009 International Conference on Information Management and Engineering, Washington, DC, USA: IEEE Computer Society, 2009, pp. 390–394
J. Karlsson, C. Wohlin, B. Regnell, An evaluation of methods for prioritizing software requirements. Inf. Softw. Technol. 39(14–15), 939–947 (1998)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Talele, P., Phalnikar, R. (2021). Software Requirements Classification and Prioritisation Using Machine Learning. In: Joshi, A., Khosravy, M., Gupta, N. (eds) Machine Learning for Predictive Analysis. Lecture Notes in Networks and Systems, vol 141. Springer, Singapore. https://doi.org/10.1007/978-981-15-7106-0_26
Download citation
DOI: https://doi.org/10.1007/978-981-15-7106-0_26
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-7105-3
Online ISBN: 978-981-15-7106-0
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)