Requirements Engineering: Practice and Research

A special issue of Applied Sciences (ISSN 2076-3417). This special issue belongs to the section "Computing and Artificial Intelligence".

Deadline for manuscript submissions: closed (21 September 2022) | Viewed by 28501

Special Issue Editors


E-Mail Website
Guest Editor
IST/INESC-ID, Rua Alves Redol, 9, 1000-029 Lisboa, Portugal
Interests: information systems; model-driven engineering; requirements engineering

E-Mail Website
Guest Editor
Facultad de Ingeniería - Engineering School, Universidad Nacional de La Pampa, Santa Rosa, Argentina
Interests: software/web engineering; ontology engineering; quality requirements modeling; evaluation strategies; quality improvement; measurement and evaluation processes and methods

Special Issue Information

Dear Colleagues,

With recent developments in cloud and mobile computing technologies, the growing need for secure, trustworthy, and cost-efficient software and the shortage of highly skilled professional software developers have given rise to a new generation of problems that require improved forms of specifying and representing such systems at multiple abstraction levels and with multiple concerns and stakeholder perspectives.

Requirements engineering (RE) is a multidisciplinary and human-centered process that is integrated with both systems engineering and software engineering and provides a shared vision and understanding of complex systems throughout their life-cycles.

RE involves disparate activities such as eliciting, analyzing, defining, documenting, validating, and managing requirements. The negative consequences of ignoring these early RE activities are extensively reported and discussed in the literature.

RE needs to be sensitive to how people perceive and understand the world around them, how they interact, how they interact with their systems, and how the sociology of the organizations affects their actions. Thus, RE draws on the cognitive and social sciences to provide both theoretical grounding and practical techniques for eliciting and specifying requirements, including a diversity of areas such as computer science, software engineering, cognitive psychology, anthropology, sociology, and linguistics.

The objectives of the Special Issue are to:

  • Bring together researchers and practitioners from the RE and related communities;
  • Explore the technologies that power contemporary RE tools and platforms;
  • Discuss the emerging problems and open challenges identified by the RE community;
  • Share case studies and empirical studies of applying RE tools and best practices;
  • Discuss textual and visual domain-specific languages;
  • Discuss aspects of RE for emerging specific domains.

Topics of interest for the special issue include but are not limited to:

  • RE textual specification languages;
  • RE visual and modeling languages;
  • RE for specific domains, such as cyber-physical systems, big data, or AI applications;
  • Automatic analysis of requirement specifications;
  • RE and natural language processing (NLP) techniques;
  • Software tools and platforms for RE;
  • RE quality;
  • RE and software testing;
  • RE and document automation techniques;
  • RE for privacy, security, and safety aspects.

Prof. Dr. Alberto Rodrigues Da Silva
Prof. Dr. Luis Olsina
Guest Editors

Manuscript Submission Information

Manuscripts should be submitted online at www.mdpi.com by registering and logging in to this website. Once you are registered, click here to go to the submission form. Manuscripts can be submitted until the deadline. All submissions that pass pre-check are peer-reviewed. Accepted papers will be published continuously in the journal (as soon as accepted) and will be listed together on the special issue website. Research articles, review articles as well as short communications are invited. For planned papers, a title and short abstract (about 100 words) can be sent to the Editorial Office for announcement on this website.

Submitted manuscripts should not have been published previously, nor be under consideration for publication elsewhere (except conference proceedings papers). All manuscripts are thoroughly refereed through a single-blind peer-review process. A guide for authors and other relevant information for submission of manuscripts is available on the Instructions for Authors page. Applied Sciences is an international peer-reviewed open access semimonthly journal published by MDPI.

Please visit the Instructions for Authors page before submitting a manuscript. The Article Processing Charge (APC) for publication in this open access journal is 2400 CHF (Swiss Francs). Submitted papers should be well formatted and use good English. Authors may use MDPI's English editing service prior to publication or during author revisions.

Published Papers (11 papers)

Order results
Result details
Select all
Export citation of selected articles as:

Editorial

Jump to: Research, Other

