588,576 research outputs found

    Requirements engineering for explainable systems

    Get PDF
    Information systems are ubiquitous in modern life and are powered by evermore complex algorithms that are often difficult to understand. Moreover, since systems are part of almost every aspect of human life, the quality in interaction and communication between humans and machines has become increasingly important. Hence the importance of explainability as an essential element of human-machine communication; it has also become an important quality requirement for modern information systems. However, dealing with quality requirements has never been a trivial task. To develop quality systems, software professionals have to understand how to transform abstract quality goals into real-world information system solutions. Requirements engineering provides a structured approach that aids software professionals in better comprehending, evaluating, and operationalizing quality requirements. Explainability has recently regained prominence and been acknowledged and established as a quality requirement; however, there is currently no requirements engineering recommendations specifically focused on explainable systems. To fill this gap, this thesis investigated explainability as a quality requirement and how it relates to the information systems context, with an emphasis on requirements engineering. To this end, this thesis proposes two theories that delineate the role of explainability and establish guidelines for the requirements engineering process of explainable systems. These theories are modeled and shaped through five artifacts. These theories and artifacts should help software professionals 1) to communicate and achieve a shared understanding of the concept of explainability; 2) to comprehend how explainability affects system quality and what role it plays; 3) in translating abstract quality goals into design and evaluation strategies; and 4) to shape the software development process for the development of explainable systems. The theories and artifacts were built and evaluated through literature studies, workshops, interviews, and a case study. The findings show that the knowledge made available helps practitioners understand the idea of explainability better, facilitating the creation of explainable systems. These results suggest that the proposed theories and artifacts are plausible, practical, and serve as a strong starting point for further extensions and improvements in the search for high-quality explainable systems

    FundRaiser

    Get PDF
    FundRaiser website is an online network that helps individuals and organizations to help the nonprofit technology sector grow. FundRaiser website used for personal fundraising to help cover medical, tuition expenses or any other worthy cause. The project will go through the whole phases of Software Development Life Cycle (SDLC), to create a website with high quality and low cost in the shortest time, the CDLC phases are Requirement analysis, Planning, Software design such as architectural design, Software development, Testing and Deployment. The website design will include 3 user roles: the users who start campaigns need to set up an account with the website. And donors who have access to the fund-raising page and administrator who manages users and campaigns. May earn a commission. The website will be created using ASP.NET framework using C#

    A Software Implementation of the Requirements Abstraction Model

    Get PDF
    Requirements are often referred to as one of the main reasons for failed software projects. In this thesis we review the Requirement Abstraction Model (RAM) as outlined by Tony Gorschek and Claes Wohlin. RAM was developed as a response to an industrial need to handle requirements in market driven product development. The model places requirements on four different abstraction levels and it makes requirements comparable to each other through abstraction or break down. The first objective of this thesis is to find a working model for managing an incoming stream of requirements with varying levels of abstraction. The model should not cause an unreasonable burden on the requirement engineering process and it should be easy to adopt, e.g. it should not be so complex that it requires excessive training. The second objective of the thesis is to apply the chosen model to the design of a new requirement management tool. The hope is that the right model and a supporting tool in combination will help product managers create higher quality requirements and as a result more successful software projects. RAM is compared to other methodologies that can be used in requirements engineering such as Quality Function Deployment and the Agile Requirements Refinery. RAM is ultimately chosen as the main model based on its simplicity, scalability, potential benefits and supporting empirical evidence. The main principles of RAM are applied into the architecture, domain model, use case and user interface design of a new requirement management tool, RAMP. The design of RAMP is presented and a proof-of-concept prototype is also implemented.fi=Opinnäytetyö kokotekstinä PDF-muodossa.|en=Thesis fulltext in PDF format.|sv=Lärdomsprov tillgängligt som fulltext i PDF-format

    Automatic generation of SDL specifications from MSCs

    Get PDF
    Software systems go through different phases during their life cycle. From user requirements to the deployment and maintenance, a software system goes through design, implementation and testing phases. The time for developing software systems is crucial. The goal of software teams is to shorten the development time and guarantee the quality of the end product. Formal Description Techniques (FDTs) has been used in the development cycle to provide clear, correct and unambiguous specifications throughout the phases in order to achieve this goal. In order to speed up the development cycle and to guarantee the correctness of the design, we devise and implement an approach for generating SDL (Specification and Description Language) design specifications from requirement specifications given as a set of MSCs (Message Sequence Charts) and a target SDL architecture. Our approach handles MSC'96, except the parallel operators. Our approach bridges the gap between requirements and design and guarantees the quality of the design. The generated SDL design specification is free of any design error, such as deadlocks or unspecified receptions, and conforms to the MSC requirements specification

    Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

    Get PDF
    Software development life cycle (SDLC) depicts the distinct phases a software needs to go through, starting off with the requirement engineering phase through the testing phase. Requirement engineering and testing hold a very important place in the development of the software. Testing plays such a crucial part in SDLC that more than development some projects spend more time on testing. This helps in finding bugs and ensure that a quality product is shipped. Test case generation is the toughest step in the testing process. It involves a lot of effort to find errors in the code. To eliminate the tedious process of finding errors in the code and improve the efficiency of the software, an innovative approach called Model-Based Testing (MBT) has been evolved. In the MBT approach, testing begins at the design phase and is thus helpful in identifying the faults early. Unified Modeling Language (UML) has been used to generate test cases using MBT. There has been a lot of research and proposals made for MBT using different UML diagrams. But the problem with these approaches is that a single UML diagram like activity diagram or sequence diagram is not enough to generate test cases in all the scenarios. There might be situation where multiple models might be used to generate test case. This paper discusses about different existing MBT methodologies used for testing and discusses the guidelines for choosing an efficient UML diagram to generate test cases. It also discusses about the way of improving the models by using multiple UML models or by extending the models. Keywords: Software testing, Model-Based Testing (MBT), Unified Modeling Language (UML)

    Application of Design Thinking for Elicitation Requirements in Mobile Applications

    Get PDF
    In the context of software development methodologies, activities and requirements elicitation practices adopted by organizations present challenges regarding the definition and understanding of system requirements and in relation to communication between the project team and stakeholders. Requirements elicitation is the process through which analysts determine stakeholders software requirements. Requirements elicitation is seldom well done, and an inaccurate or incomplete understanding of user requirements has led to the downfall of many software projects. The Design Thinking methodology has been used by organizations as a requirement elicitation technique for making use of the immersion procedure that, as a consequence, brings the team stakeholder closer to the software project and allows the creation of projects with a design that is closer to the end user and with higher quality, minimizing the problems in requirements elicitation. This work evaluates the elicitation process of software requirements of the mobile applications developed in a Brazilian Public Agency, from the use of the concepts and procedures recommended by Design Thinking (DT). Furthermore, a practical case study is presented in which the use of DT is used in eliciting requirements of developed applications. The development process phases adopted by the Agency were also compared with the phases of the model adopted by DT. The comparative study demonstrated that the traditional methodology adopted today is bureaucratic and difficult the creation process, as well as the interaction between stakeholders and members of the development team and the knowledge transfer

    SAGE: Profiling and Optimization in Formal Methods

    Get PDF
    The quality and the correctness of software are often the greatest concern in electronic systems. Formal methods techniques and tools provide a guarantee that a design of software system is free of specific flaws. This paper discusses an open source mathematical software system SAGE, which combines and extends program analysis, testing, verification, model checking, and automated theorem proving techniques. Then we concentrate on profiling and optimization techniques in analysis and design phase of software systems in SAGE. In today's programming world optimization plays a vital role. It is an on-going, non-functional requirement that affects all stages in the development of a system, from analysis and design through development and implementation. Profiling refers to analysis of the relative execution time spent in different parts of the program. Finally, we describe various optimization techniques

    Requirement Validation for Embedded Systems in Automotive Industry Through Modeling

    Get PDF
    Requirement validation contributes significantly toward the success of software projects. Validating requirements is also essential to ensure the correctness of embedded systems in the auto industry. The auto industry emphasizes a lot on the verification of car designs and shapes. Invalid or erroneous requirements lead to inappropriate designs and degraded product quality. Considering the required expertise and time for requirement validation, significant attention is not devoted to verification and validation of requirements in the industry. Currently, the failure ratio of software projects is significantly higher and the key reason for that appears to be the inappropriate and invalidated requirements at the early stages in the projects. To that end, we propose a model-based approach that uses the existing V&V model. Through virtual prototyping, the proposed approach eliminates the need to validate the requirements after each stage of the project. Consequently, the model is validated after the design phase and the errors in requirements are detected at the earliest stage. In this research, we performed two different case studies for requirement validation in the auto industry by using a modeling-based approach and formal technique using Petri nets. A benefit of the proposed modeling-based approach is that the projects in the auto industry domain can be completed in less time due to effective requirements validation. Moreover, the modeling-based approach minimizes the development time, cost and increases productivity because the majority of the code is automatically generated using the approach

    Data-driven and production-oriented tendering design using artificial intelligence

    Get PDF
    Construction projects are facing an increase in requirements since the projects are getting larger, more technology is integrated into the buildings, and new sustainability and CO2 equivalent emissions requirements are introduced. As a result, requirement management quickly gets overwhelming, and instead of having systematic requirement management, the construction industry tends to trust craftsmanship. One method for a more systematic requirement management approach successful in other industries is the systems engineering approach, focusing on requirement decomposition and linking proper verifications and validations. This research project explores if a systems engineering approach, supported by natural language processing techniques, can enable more systematic requirement management in construction projects and facilitate knowledge transfer from completed projects to new tendering projects.The first part of the project explores how project requirements can be extracted, digitised, and analysed in an automated way and how this can benefit the tendering specialists. The study is conducted by first developing a work support tool targeting tendering specialists and then evaluating the challenges and benefits of such a tool through a workshop and surveys. The second part of the project explores inspection data generated in production software as a requirement and quality verification method. First, a dataset containing over 95000 production issues is examined to understand the data quality level of standardisation. Second, a survey addressing production specialists evaluates the current benefits of digital inspection reporting. Third, future benefits of using inspection data for knowledge transfers are explored by applying the Knowledge Discovery in Databases method and clustering techniques. The results show that applying natural language processing techniques can be a helpful tool for analysing construction project requirements, facilitating the identification of essential requirements, and enabling benchmarking between projects. The results from the clustering process suggested in this thesis show that inspection data can be used as a knowledge base for future projects and quality improvement within a project-based organisation. However, higher data quality and standardisation would benefit the knowledge-generation process.This research project provides insights into how artificial intelligence can facilitate knowledge transfer, enable data-informed design choices in tendering projects, and automate the requirements analysis in construction projects as a possible step towards more systematic requirements management
    corecore