Abstract:
|
Na evolução e no aprimoramento da engenharia de software, várias técnicas foram desenvolvidas com fins de facilitar a Separação de Conceitos, o reuso de código e a produtividade no desenvolvimento de programas. Este trabalho é focado em duas técnicas desenvolvidas com esses fins: Programação Orientada a Aspectos e Metaprogramação Estática. Mais especificamente, o trabalho é focado na comparação entre duas técnicas de Programação Orientada a Aspectos: Adaptadores de Cenário e Programação Orientada a Aspectos usando de weavers de código. A técnica de Adaptadores de Cenário, ambientada no escopo de sistemas operacionais, foi desenvolvida em uma época em que ainda não existiam weavers com características adequadas para uso neste escopo. O objetivo da comparação é principalmente identificar eventuais vantagens na substituição de Adaptadores de Cenário por Programação Orientada a Aspectos por meio de weavers. Para que esta análise pudesse ser realizada, também foi desenvolvido um estudo da viabilidade e solução sobre o uso de weavers de aspecto junto à Metaprogramação Estática e Classes Parametrizadas da linguagem C++. Deste estudo resultou a criação de um pré-processador de templates de C++. A comparação entre as técnicas foi desenvolvida em quatro estudos de caso de Programação Orientada a Aspectos. Os critérios de comparação basearam-se na clareza de código, quantidade de código desenvolvido e propensão a erro no desenvolvimento deste código. Os resultados desta comparação apontam que não existe superioridade marcante de uma das técnicas sobre a outra, não justificando a substituição de Adaptadores de Cenário por ferramentas de Programação Orientada a Aspectos baseada em weavers hoje disponíveis. |