CodeScoping: A source code based tool to software product lines scoping - Medeiros, Thiago Fernandes Lins de (2011)
Engenharia de Linhas de Produto de Software (ELPS) emergiu rapidamente como uma importante abordagem de desenvolvimento de software durantes os últimos anos. ELPS foca-se na identificação e gerenciamento dos pontos em comum (commonalities) e dos pontos de variação (variabilities) de um conjunto de produtos de software, de forma que artefatos (core assets) possam ser desenvolvidos e (re)usados para construir diferentes produtos com custo reduzido. Além disso, melhoria de produtividade, aumento de qualidade e redução do tempo de entrega dos produtos são alguns dos benefícios proporcionados pela abordagem. Neste contexto, o processo de escopo em linhas de produto de software é responsável pela definição da viabilidade a longo prazo da linha de produtos. Seu principal objetivo é identificar e delimitar produtos, funcionalidades, subdomínios e artefatos (componentes, documentos, etc.) existentes da linha de produtos, onde o investimento em reuso trará benefícios econômicos para a empresa. Normalmente, engenheiros de linha de produtos definem o escopo com informações extraídas da documentação de produtos existentes e baseados no conhecimento de especialistas de domínio. Esta é uma tarefa que demanda muito esforço, pois muito tempo é investido na realização de workshops e entrevistas com os especialistas de domínio. Além disso, frequentemente, os especialistas de domínio não tem tempo disponível para compartilhar o conhecimento deles e a documentação dos produtos existentes é inexistente ou está desatualizada. Assim, a fim de reduzir custos e tempo para a realização do processo de escopo, esta dissertação propõe uma abordagem para auxiliar o processo de escopo baseada no código fonte dos produtos já existentes na empresa. Além disso, são apresentados os requisitos, projeto e implementação de uma ferramenta com o objetivo de guiar os analistas de escopo na identificação de similaridades e variações no código fonte dos sistemas legados. Finalmente, esta dissertação também descreve um estudo empírico que foi utilizado para a elicitação de requisitos e um experimento que foi conduzido para avaliar a viabilidade da ferramenta proposta neste trabalho