Você está na página 1de 14

Instituto Tecnolgico da Aeronutica - ITA

Diviso de Cincia da Computao CE-245 Tecnologias da Informao Prof. Adilson Marques da Cunha
Dbora Ap. Rodrigues Chagas

Tecnologia da Informao Orientao a Aspectos

Roteiro
Introduo Objetivo Orientao a Aspectos Concluso

Introduo
Em cincia da computao, programao orientada a
aspecto ou POA, um paradigma de programao de computadores que permite aos desenvolvedores de software separar e organizar o cdigo de acordo com a sua importncia para a aplicao (separation of concerns). Todo programa escrito no paradigma orientado a objetos possui cdigo que alheio a implementao do comportamento do objeto. Este cdigo todo aquele utilizado para implementar funcionalidades secundrias e que encontra-se espalhado por toda a aplicao (crosscutting concern). A POA permite que esse cdigo seja encapsulado e modularizado.

Objetivo
A programao orientada a aspecto tem
como objetivo a separao do cdigo segundo a sua importncia para a aplicao, permitindo que o programador encapsule o cdigo secundrio em mdulos separados do restante da aplicao.

Orientao a Objetos
Os termos desenvolvimento estruturado e orientao a objetos dizem respeito A diviso em partes importante para se reduzir a complexidade. muito difcil para
um ser humano compreender um sistema de grande porte se este for monoltico, sem fronteiras claras que definem suas funes. O termo separao de interesses foi cunhado por Edsger Dijkstra em 1974 para denotar o princpio que guia a diviso em partes: todo sistema de software lida com diferentes interesses, sejam eles dados, operaes, ou outros requisitos do sistema. O ideal seria que a parte do programa dedicada a satisfazer a um determinado interesse estivesse concentrada em uma nica localidade fsica, separada de outros interesses, para que o interesse possa ser estudado e compreendido com facilidade. O desenvolvimento estruturado realizou a separao de interesses orientando-se atravs das diferentes funcionalidades oferecidas pelo software. Cada funo implementada em um nico mdulo, ou procedimento. Da surgiram conceitos que ajudam a manter a separao de interesses, como o baixo acoplamento e a alta coeso. A orientao a objetos veio como forma de sanar uma das deficincias do desenvolvimento estruturado. Apesar de interesses relativos a funcionalidades ficarem separados, interesses relativos a dados ficavam distribudos em diversos mdulos. O paradigma OO definiu que a separao deveria acontecer em duas dimenses, primeiro dividido em termos de dados e depois em termos das funes que utilizam cada tipo de dados.

modularidade do sistema. So formas distintas de se dividir um sistema em partes.

Exemplo do Paradigma Orientado a Objetos

A orientao a objetos melhorou as possibilidades de

separao de interesses. No entanto, ainda tem deficincias nessa rea. Os diagramas abaixo mostram uma representao grfica do cdigo do sistema Tomcat, um servidor web com capacidade de executar servlets Java. Cada coluna representa um mdulo do sistema, sendo que o tamanho de cada coluna mostra o nmero proporcional de linhas de cdigo daquele mdulo. Como podemos ver no diagrama abaixo, alguns interesses esto muito bem separados.

No entanto, isso nem sempre verdade.

Se considerarmos a funcionalidade de guardar registros para auditoria, isto , registrar as aes tomadas pelo servidor para se detectar violaes de segurana, erros, etc., ento vemos que o cdigo responsvel por esse comportamento est espalhado por quase todos os mdulos.

Orientao a Aspectos
Na terminologia de orientao a aspectos, diz-se que a funo de
registro para auditoria um interesse entrecortante, porque a sua implementao "corta" a estrutura de mdulos do sistema. Praticamente todo programa orientado a objetos no-trivial contm interesses entrecortantes. O objetivo do desenvolvimento orientado a aspectos encapsular interesses entrecortantes em mdulos fisicamente separados do restante do cdigo. Esses mdulos so denominados aspectos. Pensando em termos abstratos, a orientao a aspectos introduz uma terceira dimenso de decomposio. Alm de decompor o sistema em objetos (dados) e mtodos (funes), decompomos cada objeto e funo de acordo com o interesse sendo servido e agrupamos cada interesse em um mdulo distinto, ou aspecto.

Exemplo paradigma Orientao Aspectos

Concluso
Com a evoluo da tecnologia da
informao o desenvolvedor no pode ficar perdendo muito tempo no desenvolvimento, ento necessrio paradigmas que facilitem e agilizem cada vez mais o desenvolvimento.

Referncias Bibliogrficas
http://www.inf.pucminas.br/professores/t
orsten/aulas/aula04.html http://pt.wikipedia.org/wiki/Programa%C3 %A7%C3%A3o_orientada_a_aspecto http://www.inf.pucminas.br/professores/t orsten/aulas/aula06.html