Produção Textual Interdisciplinar - Individual - 4° Semestre

20
FABRÍCIO DOS REIS SOUZA SISTEMA DE ENSINO PRESENCIAL CONECTADO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Transcript of Produção Textual Interdisciplinar - Individual - 4° Semestre

Page 1: Produção Textual Interdisciplinar - Individual - 4° Semestre

Juazeiro2013

FABRÍCIO DOS REIS SOUZA

SISTEMA DE ENSINO PRESENCIAL CONECTADOTECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Page 2: Produção Textual Interdisciplinar - Individual - 4° Semestre

Juazeiro2013

ATIVIDADE INTERDISCIPLINAR INDIVIDUAL

Trabalho de Fabrício dos Reis Souza apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média bimestral nas disciplinas de Modelagem Orientada a Objetos, Redes de Computadores, Desenvolvimento Orientado a Objetos.

Orientadores: Prof. Marcio Roberto Chiaveli. Prof. Paulo Kiyoshi Nishitani. Prof.ª Polyanna P. Gomes Fabris.

FABRÍCIO DOS REIS SOUZA

Page 3: Produção Textual Interdisciplinar - Individual - 4° Semestre

SUMÁRIO

2 INTRODUÇÃO 3

3 OBJETIVO 4

4 DESENVOLVIMENTO 5

4.1 com relação a banco de dados, defina os conceitos das propriedades acid de

uma transação. 5

4.1.1 Atomicidade 5

4.1.2 Consistência 5

4.1.3 Isolamento5

4.1.4 Durabilidade 5

4.2 Pesquise e justifique em quais sistemas operacionais o exemplo da Locadora

pode ser desenvolvido 6

4.3 Estrutura de dados do tipo Fila e Pilha mencione quais são apontadores de

cada estrutura, suas ordens para inclusão, exclusão e pesquisa 6

4.3.1 Qual a vantagem que a Alocação duplamente encadeada tem sobre

Alocação simplesmente encadeada 7

4.4 No estudo de caso em grupo “Nossa Locadora de Livros”, foi apresentado o

Diagrama de Caso de Uso e solicitando o Diagrama de Classe 7

4.4.1 Quais as vantagens esses diagramas podem trazer ao projeto de

desenvolvimento de software? 7

4.4.2 Com que finalidade o Diagrama de Caso de Uso é criado?8

4.4.3 Quem utiliza esse diagrama? Quanto a notação do diagrama, quais

informações são apresentadas na fase de análise e quais são apresentadas na fase

de projeto? 8

4.5 Existem três temas importantes referentes à administração que deve ser

levado em consideração na criação de uma empresa: Existem três temas

importantes referentes à administração que deve ser levado em consideração na

criação de uma empresa: 8

5 CONCLUSÃO 12

REFERÊNCIAS 13

Page 4: Produção Textual Interdisciplinar - Individual - 4° Semestre

2 INTRODUÇÃO

O banco de dados é importante para que todas as informações

fiquem armazenadas, simplificando a sua gravação e tornando os dados mais fáceis

de serem manipulados. Os Bancos de Dados, além de manterem todo o volume de

dados organizado, também executam tarefas e comandos que podem ser

previamente programadas por uma pessoa um DBA (Data Base Administrator) que

define os serviços a serem realizados pelo sistema baseado nas rotinas de sua

empresa. Os bancos de dados orientados a objeto iniciaram-se primeiramente em

projetos de pesquisa nas universidades e centros de pesquisa. Em meados dos

anos 80, eles começaram a se tornar produtos comercialmente viáveis, já o modelo

relacional foi o primeiro modelo de banco de dados formal. Somente depois seus

antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também

descritos em linguagem formal. Ou seja, a finalidade do modelo Relacional é

proporcionar um modelo matemático para a estruturação de um banco de dados que

seja formalmente descrito.

3

Page 5: Produção Textual Interdisciplinar - Individual - 4° Semestre

3 OBJETIVO

Compreender como funciona e qual a diferença entre banco de

dados orientado a objetos e banco de dados relacional e entender o que são ORMs

e suas principais ferramentas.

4

Page 6: Produção Textual Interdisciplinar - Individual - 4° Semestre

4 DESENVOLVIMENTO

4.1 BANCO DE DADOS ORIENTADO A OBJETOS.

