SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
IME/USP - Departamento de Ciência da
Computação - 2007 1
Métricas para Avaliação
de Persistência de
Dados num Ambiente
Objeto-Relacional
MAC499 - Trabalho de Formatura
Supervisionado
Autores:
Diogo Vernier dos Santos
Marcelo de Rezende Martins
Professor Orientador:
João Eduardo Ferreira
IME/USP - Departamento de Ciência da
Computação - 2007 2
Introdução - Motivação
Nos projetos de software atuais:
n O uso das linguagens orientadas a
objeto cresce a cada dia.
n O uso de bancos de dados relacionais
consolida-se como a principal escolha.
IME/USP - Departamento de Ciência da
Computação - 2007 3
Mais motivos...
n Os bancos de dados orientados a
objetos ainda não atendem as
necessidades práticas totalmente.
n Surge então a combinação de persistir
dados em bd’s relacionais e construir a
lógica da aplicação utilizando linguagens
orientadas a objeto.
IME/USP - Departamento de Ciência da
Computação - 2007 4
Persistência de Objetos
n Objetos persistem além do tempo de
execução da aplicação.
n Objetos podem ser armazenados e
recuperados em algum meio físico.
IME/USP - Departamento de Ciência da
Computação - 2007 5
Modelo Relacional
n Criado em 1969 por Edgar F. Codd.
n Os dados são representados por relações
matemáticas.
n Uma relação é um subconjunto do produto
cartesiano de vários conjuntos, ou seja,
algo da forma <s1, s2, ... > dados os
conjuntos S1, S2, ... e si ∈ Si para todo i.
IME/USP - Departamento de Ciência da
Computação - 2007 6
Mapeamento Objeto-Relacional
n Conhecido também como “Object Relational
Mapping” (ORM).
É um conceito que define como fazer de forma
consistente:
n A representação de objetos em tabelas de um
BD relacional.
n A transformação do conteúdo das tabelas em
objetos.
IME/USP - Departamento de Ciência da
Computação - 2007 7
Qualidade da Persistência
Problemas comuns nas implementações de
ORM:
n Baixa qualidade da representação
semântica.
n Recuperação em larga escala ineficiente.
Como avaliar a qualidade da persistência?
IME/USP - Departamento de Ciência da
Computação - 2007 8
Métricas e Testes
Missão do nosso trabalho:
n Definir métricas para avaliar a qualidade
da persistência de dados feita pela ORM.
n Testar diferentes implementações de
ORM utilizando essas métricas.
n Elaborar uma análise comparativa das
implementações a partir dos testes.
IME/USP - Departamento de Ciência da
Computação - 2007 9
O que queremos avaliar?
n Performance.
n Eficácia da representação do modelo.
n Capacidade de reuso.
n Complexidade operacional.
n Dependência gerada pela ferramenta.
n Armazenamento físico.
n Uso de memória.
IME/USP - Departamento de Ciência da
Computação - 2007 10
Quem iremos avaliar?
Testaremos as seguintes implementações:
n Toplink (JPA)
n Hibernate (JPA)
n Active Record (Ruby)
IME/USP - Departamento de Ciência da
Computação - 2007 11
Métricas e Testes
Como está sendo feito:
1. Construir aplicações modelo.
2. Configurar ambiente de testes.
3. Elaborar métricas.
4. Testar aplicações.
5. Avaliar resultados perante as métricas.
IME/USP - Departamento de Ciência da
Computação - 2007 12
Fase 1 – Aplicações Modelo
n Construção de aplicações modelo com
um esquema comum de BD cada qual
utilizando uma ferramenta específica para
realizar o ORM.
n Serão utilizadas dentro de uma plataforma
comum de testes.
IME/USP - Departamento de Ciência da
Computação - 2007 13
Modelo Conceitual
das Aplicações
Modelo
IME/USP - Departamento de Ciência da
Computação - 2007 14
Fase 2 – Ambiente de Testes
n Poleposition: é um framework de testes
(GPL) para comparar bancos de dados
relacionais e tecnologias de mapeamento
objeto-relacional.
n O Poleposition aplica o conceito de circuito.
n Cada aplicação modelo percorre uma volta no
circuito e o framework coordena a corrida.
IME/USP - Departamento de Ciência da
Computação - 2007 15
Fase 3 – Elaborar as Métricas
n Definir maneiras seguras e eficazes de
avaliar a qualidade da persistência de
dados produzida num ambiente objeto-
relacional.
IME/USP - Departamento de Ciência da
Computação - 2007 16
Fase 4 - Testes
n A partir das métricas e do ambiente
prontos, as aplicações irão desempenhar
uma mesma sequência de operações
(voltas) dentro do circuito.
IME/USP - Departamento de Ciência da
Computação - 2007 17
Fase 5 - Análise Comparativa
n Utilizar as métricas criadas para avaliar os
resultados obtidos com os testes.
n Gerar gráficos, relatórios, análises e
conclusões.
IME/USP - Departamento de Ciência da
Computação - 2007 18
Maiores informações em:
n http://www.linux.ime.usp.br/~dvsantos/ma
c499/

