An NLP-based quality attributes extraction and prioritization framework in Agile-driven software development

Mohsin Ahmed,Saif Ur Rehman Khan,Khubaib Amjad Alam
DOI: https://doi.org/10.1007/s10515-022-00371-9
IF: 1.677
2023-01-11
Automated Software Engineering
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.
computer science, software engineering
What problem does this paper attempt to address?