Um banco de dados orientado a objetos é um banco de dados

em que cada informação é armazenada na forma de objetos, ou seja, utiliza a

Estrutura de dados denominada Orientação a objetos, a qual permeia as linguagens

mais modernas. O gerenciador do banco de dados para um orientado a objeto é

referenciado por vários como ODBMS ou OODBMS.

Existem dois fatores principais que levam a adoção da

tecnologia de banco de dados orientados a objetos. A primeira, é que em um banco

de dados relacional se torna difícil de manipular com dados complexos (esta

dificuldade se dá pois o modelo relacional se baseia menos no senso comum

relativo ao modelo de dados necessário ao projeto e mais nas contingências práticas

do armazenamento eletrônico). Segundo, os dados são geralmente manipulados

pela aplicação escrita usando linguagens de programação orientada a objetos, como

C++, C#, Java, Python ou Delphi (Object Pascal), e o código precisa ser traduzido

entre a representação do dado e as tuplas da tabela relacional, o que além de ser

uma operação tediosa de ser escrita, consome tempo. Esta perda entre os modelos

usados para representar a informação na aplicação e no banco de dados é também

chamada de “perda por resistência”Atomicidade

A propriedade de atomicidade garante que as transações sejam

atômicas (indivisíveis). A transação será executada totalmente ou não será

executada.

4.1.1 Aplicação e Mecanismo de Funcionamento

Num banco de dados orientado a objetos puro, os dados são

armazenados como objetos onde só podem ser manipulados pelos métodos

definidos pela classe de que estes objetos pertencem. Os objetos são organizados

numa hierarquia de tipos e subtipos que recebem as características de seus

supertipos. Os objetos podem conter referências para outros objetos, e as

5

Page 7: Produção Textual Interdisciplinar - Individual - 4° Semestre

aplicações podem consequentemente acessar os dados requeridos usando um

estilo de navegação de programação.

A maioria dos banco de dados também oferecem algum tipo de

linguagem de consulta, permitindo que os objetos sejam localizados por uma

programação declarativa mais próxima. Isto é, na área das linguagens de consulta

orientada a objetos. A integração da consulta com a interface de navegação faz a

grande diferença entre os produtos que são encontrados. Uma tentativa de

padronização foi feita pela ODMG (Object Data Management Group) com a OQL

(Object Query Language).

O acesso aos dados pode ser rápido porque as junções geralmente

não são necessárias (como numa implementação tabular de uma base de dados

relacional), isto é, porque um objeto pode ser obtido diretamente sem busca,

seguindo os ponteiros.

Outra área de variação entre os produtos é o modo que este schema

do banco de dados é definido. Uma característica geral, entretanto, é que a

linguagem de programação e o schema do banco de dados usam o mesmo modo de

definição de tipos.

Aplicações multimídia são facilitadas porque os métodos de classe

associados com os dados são responsáveis pela correta reprodução.

Muitos bancos de dados orientados a objetos oferecem suporte a

versões. Um objeto pode ser visto de todas as várias versões. Ainda, versões de

objetos podem ser tratadas como objetos na versão correta. Alguns bancos de

dados orientados a objetos ainda provêem um suporte sistemático a triggers e

constraints que são as bases dos bancos ativos.

4.1.2 Diferença entre BDOO e BDR

O objetivo dos BDOO é o encapsulamento, sendo assim os dados são

associados a uma classe específica que usa métodos peculiares. Com esse

funcionamento os dados só podem ser utilizados pelos métodos dessa classe, e

essa classe pode ser utilizada por diferentes aplicações. Esta perda entre os

modelos usados para representar a informação na aplicação e no banco de dados é

também chamada de perda por resistência. Os Bancos de Dados Relacionais tem

por objetivo a independência dos dados, pois são separados do processamento e

6

Page 8: Produção Textual Interdisciplinar - Individual - 4° Semestre

normalizados, dessa forma os dados podem ser utilizados por diversas aplicações

mesmo não previstas no projeto. Os BDR armazenam apenas dados, enquanto os

BDOO armazenam estruturas com dados e métodos sendo assim, no relacional o

usuário vê os dados como tabelas, já nos BDOO as estruturas podem ser

complexas, porém elas não são visíveis ao usuário em função do encapsulamento.

A redundância de dados no modelo relacional é tratada por meio da normalização,

