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

Post on 17-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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)

top related