orm4qt - apresentação final

25
ORM4Qt: Biblioteca de Mapeamento Objeto Relacional em C++ para o Framework Qt Aluno: Michael Dougras da Silva Orientadora: Ang´ elica Aparecida Moreira Universidade de Ita´ una Ciˆ encia da Computa¸c˜ ao Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

Upload: michaeldougras13254

Post on 03-Oct-2015

4 views

Category:

Documents


3 download

DESCRIPTION

Apresentação final do tcc

TRANSCRIPT

  • ORM4Qt: Biblioteca de Mapeamento ObjetoRelacional em C++ para o Framework Qt

    Aluno: Michael Dougras da SilvaOrientadora: Angelica Aparecida Moreira

    Universidade de ItaunaCiencia da Computacao

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Sumario

    1 Introducao

    2 Problema

    3 Justificativa

    4 Objetivo

    5 Metodologia

    6 Resultado

    7 Conclusao

    8 Avaliacao

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    Bibliotecas ORM

    Object Relational Mapping - Mapeamento Objeto Relacional

    Entity Framework, Microsoft (linguagem C#)

    Hibernate, RedHat (linguagem JAVA)

    ODB, CodeSynthesis (linguagem C++)

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    Bibliotecas ORM

    Estrutura Basica Hibernate

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    A Linguagem C++

    Caractersticas

    Multiparadigma

    Compilada

    Alto desempenho

    Baixa portabilidade

    Em evolucao (especificacoes C++11 e C++14)

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    O Framework Qt5

    Desenvolvimento de interface grafica

    Multiplataforma

    Modular

    Licenciamento (opensource ou comercial)

    Suportado pela Digia (The Qt Company)

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    O Framework Qt5

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Introducao

    O Framework Qt5

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Problema

    Biblioteca ORM para C++

    Cenario Atual

    Interfaces de configuracao complexas

    Quebra do fluxo normal de compilacao

    Utilizacao de mecanismos como heranca e classes friend

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Justificativa

    Desenvolver uma Nova Biblioteca ORM em C++

    As bibliotecas existentes em sua grande maioria sao difceis deutilizar

    Implementar mecanismo alternativo para reflexao utilizandonovos recursos da linguagem (especificacao C++11)

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Objetivo

    Desenvolvimento da ORM4Qt

    Biblioteca ORM com as seguintes caractersticas

    Orientada a aplicacao: a biblioteca se adapta ao codigo

    Abordagem transparente: mapeamento de classes arbitrarias

    Mecanismo de anotacoes e reflexao proprios

    Multiplataforma

    Mapeamento de classes simples

    Podera ser extendida

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Metodologia

    Abordagem

    Desenvolvimento para multiplas plataformas: framework Qt

    Desenvolvimento estruturado em camadas

    Utilizacao de novos recursos da especificacao C++11

    Comparacao com duas bibliotecas existentes no mercado:QxOrm e ODB

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Metodologia

    Arquitetura de Desenvolvimento em Camadas

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Metodologia

    Camada Objeto

    Reflexao

    Conhecer e acessar atributos

    Insercao de expressoes lambda no corpo das classes mapeadas

    Metadados

    Estrutura para agrupamento de expressoes lambda emetadados

    Utilizacao de macros para simular anotacoes

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Metodologia

    Camada Objeto

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Metodologia

    Camada de Armazenamento

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Aplicativo Minhas Apostilas

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Classe Documento

    Mapeamento com a Biblioteca Orm4Qt

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Classe Documento

    Mapeamento com a Biblioteca QxOrm

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Classe Documento

    Mapeamento com a Biblioteca QxOrm

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Classe Documento

    Mapeamento com a Biblioteca ODB

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Resultado

    Classe Documento

    Mapeamento com a Biblioteca ODB

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Conclusao

    Conclusao

    A biblioteca ORM4Qt mostrou-se com uma interface de usomais facil

    A biblioteca pode ser evoluda

    Mecanismo de reflexao pode ser utilizado para implementacaode outros mecanismos de serializacao

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Avaliacao

    Crticas e Sugestoes

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

  • Avaliacao

    Obrigado!

    Michael Dougras da Silva ORM4Qt: Biblioteca ORM em C++ para o Framework Qt

    IntroduoIntroduo

    ProblemaProblema

    JustificativaJustificativa

    ObjetivoObjetivo

    MetodologiaMetodologia

    ResultadoResultado

    ConclusoConcluso

    Avaliao