31 research outputs found

    A Systematic Review of Tracing Solutions in Software Product Lines

    Get PDF
    Software Product Lines are large-scale, multi-unit systems that enable massive, customized production. They consist of a base of reusable artifacts and points of variation that provide the system with flexibility, allowing generating customized products. However, maintaining a system with such complexity and flexibility could be error prone and time consuming. Indeed, any modification (addition, deletion or update) at the level of a product or an artifact would impact other elements. It would therefore be interesting to adopt an efficient and organized traceability solution to maintain the Software Product Line. Still, traceability is not systematically implemented. It is usually set up for specific constraints (e.g. certification requirements), but abandoned in other situations. In order to draw a picture of the actual conditions of traceability solutions in Software Product Lines context, we decided to address a literature review. This review as well as its findings is detailed in the present article.Comment: 22 pages, 9 figures, 7 table

    An investigation into the notion of non-functional requirements

    Full text link
    Although Non-Functional Requirements (NFRs) are recognized as very important contributors to the success of software projects, studies to date indicate that there is still no general consensus in the software engineering community regarding the notion of NFRs. This paper presents the result of an extensive and systematic analysis of the extant literature over three NFRs dimensions: (1) definition and terminology; (2) types; and (3) relevant NFRs in various types of systems and application domains. Two different perspectives to consider NFRs are described. A comprehensive catalogue of NFRs types as well as the top five NFRs that are frequently considered are presented. This paper also offers a novel classification of NFRs based on types of systems and application domains. This classification could assist software developers in identifying which NFRs are important in a particular application domain and for specific systems. © 2010 ACM

    Relational-model based change management for non-functional requirements: approach and experiment

    Get PDF
    In software industry, many organizations either focus their traceability efforts on Functional Requirements (FRs) or else fail entirely to implement an effective traceability process. NonFunctional Requirements (NFRs) such as security, safety, performance, and reliability are treated in a rather ad hoc fashion and are rarely traced. This is mainly because of the unique nature of NFRs. They are subjective, relative and they tend to become scattered among multiple modules when they are mapped from the requirements domain to the solution space. Furthermore, NFRs can often interact, in the sense that attempts to achieve one NFR can help or hinder the achievement of other NFRs at particular software functionality. Such an interaction creates an extensive network of interdependencies and tradeoffs among NFRs which is not easy to trace. In a previous work, we proposed a conceptualization of NFRs through the NFRs Ontology. In this paper, we extend the previous work by proposing a change management mechanism for tracing the impact of NFRs on the other constructs in the ontology such as FR or NFR operationalization and vice versa, and providing a traceability mechanism using Datalog expressions to imp lement queries on a relational model-based representation for the ontology. The proposed traceability queries are then evaluated through a multiproject variation quasi-experiment on regression testing conducted in the industry

    An investigation of requirements traceability practices in software companies in Malaysia

    Get PDF
    Requirement traceability (RT) is one of the critical activity of good requirements management and an important part of development projects. At the same time, it improves the quality of software products. Nevertheless, industrial practitioners are challenged by this lack of guidance or results which serve as a rule or guide in establishing effective traceability in their projects. The outcome of this is that practitioners are ill-informed as to the best or most efficient means of accomplishing their tasks, such as found in software companies. Notwithstanding the lack of guidance, there are a number of commonly accepted practices which can guide industrial practitioners with respect to trace the requirements in their projects. This study aims to determine the practices of RT through conducting a systematic literature review. Also, this study conducted a survey for investigating the use of RT practices in the software companies at northern region of Malaysia. Finally, a series of interviews with practitioners were carried out to know the reasons that influence on the use of these practices in software development. The findings showed that majority software companies do not use traceability practices for tracing requirements due to financial issues and the lack of knowledge of these practices. This study presented empirical evidence about the use of RT practices among software companies. Thus, the findings of this study can assist practitioners to select RT practices, and also enables researchers to find gaps and pointers for future study in this study domain

    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

    Trazabilidad de versiones en Ingeniería de Requisitos

    Get PDF
    La trazabilidad persiste como un aspecto relevante y difícil de tratar en la práctica de la Ingeniería de Software. El presente proyecto considera tratar en forma combinada la trazabilidad y el manejo de versiones en el caso de modelos de requisitos. Es un hecho observable que las trazas fluyen esencialmente del proceso del negocio hacia los requisitos, mientras que los cambios de versiones suelen tener origen en fenómenos casi independientes de este flujo. Esta ortogonalidad puede ser muy bien descripta mediante un modelo conjunto de trazas y versionado. Este modelo debe ser acompañado de guías de producción de trazas para modelos basados en lenguaje natural. La idea primordial es que el modelo de trazas esté desacoplado de los modelos del problema y que la producción de trazas se realice simultáneamente con el modelado de requisitos y en forma automática o semiautomática. Por otro lado, se manejan los cambios en los modelos de requisitos generando concurrentemente cambios en las trazas, versionando luego las trazas.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Non functional requirements (NFRs) traceability metamodel for agile development

    Get PDF
    Agile methodologies are well known for early and frequent releases. Besides, these methodologies also handle requirement changes well without causing delays. However, it has been noticed that the functional requirements changes can affect the non-functional requirements (NFRs) such as security and performance. It is also possible that the agile team is not even aware of these effects causing dysfunctional system. This issue could be addressed by offering traceability mechanism that helps to trace the effect of functional requirement changes on the non-functional requirements. Unfortunately, a few researchers have conducted studies regarding this issue. Thus, this study attempts to present a Traceability Process Model (TPM) to tackle the issue of tracing NFR especially security and performance. However, to materialize a full scale TPM, a metamodel is necessary. Therefore in this paper, we present a metamodel by integrating two existing metamodels. Then we validate the newly built metamodel with precision and recall methods. Lastly, we also develop a traceability tool that is based on the proposed metamodel

    A Proposal for Modelling Usability in a Holistic MDD Method

    Full text link
    Holistic methods for Model-Driven Development (MDD) aim to model all the system features in a conceptual model. This conceptual model is the input for a model compiler that can generate software systems by means of automatic transformations. However, in general, MDD methods focus on modelling the structure and functionality of systems, relegating the interaction and usability features to manual implementations at the last steps of the software development process. Some usability features are strongly related to the functionality of the system and their inclusion is not so easy. In order to facilitate the inclusion of functional usability features from the first steps of the development process and bring closer MDD methods to the holistic perspective, we propose a Usability Model. The Usability Model gathers conceptual primitives that represent functional usability features in a sufficiently abstract way so that the model can be used with different holistic MDD methods. This paper defines all the primitives that can be used to represent functional usability features. Moreover, we have defined a process to include the Usability Model in any MDD method without affecting its existing conceptual model. The proposal is based on model-to-model and model-to-code transformations. As proof of concept, we have applied our proposal to an existing MDD method called the OO-method and we have measured its efficiency. (C) 2013 Elsevier B.V. All rights reserved.This work has been developed with the support of MICINN (PROS-Req TIN2010-19130-C02-02), UV (UV-INV-PRECOMP13-115032), GVA (ORCA PROMETEO/2009/015), and co-financed with ERDF. We acknowledge the support of the ITEA2 Call 3 UsiXML (20080026) and funding by the MITYC (TSI-020400-2011-20).Panach Navarrete, JI.; Aquino Salvioni, N.; Pastor López, O. (2014). A Proposal for Modelling Usability in a Holistic MDD Method. Science of Computer Programming. 86:74-88. https://doi.org/10.1016/j.scico.2013.06.008S74888

    Traceability approach for managing changes involving software testing artefacts

    Get PDF
    Software change is inevitable for software product to remain relevant and reusable. As software evolves over time due to specific changes at any point in time during software development and maintenance, the managing aspect of changes may get more complicated and risky. The outdated links would cause the affected artefacts to be not updated timely and effectively. Most of the existing traceability approaches and tools are dedicated and limited to high level artefacts such as requirements and fewer capability made available to address the lower level artefacts such as classes and codes. Most maintainers limit their links to begin at the requirement perspective but there is no valid traceability link being made to support the fine grained level involving testing components. This thesis proposes a new traceability approach to manage changes with the emphasis on the integration of the development artefacts and testing artefacts. The working artefacts cover requirements, packages, classes, methods, test case, and codes. The proposed approach provides a know-how solution to the IEEE 829:2010 standards associated to testing that demands for the support at testing perspective. This approach has the capability to horizontally and vertically manage artefacts from requirement down to code and vice versa. The proposed traceability approach was applied to a case study of a software development project called On- Board Automobile (OBA) with a complete set of documentation including test cases. The evaluation results prove that the proposed traceability approach is significant and useful in managing software changes involving testing artefacts
    corecore