portifolio 4 semestre

20
SISTEMA DE ENSINO PRESENCIAL CONECTADO ANALISE E DESENVOLVMENTO DE SISTEMAS ANGELO GIUSEPPE DA SILVA COMO PROCEDER O DESENVOLVIMENTO DE SISTEMAS ORIENTADO A OBJETOS USANDO BANCO DE DADOS RELACIONAL João pessoa

Upload: angelo-giuseppe

Post on 03-Oct-2015

20 views

Category:

Documents


0 download

DESCRIPTION

Portifolio 4 semestre unopar do curso de Analise e desenvolvimento de sistemas

TRANSCRIPT

SISTEMA DE ENSINO PRESENCIAL CONECTADO

analise e desenvolvmento de sistemas

angelo giuseppe da silvacomo proceder o desenvolvimento de sistemas orientado a objetos usando banco de dados relacional

Joo pessoa 2014angelo giuseppe da silva 1Como proceder o desenvolvimento de sistemas orientado a objetos usando

banco de dados relacional.Trabalho apresentado ao Curso (nome do curso) da UNOPAR - Universidade Norte do Paran, para a disciplina Desenvolvimento Orientado a Objetos; Redes de computadores; Modelagem Orientada a Objetos .

Prof. Marcio Roberto Chiaveli; Paulo K. Nishitani; Polyanna P. G. Fabris.Joo pessoa20142SUMRIO

2. Introduo....................................................................................................... 3

3.Objetivo ........................................................................................................... 4

4.Desenvolvimento ............................................................................................ 5

4.1.Faa uma pesquisa sobre banco de dados orientado a objetos ................ 6

4.1.1. Descreva sua aplicao e seu mecanismo de funcionamento ............... 74.1.2. Qual a diferena entre banco de dados orientado a objeto e banco de dados relacional ................................................................................................ 84.2 Pesquise sobre ORM (object Relational Mapper) MAPEAMENTO OBJETO RELACIONAL ................................................................................... 94.2.1 Como desenvolver utilizando o modelo orientado a objetos com um banco de dados relacional ...............................................................................104.2.2 o que ORM e para que ultilizado ......................................................114.2.3 Quais ferramentas esto disponiveis hoje no mercado ........................ 124.2.4 Quais as vantagens e desvantagens de se usar uma ferramenta ORM 13

5. Concluso: descreva as principais reflexes sobre o desenvolvimento da atividade,considerando o que a atividade lhe proporcionou .......................... 146 . Referencias: relacione as fontes ultilizadas em ordem alfabetica,incluindo As referencias eletronicas ............................................................................ 153

2. INTRODUOA cada dia as empresas dependem mais de grandes e crescentes volumes de informao para suas decises e negocio,e essa informao deve estar sempre correta e de facil acesso. Por isso essas empresas exigem sistemas de informao que atendam no s a suas necessidades funcionais,mas tambm estejam integrados com a necessidade de mudanas no negocio, Bancos de dados so componentes importantes dos sistemas de informao (SIs) e consequentemente, o projeto do banco de dados apresenta-se como uma atividade essencial na fase de desenvolvimento dos SIs. Projetar bancos de dados tem se tornado uma atividade popular, as vezes realizada no somente por profissionais da rea de banco de dados, mas tambm por no especialistas.

43 OBJETIVOO objetivo geral proporcionar a partir de uma abordagem de mecanismos, armazenamento e organizao de dados e conhecimento de conceitos sobre Para auxiliar reas: de inovao, planejamento e gerenciamento da infraestrutura de Informao e coordenao dos recursos de informao nas organizaes; Especificao da interface,Especificao de dados, Especificao do ambiente tcnico.Ns os analistas de sistemas definem como ser o sistema em termos de arquitetura, dados e procedimentos,A soluo final fruto de um processo de refinamentos sucessivos de cada um desses elementos, Com esta tcnica, o programador no precisa se preocupar com os comandos em linguagemSQL; ele ir usar umainterface de programaosimples que faz todo o trabalho de persistncia, A forma como este mapeamento configurado depende da ferramenta que estamos a usar. Como exemplo, o programador que useHibernatena linguagemJavapode usar arquivosXMLou o sistema deanotaesque a linguagem providencia.

54 DESENVOLVIMENTOO paradigma de orientao de objetos muito difundido no processo de desenvolvimento de software. Porm, no existem solues comerciais robustas e amplamente aceitas para a persistncia de dados.Existem alguns frameworks de persistncia no mercado e o seu uso est se tornando cada vez mais comum. Contudo, mesmo estes frameworks gerando todo o mapeamento objeto relacional, necessrio que o analista entenda o que foi gerado por estes frameworks para em uma eventual necessidade fazer ajustes no cdigo gerado.A maioria dos sistemas atuais possui a sua camada de persistncia (armazenamento, manuteno dos estados dos objetos em algum meio no-voltil, como um banco de dados). 6