5 pages, 197 KiB  
Editorial
Special Issue on Requirements Engineering, Practice and Research
by Alberto Rodrigues da Silva and Luis Olsina
Appl. Sci. 2022, 12(23), 12197; https://doi.org/10.3390/app122312197 - 29 Nov 2022
Cited by 2 | Viewed by 1058
Abstract
With recent developments in cloud and mobile computing technologies, the growing need for secure, trustworthy, and cost-efficient software and the shortage of highly skilled professional software developers have given rise to a new generation of problems that require improved forms of specification and [...] Read more.
With recent developments in cloud and mobile computing technologies, the growing need for secure, trustworthy, and cost-efficient software and the shortage of highly skilled professional software developers have given rise to a new generation of problems that require improved forms of specification and representation of such systems at multiple abstraction levels, with various concerns and stakeholder perspectives [...] Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)

Research

Jump to: Editorial, Other

26 pages, 9445 KiB  
Article
Combining Rigorous Requirements Specifications with Low-Code Platforms to Rapid Development Software Business Applications
by Pedro Galhardo and Alberto Rodrigues da Silva
Appl. Sci. 2022, 12(19), 9556; https://doi.org/10.3390/app12199556 - 23 Sep 2022
Cited by 3 | Viewed by 2622
Abstract
Low-code development platforms have gained popularity as an effective solution to address urgent market demands for software applications. These platforms have often overcome challenges faced by traditional software development processes, including requirements engineering processes, as they tend to incorporate the requirements in their [...] Read more.
Low-code development platforms have gained popularity as an effective solution to address urgent market demands for software applications. These platforms have often overcome challenges faced by traditional software development processes, including requirements engineering processes, as they tend to incorporate the requirements in their prototyping phase. However, low-code platforms have followed different approaches with proprietary languages, which is a problem when customers need to move to other technologies or intend to define the specification of their applications in a readable and platform-independent way. To mitigate these challenges, this article discusses a model-driven approach that semi-automatically produces software business applications by combining rigorous requirement specifications (defined with the ITLingo ASL language) with a concrete low-code platform (Quidgest Genio). First, we analyse the common concepts in both ITLingo ASL and Genio languages. Then, we discuss model-to-model transformations that allow converting ASL specifications into Genio low-code projects. Finally, the code generation capabilities of the Genio low-code platform are employed to generate the source code of the target software applications. To evaluate the consistency of the proposed approach, we use and discuss a simple and representative case study based on a fictitious system, the Invoice Management System (IMS), whose requirements are similar to those found in many business applications. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

17 pages, 375 KiB  
Article
REX: General-Purpose CNL with Code Generation Support
by Adriano Carvalho
Appl. Sci. 2022, 12(15), 7700; https://doi.org/10.3390/app12157700 - 30 Jul 2022
Cited by 1 | Viewed by 1255
Abstract
Controlled natural languages (CNLs) have been proposed to address some of the issues of natural language when it is used to express requirements. CNLs, however, are based on formal grammar, which can easily become complex, hard to read, and especially hard to write, [...] Read more.
Controlled natural languages (CNLs) have been proposed to address some of the issues of natural language when it is used to express requirements. CNLs, however, are based on formal grammar, which can easily become complex, hard to read, and especially hard to write, and the implementation of support tools can also demand a significant effort. Moreover, unanticipated constructions cannot be handled or have to be handled in unexpected and cumbersome ways. In this article, we present REX, a CNL with a simple grammar that is, thus, easy to understand and easy to support, but still general purpose. To accomplish this, instead of trying to support every conceivable construction and imposing a language on the users, through a small but comprehensive set of rules and through patterns, users specify their own language and how natural it is. Another of the benefits of CNLs is the possibility to automate the transformation of a text or specification into something useful, thereby reducing manual labor and transformation errors. In this article, we also present the support tools that were used to transform a REX text into code and a complete application. It is also shown that this CNL and its support tools can be easily adapted to suit different needs. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

