10 research outputs found

    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

    Quality aware software product line engineering

    Get PDF

    An Architecture Maturity Model of Software Product Line

    Get PDF
    Software architecture has been a key research area in the software engineering community due to its significant role in creating high-quality software. The trend of developing product lines rather than single products has made the software product line a viable option in the industry. Software product line architecture (SPLA) is regarded as one of the crucial components in the product lines, since all of the resulting products share this common architecture. The increased popularity of software product lines demands a process maturity evaluation methodology. Consequently,this paper presents an architecture process maturity model for software product line engineering to evaluate the current maturity of the product line architecture development process in an organization. Assessment questionnaires and a rating methodology comprise the framework of this model. The objective of the questionnaires is to collect information about the SPLA development process. Thus, in general this work contributes towards the establishment of a comprehensive and unified strategy for the process maturity evaluation of software product line engineering. Furthermore, we conducted two case studies and reported the assessment results, which show the maturity of the architecture development process in two organizations

    Software Product Line Engineering: Future Research Directions

    Get PDF
    The recent trend of switching from single software product development tolines of software products in the software industry has made the software product line concept viable and widely accepted methodology in the future. Some of the potential benefits of this approach include cost reduction, improvement in quality and a decrease in product development time. Many organizations that deal in wide areas of operation, from consumer electronics, telecommunications, and avionics to information technology, are using software product lines practice because it deals with effective utilization ofsoftware assets and provides numerous benefits. Software product line engineering is an inter-disciplinary concept. It spans over the dimensions of business, architecture, process and organization. The business dimension of software product lines deals with managing a strong coordination between product line engineering and the business aspects of product line. Software product line architecture is regarded as one of the crucial piece of entity in software product lines. All the resulting products share thiscommon architecture. The organizational theories, behavior and management play critical role in the process of institutionalization of software product line engineering in an organization. The objective of this chapter is to discuss the state of the art of software product line engineering from the perspectives of business, architecture, organizational management and software engineering process. This work also highlights and discusses the future research directions in this area thus providing an opportunity to researchers and practitioners to better understand the future trends and requirements

    Integration of Quality Attributes in Software Product Line Development

    Full text link
    Different approaches for building modern software systems in complex and open environments have been proposed in the last few years. Some efforts try to apply Software Product Line (SPL) approach to take advantage of the massive reuse for producing software systems that share a common set of features. In general quality assurance is a crucial activity for success in software industry, but it is even more important when talking about Software Product Lines since the intensive reuse of assets makes the quality attributes (a measurable physical or abstract property of an entity) of the assets to be transmitted to the whole SPL scope. However, despite the importance that quality has in software product line development, most of the methodologies being applied in Software Product Line Development focus only on managing the commonalities and variability within the product line and not giving support to the non--¿ functional requirements that the products must fit. The main goal of this master final work is to introduce quality attributes in early stages of software product line development processes by means of the definition of a production plan that, on one hand, integrates quality as an additional view for describing the extension of the software product line and, on the other hand introduces the quality attributes as a decision factor during product configuration and when selecting among design alternatives. Our approach has been defined following the Model--¿ Driven Software Development paradigm. Therefore all the software artifacts defined had its correspondent metamodels and the processes defined rely on automated model transformations. Finally in order to illustrate the feasibility of the approach we have integrated the quality view in an SPL example in the context of safety critical embedded systems on the automotive domain.González Huerta, J. (2011). Integration of Quality Attributes in Software Product Line Development. http://hdl.handle.net/10251/15835Archivo delegad

    Achieving Autonomic Computing through the Use of Variability Models at Run-time

    Full text link
    Increasingly, software needs to dynamically adapt its behavior at run-time in response to changing conditions in the supporting computing infrastructure and in the surrounding physical environment. Adaptability is emerging as a necessary underlying capability, particularly for highly dynamic systems such as context-aware or ubiquitous systems. By automating tasks such as installation, adaptation, or healing, Autonomic Computing envisions computing environments that evolve without the need for human intervention. Even though there is a fair amount of work on architectures and their theoretical design, Autonomic Computing was criticised as being a \hype topic" because very little of it has been implemented fully. Furthermore, given that the autonomic system must change states at runtime and that some of those states may emerge and are much less deterministic, there is a great challenge to provide new guidelines, techniques and tools to help autonomic system development. This thesis shows that building up on the central ideas of Model Driven Development (Models as rst-order citizens) and Software Product Lines (Variability Management) can play a signi cant role as we move towards implementing the key self-management properties associated with autonomic computing. The presented approach encompass systems that are capable of modifying their own behavior with respect to changes in their operating environment, by using variability models as if they were the policies that drive the system's autonomic recon guration at runtime. Under a set of recon guration commands, the components that make up the architecture dynamically cooperate to change the con guration of the architecture to a new con guration. This work also provides the implementation of a Model-Based Recon guration Engine (MoRE) to blend the above ideas. Given a context event, MoRE queries the variability models to determine how the system should evolve, and then it provides the mechanisms for modifying the system.Cetina Englada, C. (2010). Achieving Autonomic Computing through the Use of Variability Models at Run-time [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/7484Palanci

    Elaboración de métricas basada en un framework de atributos para líneas de productos

    Get PDF
    Una línea de productos es un conjunto de productos relacionados que comparten unas características comunes, así como una variabilidad. Lo anterior facilita la producción masiva de dichos productos además de su adaptación a requisitos particulares. La ingeniería de líneas de productos es un paradigma de producción que permite la personalización masiva de productos. Esto ayuda a una mayor reutilización de componentes, a disminuir el tiempo de desarrollo y a mejorar la calidad final de los productos. Como en cualquier rama de la ingeniería, en la ingeniería de líneas de productos la medición juega un papel clave. Esto permite una mejor gestión de los procesos y los recursos requeridos por estos, así como monitorear la calidad de los productos. Este proceso se implementa mediante el uso de métricas, que permiten tener una medida cuantitativa del grado en el que un sistema, componente o proceso poseen un atributo dado (como costo, mantenibilidad o complejidad). Sin embargo; ni la comunidad académica ni la industria, cuentan con un framework para la aplicación de métricas en líneas de productos. Además, en la ingeniería en general y particularmente en la ingeniería de software, no existe un consenso en la terminología ni en una metodología de medición. Todo esto lleva a que se presenten dificultades, tanto para la definición como para la validación de métricas, en la ingeniería de software y en la ingeniería de líneas de productos. Durante el desarrollo del presente trabajo se propone un framework de medición, enfocado en los atributos, para la ingeniería de líneas de productos. También se define un conjunto de métricas con base en dicho framework. El trabajo propuesto comprende un mapeo sistemático de la literatura sobre la medición en la ingeniería de líneas de productos, un framework de medición centrado en un conjunto de atributos extraídos de la ingeniería de líneas de productos, un conjunto de métricas para líneas de productos y la correspondiente validación de dichas métricas con un análisis teórico.Abstract: A product line is a set of related products that share some common features and variable ones. It allows the massive production of those products besides their adaptation to particular requirements. Product line engineering is a production paradigm that implies mass customization of products. It helps to a greater reuse of components, to decrease the time of development and to improve the final quality of products. Like in any other engineering branch, in product line engineering measurement has a key role. It allows a better management of the processes and the resources required by them, as well as to monitor the quality of the products. This process is implemented through the use of metrics, which allow to have a quantitative measure of the degree in which a system, component or process possesses a given attribute (like cost, maintainability or complexity). However, neither the academy nor the industry have a framework for using metrics in product lines. Although, in engineering but mainly in software engineering, there is not a consensus in a measurement terminology or in a measurement methodology. All this has led to some difficulties in the definition and the validation of metrics in software engineering and in product line engineering. In this work, we propose a measurement framework for product line engineering focused on attributes. We also define a set of metrics based on this framework. The proposed work includes a systematic mapping about measurement in product line engineering, a measurement framework focused on the attributes of the product lines, a set of metrics for product lines and the validation of those metrics with a theoretical analysis.Maestrí
    corecore