Resumo: Este trabalho apresenta uma investigação sobre como os conceitos do paradigma orientado a aspectos podem ser combinados com a abordagem de linha de produto de software (LPS) para o encapsulamento de grupos de características em componentes bases e transversais. Como resultado dessa investigação é proposta uma abordagem, denominada ProLineA, para o desenvolvimento de linhas de produto orientado a aspectos. A abordagem de LPS tem como objetivo gerar produtos específicos por meio da reutilização de uma infra-estrutura central estabelecida para um determinado domínio. O desenvolvimento de uma LPS envolve duas atividades: a engenharia de domínio e a engenharia de aplicação. O contexto desse trabalho abrange a engenharia de domínio combinada às técnicas que promovem a separação de características transversais do paradigma orientado a aspectos. São apresentados as etapas, atividades, notações e artefatos produzidos pela ProLineA por meio de um exemplo de LPS para sistemas de locação de carros. Foi dado ênfase ao Processo de Gerenciamento de Variabilidades (PGV) e ao método para o Desenvolvimento Baseado em Componentes e Aspectos (DBC/A). Um exemplo de aplicação de LPS para o Gerenciamento de Processos Seletivos é apresentado e comparado a uma solução para o mesmo domínio sem a aplicação da ProLineA.
Abstract: This work presents an approach, named ProLineA, that applies aspect-oriented concepts to the development of software product line (SPL). The SPL approach aims at generating specific products by reusing a core asset of a defined domain. It considers two main activities: domain and application engineering. The proposed approach extended the domain engineering process by adding separation of concerns concepts. Our approach is mainly based on two existing techniques for variability management (PGV) and component-based development with aspects (DBC/A). The development stages and notation of ProLineA is described illustrated with artifacts excerpts of the development of a SPL for the management of admission processes. In addition, an example of application of the domain of car rental is used to evaluated our approach. |