16 pages, 5467 KiB  
Article
Fundamental Research on Detecting Contradictions in Requirements: Taxonomy and Semi-Automated Approach
by Alexander Elenga Gärtner, Tu-Anh Fay and Dietmar Göhlich
Appl. Sci. 2022, 12(15), 7628; https://doi.org/10.3390/app12157628 - 28 Jul 2022
Cited by 2 | Viewed by 1658
Abstract
Requirements documents can contain several thousand individual requirements. They must be error-free to avoid unnecessary complications and costs in the later product development stages. An important part of this is to identify contradictions between two requirements. The first step is therefore to define [...] Read more.
Requirements documents can contain several thousand individual requirements. They must be error-free to avoid unnecessary complications and costs in the later product development stages. An important part of this is to identify contradictions between two requirements. The first step is therefore to define what contradictions are and in what form they can occur in requirement documents. In this paper the scientific theories regarding contradictions are discussed, concerning to their usefulness for the topic. In doing so, the Aristotelian Logic proved to provide the best basis for an application in the Requirements Engineering context. Based on this theory, we have created specific subtypes of contradictions to match them to the requirements engineering field. The identification of these subtypes is done by a formalization of the requirement sentences and a subsequent analysis by means of simple questions. To validate the method, industrial requirement documents were searched for contradictions. For each detected type of contradiction, we present an example of the detection process. Thereby, we show that the method is easy to apply and may also be used by non-specialists. Thus, our method provides a taxonomy as a basis for further research on automated contradiction detection as well as on automated quality analysis of requirements documents. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Graphical abstract

22 pages, 5796 KiB  
Article
Product Model Derivation from Feature Model and Formal Specification
by Xi Wang, Weiwei Wang and Hongbo Liu
Appl. Sci. 2022, 12(12), 6241; https://doi.org/10.3390/app12126241 - 19 Jun 2022
Cited by 2 | Viewed by 1650
Abstract
Product derivation is the process of building a specific product from a software product line. Effective product derivation can improve software reuse productivity. Existing methods can only obtain abstract feature models, lacking detailed specifications of individual features. They are more about deriving code [...] Read more.
Product derivation is the process of building a specific product from a software product line. Effective product derivation can improve software reuse productivity. Existing methods can only obtain abstract feature models, lacking detailed specifications of individual features. They are more about deriving code assets or class diagram templates without precise model descriptions for specific products. This article proposes a product derivation approach to obtain a formal specification of a specific product based on the feature model and formal specification. We use the integration ordering and behavior preserving integration techniques to integrate the formal specification for each feature pair. The method is divided into two steps. First, it determines the feature formal specification integration ordering based on the feature model. Then, the behavior-preserving integration will be conducted for pairs, including declaration integration, functional scenario path generation, and function integration based on path matching. Behavior preserving integration guarantees consistent behavior to ensure the quality of the formal specification after integration. Finally, we developed a support tool to conduct a case study. The tool first guides the user to perform feature functional scenario path matching, then performs functional integration based on the matching results and repeats the above steps to generate a product model. The result indicates that our method facilitates the derivation process and improves the quality of the generated models. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

42 pages, 117171 KiB  
Article
Proactive Management of Requirement Changes in the Development of Complex Technical Systems
by Iris Gräßler, Christian Oleff and Daniel Preuß
Appl. Sci. 2022, 12(4), 1874; https://doi.org/10.3390/app12041874 - 11 Feb 2022
Cited by 6 | Viewed by 2468
Abstract
Requirement changes and cascading effects of change propagation are major sources of inefficiencies in product development and increase the risk of project failure. Proactive change management of requirement changes yields the potential to handle such changes efficiently. A systematic approach is required for [...] Read more.
Requirement changes and cascading effects of change propagation are major sources of inefficiencies in product development and increase the risk of project failure. Proactive change management of requirement changes yields the potential to handle such changes efficiently. A systematic approach is required for proactive change management to assess and reduce the risk of a requirement change with appropriate effort in industrial application. Within the paper at hand, a novel method for Proactive Management of Requirement Changes (ProMaRC) is presented. It is developed in close collaboration with industry experts and evaluated based on workshops, pilot users’ feedback, three industrial case studies from the automotive industry and five development projects from research. To limit the application effort, an automated approach for dependency analysis based on the machine learning technique BERT and semi-automated assessment of change likelihood and impact using a modified PageRank algorithm is developed. Applying the method, the risks of requirement changes are assessed systematically and reduced by means of proactive change measures. Evaluation shows high performance of dependency analysis and confirms the applicability and usefulness of the method. This contribution opens up the research space of proactive risk management for requirement changes which is currently almost unexploited. It enables more efficient product development. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