Mais conteúdo relacionado

Semelhante a apresentacao_metricas_avaliacao_persistencia_de_dados.pdf

Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?
Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?
Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?Paulo Correia
 
Apresentação dissertação
Apresentação dissertaçãoApresentação dissertação
Apresentação dissertaçãoDorgival Netto
 
Engenharia de Software Baseada em Componentes
Engenharia de Software Baseada em ComponentesEngenharia de Software Baseada em Componentes
Engenharia de Software Baseada em Componenteselliando dias
 
Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Diogo Soares Moreira
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateRicardo Rinco
 
Simulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisSimulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisIgor José F. Freitas
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareEdson Oliveira Junior
 
Planode Aula
Planode AulaPlanode Aula
Planode Aulasofteam
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Saulo Marques
 
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareAplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareCesar Rocha
 
Elerning em contexto de Realidade Aumentada
Elerning em contexto de Realidade AumentadaElerning em contexto de Realidade Aumentada
Elerning em contexto de Realidade AumentadaCarlos Amorim
 

Semelhante a apresentacao_metricas_avaliacao_persistencia_de_dados.pdf (20)

Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?
Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?
Mapa conceitual associado à imagens: um recurso que favorece a aprendizagem?
 
Apresentação dissertação
Apresentação dissertaçãoApresentação dissertação
Apresentação dissertação
 
Engenharia de Software Baseada em Componentes
Engenharia de Software Baseada em ComponentesEngenharia de Software Baseada em Componentes
Engenharia de Software Baseada em Componentes
 
Artc 1249307788 43
Artc 1249307788 43Artc 1249307788 43
Artc 1249307788 43
 
Objectory
ObjectoryObjectory
Objectory
 
Workshop de Pós Graduação - 2011
Workshop de Pós Graduação - 2011Workshop de Pós Graduação - 2011
Workshop de Pós Graduação - 2011
 
Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2Arquitetura_de_software_e_como_descreve-la_v2
Arquitetura_de_software_e_como_descreve-la_v2
 
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernateAnálise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
Análise Comparativa de Persistência de Dados Entre Hibernate e NHibernate
 
Simulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisSimulador Eletromagnético em um Ambiente de Grades Computacionais
Simulador Eletromagnético em um Ambiente de Grades Computacionais
 
Plano do Projeto
Plano do ProjetoPlano do Projeto
Plano do Projeto
 
UML - parte 1
UML - parte 1UML - parte 1
UML - parte 1
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Aula 05
Aula 05Aula 05
Aula 05
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de SoftwareUm Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 
Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011
 
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareAplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
 
Elerning em contexto de Realidade Aumentada
Elerning em contexto de Realidade AumentadaElerning em contexto de Realidade Aumentada
Elerning em contexto de Realidade Aumentada
 
5
55
5
 

