Trabalho De POA 02
Desenvolvimento de Software Orientado por Aspectos
Fabio Tirelo1 , Roberto da Silva Bigonha2 ,
Mariza Andrade da Silva Bigonha2 , Marco T´ ulio de Oliveira Valente1
1Departamento de Ciˆencia da Computac¸ ˜ao
Pontif´ıcia Universidade Cat´olica de Minas Gerais
Av. D. Jos´e Gaspar, 500 – Pr´edio 34 – 30.535-610 – Belo Horizonte, MG
2Departamento de Ciˆencia da Computac¸ ˜ao
Universidade Federal de Minas Gerais
Av. Antˆonio Carlos, 6627 – 31.270-000 – Belo Horizonte, MG
{ftirelo,mtov}@pucminas.br, {bigonha,mariza}@dcc.ufmg.br
Resumo. O desenvolvimento de software orientado por aspectos ´e uma t´ecnica nova cujo objetivo ´e permitir a definic¸ ˜ao separada de requisitos transversais
`as classes de um sistema orientado por objetos. Por atravessarem todo o c´odigo, tais requisitos s˜ao, em geral, de dif´ıcil modularizac¸ ˜ao em linguagens orientadas por objetos puras. Com a orientac¸ ˜ao por aspectos, requisitos transversais, tais como gerac¸ ˜ao de registros de operac¸ ˜oes, controle sincronizac¸ ˜ao e comunicac¸ ˜ao, podem ser implementados de maneira elegante, eficiente e modular, aumentando o n´ıvel de reutilizac¸ ˜ao de c´odigo em sistemas.
Abstract. Aspect-oriented software development is a new technique whose objective is to modularize crosscutting concerns in object-oriented systems. Modularizing such concerns in pure object-oriented languages is difficult since their implementation can be scattered throughout many program classes. By using aspect-oriented programming, one can implement crosscutting concerns such as logging generation, synchronization and communication control in an elegant, efficient, and modular manner, which may improve system reusability.
Conte´udo
1 Introduc¸ ˜ao 3
2 Implementac¸ ˜ao de Requisitos de Sistemas 4
2.1 Introduc¸ ˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Programac¸ ˜ao Orientada por Aspectos . . . . . . . . . . . . . . . . . . . 4
2.3 Exemplo