7 research outputs found

    Evaluating Company’s Readiness for Adopting Product Line Engineering: a Second Evaluation Round

    Get PDF
    Product lines have emerged in the software industry as an attractive approach to perform planned reuse of code. Nevertheless, a product line solution is not appropriate in all cases and also requires some conditions to be implemented successfully. The literature offers several contributions regarding the adoption of product lines. However, only a few of them are able to support decision-makers in making informed decisions in favor of or against following this approach. We proposed APPLIES, a framework for evaluating the organization’s motivation and preparation for adopting product lines. This article presents the second version of the APPLIES framework as well as the second iteration of the evaluation of this approach. This evaluation consisted of (i) a workshop with a practitioner who had experience in adopting the product line production approach and; (ii) a review of the content by five product line experts. The results obtained from the evaluation resulted in modifications to the framework content, mainly to simplify the statements and eliminate redundant elements. Also, we detected new functionalities and modifications that we expect to be resolved in the following evaluation iterations. Further evaluations and improvements are needed to mature the framework. Moreover, we expect to incorporate APPLIES into a process that covers the aspects that a company must consider before deciding to adopt this production paradigm

    Evaluating Company’s Readiness for Adopting Product Line Engineering: a Second Evaluation Round

    Get PDF
    Product lines have emerged in the software industry as an attractive approach to perform planned reuse of code. Nevertheless, a product line solution is not appropriate in all cases and also requires some conditions to be implemented successfully. The literature offers several contributions regarding the adoption of product lines. However, only a few of them are able to support decision-makers in making informed decisions in favor of or against following this approach. We proposed APPLIES, a framework for evaluating the organization’s motivation and preparation for adopting product lines. This article presents the second version of the APPLIES framework as well as the second iteration of the evaluation of this approach. This evaluation consisted of (i) a workshop with a practitioner who had experience in adopting the product line production approach and; (ii) a review of the content by five product line experts. The results obtained from the evaluation resulted in modifications to the framework content, mainly to simplify the statements and eliminate redundant elements. Also, we detected new functionalities and modifications that we expect to be resolved in the following evaluation iterations. Further evaluations and improvements are needed to mature the framework. Moreover, we expect to incorporate APPLIES into a process that covers the aspects that a company must consider before deciding to adopt this production paradigm

    Evaluating Company’s Readiness for Adopting Product Line Engineering: a Second Evaluation Round

    Get PDF
    Product lines have emerged in the software industry as an attractive approach to perform planned reuse of code. Nevertheless, a product line solution is not appropriate in all cases and also requires some conditions to be implemented successfully. The literature offers several contributions regarding the adoption of product lines. However, only a few of them are able to support decision-makers in making informed decisions in favor of or against following this approach. We proposed APPLIES, a framework for evaluating the organization’s motivation and preparation for adopting product lines. This article presents the second version of the APPLIES framework as well as the second iteration of the evaluation of this approach. This evaluation consisted of (i) a workshop with a practitioner who had experience in adopting the product line production approach and; (ii) a review of the content by five product line experts. The results obtained from the evaluation resulted in modifications to the framework content, mainly to simplify the statements and eliminate redundant elements. Also, we detected new functionalities and modifications that we expect to be resolved in the following evaluation iterations. Further evaluations and improvements are needed to mature the framework. Moreover, we expect to incorporate APPLIES into a process that covers the aspects that a company must consider before deciding to adopt this production paradigm

    Identifying Issues and Concerns in Software Reuse in Software Product Lines

    No full text

    Identifying issues and concerns in software reuse in software product lines

    No full text
    One of the reasons for introducing software product lines (SPL) is the reduction of costs through reusing common assets for different products. Developing assets to be reused in different products is often not easy. Increasing complexity due to the multitude of different functions and their interactions as well as a rising number of different product variants are just some of the challenges that must be faced when reusing software and other assets. In an attempt to understand the obstacles to implementing software reuse in SPL we have conducted a survey to investigate how software reuse is adopted in SPL so as to provide the necessary degree of support for engineering software product line applications and to identify some of the issues and concerns in software reuse. This survey also gathers information from SPL practitioners on what influences the selection of software to reuse within a software product line. This paper reports the results of that survey

    Industrialização do processo de desenvolvimento de software: Software Product Lines

    Get PDF
    Desde os primeiros tempos da engenharia de software, investigadores (e praticantes) dedicam-se à análise do processo de desenvolvimento de software, avaliando os seus problemas e possíveis soluções. Vários factores devem ser envolvidos nesta análise, todavia será certamente seguro afirmar que a falta de reutilização de desenvolvimento e a baixa produtividade do processo de construção de uma aplicação, são duas preocupações recorrentes cuja resolução não se tem mostrado simples. Na última década, este contexto tem motivado a comunidade de investigação a analisar o que designam por industrialização do processo de desenvolvimento de software. Esta vertente de investigação defende que várias técnicas industriais podem ser transpostas para o desenvolvimento de software e que a sua aplicação trará enormes benefícios à abordagem tradicional, nomeadamente, potenciará substanciais ganhos de produtividade, diminuição de custos e melhorias de qualidade dos sistemas desenvolvidos. As Software Product Lines são uma materialização desta perspectiva industrializada do processo de desenvolvimento. O fundamento principal desta orientação consiste numa mudança de paradigma de desenvolvimento que substitui o modelo tradicional, focado na construção de uma aplicação específica para um determinado cliente, para a construção de uma infra-estrutura de produção que suporte o desenvolvimento de um leque de sistemas (família de produtos) que sirvam um conjunto de clientes. Segundo os defensores deste novo paradigma, esta visão multi-sistema, permitirá uma reutilização massiva e sistemática de vários componentes entre os elementos da família de produtos, que servirá de base para a optimização do processo de desenvolvimento associada aos ganhos de produtividade, diminuição de custos e melhorias de qualidade pretendidos. Esta dissertação procura sistematizar os conceitos envolvidos nas Software Product Lines através de uma análise abrangente dos princípios teóricos subjacentes e da sua concretização prática através de técnicas e tecnologias existentes. Com base nesta sistematização de conhecimento, propomos um modelo de desenvolvimento baseado em famílias de produtos (SPLUP), cuja aplicabilidade demonstramos através da elaboração de um caso de estudo e construção de protótipo. Complementarmente, foram submetidos dois artigos científicos a conferências científicas (CENTERIS 2011 e CAPSI 2011) que sistematizam as principais conclusões e contribuições do nosso trabalho.Since the early days of Software Engineering, researchers and practitioners have sought to improve the software development process. The lack of reuse and the low productivity rates are recurring concerns whose resolution has not proved to be simple. Over the last decade, the research community and industry have been studying the industrialization of the software development process. The ideas underlying this perspective are supported by the proposition that several industrial techniques should be compliant with software development, and that its implementation will bring substantial benefits to the traditional approach, namely, considerable productivity gains, costs reductions and quality improvements to the developed systems. Software Product Lines materialize this ―industrialized‖ version of the software development. The main baseline of this approach, consists on the shift from the present model, in which a system is built from a set of needs stated by a single customer, to a model that aims to the construction of a generic production platform that supports the development of a set (family) of systems that covers a related set of customers’ needs. According to the proponents of this theory, the multi-system approach will allow a massive and systematic component reutilization within the family members, which contributes to a considerable process optimization. This thesis attempts to organize the concepts related to Software Product Lines through a comprehensive analysis of the underlying theoretical principles and its practical implementation through existing techniques and technologies. Based on this knowledge, we propose a family-oriented development model (SPLUP), whose applicability is demonstrated by a case study and prototype development. In addition, two papers were submitted (CENTERIS 2011 and CAPSI 2011 conferences) to systematize the main conclusions and contributions of our work

    Building a Systematic Legacy System Modernization Approach

    Full text link
    A systematic legacy system modernizing approach represents a new approach for modernizing legacy systems. Systematic legacy system modernization has software reuse as an integral part of modernization. We have developed a modernization approach which uses software architecture reconstruction to find reusable components within the legacy system. The practice of software development and modernization continues to shift towards the reuse of components from legacy systems to handle the complexities of software development. Modernization of a legacy system requires reuse of software artefacts from legacy system to conserve the business rules and improve the system’s quality attributes. Software reuse is an integral part of our systematic legacy modernization approach. Software should be considered as an asset and reuse of these assets is essential to increase the return on the development costs. Software reuse ranges from reuse of ideas to algorithms to any documents that are created during the software development life cycle. Software reuse has many potential benefits which include increased software quality, and decreased software development cost and time. Demands for lower software production and maintenance costs, faster delivery of systems and increased quality can only be met by widespread and systematic software reuse. In spite of all these benefits software reuse adoption is not widespread in the software development communities. Software reuse cannot possibly become an engineering discipline so long as issues and concerns have not been clearly understood and dealt with. We have conducted two surveys to understand the issues and concerns of software reuse in the Conventional Software Engineering (CSE) Community and the Software Product Line (SPL) Community where reuse is an integral part of the product development. The quantitative and qualitative analysis of our surveys identified the critical factors which affect and inhibit software engineers and developers adopting software reuse. Software reuse has been talked about in generic terms in software product lines. Though software reuse is a core concept in SPL it has however failed to become a standardized practice. The survey conducted on the SPL Community investigates how software reuse is adopted in SPL so as to provide the necessary degree of support for engineering software product line applications and to identify some of the issues and concerns in software reuse. The identified issues and concerns have helped us to understand the difference between software reuse in the CSE and SPL Communities. It has also given us an indication of how both communities can learn good software reuse practices from each other in order to develop a common software reuse process. Based on the outcome of our surveys we have developed a systematic software reuse process, called the Knowledge Based Software Reuse (KBSR) Process, which incorporates a Repository of reusable software assets to build a systematic legacy system modernization approach. Being able to reuse software artefacts, be it software requirement specification, design, or code, would greatly enhance software productivity and reliability. All of these software artefacts can go in the Knowledge Based Software Reuse Repository and be candidates for reuse
    corecore