aspect oriented software development - aosd 1 elaborado por: bruno nunes nº 3202 pedro casqueiro...
Embed Size (px)
TRANSCRIPT

1
Aspect Oriented Software Development - AOSD
Elaborado por:Bruno Nunes nº 3202Pedro Casqueiro nº 2163

2
Aspect Oriented Software Development - AOSD
Sistemasde
Informação
Maiores
Capacidade de
processamento
Complexidade das
funcionalidades
Fiabilidade
Rapidez
Facilidadede
utilização
PREview
VIM
AOSD
Cosmos
…
Engenharia de
Software
Evolução da Engenharia de Software

3
Aspect Oriented Software Development - AOSD
Evolução da Engenharia de Software
Código complexo
Difícil de ler e escrever
Difícil evolução
Difícil manutenção
Reutilização difícil
Programação de nível máquina

4
Aspect Oriented Software Development - AOSD
Mais fácil de ler e escrever
Difícil evolução
Difícil manutenção
Reutilização difícil
Programação estruturada
Evolução da Engenharia de Software

5
Aspect Oriented Software Development - AOSD
Mais fácil de ler e escrever
Evolução melhorada
Manutenção melhorada
Reutilização melhorada
Programação procedimental
Evolução da Engenharia de Software

6
Aspect Oriented Software Development - AOSD
Mais fácil de ler e escrever
Evolução melhorada
Manutenção melhorada
Reutilização melhorada
Programação modular
Evolução da Engenharia de Software

7
Aspect Oriented Software Development - AOSD
Mais fácil de ler e escrever
Evolução melhorada
Manutenção melhorada
Reutilização melhorada
Programação OO
Evolução da Engenharia de Software

8
Aspect Oriented Software Development - AOSD
Finalmente ..................... AOSD!
Evolução da Engenharia de Software

9
Aspect Oriented Software Development - AOSD
Separação de concerns
Concern: “Algo com que a equipa de desenvolvimento tem de se preocupar” (por exemplo: funcionalidade, requisito, ...)
Separação de concerns: Tratar cada concern separadamente
Programação Modular
Organizar codigo por grupos de funcionalidades
Necessidade de mecanismos da linguagem
Leva à evolução das linguagens e paradigmas

10
Aspect Oriented Software Development - AOSD
Separação de concerns

11
Aspect Oriented Software Development - AOSD
Exemplo de Crosscutting Concern
Implementação do Apache Tomcat webserver
Análise de implementação de 3 concerns:
XML parsing
URL pattern matching
Logging

12
Aspect Oriented Software Development - AOSD
XML parsing concern

13
Aspect Oriented Software Development - AOSD
URL pattern matching concern

14
Aspect Oriented Software Development - AOSD
Logging concern

15
Aspect Oriented Software Development - AOSD
Concerns Transversais (Crosscutting Concerns)
Evolução ?
Reutilização ?
Manutenção ?
É necessária uma nova linguagem/Paradigma

16
Aspect Oriented Software Development - AOSD
Decomposição de Aspectos
Modularizar os crosscutting concerns
– Code scattering (um concern em muitos modulos)
Code Tangling (um modulo com diversos concerns)

17
Aspect Oriented Software Development - AOSD
Decomposição de AspectosInvocação Implicita

18
Aspect Oriented Software Development - AOSD
Decomposição de Aspectos

19
Aspect Oriented Software Development - AOSD
Bibliografia:
•Survey of Aspect - Oriented Analysis and Design Approaches
•Wikipedia
•Introduction to Aspect - Oriented Software Development (AOSD Europe)