Abstract
Software quality plays a significant role in ensuring the customer demands and expectations. Generally speaking, Quality of the software is a functional behaviour that heavily depends on the non-functional requirements. However, generally software engineer’s pay relatively lesser attention to the non-functional requirements. Moreover, it is of vital importance to have a clear view of software’s quality as early as possible, because it can affect the different artefacts of the software at later development stages including implementation, testing, and maintenance. The early-stage conformance of software quality is more important in agile-based software development where the requirements are more volatile than any other development environments. The early knowledge about the software quality can positively impact on the design decisions in agile-based software development context. Motivated by this, we propose a conceptual framework for automatic extraction and prioritization of quality attributes from the user stories in an agile-based development context. The proposed framework contains two main components including QAExtractor and QAPrioritiser. The core of this framework (QAExtractor) is based on natural language processing, which generalise the user stories for a specific quality attribute. In contrast, QAPrioritiser ranks the extracted quality attributes grounded on the frequency, roles impact, and criticality factor value. We validate the effectiveness of the proposed framework using two case studies. The results revealed that the proposed framework outperforms the existing technique in terms of precision, recall, and F measure.







Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Abad, Z.S.H., Karras, O., Ghazi, P., Glinz, M., Ruhe, G., Schneider, K.: What works better? a study of classifying requirements. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pages 496–501. IEEE, (2017)
Al Omran, F.N.A., Treude, C.: Choosing an nlp library for analyzing software documentation: a systematic literature review and a series of experiments. In: 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), pages 187–197. IEEE, (2017)
Al Imran, M.A., Lee, S.P., Ahsan, M.M.: Measuring impact factors to achieve conflict-free set of quality attributes. In: 2017 IEEE 8th Control and System Graduate Research Colloquium (ICSGRC), pages 174–178. IEEE, (2017)
Aljallabi, B.M., Mansour, A.: Enhancement approach for non-functional requirements analysis in agile environment. In: 2015 International Conference on Computing, Control, Networking, Electronics and Embedded Systems Engineering (ICCNEEE), pages 428–433. IEEE, (2015)
Arvanitou, Elvira Maria, Ampatzoglou, Apostolos, Chatzigeorgiou, Alexander, Galster, Matthias, Avgeriou, Paris: A mapping study on design-time quality attributes and metrics. J. Syst. Softw. 127, 52–77 (2017)
Bellomo, S., Nord, R., Ozkaya, I.: Elaboration on an integrated architecture and requirement practice: prototyping with quality attribute focus. In: 2013 2nd International Workshop on the Twin Peaks of Requirements and Architecture (TwinPeaks), pages 8–13. IEEE, (2013)
Chung, Lawrence, Nixon, Brian A., Yu, Eric, Mylopoulos, John: Non-Functional Requirements in Software Engineering, vol. 5. Springer, Berlin (2012)
Chung, L., Prado Leite, J.C.S.D.: On non-functional requirements in software engineering. In: Conceptual modeling: Foundations and applications, 363–379. Springer, Berlin (2009)
Collobert, R., Weston, J., Bottou, L., Karlen, M., Kavukcuoglu, K., Kuksa, P.: Natural language processing (almost) from scratch. J. Mach. Learn. Res. 12, 2493–2537 (2011)
Domah, D.: The NERV Methodology Non-Functional Requirements Elicitation Reasoning and Validation in Agile Processes PhD thesis. Nova Southeastern University, Fort Lauderdale (2013)
Etxeberria, L., Mendieta, G.S., Belategi, L.: Modelling Variation in Quality Attributes. VaMoS. 7, 51–59 (2007)
Farid, W.M.: The normap methodology: Lightweight engineering of non-functional requirements for agile processes. In: 2012 19th Asia-Pacific Software Engineering Conference, volume 1, pages 322–325. IEEE, (2012)
Farid, W.M., Mitropoulos, F.J.: Normatic: A visual tool for modeling non-functional requirements in agile processes. In: 2012 Proceedings of IEEE Southeastcon, pages 1–8. IEEE, (2012)
Ferrari, Alessio, Dell’Orletta, Felice, Esuli, Andrea, Gervasi, Vincenzo, Gnesi, Stefania: Natural language requirements processing: a 4d vision. IEEE Ann. Hist. Comput. 34(06), 28–35 (2017)
Gilson, F., Galster, M., Georis, F.: Extracting quality attributes from user stories for early architecture decision making. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pages 129–136. IEEE, (2019)
Hneif, M., Lee, S.P.: Using guidelines to improve quality in software nonfunctional attributes. IEEE Softw. 28(6), 72–77 (2010)
Jain, P., Sharma, A., Ahuja, L.: Ism based identification of quality attributes for agile development. In: 2016 5th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions)(ICRITO), pages 615–619. IEEE, (2016)
Jawad, A.N.A., Bashir, H.: Hierarchical structuring of organizational performance using interpretive structural modeling. In: 2015 International Conference on Industrial Engineering and Operations Management (IEOM), pages 1–7. IEEE, (2015)
Jeon, S., Han, M., Lee, E., Lee, K.: Quality attribute driven agile development. In: 2011 Ninth International Conference on Software Engineering Research, Management and Applications, pages 203–210. IEEE, (2011)
Kassab, M.: The changing landscape of requirements engineering practices over the past decade. In: 2015 IEEE fifth international workshop on empirical requirements engineering (EmpiRE), pages 1–8. IEEE, (2015)
Knauss, E., Ott, D.: (semi-) automatic categorization of natural language requirements. In: International Working Conference on Requirements Engineering: Foundation for Software Quality, pages 39–54. Springer, (2014)
Kurtanović, Z., Maalej, W.: Automatically classifying functional and non-functional requirements using supervised machine learning. In: 2017 IEEE 25th International Requirements Engineering Conference (RE), pages 490–495. Ieee, (2017)
Lu, M., Liang, P.: Automatic classification of non-functional requirements from augmented app user reviews. In: Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering, pages 344–353, (2017)
Maiti, R.R., Mitropoulos, F.J.: Capturing, eliciting, and prioritizing (cep) nfrs in agile software engineering. In: SoutheastCon 2017, pages 1–7. IEEE, (2017)
McCall, J.A., Richards, P.K., Walters, G.F.: Factors in software quality. volume i. concepts and definitions of software quality. Technical report, GENERAL ELECTRIC CO SUNNYVALE CA, (1977)
Mendeley data - requirements data sets (user stories). https://data.mendeley.com/datasets/7zbk8zsd8y/1. (Accessed on 11/22/2020)
Moreira, A., Araújo, J., Brito, I.: Crosscutting quality attributes for requirements engineering. In: Proceedings of the 14th international conference on Software engineering and knowledge engineering, pages 167–174, (2002)
Petrov, S., Das, D., McDonald, R.: A universal part-of-speech tagset. arXiv preprint arXiv:1104.2086, (2011)
Rehman, Bisma, Alam, Khubaib Amjad, Ko, Kwang Man: Automated classification of mobile app reviews considering user’s quality concerns. In: Sajid Anwar and Abdul Rauf, editors, Proceedings of the First International Workshop on Intelligent Software Automation, pages 29–35, Singapore, (2021). Springer Singapore
Schön, Eva-Maria., Thomaschewski, Jörg., Escalona, María José.: Agile requirements engineering: a systematic literature review. Comput. Stand. Interfaces 49, 79–91 (2017)
User stories and user story examples by mike cohn. https://www.mountaingoatsoftware.com/agile/user-stories. (Accessed on 09/23/2020)
Yin, W., Kann, K., Yu, M., Schütze, H.: Comparative study of cnn and rnn for natural language processing. arXiv preprint arXiv:1702.01923, (2017)
Acknowledgements
The authors would like to acknowledge the feedback and suggestions of members of Software Reliability Engineering Group (SREG) that helps in improving the initial version of the manuscript.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Ahmed, M., Khan, S.U.R. & Alam, K.A. An NLP-based quality attributes extraction and prioritization framework in Agile-driven software development. Autom Softw Eng 30, 7 (2023). https://doi.org/10.1007/s10515-022-00371-9
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10515-022-00371-9
Keywords
Profiles
- Saif Ur Rehman Khan View author profile
- Khubaib Amjad Alam View author profile