Non-Functional Properties In Software Product Lines: A Reuse Approach - Soares, Larissa Rocha (2014)
Reuse de software é um aspecto importante para organizações de software interessadas em produtos personalizados e a custos razoáveis. Engenharia de Linhas de Produtos de Software (SPLE) tem como objetivo alcançar estes desafios. O paradigma de SPLE é dividido em dois principais processos: engenharia de domínio e engenharia de aplicação. Derivação de Productos é a prática de criar produtos distintos durante a engenharia de aplicação. Com base na seleção de características (features), engenheiros de SPL e interessados podem derivar programas feitos sob medida e de forma eficiente que satisfazem diferentes necessidades. Neste cenário, propriedades não-funcionais (NFPs) surgem de maneira a prover uma derivação de produtos não apenas em relação às características funcionais, mas também aos atributos de qualidade. Uma definição explícita de NFPs durante a configuração de software tem sido considerada uma tarefa difícil, uma vez que NFPs em grandes sistemas resultam da interação de muitos recursos, tornando-os difíceis de serem configurados. SPL tem sido muito bem sucedida na gestão de features que compõem propriedades funcionais e também um grande número de NFPs. No entanto, existem muitas NFPs que não podem ser expressas e realizadas sob a forma de features, mas requerem diferentes abordagens. Como lidar com elas ainda é um desafio, tanto na teoria como na prática. Atualmente, poucos trabalhos se concentram na análise da NFPs para a engenharia de linha de produto de software. Nesse sentido, realizamos uma revisão sistemática da literatura publicada em busca de abordagens de SPL que reportam NFPs. Além disso, propomos um framework para especificar NFPs para SPL e também uma abordagem de reuso, a qual promove a reutilização dos valores de NFPs durante a configuração de um produto. Uma vez que a engenharia de SPL promove a reutilização de artefatos de SPL, valores de NFPs também poderiam ser reutilizados. Além disso, estudos de caso foram realizados a fim de avaliar a aplicabilidade do framework e da abordagem de reuso.