Este blog Mudou

Este Blog mudou-se para:

domingo, 18 de setembro de 2005

Programação Orientada a Aspectos

Olá para todo mundo!

Fiz hoje o POSCOMP o exame de pós-graduação em computação da SBC Sociedade Brasileira de Computação. Bom como eu não estudei nada acho que fui até bem mas ainda tem que sair o gabarito que eles vão enviar por e-mail então agora é só aguardar.

Hoje vou falar um pouco sobre “Programação Orientada a Aspectos”, bonito o nome né? Próxima semana tem uma apresentação sobre isso e como já tenho bastante material aqui vai uma prévia do trabalho. Depois eu posto um link pro download do trabalho completo.

Primeiramente quero avisar que isto está baseado no trabalho Desenvolvimento de Software Orientado por Aspectos de Fábio Tirello, Roberto da Silva Bigonha, Mariza Andrade da Silva Bigonha e Marco Túlio de Oliveira Valente dos Departamentos de Ciência da Computação da PUC-Minas e UFMG Santa Catarina (UTESC)


Orientação a Aspectos: Onde?? Quando?? e pra que??

Era o belo ano de 1997 e o Windows 95 dominava o mercado de sistemas operacionais desktop, e eu estudava primeiro grau, mas isso num tem nada a ver com Aspectos o que conta é que Gregor Kiczales na “11th European Conference on Object-Oriented Programming propôs orientação a aspectos como solução para desvios em orientação a objetos.

Problemas em Orientação a Objetos? E isso existe?

A forma inadequada de tratar os requisitos transversais em um sistema orientado a objetos gera uma baixa modularização, a qual é dividida em dois problemas: espalhamento e intrusão.

O espalhamento que se deve ao fato de ter código para implementação de requisitos transversais disperso pelo programa.

Intrusão é o fato de ter trechos de vários requisitos transversais em uma única região do programa.

As conseqüências desses problemas são a menor produtividade do programador, dificuldades para rastrear o programa e baixa reusabilidade.

Desenvolvimento de Programas Orientado a Aspectos

O desenvolvimento de software orientado por aspectos é realizado em três fases: a decomposição, a implementação e a recomposição de requisitos.

Decomposição:

Consiste na separação dos requisitos em funcionais e transversais.

Implementação:

Deve-se implementar as unidades de lógica do negócio, registro de operações, autorização, etc., em módulos separados. Para a implementação de cada módulo, utiliza-se os recursos da POO padrão.

Recomposição do sistema:

Após a implementação separada de cada requisito, especificam-se as regras de recomposição do sistema. Estas regras são implementadas em módulos denominados aspectos. Os aspectos definem como os requisitos são compostos para formar o sistema, em um processo denominado costura (weaving).

Justify Full

Para saber mais:

www.aspectJ.com

Nenhum comentário: