Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Edmar Soares de Oliveira
Título: Protótipo de um Weaver para Programação Orientada a Aspectos em Delphi
 
Introdução:
Ao longo dos últimos anos, a Engenharia de Software tem disponibilizado para os desenvolvedores vários métodos, técnicas e ferramentas, para auxiliá-los a produzir com maior qualidade. Entre as características perseguidas, a busca pela reusabilidade e manutenibilidade são as mais importantes para a produtividade (RESENDE; SILVA, 2005, p. 10). Com o surgimento da Programação Orientada a Objetos (POO), houve uma mudança radical na maneira de se desenvolver software. A POO tem contribuído de forma positiva na
engenharia de software, pois o modelo de objetos fornece um melhor entendimento do problema real (KICZALES et al., 1997, p. 1). Com o crescimento dos sistemas e o aumento de sua complexidade, têm-se observado alguns problemas como por exemplo, entrelaçamento e espalhamento de código, que as técnicas de POO e programação estruturada são incapazes de resolver (KICZALES et al., 1997, p. 1). Assim nasceu a Programação Orientada a Aspectos (POA), ou Aspect-Oriented Programming (AOP), com o intuito de apresentar técnicas capazes de cobrir essas falhas.
Para Resende e Silva (2005, p. 12), “a POA tem por objetivo separar os níveis de preocupação durante o desenvolvimento de software. [...] A proposta é poder desenvolver as partes do sistema sem se preocupar com as demais partes.” Esta técnica visa também a eliminação da redundância de código fonte no sistema (RESENDE; SILVA, 2005, p. 12).Segundo Nelson (2005, p. 18), a tecnologia de orientação a aspectos não substitui a orientação a objetos, mas complementa esta outra tecnologia. Tanto é que algumas partes de um programa orientado a aspectos são implementadas baseadas no modelo orientado a objetos. A
POA oferece uma estrutura que encapsula implementações de uma responsabilidade que ficariam espalhadas no modelo orientado a objetos. Esta unidade é chamada de aspecto.
Para uma implementação básica de POA, é necessário: uma linguagem para programação dos componentes, como por exemplo o Java; uma linguagem para programação dos aspectos, como o AspectJ; um weaver; um programa de componentes e um programa de aspectos (STEINMACHER, 2001, p. 3). O weaver (ou montador) é o combinador de aspectos. Sua função é combinar os programas escritos em linguagem de componentes, no caso, as regras de negócio implementadas com orientação a objeto, com os escritos em
linguagem de aspecto. O resultado será um programa mesclando as funcionalidades implementadas nos programas de componentes e aspecto (GROTT, 2005, p. 27).
Neste trabalho é desenvolvido um protótipo de um weaver para geração de código na linguagem Delphi com suporte a programação orientada a aspectos. Por se tratar de uma ferramenta de engenharia de software, ela é voltada para o desenvolvedor. A ferramenta recebe como entrada um arquivo de projeto do Delphi (arquivo .dpr), e um ou mais programas na linguagem de aspecto AOPDelphi, que foi criada neste trabalho. Como saída, a ferramenta gera programas fontes na linguagem Delphi, mesclando as funcionalidades dos programas fornecidos como entrada. Este weaver foi desenvolvido baseado no AspectJ1.