Orientação a Aspectos: π-PSF Killer Team Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre.

Slides:



Advertisements
Apresentações semelhantes
Banco de Dados Temporais
Advertisements

Checkpoint SGBD com alta demanda de transações Checkpoint
Administração de sistemas operacionais
APSOO Aula 05.
Natanael (njsj) Thiago (tan2) Rodrigo (rml2)
Prevayler Todos os objetos são armazenados em memória.
Projeto 1.
Projeto de Banco de Dados
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO - UFES CENTRO DE CIÊNCIAS AGRÁRIAS - CCA DISCIPLINA DE INFORMÁTICA - ENG05207 Aula 09 –a Banco de dados Profs: Dr.
Padrão de Projeto Composite
Sistema Gerenciador de Banco de Dados SGBD
Mapeamento Objeto Relacional
Projeto de Sistema Orientado a Objeto
Arquivos Seqüenciais Inhaúma Neves Ferraz
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Professora: Aline Vasconcelos
Avaliação de Desempenho Planejamento de Experimentos 1
Exemplos de Refactoring Alguns exemplos e considerações sobre Refactoring.
Sistema de Banco de Dados
Projeto Final - APGS Adriana P. de Medeiros
Mapeamento de Objetos para Tabelas Relacionais
RUPinho Qualidade de Software
Rodrigo Cristiano Silva
Tecnologias de Linguagens para Banco de Dados
AspectJ in practice: π-PSF
Aula prática - análise contextual
Banco de Dados II Prof. Antônio Cordeiro.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
SGBD - Regra 1 Regra 1: Auto-Contenção- Um SGBD não contém apenas os dados em si, mas armazena completamente toda a descrição dos dados, seus relacionamentos.
INTRODUÇÃO ÁS BASES DE DADOS
AdverServer Servidor de Ranking para AdverGames Parte 3 Felipe Maia.
AdverServer Servidor de Ranking para AdverGames Parte 2 Felipe Maia.
Programação orientada a Aspectos Radio Manager System.
Projeto de Banco de Dados
Introdução a Banco de dados
Projetos digitais colaborativos Empresa 2.0 Gestão do conhecimento funciona?
Exercícios SGBD - CESPE
A Linguagem SQL Por Hélio de Almeida Fonte: Wikipédia.
Curso Técnico em Mineração
Analises de sistemas ESTRUTURADA Analise de sistema estruturada.
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
A abordagem de banco de dados para gerenciamento de dados
Documentação de Software
Analise Semântica aula-10-analise-semântica.pdf.
Introdução a Banco de Dados
Programação orientada a aspectos Marcação de Concerns Paulo Fagner Thiago Brayner Tiago Vinícius.
N.O.i.S Núcleo Operacional de Implementação de Sistemas
TECNOLOGIAS E LINGUAGENS PARA BANCO DE DADOS I
Um alternativa para o armazenamento
Trabalho de Persistência para o EPOS. Problema Proposto Implementar no Epos objetos persistentes, ou seja, fazer com que o sistema, ao ser reiniciado,
Lucas Figueiredo Marcelo Pereira Ranieri Valença Rosana Matos Valmir Sena.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
CONEXÕES DE SABERES Amirton Chagas – Paola Accioly –
Bancos de Dados Fundamentos Prof. Marcos R. Cardoso.
Introdução a Banco de Dados e Access
Orientação a Objetos e Java Alexandre Mota  Centro de Informática, UFPE.
UCSal – Bacharelado em Informática
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
B ANCO DE DADOS Introdução ABTécnico. C ONCEITO É uma coleção de dados interrelacionados, representando informações sobre um domínio específico. Exemplos:
Interações entre objetos
PSW1 Prof. Rafael. Persistência Atividade que permite que o estado de um objeto exista mesmo após a extinção do processo computacional que o criou. Em.
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Projeto de Arquitetura de Software
1 Estimativa, Teste e Inspeção de Software Gerência de Projetos: Estimativa de Software Marcos Camada
Programação orientada a Aspectos Radio Manager System.
CIn-UFPE1 Projeto de Gerenciamento de Dados. CIn-UFPE2 Objetivos n Definir o que significa gerenciamento de dados do sistema; n Entender abordagens diferentes.
SIACWeb Estrutura dos WebServices Junho, SIACWeb – Momentos previstos em pauta 09:20 1. Expor os ws criados; 2. documentação dos ws (padrões utilizados);
Aplicativos para Web MVC Prof. Odair Indena Jr.
Persistência de dados e padrão DAO
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Transcrição da apresentação:

Orientação a Aspectos: π-PSF Killer Team Amirton Chagas, Elton Renan, José Dihego, Natanael Silva, Thiago Alexandre

Cenário Antigo Aproximadamente linhas de código, em 90 classes. Concerns identificados: Armazenamento de Dados Remoção de Dados Atualização de Dados Inserção de Dados Verificar Pertinência Recuperação de dados Recuperação Elemento ID Recuperação Lista Elementos GUI Serialização Tratamento de Exceção Internacionalização Conceito de Aplicação Conversão Regras de Negócio Geração de Relatórios

Código Entrelaçado e Espalhado

Vários Clones Parâmetros escolhidos: – Comprimento mínimo: 60 – Qtd mínima de Tokens: 14 Clones detectados: 1332 Muitos clones na camada de Persistência Alguns clones longos na Interface Gráfica

Analisando melhor o projeto Descobrimos os concerns chave da nossa aplicação analisando os clones: Controle de Transação Inicialização de Componentes de Interface Gráfica Outras descobertas: Camada de negócio estava intimamente ligada ao Oracle Serialização e GUI estavam entrelaçadas Conceitos da aplicação entrelaçados com o BD (ID) Internacionalização estava espalhada pela GUI

O que foi feito [1] Nem tudo necessitava do uso de aspectos – Inicialização de Componentes da Interface Gráfica Classe auxiliar para inicializar os componentes -> Redução significativa da repetição de código

O que foi feito [2] Se mudarmos o SGBD agora alteramos um único arquivo.

O que foi feito [3] serialVersionUID não faz parte da semântica de nenhum componente da GUI.

O que foi feito [4] O Banco de Dados requer chave primária - Id Nossas classes de conceito de aplicação não !

O que foi feito [5] Os outputs ao usuário se adequam ao idioma escolhido.

O que foi feito [6] Controlar as transações no banco era essencial, código extremamente repetido. A solução foi modificar o código utilizando orientação a objetos + orientação a aspectos

Solução[2] Orientada a Aspectos

Comparativo ANTES DEPOIS

Número de Clones caiu Mesmos parâmetros, muito menos clones.

Resultados obtidos[1]

Conclusões Muitos dos problemas do projeto foram solucionados simplesmente com Orientação a Objetos O restante deles AOP resolveu Código muito mais legível Diminuição do número de linhas de código Redução drástica do número de clones