Skip to main content

Software Requirements Classification and Prioritisation Using Machine Learning

  • Conference paper
  • First Online:
Machine Learning for Predictive Analysis

Part of the book series: Lecture Notes in Networks and Systems ((LNNS,volume 141))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 259.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 329.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 329.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. 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

    Google Scholar 

  2. https://www.opendoorerp.com/the-standish-group-report-83-9-of-it-projects-partially-or-completely-fail/

  3. C. Hoskinson, Army’s faulty computer system hurts operations, Politico, 2011, (Online). Available: http://www.politico.com/news/stories/0611/58051.html

  4. 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

  5. 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

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

  17. 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)

    Google Scholar 

  18. 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

    Google Scholar 

  19. R. Jindal, R. Malhotra, A. Jain, Automated classification of security requirements, in Advances in Computing, Communications and Informatics, Jaipur, India, 2016

    Google Scholar 

  20. 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

  21. 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

    Google Scholar 

  22. 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

    Google Scholar 

  23. 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

    Google Scholar 

  24. L. Alawneh, Requirements prioritization using hierarchical dependencies, in Information Technology_New Generations. Cham, Switzerland: Springer, 2018, pp. 459–464

    Google Scholar 

  25. 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

  26. 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

  27. http://fmt.isti.cnr.it/nlreqdataset/

  28. http://soolinglim.com/datasets/?wordpress#app

  29. 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

    MATH  Google Scholar 

  30. 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

    Google Scholar 

  31. J. Karlsson, C. Wohlin, B. Regnell, An evaluation of methods for prioritizing software requirements. Inf. Softw. Technol. 39(14–15), 939–947 (1998)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pratvina Talele .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics