Discussing Aspects of AOP Alunos: Ezequiel Jonacir Mazza João Andrei Cetenareski Curso: Mestrado em Informática Aplicada Disciplina: Orientação a Objetos.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Software Orientado por Aspectos Autores: 4033 – Daniel Grilo 4223 – Nelson Rodgrigues Autores: 4033 – Daniel Grilo 4223 – Nelson Rodgrigues.
Advertisements

Aspect Oriented Software Development - AOSD 1 Elaborado por: Bruno Nunes nº 3202 Pedro Casqueiro nº 2163.
Técnicas de Teste de Software
Engenharia de Software
Objetivos e princípios da OO
Mitos e Problemas Relacionados ao Software
Orientação a Objetos: Encapsulamento e Classificação
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA APLICADA DISCIPLINA DE SISTEMA ORIENTADOS A OBJETOS PROGRAMAÇÃO ORIENTADA.
Junho/2002PucPr - PPGIA - Mestrado/20021 Analisando o papel dos aspectos em projetos de software ( um estudo de caso [Pace 2001] ) Alunos: Acir Pereira.
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Projeto Arquitetural de Software Orientado a Aspectos
Professora: Aline Vasconcelos
Processo de Reengenharia Prático Pós- Graduação Pós- Graduação Karolyne Almeida Siqueira Michael Caldas da Silva.
Processo Desenvolvimento de Software Tradicional
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Objetos Distribuídos Padrão CORBA
Tecnologia da Informação Orientação a Aspectos
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Análise e Projeto de Sistemas
Fundamento à Informática
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
PROGRAMAÇÃO ORIENTADA A ASPECTOS EM JAVA Introdução a conceitos teóricos e práticos Adriano G. do Prado José Eduardo M. Lemos José Fernando da S. Cruz.
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
1 T-Flex permite criar relações entre elementos dos conjuntos através de ligações geométricas. Assim pode-se criar modelos exactos, gerir e editar conjuntos.
TÉCNICAS DE PROGRAMAÇÃO II
Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH Turma 02 EACH – USP.
Separation of Concerns (SoC)
P ROGRAMAÇÃO ORIENTADA A ASPECTOS Equipe: Leandro Oliveira Anusio Menezes.
Conceitos.
Desenvolvimento de Sistemas Orientados a Aspectos
Engenharia de Software
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Caracterização e Objetivos das LP
Rapid Application Development (RAD)
Hyper/J TM : Multi-Dimensional Separation of Concerns for Java TM Peri Tarr, Harold Ossher, Vincent Kruskal, and Matthew Kaplan Por Sérgio Soares.
Programação orientada a Aspectos Radio Manager System.
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Padrões de Projeto e Arquitetura em Camadas
Desenvolvimento Rápido de Aplicação (RAD)
Aspect Oriented Programming (AOP)
The art of Unit Testing. Unit testing O Um teste unitário é uma parte de código (geralmente um método/função), que invoca outra parte de codigo e verifica.
Programação Orientada à Objetos
Programação Orientada à Objetos
Laboratório de Programação
Requisitos de Software
Linguagem orientada a Aspectos 2 Luiz Carlos d’Oleron Tiago Vinícius.
Desenvolvimento de Software Dirigido a Modelos
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Engenharia de Software
Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira.
1 Java: Modificador abstract para classes e métodos Alcides Calsavara.
The Five Orders of Ignorance Viewing software development as knowledge acquisition and ignorance reduction.
Equipe Equipe: Ana Carolina M. Pilatti Igor de Souza Paiva Igor de Souza Paiva Rafael Stubs Parpinelli Rafael Stubs Parpinelli Vera Lúcia Marchiori Vera.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Multiparadigma das Comunicações em Java para Grid Computing Fernanda R. Ramos Luiz Felipe Marco Eiterer Profº Alcides Calsavara, Ph.D.
Padrão Composite Definição
Frameworks e Componentes Daniel Fernando Pavelec.
Introdução a Orientação a Objetos
Orientação a Objetos e Java Alexandre Mota  Centro de Informática, UFPE.
Módulo II Capítulo 1: Orientação a Objetos
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
J U nit Um Framework Para Testes. Motivação  Todos os programadores sabem que devem testar seu código  Quanto mais curto o prazo menos testes são realizados.
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
TÉCNICAS DE ESTIMATIVAS
Programação orientada a Aspectos Radio Manager System.
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 30/5/ :10 1 Listas Numeradas As listas numeradas funcionam da mesma forma que as listas.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
INTRODUÇÃO A POO Dilvan Moreira. Por que estudar POO?  Escrever código é fácil  Entender código é difícil  Boa organização e um bom projeto do código.
Transcrição da apresentação:

Discussing Aspects of AOP Alunos: Ezequiel Jonacir Mazza João Andrei Cetenareski Curso: Mestrado em Informática Aplicada Disciplina: Orientação a Objetos Professor: Alcides Calsavara

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Como você definiria AOP? Uma nova evolução do ponto de vista de tecnologia, para separar os interesses Desenvolver e codificar da maneira que os desenvolvedores queiram que o sistema funcione O objetivo é fazer o projeto e o código mais modular, mostrando que os interesses estão localizados separadamente e tem uma interface bem definida

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP O que são Crosscutting concerns? AtualizarTela

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Como as linguagens AOP possibilitam modularizar concerns Suporta a identificação e modularização de interesses Hyper/J Hyperslices Contém somente o subconjunto de métodos e variáveis especificamente relacionadas ao interesse

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Como as linguagens AOP usam join points? A composição envole localizar os join poits correspondentes nos hiperslices sendo compostos e combinados os hyperslices a aqueles joinpoints Join points incluem classes, interfaces, methodos, e variaveis de usuário

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP AOP substiui OOP? Em AOP são usado processos, objetos e aspectos, cada qual no momento apropriado Construir uma OOP com o adicional do suporte a separação de interesses

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Qual é a característica chave? Reusabilidade dos Aspectos Isto não é bom o suficiente para modularizar os crosscutting concerns porque a modularização pode espalhar outros interesses Evita uma programação que é difícil de se manter

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Como os engenheiros de software OO podem se benificiar? Djlibrary Classes de aspectos funcionais escritas diretamente de Java O tempo de desenvolvimento tende a diminuir e o software feito passa a ser mais fácil de ser debugado e modificado depois de escrito

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP A habilidade de compor/costurar classes não quebra o encapsulamento, que é do mesmo modo uma importante característica da OO? Adiciona um novo tipo de modularidade para os conjuntos de ferramentas dos programadores A estrutura é explicita, e o código pode frequentemente ser bem pequeno e bom Apenas escrever o código separadamente, não quer dizer que foi quebrado o encapsulamento de classe

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP O relacionamento entre todos estes interesses não faz o programa mais difícil de se entender? Estão no programa, de qualquer jeito Desta maneira, trazem uma maior complexibilidade no código As liguagens AOP fazem os crosscutting concerns mais entendiveis e gerenciáveis

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Muita da evolução do software é de natureza imprevista. Como a AOP ajuda? A programação adaptativa é um instrumento útil para tratar com a evolução imprevista dos direcionamentos de um projeto

Ezequiel Jonacir Mazza & João Andrei Cetenareski - Discussing aspects of AOP Bibliografia ELRAD, Tzilla. et all. Discussing Aspects of AOP, Communications of the ACM, Pg 33 – 38, October 2001 / Vol. 44. No 10