Analysis of techniques for implementing software product lines variabilities

AUTOR(ES)
DATA DE PUBLICAÇÃO

2008

RESUMO

Linhas de Produtos de Software (LPS) sÃo conjuntos de sistemas de software que com-partilham uma base comum de funcionalidades e satisfazem a necessidades especÃficas de determinados segmentos de mercado. LPS sÃo desenvolvidas a partir de uma arquitetura comum e compartilham um conjunto de artefatos reusÃveis (projetados para um domÃnio de aplicaÃÃo especÃfico). Entre as atividades principais na construÃÃo e manutenÃÃo de uma LPS està a gerÃncia das variaÃÃes nos diversos artefatos que a compÃem. Em par-ticular, a escolha de tÃcnicas de programaÃÃo que possibilitem a introduÃÃo de variaÃÃes em artefatos de implementaÃÃo e uma atividade que merece bastante atenÃÃo. A escolha de qual tÃcnica utilizar para lidar com determinados tipos de variaÃÃes nos artefatos de implementaÃÃo de uma LPS pode gerar impactos significativos tanto na qualidade desses artefatos como na qualidade dos produtos nais gerados. Apesar da importÃncia dessa atividade, poucos estudos publicados mostram comparaÃÃes entre as diversas tÃcnicas que permitem a implementaÃÃo de variaÃÃes em software. A maioria dos trabalhos exis-tentes limita-se a avaliaÃÃes qualitativas dessas tÃcnicas, nÃo analisando o impacto dessas tÃcnicas nos atributos de qualidade de LPS existentes atravÃs de mÃtricas de software. O foco do presente trabalho e a comparaÃÃo entre algumas das tÃcnicas de imple-mentaÃÃo de variaÃÃes usadas na indÃstria de software. Para tal, primeiro apresentamos um catÃlogo de tipos de variaÃÃes, onde variaÃÃes sÃo classificadas de acordo com a sua estrutura e localizaÃÃo no cÃdigo da aplicaÃÃo. As variaÃÃes apresentadas no catÃlogo foram identificadas atravÃs de uma anÃlise realizada em uma LPS do domÃnio de jogos para dispositivos mÃveis. Em seguida, apresentamos propostas de soluÃÃo que utilizam algumas das principais tÃcnicas de programaÃÃo para lidar com cada tipo de variaÃÃo es-pecÃfico. Como parte desse trabalho, analisamos o impacto da utilizaÃÃo de cada soluÃÃo proposta atravÃs de dados qualitativos e quantitativos. Analisamos ainda a composiÃÃo do uso dessas soluÃÃes para implementar variaÃÃes em LPS e como um catÃlogo de tipos de variaÃÃes e um conjunto de propostas de soluÃÃes podem guiar a implementaÃÃo ou reestruturaÃÃo de variaÃÃes em uma LPS

ASSUNTO(S)

ciencia da computacao linhas de produtos de software programaÃÃo orientada a aspectos aspect-oriented programming software product lines mixins mixins engenharia de software

Documentos Relacionados