The thesis addresses a part of the requirements engineering process (RE), namely the treatment of non-functional requirements. Requirements are commonly divided into functional requirements (FRs) and non-functional requirements (NFRs). NFRs address the non-functional aspects of a system, for example, its user interface. The thesis lays the theoretical background and explores the general nature of NFRs including different taxonomies of NFRs. It then looks closely at NFRs in the context of mobile applications.
In their marketplaces, so-called App Stores, users can express their opinion about an app after downloading and using it. Software developers can collect requirements straight from these reviews. This can help them improve their software to meet users' expectations. Due to the vast amount of review data manual inspection is tedious, time-consuming, cumbersome, or even infeasible. Tools to automatically classify such reviews might aid with this problem. However, there is still no solution to automatically extract NFRs from app store reviews and classify them into different types in practice.
The thesis, therefore, assesses the current state of research in developing automated solutions to classify NFRs from app store reviews. It analyzes several past approaches to automatically classify NFRs from app store reviews using machine learning and looks at the performance of different algorithms used for these approaches. It states that the so-called Support Vector Machine (SVM) algorithm performed best in the settings analyzed. The second practical part of the thesis then applies this SVM algorithm onto a given dataset with labeled reviews using Python. The reviews are classified into either one of these categories or no category at all: Usability, Dependability, Performance, and Supportability.
Table of Contents
1 Introduction
1.1 Objectives of the Thesis
1.2 Structure of the Thesis
2 Theoretical Background
2.1 Introduction to Requirements Engineering
2.2 Distinction Between Functional and Non-Functional Requirements
3 Literature Review
3.1 Methodology
3.2 Different Taxonomies for Non-Functional Requirements
3.3 App Store Reviews Containing Non-Functional Requirements
3.4 Different Machine Learning Algorithms to Classify Non-Functional Requirements
4 Applying the Support Vector Machine Algorithm to Classify an Existing Dataset
5 Results
6 Discussion
6.1 Contributions to Theory
6.2 Contributions to Practice
6.3 Limitations and Future Work
7 Conclusion
Objectives and Thematic Focus
This thesis aims to explore the nature of non-functional requirements (NFRs) within app store reviews and evaluates the effectiveness of machine learning algorithms in automatically classifying them. By reviewing existing taxonomies and ML methodologies, the work demonstrates a practical application using a Support Vector Machine (SVM) classifier to identify and categorize these requirements, thereby supporting developers in creating user-centered software.
- Theoretical foundations of Requirements Engineering and NFRs
- Taxonomies and categorization schemes for non-functional requirements
- Characterization of app store reviews as a source for user requirements
- Evaluation of machine learning algorithms (specifically SVM) for automated text classification
Excerpt from the Thesis
3.3 App Store Reviews Containing Non-Functional Requirements
User feedback data has been getting more attention, especially with the rise of the availability of mobile devices like smartphones or tablets (Maalej et al., 2015). Alongside this rise, the need for software to support these systems has become apparent, i.e., mobile applications (Jha & Mahmoud, 2019; Kilani, Tailakh, & Hanani, 2019). Mobile apps, nowadays, play a massive role in people's lives as they provide services for various domains and social groups and aid them in plenty of their daily activities (Kilani et al., 2019; Jha & Mahmoud, 2019). App stores, such as the Apple App Store or Google Play, have emerged as marketplaces (Maalej et al., 2015). These stores provide the possibility to express one's opinion about an app after downloading and using it (Jha & Mahmoud, 2019). This can be in the form of text feedback or other meta-data such as star ratings (Jha & Mahmoud, 2019; Lu & Liang, 2017). This feedback data can then be used for marketing purposes like measuring customer satisfaction (Kilani et al., 2019). However, reviews contain even more valuable information when analyzed in detail (Lu & Liang, 2017). Software developers can collect requirements straight from the users (Kilani et al., 2019). This can help them improve their software to meet users' expectations and is also essential for retaining current users and attracting new ones (Lu & Liang, 2017). While conventional RE mainly involves users through workshops, interviews, or focus groups, using tremendous amounts of such feedback data is a shift towards a more mass-driven and especially user-centered RE (Maalej et al., 2015).
Summary of Chapters
1 Introduction: Introduces the importance of Requirements Engineering in software development and outlines the research objectives regarding the automatic classification of NFRs.
2 Theoretical Background: Defines key concepts of Requirements Engineering and establishes the distinction between functional and non-functional requirements.
3 Literature Review: Provides an overview of NFR taxonomies and examines existing machine learning approaches used to extract and classify requirements from app store data.
4 Applying the Support Vector Machine Algorithm to Classify an Existing Dataset: Details the practical implementation of an SVM classifier using Python to process and categorize app store reviews.
5 Results: Presents and evaluates the performance metrics (accuracy, precision, recall, F-measure) of the developed machine learning models.
6 Discussion: Reflects on the theoretical and practical contributions of the thesis and addresses limitations regarding dataset size and manual labeling.
7 Conclusion: Summarizes the key findings and highlights the potential for future research in automated NFR classification.
Key Terms
Requirements Engineering, Non-Functional Requirements, App Store Reviews, Machine Learning, Support Vector Machine, Text Classification, User-Centered Design, Software Quality, Natural Language Processing, Supervised Learning, Performance Metrics, Automated Analysis
Frequently Asked Questions
What is the core focus of this research?
This research focuses on the automated classification of non-functional requirements (NFRs) extracted from user-generated app store reviews using machine learning techniques.
What are the primary themes covered?
The thesis covers the theoretical definition of NFRs, taxonomies in literature, characteristics of app store reviews, and the application of supervised machine learning algorithms to automate requirement identification.
What is the main objective of this study?
The primary objective is to investigate current research approaches and implement a Support Vector Machine (SVM) algorithm to classify NFRs from an existing dataset of mobile app reviews.
Which scientific method is employed?
The research conducts a comprehensive literature review followed by a technical implementation using Python (Scikit-learn) to train and test a Support Vector Classifier (SVC) for binary classification of NFRs.
What is covered in the main body?
The main body examines different NFR taxonomies, the nature of app store feedback, and the technical pipeline for developing an ML-based classification model, including data preprocessing and performance evaluation.
Which keywords characterize this work?
The work is characterized by terms such as Requirements Engineering, NFRs, Machine Learning, SVM, and App Store Reviews.
Why are Support Vector Machines chosen for the implementation?
The literature review identified that SVM performed consistently well in previous studies for text classification tasks, making it a suitable choice for this thesis.
What are the main limitations identified in the results?
The study highlights limitations such as a relatively small dataset, potential bias from manual labeling, and the issue of class imbalance when using independent binary classifiers.
- Arbeit zitieren
- Esther Krystek (Autor:in), 2021, Automatic Classification of Non-Functional Requirements From App Store Reviews. Reviewing and Applying Approaches From Current Research, München, GRIN Verlag, https://www.grin.com/document/1130435