Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/11422/7789
Especie: Trabalho de conclusão de graduação
Título : CPPObjects: Biblioteca de mapeamento objeto-relacional em C++
Autor(es)/Inventor(es): Lima, Rodolfo Schulz de
Tutor: Villas-Boas, Sergio Barbosa
Resumen: Este projeto descreve a implementação de uma biblioteca na linguagem de programação C++ chamada CPPObjects que visa facilitar o desenvolvimento de aplicações que lidam com informações armazenadas em bancos de dados relacionais. Isto é feito através de procedimentos que mapeiam o modelo relacional em um modelo orientado a objetos com ênfase na possibilidade de navegação entre os objetos relacionados através de referências, tal como em um modelo em rede.Partindo de uma descrição lógica das entidades a serem armazenadas e seus relacionamentos entre si (diagrama ER), a biblioteca oferece ferramentas que possibilitam o mapeamento desta descrição para código-fonte em C++ de uma forma direta e eficiente utilizando o paradigma de modelagem orientada a objetos. Nestes modelo, cada objeto representa uma entidade do domínio e pode estar ligado a zero ou mais objetos relacionados, e outros objetos por sua vez podem estar ligados a ele, formando assim uma rede de objetos onde a partir de um objetos e chega a qualquer outro que esteja direta ou indiretamente relacionado a ele. De posse da descrição do sistema em C++, a biblioteca utiliza as informações passadas sobre este sistema (metainformações) para poder criar o esquema de banco de dados respeitando as relações entre os objetos, suas cardinalidades e os tipos e propriedades dos atributos de cada entidade.Uma vez criado o banco de dados, o desenvolvedor o popula instanciando objetos e preenchendo seus atributos e os de seus objetos relacionados. Partindo então de um objeto da rede,o desenvolvedor por meio da biblioteca inclui o objeto no banco de dados. Todos os objetos relacionados direta ou indiretamente ao objeto inserido serão também inseridos no banco. Com o banco de dados populado, o desenvolvedor pode realizar então consultas fazendo ouso ou não de filtros que restringem o conjunto de objetos retornados. Estes filtros são criados utilizando-se uma sintaxe própria da linguagem C++ que se assemelha à sintaxe das cláusulas WHERE da linguagem SQL. Cada objeto retornado pela consulta está ligado aos seus objetos relacionados e estes podem ser acessados diretamente. Alterações em objetos que já armazenados podem ser realizadas. Ao atualizar o banco de dados, a biblioteca somente irá atualizar os objetos que foram modificados, inserindo, atualizando ou removendo objetos de forma que a rede de objetos alterada pelo usuário seja refletida no banco, de forma eficiente.Diversas técnicas de desenvolvimento foram utilizadas para tornar a linguagem C++ própria para a representação e manipulação das entidades e seus relacionamentos. Aproveitando-se que ela aceita vários paradigmas de desenvolvimento, técnicas como programação genérica, programação orientada a objetos, meta-programação entre outras, foram empregadas visando ganho sem otimização tanto temporal quanto espacial, checagem de erros já em tempo de compilação,diminuição de tempo de compilação de aplicações e a minimização das situações onde uma alteração na biblioteca, seja por mudança de funcionalidade ou correção de defeitos, não acarrete a necessidade de recompilação de aplicações que dependam dela.
Materia: C++
base de dados
Materia CNPq: CNPQ::ENGENHARIAS
Unidade de producción: Escola Politécnica
Editor: Universidade Federal do Rio de Janeiro
Fecha de publicación: nov-2008
País de edición : Brasil
Idioma de publicación: por
Tipo de acceso : Acesso Aberto
Aparece en las colecciones: Engenharia Eletrônica e de Computação

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
monopoli10003014.pdf354.78 kBAdobe PDFVisualizar/Abrir


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.