por sua vez o modelo BDOO devido ao encapsulamento e a herança fornecem

dados não redundantes. Os BDR foram desenvolvidos para prover acesso facilitado

aos dados, possibilitando que os usuários utilizassem uma grande variedade de

abordagens no tratamento das informações, pois enquanto em um banco de dados

hierárquico os usuários precisam definir as questões de negócios de maneira

específica, iniciando pela raiz do mesmo nos BDR os usuários podem fazer

perguntas relacionadas aos negócios através de vários pontos.

4.2 ORM (OBJECT RELATIONAL MAPPER) MAPEAMENTO OBJETO

RELACIONAL

É uma técnica de desenvolvimento utilizada para reduzir a

impedância da programação orientada aos objetos utilizando bancos de dados

relacionais. As tabelas do banco de dados são representadas através de classes e

os registros de cada tabela são representados como instâncias das classes

correspondentes.

Com esta técnica, o programador não precisa se preocupar com os comandos em

linguagem SQL; ele irá usar uma interface de programação simples que faz todo o

trabalho de persistência.

Não é necessária uma correspondência direta entre as tabelas de

dados e as classes do programa. A relação entre as tabelas onde originam os dados

e o objeto que os disponibiliza é configurada pelo programador, isolando o código do

programa das alterações à organização dos dados nas tabelas do banco de dados.

A forma como este mapeamento é configurado depende da ferramenta que estamos

a usar. Como exemplo, o programador que use Hibernate na linguagem Java pode

usar arquivos XML ou o sistema de anotações que a linguagem providencia.

7

Page 9: Produção Textual Interdisciplinar - Individual - 4° Semestre

4.3 COMO DESENVOLVER UTILIZANDO O MODELO ORIENTADO A OBJETOS

COM UM BANCO DE DADOS RELACIONAL

Os bancos de dados OO evoluíram muito nos últimos cinco anos, e

atingiram maturidade e performance surpreendentes. As novas estratégias de

armazenamento e recuperação permitem que esses bancos consigam um tempo de

resposta geralmente melhor do que as subsequentes chamadas a um banco

relacional, necessárias para desmontar e remontar objetos. Vários fabricantes

oferecem produtos que suportam diretamente encapsulamento, herança e

polimorfismo – características fundamentais dos objetos. Caché, da InterSystems, é

um representante dessa categoria.

Embora seja mais fácil desenvolver suas aplicações orientadas a

objeto utilizando os recursos de um banco de dados OO, muitas vezes temos que

fazer integração com uma base relacional que não pode ser modificada. O modelo

relacional foi amplamente empregado nos últimos quinze anos, e não podemos

simplesmente “descartar” todas as aplicações já construídas. Esses sistemas devem

coexistir pacificamente com as novas aplicações OO. Nesse ponto destacam-se os

bancos de dados pós-relacionais. Oferecendo um suporte aos dois modelos, objeto

e relacional, esses produtos permitem que todo o investimento nas antigas

aplicações seja preservado, enquanto as novas aplicações são construídas

utilizando a tecnologia de objetos. A ideia é evolução, e não revolução.

O Caché é um banco de dados pós-relacional que possui uma

arquitetura unificada de dados. Objetos e tabelas são descritos por um meta-modelo,

e o próprio banco de dados se encarrega de fazer o mapeamento em ambas as

direções. Ao criarmos uma classe, o banco cria as tabelas correspondentes; quando

alteramos uma tabela, a definição da classe é automaticamente atualizada. O

acesso aos objetos e tabelas é independente, diferentemente do que ocorre quando

um banco relacional oferece uma “visão” de objetos, empilhando camadas de

mapeamento. Além disso, sua estrutura de armazenamento multidimensional

permite a manipulação de coleções e objetos através de um único acesso.

Quando uma query SQL é executada pela primeira vez, ela é

analisada e otimizada (como em outros bancos de dados). Entretanto, o Caché gera

uma stored procedure que é mantida em cache, e reutilizada para todas as

chamadas subsequentes.

8

Page 10: Produção Textual Interdisciplinar - Individual - 4° Semestre

O Caché suporta desenvolvimento em Java, Enterprise JavaBeans,

C++, Caché ObjectScript, Corba e ActiveX. Possui mecanismos para geração e

armazenamento de documentos XML. Suporta conexões JDBC e ODBC.

