Automatic Classification of Non-Functional Requirements From App Store Reviews. Reviewing and Applying Approaches From Current Research


Book Description

Bachelor Thesis from the year 2021 in the subject Business economics - Miscellaneous, grade: 1,3, University of Mannheim, language: English, abstract: 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.




Big Data Technologies and Applications


Book Description

This book constitutes the refereed post-conference proceedings of the 11th and the 12th International Conference on Big Data Technologies and Applications, BDTA 2021 and BDTA 2022, held in December 2021 and 2022. Due to COVID-19 pandemic both conferences were held virtually. The 23 full papers of BDTA 2021 and BDTA 2022 were selected from 61 submissions and present all big data technologies, such as big data collection and storage, big data management and retrieval, big data mining approaches, big data visualization, and new domains and novel applications related to these technologies.




Nonfunctional Requirements in Mobile Application Development


Book Description

Nonfunctional Requirements in Mobile Application Development is an empirical study that investigates how nonfunctional requirements--as compared with functional requirements--are treated by the software engineers during mobile application development. The book empirically analyzes the contribution of nonfunctional requirements to project parameters such as cost, time, and quality. Such parameters are of prime interest as they determine the survival of organizations in highly dynamic environments. The impact of nonfunctional requirements on project success is analyzed through surveys and case studies, both individually and relative to each other. Sources for data collection include industry, academia, and literature. The book also empirically studies the impact of nonfunctional requirements on the overall business success of both the software development firm and the software procuring firm. Project success is examined to determine if it leads to business success. The book provides rich empirical evidence to place nonfunctional requirements on par with functional requirements to achieve business success in highly competitive markets. This work enhances the body of knowledge through multiple empirical research methods including surveys, case studies, and experimentation to study software engineers' focus on nonfunctional requirements at both project and business levels. The book can guide both computer scientists and business managers in devising theoretical and technical solutions for software release planning to achieve business success.




Non-Functional Requirements in Software Engineering


Book Description

Non-Functional Requirements in Software Engineering presents a systematic and pragmatic approach to `building quality into' software systems. Systems must exhibit software quality attributes, such as accuracy, performance, security and modifiability. However, such non-functional requirements (NFRs) are difficult to address in many projects, even though there are many techniques to meet functional requirements in order to provide desired functionality. This is particularly true since the NFRs for each system typically interact with each other, have a broad impact on the system and may be subjective. To enable developers to systematically deal with a system's diverse NFRs, this book presents the NFR Framework. Structured graphical facilities are offered for stating NFRs and managing them by refining and inter-relating NFRs, justifying decisions, and determining their impact. Since NFRs might not be absolutely achieved, they may simply be satisfied sufficiently (`satisficed'). To reflect this, NFRs are represented as `softgoals', whose interdependencies, such as tradeoffs and synergy, are captured in graphs. The impact of decisions is qualitatively propagated through the graph to determine how well a chosen target system satisfices its NFRs. Throughout development, developers direct the process, using their expertise while being aided by catalogues of knowledge about NFRs, development techniques and tradeoffs, which can all be explored, reused and customized. Non-Functional Requirements in Software Engineering demonstrates the applicability of the NFR Framework to a variety of NFRs, domains, system characteristics and application areas. This will help readers apply the Framework to NFRs and domains of particular interest to them. Detailed treatments of particular NFRs - accuracy, security and performance requirements - along with treatments of NFRs for information systems are presented as specializations of the NFR Framework. Case studies of NFRs for a variety of information systems include credit card and administrative systems. The use of the Framework for particular application areas is illustrated for software architecture as well as enterprise modelling. Feedback from domain experts in industry and government provides an initial evaluation of the Framework and some case studies. Drawing on research results from several theses and refereed papers, this book's presentation, terminology and graphical notation have been integrated and illustrated with many figures. Non-Functional Requirements in Software Engineering is an excellent resource for software engineering practitioners, researchers and students.




Knowledge Science, Engineering and Management


Book Description

This two-volume set of LNAI 11775 and LNAI 11776 constitutes the refereed proceedings of the 12th International Conference on Knowledge Science, Engineering and Management, KSEM 2019, held in Athens, Greece, in August 2019. The 77 revised full papers and 23 short papers presented together with 10 poster papers were carefully reviewed and selected from 240 submissions. The papers of the first volume are organized in the following topical sections: Formal Reasoning and Ontologies; Recommendation Algorithms and Systems; Social Knowledge Analysis and Management ; Data Processing and Data Mining; Image and Video Data Analysis; Deep Learning; Knowledge Graph and Knowledge Management; Machine Learning; and Knowledge Engineering Applications. The papers of the second volume are organized in the following topical sections: Probabilistic Models and Applications; Text Mining and Document Analysis; Knowledge Theories and Models; and Network Knowledge Representation and Learning.




Software Technologies


Book Description

This book constitutes the thoroughly refereed post-conference proceedings of the 13th International Joint Conference on Software Technologies, ICSOFT 2018, held in Porto, Portugal, in July 2018. The 18 revised full papers were carefully reviewed and selected from 117 submissions. The topics covered in the papers include: business process modelling, IT service management, interoperability and service-oriented architecture, project management software, scheduling and estimating, software metrics, requirements elicitation and specification, software and systems integration, etc.




