Estrutura da apresentao
a) Introduo
b) Contexto
c) Motivao d) Justificativa do tema e) Desenvolvimento do tema f) Ferramentas de desenvolvimento
g) Concluso
h) Referncia
Introduo
-> A engenharia de software e as linguagens de programao coexistem em um relacionamento de suporte mtuo. -> A maioria dos processos de desenvolvimento de software da atualidade considera um sistema com unidades cada vez menores de desenvolvimento.
Introduo
-> Uma propriedade de um sistema que deve ser implementada pode ser vista como um componente ou como um aspecto.
-> A propriedade pode ser vista como um componente se puder ser encapsulada em um procedimento generalizado.
Introduo
-> Aspectos so normalmente propriedades que envolvem diversas unidades de um sistema, afetando a semntica dos componentes funcionais sistematicamente. Tais como: controle de concorrncia em operaes em uma mesma conta bancria, registro das transaes de uma determinada conta.
Introduo
Introduo
-> Existem propriedades que no se enquadram em componentes da decomposio funcional. -> Seus cdigos encontram-se espalhados atravs do cdigo da aplicao. Isto dificulta a separao da funcionalidade bsica do sistema dessas propriedades. -> Como resolver estes problemas? Programao Orientada a Aspectos (POA). Alternativa para resolver problemas que nem as tcnicas de programao Orientada Objetos e nem as tcnicas de programao Estruturada resolvem facilmente.
Introduo
Exemplo de um aspecto:
Contexto
-> Visando a maior integrao dos softwares produzidos desenvolveu-se a POA. -> Diante deste contexto a Orientao a Aspectos objetiva oferecer suporte ao programador na tarefa de separar: i) componentes dos aspectos
Motivao:
-> A POA complementa a POO por facilitar um outro tipo de modularidade que expande a implementao espalhada de uma responsabilidade dentro de uma simples unidade.
-> Por ser uma forma melhor de gerenciar a complexidade dos componentes.
-> Por ter menos cdigo e ser menos complexo, est sujeito a menos erros.
Justificativa do tema
-> Por que o tema foi escolhido? a) Para conhecer uma nova abordagem de como montar projetos de software b) Algum j conhecia POA? c) Algum pretende usar POA?
Desenvolvimento do tema
-> Como funciona a POA? Uma implementao bsica de POA, consiste em:
Crosscutting
-> A POA permite ao programador separar os interesses comuns do sistema (que fogem a tpica diviso de classes). -> O comportamento que no se encaixa naturalmente dentro de um mdulo de um programa chamado comportamento que atravessa (crosscutting) o sistema, ou seja, est espalhado em vrias classes. -> A POA ajuda a manter a consistncia do projeto, apresentando um novo nvel de modularidade: os aspectos.
Concluses
-> A programao orientada a aspecto passa a fazer parte do dia-a-dia dos desenvolvedores. -> Existem detalhes que precisam ser melhor estudados. -> Falta uma metodologia.
Referncias
-> Pressman, Software Engeneering
-> Deitel & Deitel, Java, How to Program -> www.aspectj.org -> Dissertaao de mestrado de Eduardo Laureano, UFPE - "Persistence implementation with Aspect-J"
-> Artigo de William Grosso em DrDobbs.com (DDJ.com) - "Aspect-Oriented Programming & AspectJ