4.3.1 Ferramentas ORM disponíveis no mercado

Foi criada uma lista onde as ferramentas foram classificadas em

Inativos, Free e Pagos. Os Inativos são o que não obtiveram releases lançados nos

últimos anos e tiveram seu desenvolvimento paralisado, provavelmente.

Produtos Inativos

DotNorm

Eldorado.NET

JC Persistent Framework

ObjectBroker

OPF.Net (Object Persistent Framework)

ORM.NET

Sisyphus Persistence Framework

iBATIS.NET

NEO

Produtos Free

9

Page 11: Produção Textual Interdisciplinar - Individual - 4° Semestre

Gentle.NET

MyGeneration

Subsonic

NHibernate

DataTier Generator

CODUS

ObjectMapper

Produtos Pagos

LLBLGen Pro

DataObjects.NET

NDO.NET

DEV Force

4.4 VANTAGENS E DESVANTAGENS DA ORM

Vantagem na utilização do Mapeamento Objeto Relacional

Escrever menos código e programar com muito mais produtividade.

O código fica mais elegante.

É mais fácil de dar manutenção no projeto.

10

Page 12: Produção Textual Interdisciplinar - Individual - 4° Semestre

Melhora a padronização da sua aplicação.

Desvantagem na utilização do Mapeamento Objeto Relacional

De acordo com Marcio Aguiar Ribeiro as desvantagens do ORM são as seguintes,

divididas em Tabela por Hierarquia, Tabela por Classe Concreta e Tabela por

Classe:

Desvantagens na ORM em Tabela por Hierarquia:

A modificação de uma classe pode afetar outras classes na hierarquia

Desperdício de espaço

Pode gerar tabelas muito grandes

Atributos não podem ter restrições do tipo not-null.

Desvantagens na ORM em Tabela por Classe Concreta:

Modificação de uma classe acarreta na modificação de sua tabela e todas as

classes filhas

Dificuldade de manter diversos papéis para um único objeto

Dificuldade de modificar um papel de um objeto

Desvantagens na ORM em Tabela por Classe:

Muitas tabelas

Potencialmente lento

11

Page 13: Produção Textual Interdisciplinar - Individual - 4° Semestre

5 CONCLUSÃO

Neste trabalho foi identificado que a orientação a objetos é a

tendência, porém deve-se levar em consideração o fato deste apresentar baixo

desempenho, assim como as primeiras linguagens de programação que tudo era um

objeto, os BDOOs sofrem com o desempenho. Quando só existia o BDR, surgiu à

necessidade de armazenar dados complexos, uma ótima solução foi o BDOO,

entretanto, por seu desempenho pouco satisfatório ainda não é muito utilizado.

Apesar de toda a variedade de ferramentas disponíveis no mercado, a utilização da

tecnologia de bancos de dados orientados a objeto permanece bastante pequena,

quando comparada ao modelo relacional, o Modelo de Banco de Dados Relacional

prevalece em relação aos outros modelos por que, além de ser o único modelo que

foi extensamente tratado de forma teórica, os modelos pré-existentes foram fruto de

implementações. Enquanto os modelos subsequentes, como o modelo orientado a

objetos, não apresentavam um campo tão rico para novas teorias, mas apresentam

grandes desafios para a implementação eficiente das operações necessárias. Ou

seja, o Banco de Dados Relacional foi desenvolvido para prover acesso facilitado

aos dados, possibilitando que os usuários utilizassem uma grande variedade de

abordagens no tratamento das informações.

12

Page 14: Produção Textual Interdisciplinar - Individual - 4° Semestre

REFERÊNCIAS

OKANO, Marcelo. Análise dos melhores ORM (Object-Relational Mapping) para plataforma. NET. DevMeda, [S.l.]. Disponível em: Acesso em: 11 out. 2013.

Site Wikipédia Banco de Dados Orientado a Objetos Disponível em: http://pt.wikipedia.org/wiki/Banco_de_dados_orientado_a_objetos> acessado em 11 Out. 2013.

Site Linha de Código Uma Nova Era na Tecnologia dos Bancos de Dados Disponível em:http://www.linhadecodigo.com.br/artigo/68/uma-nova-era-na-tecnologia-dos-bancos-de-dados.aspx#ixzz2hTAE78eo> acessado em 11 Out. 2013.

13