2,183 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

    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

    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

    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

    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 framework to support selection of cloud providers based on security and privacy requirements

    Get PDF
    Cloud computing is an evolving paradigm that is radically changing the way humans store, share and access their digital files. Despite the many benefits, such as the introduction of a rapid elastic resource pool, and on-demand service, the paradigm also creates challenges for both users and providers. In particular, there are issues related to security and privacy, such as unauthorised access, loss of privacy, data replication and regulatory violation that require adequate attention. Nevertheless, and despite the recent research interest in developing software engineering techniques to support systems based on the cloud, the literature fails to provide a systematic and structured approach that enables software engineers to identify security and privacy requirements and select a suitable cloud service provider based on such requirements. This paper presents a novel framework that fills this gap. Our framework incorporates a modelling language and it provides a structured process that supports elicitation of security and privacy requirements and the selection of a cloud provider based on the satisfiability of the service provider to the relevant security and privacy requirements. To illustrate our work, we present results from a real case study
    • …
    corecore