3,479 research outputs found

    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

    A Methodology for Eliciting and Ranking Control Points for Adaptive Systems

    Get PDF
    Designing an adaptive system to meet its quality constraints in the face of environmental uncertainties, such as variable demands, can be a challenging task. In cloud environment, a designer has to also consider and evaluate different control points, i.e., those variables that affect the quality of the software system. This thesis presents a method for eliciting, evaluating and ranking control points for web applications deployed in cloud environments. The proposed method consists of several phases that take a high-level stakeholders' adaptation goal and transform it into lower level MAPE-K loop control points. The MAPE-K loop is then activated at runtime using an adaptation algorithm. We conducted several experiments to evaluate the different phases of the methodology and we report the results and the lesson learnt

    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

    Evaluation of the COGITO system

    Get PDF
    corecore