2,132 research outputs found

    A Sustainability Catalogue for Software Modelling

    Get PDF
    Sustainable development is the development that meets the needs of the present without compromising the needs of our future generations. It covers five different dimensions: environmental, economic, social, technical, and individual. Such dimensions are also of interest for software. For example, memory and power efficiency have an impact on the environmental dimension, the reduction of costs in software development and evolution relates to the economic dimension, the use of software for general improvement of people’s lives affects the social dimension, the software’s ability to cooperate with other systems impacts the technical dimension, and the improvement of well-being of individuals relates to the individual dimension. These various dimensions and their properties impact on each other and on the base requirements of a system. Therefore, well-informed design decisions require improved support to reason on such intra- and inter-relationships and impacts, early in development. The objective of this dissertation is to propose a catalog of sustainability requirements for later reuse during the software development process. The envisioned solution involves using requirement engineering activities to address sustainability in the early stages of the software development. The first step towards a solution was to perform a (agile) systematic mapping study in order to gain a complete and profound knowledge about the existing sustainability and requirement engineering techniques. This study was the base of our work. Our final artifact is a sustainability catalogue. This catalogue addresses four out of the five dimensions of sustainability, as well as their qualities and relationships. We did not treat the individual dimension, for sake of simplicity and time constraints, although we consider that some of its properties are included in the social dimension. The catalogue was developed using the iStar framework, and it was implemented in the piStar Tool. Such catalogue offers a generic approach that can be instantiated for particular application domains, and for any combination of dimensions. Hence, this work will contribute to the field of sustainable software development

    A requirements framework for novice web developers

    Get PDF
    This paper introduces a requirements framework intended to guide novice web developers. The work is based on two earlier studies which found that the requirements phase is not well served in web development methods and that there is no agreed set of requirements from practitioners as to what they would like to see in a web development method. The requirements framework outlined here is developed by novice practitioners and later evaluated by them as flexible, simple and easy to use

    A Systematic Classification and Analysis of NFRs

    Get PDF
    The main agenda of Requirements Engineering (RE) is the development of tools, techniques and languages for the elicitation, specification, negotiation, and validation of software requirements. However, this development has traditionally been focused on functional requirements (FRs), rather than non-functional requirements (NFRs). Consequently, NFR approaches developed over the years have been fragmental and there is a lack of clear understanding of the positions of these approaches in the RE process. This paper provides a systematic classification and analysis of 89 NFR approaches

    Designing Business Analytics Solutions - A Model-Driven Approach

    Get PDF
    The design and development of data analytics systems, as a new type of information systems, has proven to be complicated and challenging. Model based approa- ches from information systems engineering can potentially provide methods, techniques, and tools for facilitating and supporting such processes. The contribution of this paper is twofold. Firstly, it introduces a conceptual modeling framework for the design and development of advanced analytics systems. It illustrates the framework through a case and provides a sample methodological approach for using the framework. The paper demonstrates potential benefits of the framework for requirements elicitation, clarification, and design of analytical solutions. Secondly, the paper presents some observations and lessons learned from an application of the framework by an experienced practitioner not involved in the original development of the framework. The findings were then used to develop a set of guidelines for enhancing the understandability and effec- tive usage of the framework

    Towards an Ontology-Based Approach for Reusing Non-Functional Requirements Knowledge

    Get PDF
    Requirements Engineering play a crucial role during the software development process. Many works have pointed out that Non-Functional Requirements (NFR) are currently more important than Functional Requirements. NFRs can be very complicated to understand due to its diversity and subjective nature. The NDR Framework has been proposed to fill some of the existing gaps to facilitate NFR elicitation and modeling. In this thesis, we introduce a tool that plays a major role in the NDR Framework allowing software engineers to store and reuse NFR knowledge. The NDR Tool converts the knowledge contained in Softgoal Interdependency Graphs (SIGs) into a machine-readable format that follows the NFR and Design Rationale (NDR) Ontology. It also provides mechanisms to query the knowledge base and produces graphical representation for the results obtained. To evaluate whether our approach aids eliciting NFRs, we conducted an experiment performing a software development scenario

    Explainable software systems: from requirements analysis to system evaluation

    Get PDF
    The growing complexity of software systems and the influence of software-supported decisions in our society sparked the need for software that is transparent, accountable, and trustworthy. Explainability has been identified as a means to achieve these qualities. It is recognized as an emerging non-functional requirement (NFR) that has a significant impact on system quality. Accordingly, software engineers need means to assist them in incorporating this NFR into systems. This requires an early analysis of the benefits and possible design issues that arise from interrelationships between different quality aspects. However, explainability is currently under-researched in the domain of requirements engineering, and there is a lack of artifacts that support the requirements engineering process and system design. In this work, we remedy this deficit by proposing four artifacts: a definition of explainability, a conceptual model, a knowledge catalogue, and a reference model for explainable systems. These artifacts should support software and requirements engineers in understanding the definition of explainability and how it interacts with other quality aspects. Besides that, they may be considered a starting point to provide practical value in the refinement of explainability from high-level requirements to concrete design choices, as well as on the identification of methods and metrics for the evaluation of the implemented requirements

    Explainable software systems: from requirements analysis to system evaluation

    Get PDF
    The growing complexity of software systems and the influence of software-supported decisions in our society sparked the need for software that is transparent, accountable, and trustworthy. Explainability has been identified as a means to achieve these qualities. It is recognized as an emerging non-functional requirement (NFR) that has a significant impact on system quality. Accordingly, software engineers need means to assist them in incorporating this NFR into systems. This requires an early analysis of the benefits and possible design issues that arise from interrelationships between different quality aspects. However, explainability is currently under-researched in the domain of requirements engineering, and there is a lack of artifacts that support the requirements engineering process and system design. In this work, we remedy this deficit by proposing four artifacts: a definition of explainability, a conceptual model, a knowledge catalogue, and a reference model for explainable systems. These artifacts should support software and requirements engineers in understanding the definition of explainability and how it interacts with other quality aspects. Besides that, they may be considered a starting point to provide practical value in the refinement of explainability from high-level requirements to concrete design choices, as well as on the identification of methods and metrics for the evaluation of the implemented requirements

    Facilitating Requirements Engineering of Semantic applications

    Get PDF
    This paper presents a detailed Requirements Engineering process for the development of semantic applications. It presents the activities for requirements elicitation and analysis and shows how to follow these activities in an example case study. To facilitate its use by software engineers that are not experts in semantic technologies, several resources are provided, namely a comprehensive collection of the characteristics of semantic applications and two catalogues of use cases and system models

    A CMMI-compliant requirements management and development process

    Get PDF
    Requirements Engineering has been acknowledged an essential discipline for Software Quality. Poorly-defined processes for eliciting, analyzing, specifying and validating requirements can lead to unclear issues or misunderstandings on business needs and project’s scope. These typically result in customers’ non-satisfaction with either the products’ quality or the increase of the project’s budget and duration. Maturity models allow an organization to measure the quality of its processes and improve them according to an evolutionary path based on levels. The Capability Maturity Model Integration (CMMI) addresses the aforementioned Requirements Engineering issues. CMMI defines a set of best practices for process improvement that are divided into several process areas. Requirements Management and Requirements Development are the process areas concerned with Requirements Engineering maturity. Altran Portugal is a consulting company concerned with the quality of its software. In 2012, the Solution Center department has developed and applied successfully a set of processes aligned with CMMI-DEV v1.3, what granted them a Level 2 maturity certification. For 2015, they defined an organizational goal of addressing CMMI-DEV maturity level 3. This MSc dissertation is part of this organization effort. In particular, it is concerned with the required process areas that address the activities of Requirements Engineering. Our main goal is to contribute for the development of Altran’s internal engineering processes to conform to the guidelines of the Requirements Development process area. Throughout this dissertation, we started with an evaluation method based on CMMI and conducted a compliance assessment of Altran’s current processes. This allowed demonstrating their alignment with the CMMI Requirements Management process area and to highlight the improvements needed to conform to the Requirements Development process area. Based on the study of alternative solutions for the gaps found, we proposed a new Requirements Management and Development process that was later validated using three different approaches. The main contribution of this dissertation is the new process developed for Altran Portugal. However, given that studies on these topics are not abundant in the literature, we also expect to contribute with useful evidences to the existing body of knowledge with a survey on CMMI and requirements engineering trends. Most importantly, we hope that the implementation of the proposed processes’ improvements will minimize the risks of mishandled requirements, increasing Altran’s performance and taking them one step further to the desired maturity level
    • …
    corecore