Programação Orientada a Aspectos: Um Estudo de Caso em uma Multinacional
 
Alexsandro Souza Filippetto
Universidade Luterana do Brasil, Curso de Ciência da Computação,
Gravataí-RS, Brasil, 94170-240
alexsandrosf@brturbo.com.br

e

Daniel Antonio Callegari
Pontifícia Universidade Católica do Rio Grande do Sul, Faculdade de Informática,
Porto Alegre-RS, Brasil, 90619-900
danielc@inf.pucrs.br
 
Abstract
 
This paper aims to provide a basement on the use of Aspect Oriented Programming (AOP) as well as reporting a case study in a multi site company. As we know, there is a persistent concern in companies when dealing with cost reduction and quality issues on software development. Normally a well-designed system is able to achieve good results from code reuse, greater simplicity and, by effect, better results on maintainability. The need of having modularized systems has made several object-oriented approaches insufficient to solve the separation of concerns in a suitable level. In this context, Aspect Oriented Programming is a new approach on software development. It proposes simplification in the development of some features that were once spread over the source code of the application. Here we present some encouraging results of the paradigm, in which we achieved near 90% of reduction in code interlacing.
 
Keywords: Software Engineering, Programming Languages, Aspect Oriented Programming.
 
Resumo
 
Este artigo apresenta uma revisão dos conceitos fundamentais de POA juntamente com os resultados obtidos de sua aplicação em um projeto interno de uma multinacional. Existe uma preocupação constante nas empresas quanto à redução de custos e a qualidade no desenvolvimento de software. Normalmente, um sistema bem projetado consegue obter bons resultados quanto à reutilização de código, além de maior simplicidade no desenvolvimento e, por conseqüência, melhores resultados também em sua manutenção. A necessidade de se obter sistemas mais modularizados tornou a abordagem orientada a objetos insuficiente para resolver a separação dos interesses do sistema em um nível adequado. Uma nova abordagem no desenvolvimento de software é a Programação Orientada a Aspectos, que propõe a simplificação no desenvolvimento de algumas funcionalidades que necessitavam ficar espalhadas em diversos pontos da aplicação. Como um dos resultados obteve-se uma redução média de 90% no entrelaçamento de código, o que reduz as possibilidades de erros e torna a manutenção muito mais eficiente.
 
Palavras chave: Engenharia de Software, Linguagens de Programação, Programação Orientada a Aspectos.