3 research outputs found

    Requirements reuse and requirement patterns: a state of the practice survey

    Get PDF
    Context. Requirements engineering is a discipline with numerous challenges to overcome. One of these challenges is the implementation of requirements reuse approaches. Although several theoretical proposals exist, little is known about the practices that are currently adopted in industry. Objective. Our goal is to contribute to the investigation of the state of the practice in the reuse of requirements, eliciting current practices from practitioners, and their opinions whenever appropriate. Besides reuse in general, we focus on requirement patterns as a particular strategy to reuse. Method. We conducted an exploratory survey based on an online questionnaire. We received 71 responses from requirements engineers with industrial experience in the field, which were analyzed in order to derive observations. Results. Although we found that a high majority of respondents declared some level of reuse in their projects (in particular, non-functional requirements were identified as the most similar and recurrent among projects), it is true that only a minority of them declared such reuse as a regular practice. Larger IT organizations and IT organizations with well-established software processes and methods present higher levels of reuse. Ignorance of reuse techniques and processes is the main reason preventing wider adoption. From the different existing reuse techniques, the simplest ones based on textual copy and subsequent tailoring of former requirements are the most adopted techniques. However, participants who apply reuse more often tend to use more elaborate techniques. Opinions of respondents about the use of requirement patterns show that they can be expected to mitigate problems related to the quality of the resulting requirements, such as lack of uniformity, inconsistency, or ambiguity. The main reasons behind the lack of adoption of requirement patterns by practitioners (in spite of the increasing research approaches proposed in the community) are related to the lack of a well-defined reuse method and involvement of requirement engineers.Peer ReviewedPostprint (author's final draft

    Maps of Lessons Learnt in Requirements Engineering

    Get PDF
    Both researchers and practitioners have emphasized the importance of learning from past experiences and its consequential impact on project time, cost, and quality. However, from the survey we conducted of requirements engineering (RE) practitioners, over 70\% of the respondents stated that they seldom use RE lessons in the RE process, though 85\% of these would use such lessons if readily available. Our observation, however, is that RE lessons are scattered, mainly implicitly, in the literature and practice, which obviously, does not help the situation. We, therefore, present ``maps” of RE lessons which would highlight weak (dark) and strong (bright) areas of RE (and hence RE theories). Such maps would thus be: (a) a driver for research to ``light up” the darker areas of RE and (b) a guide for practice to benefit from the brighter areas. To achieve this goal, we populated the maps with over 200 RE lessons elicited from literature and practice using a systematic literature review and survey. The results show that approximately 80\% of the elicited lessons are implicit and that approximately 70\% of the lessons deal with the elicitation, analysis, and specification RE phases only. The RE Lesson Maps, elicited lessons, and the results from populating the maps provide novel scientific groundings for lessons learnt in RE as this topic has not yet been systematically studied in the field

    Definition and use of software requirement patterns in requirements engineering

    Get PDF
    The final quality of software products and services depends on the requirements stated in the Software Requirements Specifications (SRSs). However, some problems like ambiguity, incompleteness and inconsistency have been reported in the writing of SRSs, especially when natural language is used. Requirements reuse has been proposed as a key asset for requirements engineers to efficiently elicit, validate and document software requirements and, as a consequence, obtain SRSs of better quality through more effective engineering processes. Among all the possible techniques to achieve reuse, patterns hold a prominent position. In their most classical form, patterns describe problems that occur over and over again, and then describe the core of the solution to these problems. Software engineering practitioners have adopted the notion of pattern in several contexts, remarkably related to software design (e.g., design patterns and software architectural patterns), but also in other software development phases, both earlier and later. Following this strategy, requirement patterns emerge as a natural way to reuse knowledge during the Requirements Engineering (RE) stage. Although there have been several techniques proposed to reuse requirements, it has been observed that no concrete proposal has achieved a wide acceptance, neither any covered all the necessary elements to encourage organizations to adopt requirements reuse. As a consequence, this thesis proposes the use of Software Requirement Patterns (SRPs) as a means to capture and reuse requirements knowledge in the context of information technology projects. Following the typical context-problem-solution structure of patterns, an SRP mainly consists of: a template (solution) that may generate one or more requirements when applied in a certain project, and some information (context-problem) to identify its applicability in that project. To facilitate their use, SRPs are encapsulated inside the PABRE (PAttern-Based Requirements Elicitation) framework. The framework covers all the elements that could be critical for the adoption of a requirements reuse technique. Specifically, the framework includes: - A metamodel that describes the structure and semantics of SRPs and their organization inside a catalogue. - An SRP catalogue composed by non-functional, non-technical and functional SRPs, the functional ones being specific for the content management system domain. - A method for guiding the use of an SRP catalogue during requirements elicitation and specification, as well as another one for constructing and updating it. - An economic model to perform cost-benefit analysis on the adoption of SRPs based on return-on-investment. - The PABRE system as technological support. In order to analyse the benefits and drawbacks of the SRPs proposed in this thesis, two empirical studies have been carried out to investigate the perception of participants about requirement patterns in general and SRPs in particular. The first one is an exploratory survey addressed to information technology people with industrial experience in RE, which analyses the current state of the practice of requirement patterns approaches. The second one corresponds to a set of semi-structured interviews, focussed on the SRP approach, conducted to requirements engineers of Swedish organizations. Moreover, as it has been discovered that there are few empirical studies showing the state of the practice of requirements reuse in industry, the first study also explores the current situation of requirements reuse practices in organizations.La qualitat final dels productes i serveis de software depèn del requisits definits en l’especificació de Requisits Software (ERS). Tot i així, alguns problemes com la ambigüitat, incompletesa i inconsistència han sigut detectats en la escriptura dels ERS, especialment quan el llenguatge natural és usat per escriure’ls. La reutilització de requisits ha sigut proposada com un recurs clau pels enginyers de requisits per tal d’obtenir, validar i documentar requisits software i, com a conseqüència, obtenir ERS de millor qualitat usant processos d’enginyeria més efectius. Entre totes les tècniques possibles per aconseguir la reutilització, els patrons tenen una posició destacada. En la seva forma més clàssica, els patrons descriuen problemes que ocorren sovint, i després descriuen la part central de la solució a aquests problemes. Els professionals de la enginyeria del software han adoptat la noció de patró en diferents àmbits, especialment en els relacionats amb el disseny del software (per exemple, els patrons de disseny i els patrons d’arquitectura del software), però també en altres etapes del desenvolupament del software, tant abans com després del seu disseny. Seguint aquesta estratègia, els patrons de requisits emergeixen com una manera natural de reutilitzar coneixement durant l’etapa d’enginyeria de requisits. Tot i que hi ha hagut varies tècniques proposades per reutilitzar requisits, s’ha observat que no hi ha cap proposta concreta que hagi aconseguit una àmplia acceptació, ni cap proposta completa que cobreixi tots els elements necessaris per animar a les organitzacions a adoptar la reutilització de requisits. Com a conseqüència, aquesta tesis proposa l’ús de Patrons de Requisits Software (en anglès Software Requirement Patterns o SRPs) com un medi per capturar i reutilitzar coneixement de requisits en l’àmbit de projectes de tecnologia de la informació. Seguint la estructura típica dels patrons de context-problema-solució, un SRP consisteix en: una plantilla (solució) que pot generar un o més requisits quan és aplicat en un projecte específic, i informació relacionada (context-problema) per identificar la seva aplicabilitat en un projecte. Per facilitar el seu ús, els SRP han sigut encapsulats dintre del framework PABRE (de l’anglès PAttern-Based Requirements Elicitation). El framework cobreix tots els elements que podrien ser crítics per adoptar una tècnica de reutilització de requisits. Més detalladament, el framework inclou: - Un meta model que descriu la estructura i semàntica dels SRPs i la seva organització dintre d’un catàleg.Postprint (published version
    corecore