Resumo: O objetivo principal de uma Linha de Produto de Software (LPS) é reduzir custos e aumentar a produtividade por meio do reúso de artefatos. Nessa abordagem, o principal artefato é a arquitetura da LPS (Product Line Architecture - PLA) porque ela fornece uma solução para uma gama de produtos da LPS. A avaliação do projeto de uma PLA é uma tarefa fundamental e complexa durante o ciclo de vida de LPS, dado que a PLA contem um conjunto de componentes reutilizáveis na LPS. A busca por soluções para problemas da Engenharia de Software tem sido tratada no campo de pesquisa denominado Engenharia de Software Baseada em Busca (Search Based Software Engineering - SBSE) por meio de abordagens baseadas em Algoritmos Evolutivos Multiobjetivos (Multi-Objective Evolutionary Algorithms - MOEAs), que consideram diferentes fatores e medidas que afetam o problema do projeto de PLA. Diante disso, foi proposta a abordagem Multiobjective Optimization Approach for Product Line Architecture - (MOA4PLA), composta por funções objetivo para avaliar projetos de PLA, as quais utilizam diferentes métricas de software para avaliar modularidade de características, extensibilidade de PLA e princípios básicos de projeto. No entanto, outras propriedades arquiteturais podem ser avaliadas. Nesse contexto, o objetivo do presente trabalho foi expandir o modelo de avaliação da MOA4PLA com métricas que avaliem outras propriedades de projeto de PLA. Portanto, foi definido um modelo de qualidade para a MOA4PLA. Logo foram identificadas outras métricas que permitam medir outras propriedades arquiteturais no modelo de qualidade proposto. Tendo em conta as novas métricas selecionadas, novas funções objetivo foram definidas no modelo de avaliação da MOA4PLA e implementadas na ferramenta OPLA-Tool. Em vista de investigar a correlação existente entre as novas funções objetivo, realizou-se um estudo exploratório envolvendo quatro experimentos. Assim, o presente trabalho expande o modelo de avaliação da MOA4PLA, com outras métricas para avaliar projetos de PLA. As principais contribuições do trabalho são: a proposta do modelo de qualidade para SBPD, o uso de métricas para a LPS orientado a serviços aplicadas por primeira vez no contexto de SBPD; e as novas funções objetivo que permitem avaliar outras propriedades arquiteturais no modelo de avaliação da MOA4PLA.
Abstract: The primary purpose of a Software Product Line (LPS) is to reduce costs and increase productivity by reusing artifacts. In this approach, the main artifact is the Product Line Architecture (PLA) because it provides a solution for a range of LPS products. Evaluating the PLA design is a fundamental and complex task during the LPS life cycle, since the PLA specifies a set of reusable components in the LPS. The search for solutions to software engineering problems has been addressed in the search field called Search- based Software Engineering (SBSE) through approaches based on Multi-Objective Evolutionary Algorithms (MOEAs), which consider different factors and measures that affect the PLA design problem. In order to evaluate PLA designs, which use different software metrics to evaluate the modularity of characteristics, the PLA extensibility and the basic principles of design, the Multi-Objective Approach for Product Line Architecture Design (MOA4PLA) was proposed. However, other architectural properties can be evaluated. In this context, the objective of the present work was to expand the MOA4PLA evaluation model with metrics that assess other PLA design properties. Therefore, a quality model was defined for the MOA4PLA. After, other metrics have been identified to measure other architectural properties in the proposed quality model. Taking into account the new selected metrics, new objective functions were defined in the MOA4PLA evaluation model and implemented in the tool OPLA-tool. In order to investigate the correlation between the new objective functions, an exploratory study was carried out involving four experiments. Thus, the present work expands the evaluation model of the MOA4PLA, with other metrics to evaluate PLA designs. The main contributions of this work are: the proposal of the quality model for SBPD, the use of metrics for LPS oriented to services applied for the first time in the context of SBPD; and the new objective functions that let evaluate other architectural properties in the evaluation model of MOA4PLA. |