Use este identificador para citar ou linkar para este item: https://repositorio.unipampa.edu.br/jspui/handle/riu/5230
Tipo: Dissertação
Título: PAxSPL: A generic framework to support the planning of SPL reengineering
Autor(es): Marchezan, Luciano
Primeiro Orientador: Santos, Elder de Macedo Rodrigues
Coorientador: Bernardino, Maicon
Resumo: Software Product Line (SPL) is a well-known approach for systematically creating reusable software assets and customized software products for a specific domain or market segment. Among the different approaches for adopting SPL, the extractive approach is a promising solution for organizations that intend to transform their legacy applications into an SPL. In this sense, the SPL reengineering process emerges as a possible strategy for applying the SPL extractive approach. Another important concept related to SPL development is scoping. The SPL scoping process is conducted for defining the boundaries of an SPL, being one of the core planning activities performed during SPL development. Although not deeply discussed in technical SPL contributions, activities to support the definition of SPL development budgets and cost estimations are essential. There are several studies proposed for handling SPL reengineering such as processes, tools, frameworks, meta-models among others. Due to the diversity of options found in daily practice of software development, a rigorous analysis of contexts is critical to instantiate these proposals. As there are different scenario variables, such as available artifacts and team experience, the activities, and techniques used to perform SPL reengineering or SPL scoping tasks may change, requiring from software engineers to adapt their approaches as a means to satisfying the companies’ scenarios. To the best of our knowledge, however, there is a lack of an approach supporting these tasks considering different scenarios. Therefore, in this work we propose the Prepare, Assemble, and Execute Framework SPL reengineering (PAxSPL). PAxSPL is composed of three different aspects: a process, guidelines, and a supporting tool. The process provides support to prepare, assemble, and execute feature retrieval and analysis alongside activities considering SPL scoping concepts. Thus, users may plan the scope of their SPL while conducting the retrieval and analysis of features by applying retrieval techniques. The guidelines were created to aid users with low experience in SPL reengineering or SPL scoping. The supporting tool was developed to reduce the effort of managing and executing an SPL reengineering process. This effort reduction is done by automatizing the management and generation of reports. For evaluating PAxSPL customization capabilities, we extracted eight different scenarios from the literature used as input for application of PAxSPL. The results evidenced that PaxSPL is customizable to a variety of scenarios with different artifacts, retrieval techniques, and activities. However, we also identified some challenges that limited the customization level of our framework. Based on these challenges, we perform improvements to increase the PAxSPL customization level.
Abstract: Linhas de produtos de software (LPS) é uma abordagem bem conhecida para se criar de maneira sistemática assets de software reusáveis além de produtos de software customizados para um domínio específico. Dentre as diferentes abordagens para se adotar LPS, a abordagem extrativa é uma solução promissora em organizações que pretendem transformar seus sistemas legados em LPS. Nesse contexto, o processo de reengenharia para LPS surge como uma possível estratégia para se aplicar a abordagem extrativa de LPS. Outro conceito importante relacionado com LPS é o escopo. O processo de escopo de LPS é executado para se definir os limites de uma LPS, sendo uma das atividades essenciais de planejamento executadas durante o desenvolvimento de LPS. Apesar de não ser discutido de maneira aprofundada em contribuições técnicas, as atividades que dão suporte a definição dos orçamentos e estimação de custos de desenvolvimento são essenciais. Para ambos os tópicos, reengenharia e escopo de SPL, existem diversos trabalhos propostos, como processos, ferramentas, frameworks, meta-modelos entre outros. Por conta da diversidade de opções encontradas em práticas diárias de desenvolvimento de software, uma analise rigorosa de contextos é crucial para instanciar estas propostas. Como existem diferentes variações de cenário, como artefatos disponíveis e a experiência do time, atividades e técnicas utilizadas para se executar a reengenharia ou o escopo de LPS podem variar, necessitando que abordagens se adaptem buscando satisfazer os cenários dos usuários. Porém, identificamos a falta de uma abordagem que dá suporte a essas atividades considerando diferentes cenários. Portanto, neste trabalho propomos o Prepare, Assemble and Execute Framework for SPL Reengineering (PAxSPL). PaxSPL é composto por três aspectos distintos: um processo, diretrizes e uma ferramenta de suporte. O processo fornece suporte para se preparar, montar e executar recuperação de features considerando conceitos e atividades de escopo. Portanto, os usuários podem planejar o escopo da LPS enquanto conduzem a recuperação e análise de features aplicando as técnicas de recuperação. As diretrizes foram criadas com a intenção de auxiliar usuários com pouca experiência em reengenharia ou escopo de LPS. A ferramenta de suporte foi desenvolvida com o objetivo de reduzir o esforço de gerenciamento e execução do processo de reengenharia, alcançada através da automatização do gerenciamento e geração de relatórios. Para avaliar a capacidade de customização do PAxSPL, extraímos oito cenários da literatura, utilizados como entrada para a aplicação do PAxSPL. Os resultados evidenciaram que PAxSPL é customizável para uma variedade de cenários com diferentes artefatos, técnicas de recuperação e atividades. Porém, também identificamos oito desafios que limitaram o nível de customização de nosso framework. Baseado nestes, aplicamos melhorias para aumentar o nível de customização do PaxSPL.
Palavras-chave: Engenharia de Software
Software - Reutilização
Software Engineering
Software reusability
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA
Idioma: eng
País: Brasil
Editor: Universidade Federal do Pampa
Sigla da Instituição: UNIPAMPA
Campus: Campus Alegrete
Curso: Mestrado Profissional em Engenharia de Software
Citação: MARCHEZAN, Luciano. A generic framework to support the planning of SPL reengineering. Orientador: Elder de Macedo Rodrigues Santos. 2020. 137p. Dissertação (Mestrado Profissional em Engenharia de Software) – Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2020.
Tipo de Acesso: Acesso Aberto
URI: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/5230
Data do documento: 13-Ago-2020
Aparece nas coleções:Mestrado Profissional em Engenharia de Software

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
Luciano Augusto Marchezan de Paula - 2020.pdf3.04 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.