14 pages, 860 KiB  
Article
Automated Conditional Statements Checking for Complete Natural Language Requirements Specification
by Chun Liu, Zhengyi Zhao, Lei Zhang and Zheng Li
Appl. Sci. 2021, 11(17), 7892; https://doi.org/10.3390/app11177892 - 26 Aug 2021
Cited by 4 | Viewed by 2455
Abstract
Defects such as the duality and the incompleteness in natural language software requirements specification have a significant impact on the success of software projects. By now, many approaches have been proposed to assist requirements analysts to identify these defects. Different from these approaches, [...] Read more.
Defects such as the duality and the incompleteness in natural language software requirements specification have a significant impact on the success of software projects. By now, many approaches have been proposed to assist requirements analysts to identify these defects. Different from these approaches, this paper focuses on the requirements incompleteness implied by the conditional statements, and proposes a sentence embedding- and antonym-based approach for detecting the requirements incompleteness. The basic idea is that when one condition is stated, its opposite condition should also be there. Otherwise, the requirements specification is incomplete. Based on the state-of-the-art machine learning and natural language processing techniques, the proposed approach first extracts the conditional sentences from the requirements specification, and elicits the conditional statements which contain one or more conditional expressions. Then, the conditional statements are clustered using the sentence embedding technique. The conditional statements in each cluster are further analyzed to detect the potential incompleteness by using negative particles and antonyms. A benchmark dataset from an aerospace requirements specification has been used to validate the proposed approach. The experimental results have shown that the recall of the proposed approach reaches 68.75%, and the F1-measure (F1) 52.38%. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

29 pages, 6488 KiB  
Article
Rapid Requirements Elicitation of Enterprise Applications Based on Executable Mockups
by Milorad Filipović, Željko Vuković, Igor Dejanović and Gordana Milosavljević
Appl. Sci. 2021, 11(16), 7684; https://doi.org/10.3390/app11167684 - 21 Aug 2021
Cited by 2 | Viewed by 2321
Abstract
Software development begins with the requirements. Misunderstandings with customers in this early phase of development result in wasted development time. This work investigates the possibility of using executable UI mockups in the initial phases of functional requirements elicitation during the development of business [...] Read more.
Software development begins with the requirements. Misunderstandings with customers in this early phase of development result in wasted development time. This work investigates the possibility of using executable UI mockups in the initial phases of functional requirements elicitation during the development of business applications. Although there has been a lot of research in the field in recent years, we find that there is still a need to improve model-driven tool design in order to enable customer participation from the initial phases of requirement specifications based on working prototypes. These prototypes can directly be reused in the rest of the development process. To meet the goal, we have been developing an open-source solution called Kroki that enables rapid collaborative development. We conducted a series of 10 joint user sessions with domain experts from different domains and backgrounds, resulting in the prototype specifications ranging from 7 to 20 screen mockups accompanied with domain models, developed in two-hour time frames. In this paper, we present our tool design that contributes to rapid joint development, and the results from the user sessions. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

34 pages, 1835 KiB  
Article
Linguistic Patterns and Linguistic Styles for Requirements Specification: Focus on Data Entities
by Alberto Rodrigues da Silva and Dušan Savić
Appl. Sci. 2021, 11(9), 4119; https://doi.org/10.3390/app11094119 - 30 Apr 2021
Cited by 15 | Viewed by 4535
Abstract
Requirements specification includes technical concerns of an information system and is used throughout its life cycle. It allows for sharing the vision of the system among stakeholders and facilitates its development and operation processes. Natural languages are the most common form of requirements [...] Read more.
Requirements specification includes technical concerns of an information system and is used throughout its life cycle. It allows for sharing the vision of the system among stakeholders and facilitates its development and operation processes. Natural languages are the most common form of requirements representation, however, they also exhibit characteristics that often introduce quality problems, such as inconsistency, incompleteness, and ambiguousness. This paper adopts the notions of linguistic pattern and linguistic style and discusses their relevance to produce better technical documentation. It focuses on the textual specification of data entities, which are elements commonly referred to throughout different types of requirements, like use cases, user stories, or functional requirements. This paper discusses how to textually represent the following elements: data entity, attribute, data type, data entity constraint, attribute constraint, and even cluster of data entities. This paper shows concrete examples and supports the discussion with three linguistic styles, represented by a rigorous requirements specification language and two informal controlled natural languages, one with a more compact and another with a more verbose, expressive, and complete representation. We analyzed how other languages cope with the representation of these data entity elements and complemented that analysis and comparison based on the PENS classification scheme. We conducted a pilot evaluation session with nineteen professional subjects who participated and provided encouraging feedback, with positive scores in all the analyzed dimensions. From this feedback, we preliminarily conclude that the adoption of these linguistic patterns would help to produce better requirements specifications written more systematically and consistently. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

