aspect oriented software development - aosd 1 elaborado por: bruno nunes nº 3202 pedro casqueiro...

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

Upload: internet

Post on 17-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

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

1

Aspect Oriented Software Development - AOSD

Elaborado por:Bruno Nunes nº 3202Pedro Casqueiro nº 2163

Page 2: Aspect Oriented Software Development - AOSD 1 Elaborado por: Bruno Nunes nº 3202 Pedro 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

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

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

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

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

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

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

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

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

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

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

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

8

Aspect Oriented Software Development - AOSD

Finalmente ..................... AOSD!

Evolução da Engenharia de Software

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

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

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

10

Aspect Oriented Software Development - AOSD

Separação de concerns

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

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

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

12

Aspect Oriented Software Development - AOSD

XML parsing concern

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

13

Aspect Oriented Software Development - AOSD

URL pattern matching concern

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

14

Aspect Oriented Software Development - AOSD

Logging concern

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

15

Aspect Oriented Software Development - AOSD

Concerns Transversais (Crosscutting Concerns)

Evolução ?

Reutilização ?

Manutenção ?

É necessária uma nova linguagem/Paradigma

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

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)

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

17

Aspect Oriented Software Development - AOSD

Decomposição de AspectosInvocação Implicita

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

18

Aspect Oriented Software Development - AOSD

Decomposição de Aspectos

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

19

Aspect Oriented Software Development - AOSD

Bibliografia:

•Survey of Aspect - Oriented Analysis and Design Approaches

•Wikipedia

•Introduction to Aspect - Oriented Software Development (AOSD Europe)