4.1 FAA UMA PESQUISA SOBRE BANCO DE DADOS ORIENTADO A OBJETOS.Os Banco de Dados Orientado a Objetos sugiram da necessidade de armazenar dados complexos e de acabar com a disparidade que havia na modelagem da aplicao e do Banco de Dados (BD). Com o advento das linguagens de programao orientadas a objetos, os programadores passaram a utilizar este paradigma e a modelagem ento naturalmente passou tambm a seguir este modelo. O outro ponto que objetos complexos precisam ser quebrados em diversas tabelas, ou relaes, para serem armazenados e com isto para recuperar tal informao preciso realizar um JOIN entre diversas tabelas, Com a orientao a objetos, possvel modelar objetos de forma mais prxima ao mundo real, como por exemplo, em um sistema de geoprocessamento, engenharia, pesquisa cientfica e tantos outros sistemas no triviais. Um Bando de Dados Orientado a Objetos BDOO permite ainda que a aplicao manipule objetos, independente se eles so persistentes ou no, pois possvel armazenar todo oobjeto e no apenas seus atributos, Diferentemente do modelo Relacional, o BDOO no utiliza o conceito de chave primria ou secundria. As chaves foram substitudas pelo identificador de objeto (OID Objetct Identifier), que controlado pelo prprio SGBD Sistema Gerenciador de Banco de Dados e no visvel ao usurio do Banco de Dados. O OID pode ser visto como uma referncia ao objeto em memria, assemelhando-se a um ponteiro, porm um OID nunca alterado e nem reaproveitado, diferentemente do que acontece quando o objeto est em memria, onde utilizado o endereo fsico da memria RAM (Random Access Memory). Apesar da caracterstica mencionada, possvel criar campos como chave para facilitar a identificao dos objetos armazenados por parte do usurio,Hoje os bancos de dados mais utilizados so os relacionais, no qual todos os dados so armazenados em tabelas que se relacionam uma com as outras, porm, a necessidade de se trabalhar com aplicaes mais complexas, levou a evoluo dos BDOOs (Banco de Dados Orientados a Objeto), onde os dados so armazenados na forma de objetos. 7

4.2. Pesquise sobre ORM (Object Relational Mapper) Mapeamento Objeto Relacional.

ORM (Object Relational Mapper) uma tcnica de mapeamento de objeto relacional que permite fazer uma relao dos objetos com os dados que os mesmos representam. Ultimamente tem sido muito utilizada e vem crescendo bastante nos ltimos anos Este crescimento, tem se dado principalmente pelo fato de muitos desenvolvedores no se sentirem a vontade de escrever cdigo SQL e pela produtividade que esta tcnica nos proporciona. Existem timos ORMs como Hibernate, Nhibernate, Entity Framework e etc.Tudo comea como mostrado na figura acima, existem 2 mundos: o relacional e o orientado a objetos, no mundo relacional prevalecem princpios matemticos com a finalidade de armazenar e gerenciar corretamente os dados, de forma segura e se trabalha com a linguagem SQL que utilizada para dizer o banco de dados O QUE? fazer e no como fazer. J no mundo orientado a objetos, trabalhamos com classes, mtodos, ou seja, trabalhamos fundamentados na engenharia de software e seus princpios que nos dizem COMO fazer. O ORM justamente, a ponte entre estes dois mundos, ou seja, ele quem vai permitir que voc armazenasse os seus objetos no banco de dados, para isto fazendo um mapeamento dos seus objetos para as tabelas do banco de dados. Compreender os conceitos da tcnica ORM o primeiro passo para usar efetivamente os frameworks disponveis na plataforma. Os dois primeiros artigos citados nas referncias, escrito pelo agilista Scott W. Ambler descrevem minuciosamente esta tcnica, alm de discutir o gap conceitual entre o modelo relacional e a orientao a objetos. Muitos criticam o uso de um framework como o Hibernate ao intermediar a persistncia dos objetos alegando perda de desempenho, uma camada desnecessria a mais na aplicao, a falta de controle nos SQLs gerados e a preferncia por executar as velhas e tradicionais instrues SQL diretamente. Contudo, muitas destas crticas resultam de uso inadequado do framework pela simples falta de conhecimento dos conceitos fundamentais sobre ORM e sobre como o framework funciona.84.2.1. Como desenvolver utilizando o modelo orientado a objetos com um banco de dados relacional. Os sistemas de banco de dados relacionais e as linguagens orientadas a objetos so bastante utilizados hoje em dia. Estes dois paradigmas diferentes tm que conviver juntos, criando esta incompatibilidade semntica entre os paradigmas objeto/relacional. Neste trabalho apresentado um estudo dos mecanismos de integrao de linguagens orientada a objetos com persistncia em banco de dados relacionais. Para tanto, foi criado um prottipo de um sistema de contas a pagar e receber e feito uma avaliao da implementao utilizando JBDC e o framework Hibernate. Os sistemas de banco de dados relacionais e as linguagens orientadas a objetos ganharam um espao considervel no mercado nos ltimos anos. O primeiro firmou-se no mercado e tem tido investimento pesado da indstria h muitos anos. O segundo vem ganhando aceitao generalizada, principalmente por causa da linguagem Java. Temos ento as linguagens orientadas a objetos e os banco de dados relacionais, dois paradigmas diferentes, mas que tem que conviver juntos, criando assim esta incompatibilidade semntica entre os paradigmas objeto/relacional. Esta incompatibilidade pode ser solucionada usado banco de dados orientado a objetos, j disponveis atualmente. No entanto, os bancos de dados orientados a objetos ainda no so to eficientes e difundidos quanto os bancos de dados relacionais. Segundo Bauer e King (2005), tradicionalmente, foram subestimados a importncia e o custo desta incompatibilidade e as ferramentas para solucionar a incompatibilidade tm sido insuficientes. Enquanto isso, os desenvolvedores Java culpam a tecnologia relacional pela incompatibilidade; e os profissionais de banco de dados culpam a tecnologia de objetos. Isto acabou criando uma soluo chamada mapeamento objeto/relacional (ORM). O mapeamento objeto/relacional a persistncia de objetos automatizada (e transparente) dentro de um aplicativo Java para as tabelas em um banco de dados relacional, usando metadados que descrevem o mapeamento entre os objetos e o banco de dados.

