Aspect Oriented Software Development - AOSD 1 Elaborado por: Bruno Nunes nº 3202 Pedro Casqueiro nº 2163
Aspect Oriented Software Development - AOSD 2 Sistemas de Informação Maiores Capacidade de processamento Complexidade das funcionalidades Fiabilidade Rapidez Facilidade de utilização PREview VIM AOSD Cosmos … Engenharia de Software Evolução da Engenharia de Software
Aspect Oriented Software Development - AOSD 3 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
Aspect Oriented Software Development - AOSD 4 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
Aspect Oriented Software Development - AOSD 5 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
Aspect Oriented Software Development - AOSD 6 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
Aspect Oriented Software Development - AOSD 7 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
Aspect Oriented Software Development - AOSD 8 Finalmente AOSD! Evolução da Engenharia de Software
Aspect Oriented Software Development - AOSD 9 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
Aspect Oriented Software Development - AOSD 10 Separação de concerns
Aspect Oriented Software Development - AOSD 11 Exemplo de Crosscutting Concern Implementação do Apache Tomcat webserver Análise de implementação de 3 concerns: XML parsing URL pattern matching Logging
Aspect Oriented Software Development - AOSD 12 XML parsing concern
Aspect Oriented Software Development - AOSD 13 URL pattern matching concern
Aspect Oriented Software Development - AOSD 14 Logging concern
Aspect Oriented Software Development - AOSD 15 Concerns Transversais (Crosscutting Concerns) Evolução ? Reutilização ? Manutenção ? É necessária uma nova linguagem/Paradigma
Aspect Oriented Software Development - AOSD 16 Decomposição de Aspectos Modularizar os crosscutting concerns – Code scattering (um concern em muitos modulos) Code Tangling (um modulo com diversos concerns)
Aspect Oriented Software Development - AOSD 17 Decomposição de Aspectos Invocação Implicita
Aspect Oriented Software Development - AOSD 18 Decomposição de Aspectos
Aspect Oriented Software Development - AOSD 19 Bibliografia: Survey of Aspect - Oriented Analysis and Design Approaches Wikipedia Introduction to Aspect - Oriented Software Development (AOSD Europe)