18 pages, 468 KiB  
Article
An Empirical Investigation of Software Customization and Its Impact on the Quality of Software as a Service: Perspectives from Software Professionals
by Abdulrazzaq Qasem Ali, Abu Bakar Md Sultan, Abdul Azim Abd Ghani and Hazura Zulzalil
Appl. Sci. 2021, 11(4), 1677; https://doi.org/10.3390/app11041677 - 26 Feb 2021
Cited by 3 | Viewed by 3223
Abstract
Although customization plays a significant role in the provision of software as a service (SaaS), delivering a customizable SaaS application that reflects the tenant’s specific requirements with acceptable level of quality is a challenge. Drawing on a pr-developed software customization model for SaaS [...] Read more.
Although customization plays a significant role in the provision of software as a service (SaaS), delivering a customizable SaaS application that reflects the tenant’s specific requirements with acceptable level of quality is a challenge. Drawing on a pr-developed software customization model for SaaS quality, two fundamental objectives of this study were to determine whether different software customization approaches have direct impacts on SaaS quality, and also to assess the construct reliability and construct validity of the model. A questionnaire-based survey was used to collect data from 244 software professionals with experience in SaaS development. Structural equation modeling was employed to test the construct reliability, construct validity, and research hypotheses. The measurement model assessment suggested that the six-construct model with 39 items exhibited good construct reliability and construct validity. The findings of the structural model assessment show that all customization approaches other than the integration approach significantly influence the quality of SaaS applications. The findings also indicate that both configuration and composition approaches have positive impacts on SaaS quality, while the impacts of the other approaches are negative. The empirical assessment and evaluation of this model, which features a rich set of information, provides considerable benefits to both researchers and practitioners. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Graphical abstract

Other

Jump to: Editorial, Research

23 pages, 1259 KiB  
Systematic Review
Requirements Engineering for Internet of Things (loT) Software Systems Development: A Systematic Mapping Study
by José-Alfonso Aguilar-Calderón, Carolina Tripp-Barba, Aníbal Zaldívar-Colado and Pedro-Alfonso Aguilar-Calderón
Appl. Sci. 2022, 12(15), 7582; https://doi.org/10.3390/app12157582 - 28 Jul 2022
Cited by 7 | Viewed by 2275
Abstract
The Internet of Things (IoT) paradigm is growing, affecting human life and aiming to solve problems in the real world, i.e., in education, healthcare, smart homes, intelligent transportation, and other areas. However, it is a fact that the development of IoT systems is [...] Read more.
The Internet of Things (IoT) paradigm is growing, affecting human life and aiming to solve problems in the real world, i.e., in education, healthcare, smart homes, intelligent transportation, and other areas. However, it is a fact that the development of IoT systems is complicated compared to that of traditional software systems, especially in relation to requirements engineering (RE). The RE of IoT systems is not implemented frequently due to their broad aspects, such as the variety of user needs, making these systems difficult to construct. In this sense, the use of loT-based systems has not been well explored by the research community in order to provide well-planned proposals to improve the quality of their performance. In this work, we present a comprehensive and inclusive review of the RE of loT-based systems. To accomplish this, a systematic mapping study (SMS) is presented to evaluate the use of parameters based on the existing literature. SMS is a methodology used for research in the medical field and has recently been implemented in software engineering (SE) to sort and organize research publications to gain knowledge on progress and identify research gaps. In this article, we aim to classify the existing research publications in the current scientific literature regarding RE proposals for IoT software systems and review their implications for future research. This will make it possible to establish lines of research in order to improve the quality of the development of future IoT systems. Full article
(This article belongs to the Special Issue Requirements Engineering: Practice and Research)
Show Figures

Figure 1

Back to TopTop