9

4.2.2. O que ORM e para que utilizado

uma tcnica de desenvolvimento utilizada para reduzir aimpednciadaprogramao orientada aos objetosutilizandobancos de dados relacionais. Astabelasdobanco de dadosso representadas atravs declassese os registros de cada tabela so representados comoinstnciasdas classes correspondentes. Com esta tcnica, o programador no precisa se preocupar com os comandos em linguagemSQL; ele ir usar umainterface de programaosimples que faz todo o trabalho de persistncia. No necessria uma correspondncia direta entre as tabelas de dados e as classes do programa. A relao entre as tabelas onde originam os dados e o objeto que os disponibiliza configurada pelo programador, isolando o cdigo do programa das alteraes organizao dos dados nas tabelas dobanco de dados.A forma como este mapeamento configurado depende da ferramenta que estamos a usar. Como exemplo, o programador que useHibernatena linguagemJavapode usar arquivosXMLou o sistema deanotaesque a linguagem providencia. A utilizao de um ORM aumenta a produo de uma equipe, pois reduz o problema da impedncia (impedance mismatch [Ambler 2003]), uma vez que o programador da aplicao no precisa se preocupar com a construo de comandos na linguagem SQL para realizar a definio e manipulao de dados [ORM 2013]. Uma soluo neste contexto o ORM Gendal (Generic Data Access Library). Gendal um ORM para o framework. Net, que muito utilizado pela IDE Visual Studio, ambos da Microsoft. Os principais pontos fortes do Gendal so a simplicidade de definio de mapeamentos e de consultas complexas.

10

4.2.3. QUAIS AS FERRAMENTAS ESTO DISPONIVEIS NO MERCADO.NHibernateHYPERLINK "http://nhprof.com/home" Profiler(NHProf) inclui o que voc esperaria de um produto bsico. Alm de manter estatsticas gerais, ele mostra uma lista de consultas recentes com o SQL completo e os "back-traces" que o cdigo chama com seus "stack traces". A interface limpa e bem referenciada, tornando mais fcil mudar de uma anlise de consulta isolada, por exemplo, para todas as consultas utilizas em um bloco de cdigo. A melhor vantagem para NHibernate Profiler recurso de alertas.. Existem tambm alertas que avisam sobre problemas que podem ocorrer no futuro como limites. Um conjunto de resultados sem limites quando uma consulta executada e no e' explicitamente limitado o nmero de resultados retornados usando setMaxResults () com NHibernate ou TOP ou clusulas LIMIT no SQL. Normalmente, isso significa que a aplicao assume que uma consulta sempre retornar apenas alguns registros. Isso funciona bem em desenvolvimento e nos testes, mas uma bomba-relgio prestes a explodir na produo. O lado LINQ to SQL Datacontext logging a primeira coisa que os desenvolvedores provavelmente vo considerar quando tiver olhando problemas de LINQ para SQL. O objeto DataConext tem uma propriedade de log que encaminha todos os SQLs que so gerados para um TextWriter da sua escolha Apesar de livre e de graa, o grande volume de linhas de SQL que ele gera torna questionvel o uso em aplicaes no-triviais.LINQHYPERLINK "http://l2sprof.com/home" HYPERLINK "http://l2sprof.com/home"toHYPERLINK "http://l2sprof.com/home" SQL Profiler(L2SProf) pela mesma empresa que construiu NHibernate Profiler e parece trabalhar de uma forma similar. Alm de fazer profilling em tempo real, voc pode configur-lo para gravar os arquivos de log a ser analisado posteriormente. Como NHProf, o valor de cerca de US $ 300 dlares por usurio. Atualmente ele est em fase beta. Huagati Query Profiler um produto comercial, que comea em US $ 50 dlares para uma verso limitada e US $ 120/usurio para a verso completa. ADO. NET Entity Framework A histria aqui francamente lamentvel. Primeiro de tudo, voc nem tem o log de SQL bsico, como o que est disponvel no LINQ para SQL. Alm disso, parece que ningum est desenvolvendo profilers para trabalhar com ele.

