5 research outputs found

    Formal Requirements Elicitation with FRET

    Get PDF
    FRET is a tool for writing, understanding, formalizing and analyzing requirements. Users write requirements in an intuitive, restricted natural language, called FRETISH, with precise, unambiguous meaning. For a FRETISH requirement, FRET: 1) produces natural language and diagrammatic explanations of its exact meaning, 2) formalizes the requirement in logics, and 3) supports interactive simulation of produced logic formulas to ensure that they capture user intentions. FRET connects to analysis tools by facilitating the mapping between requirements and models/code, and by generating verification code. FRET is available open source at https://github.com/NASA-SW-VnV/fret; a video can be accessed at : https://tinyurl.com/fretForREFSQ

    Cooperative learning of requirements engineering through an international educational scenario enabled by the MOY programme

    Get PDF
    The International Excellence Campus for Higher Education and Research of the Region of Murcia, and the Mediterranean Office for Youth (MOY) programme are new initiatives that offer opportunities for designing educational activities in which can take part international students enrolled in academic degrees at different universities. Besides, a significant rise in distributed and collaborative software development has been observed in recent years (Global Software Development, GSD), which involves space, time and socio-cultural distances and requires new techniques, tools and practices to meet new challenges and opportunities. In addition, poor requirements are one of the most common causes of project failure in any domain. Projects which devote more resources to Requirements Engineering (RE) result in lower costs and lower deviations of their planning. Therefore, the relevance of education and training the future systems and software professionals in RE activities and techniques, in particular in GSD environments, must be stressed. We have conducted an educational innovation activity based on teaching RE in co-located and GSD contexts. This activity has been carried out in the form of an experiment with students. This paper presents the scenario in which this educational activity is framed as well as some preliminary results of this experiment

    Applicability and usability of predefined natural language boilerplates in documenting requirements

    Get PDF
    Natural language is frequently applied to document the stakeholders’ statements during requirement elicitation activities. Nevertheless, the use of generic natural language has potential for the issues of unclear and inconsistent requirements. These issues may result from the diverse interpretations by the stakeholders or other various sources of documents and artefacts. The main objective of this paper was to discuss the definition and application of predefined boilerplates to specify the requirements in the form of natural language statements. The proposed boilerplates were defined and classified based on two main types of requirements, namely functional and non-functional (performance, constraints, and specific quality). Two methods have been applied to evaluate the research results; the applicability of the predefined boilerplates was demonstrated using two different case studies, and the usability aspect is evaluated through synthetic environment experimentation using human respondents. As a summary, the predefined boilerplates were found helpful, especially among novice requirement engineers to express and specify their requirements in a consistent manner and a standardized way, relatively able to improve the quality of the natural language statements

    AUTOMATED ANALYSIS OF NATURAL-LANGUAGE REQUIREMENTS USING NATURAL LANGUAGE PROCESSING

    Get PDF
    Natural Language (NL) is arguably the most common vehicle for specifying requirements. This dissertation devises automated assistance for some important tasks that requirements engineers need to perform in order to structure, manage, and elaborate NL requirements in a sound and effective manner. The key enabling technology underlying the work in this dissertation is Natural Language Processing (NLP). All the solutions presented herein have been developed and empirically evaluated in close collaboration with industrial partners. The dissertation addresses four different facets of requirements analysis: • Checking conformance to templates. Requirements templates are an effective tool for improving the structure and quality of NL requirements statements. When templates are used for specifying the requirements, an important quality assurance task is to ensure that the requirements conform to the intended templates. We develop an automated solution for checking the conformance of requirements to templates. • Extraction of glossary terms. Requirements glossaries (dictionaries) improve the understandability of requirements, and mitigate vagueness and ambiguity. We develop an auto- mated solution for supporting requirements analysts in the selection of glossary terms and their related terms. • Extraction of domain models. By providing a precise representation of the main concepts in a software project and the relationships between these concepts, a domain model serves as an important artifact for systematic requirements elaboration. We propose an automated approach for domain model extraction from requirements. The extraction rules in our approach encompass both the rules already described in the literature as well as a number of important extensions developed in this dissertation. • Identifying the impact of requirements changes. Uncontrolled change in requirements presents a major risk to the success of software projects. We address two different dimen- sions of requirements change analysis in this dissertation: First, we develop an automated approach for predicting how a change to one requirement impacts other requirements. Next, we consider the propagation of change from requirements to design. To this end, we develop an automated approach for predicting how the design of a system is impacted by changes made to the requirements
    corecore