| dc.description.abstract |
This research explores the important difference between Functional Software Requirements (FRs) and Non-Functional Software Requirements (NFRs). FRs describe what a software system should do, such as user authentication and administrative tasks, while NFRs explain how the system should perform, including aspects like performance, reliability, and security. Classifying these requirements is crucial for developing high-quality software that meets user needs and industry standards. As technology changes, the need for automated sorting of user feedback becomes more important, especially when understanding clear and unclear user requirements. This research addresses the challenges of interpreting user feedback, which can lead to misclassifications. By applying effective text preprocessing and advanced NLP techniques, such as text cleaning, lowercasing, tokenization, stopword removal, lemmatization, duplicate words removal, handling missing values, and Label Encoding, the goal is to improve the accuracy of requirement extraction. A new method is proposed to automatically extract and classify FRs and NFRs from user app reviews. This method combines data from Software Requirements Specification (SRS) documents and user feedback. In this study, machine learning algorithms were applied to the dataset, yielding promising results. The Support Vector Machine (SVM) achieved an accuracy of 86.08%, the Stochastic Gradient Descent (SGD) algorithm attained 84.92%, and the Random Forest (RF) outperformed the others with an accuracy of 91%. Using the PURE dataset: FR NFR dataset, which includes 6117 requirements where 3964 requirements are functional and 2153 requirements are nonfunctional, this study aims to create effective methods for distinguishing between clear and unclear user needs. By utilizing advanced deep learning models like BERT, the research seeks to provide valuable insights into user preferences, helping developers make informed decisions about software improvements and enhancing the software development process. By employing the BERT (Bidirectional Encoder Representations from Transformers) deep learning model, the study achieved a precision of 89.5%, an accuracy of 89.4%, a recall of 89.4%, and an F1-score of 89.4% in the task of identifying software requirements. |
en_US |