Identifying Functional and Non-functional Software Requirements from User App Reviews and Requirements Artifacts


Book Description

This thesis proposes and evaluates Machine Learning (ML) based data models to identify and isolate software requirements from datasets containing user app review statements. The ML models classify user app review statements into Functional Requirements (FRs), Non-Functional Requirements (NFRs), and Non-Requirements (NRs). This proposed approach consisted of creating a novel hybrid dataset that contains software requirements from Software Requirements Specification (SRS) documents and user app reviews. The Support Vector Machine (SVM), Stochastic Gradient Descent (SGD), and Random Forest (RF) ML algorithms combined with the term frequency-inverse document frequency (TF-IDF) natural language processing (NLP) technique were implemented on the hybrid dataset. The performance of each data model was evaluated by metrics such as accuracy, precision, recall, and F1 scores, and the models were validated using 10 k-fold cross-validation. The proposed approach can successfully identify and isolate software requirements with SGD performing the best with an accuracy of 83%. Overall, this thesis presents a comprehensive methodology for implementing machine learning algorithms combined with NLP techniques to identify requirements from user app reviews with a high degree of accuracy.




Non-functional Requirements in Systems Analysis and Design


Book Description

This book will help readers gain a solid understanding of non-functional requirements inherent in systems design endeavors. It contains essential information for those who design, use and maintain complex engineered systems, including experienced designers, teachers of design, system stakeholders and practicing engineers. Coverage approaches non-functional requirements in a novel way by presenting a framework of four systems concerns into which the 27 major non-functional requirements fall: sustainment, design, adaptation and viability. Within this model, the text proceeds to define each non-functional requirement, to specify how each is treated as an element of the system design process and to develop an associated metric for their evaluation. Systems are designed to meet specific functional needs. Because non-functional requirements are not directly related to tasks that satisfy these proposed needs, designers and stakeholders often fail to recognize the importance of such attributes as availability, survivability, and robustness. This book gives readers the tools and knowledge they need to both recognize the importance of these non-functional requirements and incorporate them in the design process.




Mastering Non-Functional Requirements


Book Description

This book covers the most critical 24 NFRs that are applicable to IT applications and systems. About This Book Explains three stages of nonfunctional requirements, that is, analysis, architecture, and assessment In-depth knowledge of NFR framework and taxonomy that provides guidance around the modelling phase for the NFRs Coverage of 24 critical and pivotal NFRs, including the analysis, architecture, and assessment. Who This Book Is For The primary audience for this title are the gamut of roles starting from IT consultant to chief architects who are responsible to deliver strategic, tactical, and operational engagements for fortune 100 customers worldwide. Nonfunctional requirements are the key to any software / IT program. They cannot be overlooked or ignored. The book provides a comprehensive approach from analysis, architecture, and measurement of nonfunctional requirements. The book includes considerations for bespoke (Java, .Net, and COTS applications). These are applicable to IT applications from various domains. The book outlines the methodology for capturing the NFRs and also describes a framework that can be leveraged by analysts and architects for tackling NFRs for various engagements. The audience for this book include business analysts, enterprise architects, business architects, solution architects, technical architects/designers, domain/security/integration architects, software developers, support engineers and test engineers, technical project managers, project leads/technical leads/technical project managers, and students from the computer science/IT stream What You Will Learn Learn techniques related to the analysis, architecture, and monitoring of NFRs Understand the various tools, techniques, and processes in order to improve the overall quality of the desired outcomes Embrace the best practices of architecting, metrics, and success factors for NFRs Identify the common pitfalls to be avoided and the patterns to leverage Understand taxonomy and framework for NFRs Learn the design guidelines for architecting applications and systems relating to NFRs Abstract different methodologies to analyze and gather NFRs In Detail Non-functional Requirements are key to any software/IT program and cannot be overlooked or ignored. This book provides a comprehensive approach to the analysis, architecture, and measurement of NFRs. It includes considerations for bespoke Java, .NET, and COTS applications that are applicable to IT applications/systems in different domains. The book outlines the methodology for capturing the NFRs and also describes a framework that can be leveraged by analysts and architects for tackling NFRs for various engagements. This book starts off by explaining the various KPIs, taxonomies, and methods for identifying NFRs. Learn the design guidelines for architecting applications and systems relating to NFRs and design principles to achieve the desired outcome. We will then move on to various key tiers/layers and patterns pertaining to the business, database, and integrating tiers. After this, we will dive deep into the topics pertaining to techniques related to monitoring and measurement of NFRs, such as sizing, analytical modeling, and quality assurance. Lastly, we end the book by describing some pivotal NFRs and checklists for the software quality attributes related to the business, application, data, and infrastructure domains. Style and approach The book takes a pragmatic approach, describing various techniques related to the analysis of NFRs, the architecture of NFRs, and assessment of NFRs.




Bulletin of the Atomic Scientists


Book Description

The Bulletin of the Atomic Scientists is the premier public resource on scientific and technological developments that impact global security. Founded by Manhattan Project Scientists, the Bulletin's iconic "Doomsday Clock" stimulates solutions for a safer world.