11

4.2.4 Quais as vantagens e desvantagens de usar uma ferramenta orm. Voc escreve menos cdigo e programa com muito mais produtividade. mais fcil de no projeto. importante ressaltar que dificilmente voc achar uma soluo que substitua 100% das classes do ADO. NET, eventualmente voc ser obrigado a fazer uma gambiarra no meio do caminho para obter determinados resultados. No entanto, seguramente os melhores Frameworks resolvero mais de 95% das suas necessidades. Como escolher um ORM, Curva de aprendizado Continuidade (Novos releases do projeto e periodicidade)Capacidade de execuo de stored procedures do legado Suporte a querys dinmicasDATABIND a. Net control Performance Facilidade de manuteno do cdigo (incluindo a a inteligibilidade do mesmo)Normalmente, o frameworks que existem atuam como geradores de cdigo criando classes baseadas nas suas tabelas de banco de dados.Existem vrios frees e pagos. Os frees normalmente carecem de suporte e documentao, os pagos conseguem suprir melhor esta deficincia por um motivo bvio. Os melhores frees so o que possuem amplo apoio da comunidade ou tm um grupo de desenvolvedores bastante ativos distribuindo novos releases num curto espao de tempo. Desvantagens de ferramentas de mapeamento O / R em reas onde so tcnicas proprietrias, ou banco de dados especfico foram altamente otimizadas.A maioria das ferramentas de mapeamento O / R no tm bom desempenho durante delees em massa de dados ou junta[duvidosa-discutir].Os procedimentos armazenadospodem ter melhor desempenho, mas no so portteis.Alm disso, a forte dependncia de software ORM tem sido apontado como um fator importante na produo de bases de dados mal projetados.125 CONCLUSO: DESCREVA AS PRINCIPAIS REFLEXES SOBRE O DESENVOLVIMENTO DA ATIVIDADE , CONSIDERANDO O QUE A ATIVIDADE LHE PROPORCIONOU.

Aps as consideraes feitas sobre o mapeamento de um modelo orientado a objetos para um modelo relacional, observamos que cada caso deve ser analisado individualmente e com muito critrio.As regras citadas devem ser seguidas, mas no pode ser considerado uma receita de bolo para realizar o mapeamento do modelo orientado a objetos para o modelo relacional. este mapeamento so definidas as tabelas (relaes), atributos (simples, compostos e multivalorados), herana e as vrias formas de associaes (muitos para muitos, um para muitos e um para um).O que importante ressaltar sobre os atributos que dependendo do seu tipo, pode ser quebrado em vrias colunas (compostos) ou at mesmo em novas tabelas (multivalorados).Dentre as caractersticas utilizadas no modelo Orientado a Objetos podemos citar algumas tais como: Encapsulamento, Herana e Polimorfismo. Caractersticas estas que esto sempre presentes no paradigma de orientao a objeto. 13

6 Referncias: Relacione as fontes utilizadas em ordem alfabtica, incluindo as referncias eletrnicas.

http://lmtelecom.blogspot.com.br/2012/04/banco-de-dados-orientados-objetos.htm www.fatecsp.br/dti/tcc/tcc0002http://www.devmedia.com.br/analise-dos-melhores-orm-object-relational-mapping-para plataforma-net/5548http://www.trabalhosfeitos.com/ensaios/MapeamentoObjetoRelacional/43689862.htmlwww.inf.furb.brwww.les.inf.puc-rio.brwww.slideshare.netwww.les.inf.puc-rio.br

14