apresentacao_metricas_avaliacao_persistencia_de_dados.pdf

  • 1. IME/USP - Departamento de Ciência da Computação - 2007 1 Métricas para Avaliação de Persistência de Dados num Ambiente Objeto-Relacional MAC499 - Trabalho de Formatura Supervisionado Autores: Diogo Vernier dos Santos Marcelo de Rezende Martins Professor Orientador: João Eduardo Ferreira
  • 2. IME/USP - Departamento de Ciência da Computação - 2007 2 Introdução - Motivação Nos projetos de software atuais: n O uso das linguagens orientadas a objeto cresce a cada dia. n O uso de bancos de dados relacionais consolida-se como a principal escolha.
  • 3. IME/USP - Departamento de Ciência da Computação - 2007 3 Mais motivos... n Os bancos de dados orientados a objetos ainda não atendem as necessidades práticas totalmente. n Surge então a combinação de persistir dados em bd’s relacionais e construir a lógica da aplicação utilizando linguagens orientadas a objeto.
  • 4. IME/USP - Departamento de Ciência da Computação - 2007 4 Persistência de Objetos n Objetos persistem além do tempo de execução da aplicação. n Objetos podem ser armazenados e recuperados em algum meio físico.
  • 5. IME/USP - Departamento de Ciência da Computação - 2007 5 Modelo Relacional n Criado em 1969 por Edgar F. Codd. n Os dados são representados por relações matemáticas. n Uma relação é um subconjunto do produto cartesiano de vários conjuntos, ou seja, algo da forma <s1, s2, ... > dados os conjuntos S1, S2, ... e si ∈ Si para todo i.
  • 6. IME/USP - Departamento de Ciência da Computação - 2007 6 Mapeamento Objeto-Relacional n Conhecido também como “Object Relational Mapping” (ORM). É um conceito que define como fazer de forma consistente: n A representação de objetos em tabelas de um BD relacional. n A transformação do conteúdo das tabelas em objetos.
  • 7. IME/USP - Departamento de Ciência da Computação - 2007 7 Qualidade da Persistência Problemas comuns nas implementações de ORM: n Baixa qualidade da representação semântica. n Recuperação em larga escala ineficiente. Como avaliar a qualidade da persistência?
  • 8. IME/USP - Departamento de Ciência da Computação - 2007 8 Métricas e Testes Missão do nosso trabalho: n Definir métricas para avaliar a qualidade da persistência de dados feita pela ORM. n Testar diferentes implementações de ORM utilizando essas métricas. n Elaborar uma análise comparativa das implementações a partir dos testes.
  • 9. IME/USP - Departamento de Ciência da Computação - 2007 9 O que queremos avaliar? n Performance. n Eficácia da representação do modelo. n Capacidade de reuso. n Complexidade operacional. n Dependência gerada pela ferramenta. n Armazenamento físico. n Uso de memória.
  • 10. IME/USP - Departamento de Ciência da Computação - 2007 10 Quem iremos avaliar? Testaremos as seguintes implementações: n Toplink (JPA) n Hibernate (JPA) n Active Record (Ruby)
  • 11. IME/USP - Departamento de Ciência da Computação - 2007 11 Métricas e Testes Como está sendo feito: 1. Construir aplicações modelo. 2. Configurar ambiente de testes. 3. Elaborar métricas. 4. Testar aplicações. 5. Avaliar resultados perante as métricas.
  • 12. IME/USP - Departamento de Ciência da Computação - 2007 12 Fase 1 – Aplicações Modelo n Construção de aplicações modelo com um esquema comum de BD cada qual utilizando uma ferramenta específica para realizar o ORM. n Serão utilizadas dentro de uma plataforma comum de testes.
  • 13. IME/USP - Departamento de Ciência da Computação - 2007 13 Modelo Conceitual das Aplicações Modelo
  • 14. IME/USP - Departamento de Ciência da Computação - 2007 14 Fase 2 – Ambiente de Testes n Poleposition: é um framework de testes (GPL) para comparar bancos de dados relacionais e tecnologias de mapeamento objeto-relacional. n O Poleposition aplica o conceito de circuito. n Cada aplicação modelo percorre uma volta no circuito e o framework coordena a corrida.
  • 15. IME/USP - Departamento de Ciência da Computação - 2007 15 Fase 3 – Elaborar as Métricas n Definir maneiras seguras e eficazes de avaliar a qualidade da persistência de dados produzida num ambiente objeto- relacional.
  • 16. IME/USP - Departamento de Ciência da Computação - 2007 16 Fase 4 - Testes n A partir das métricas e do ambiente prontos, as aplicações irão desempenhar uma mesma sequência de operações (voltas) dentro do circuito.
  • 17. IME/USP - Departamento de Ciência da Computação - 2007 17 Fase 5 - Análise Comparativa n Utilizar as métricas criadas para avaliar os resultados obtidos com os testes. n Gerar gráficos, relatórios, análises e conclusões.
  • 18. IME/USP - Departamento de Ciência da Computação - 2007 18 Maiores informações em: n http://www.linux.ime.usp.br/~dvsantos/ma c499/