Sunteți pe pagina 1din 18

SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO ANLISE E DESENVOLVIMENTO DE SISTEMA

AUTOR: ADAIR JOS DA SILVA

ANLISE E DESENVOLVIMENTO DE SISTEMAS 3 PERODO

Jaru 2012

ADAIR JOS DA SILVA

CURSO: ANLISE E DESENVOLVIMENTO DE SISTEMAS 3 PERODO

Trabalho apresentado interdisciplinar a Universidade Norte do Paran - UNOPAR

SUMRIO INTRODUO............................................................................................................ 4 OBJETIVO.................................................................................................................. 5 LISTAS LINEARES.................................................................................................... 6 TIPOS DE LISTAS LINEARES...................................................................................7 BANCO DE DADOS................................................................................................. 13 OBJECT RELATIONAL MAPPING (ORM)...............................................................14 DIAGRAMA DE CLASSES .......................................................................................15 HERANA E POLIMORFISMO.................................................................................15 DIAGRAMA DE CLASSES........................................................................................16 CONCLUSO............................................................................................................17 REFERNCIAS..........................................................................................................18

INTRODUO Neste trabalho sera apresentado o conceito de listas lineares, Banco de dados orientado a objetos. A diferena entre listas Sequencial e Encadeada com exemplos. Para concluir foi feito uma definio de Diagrama de classes com Herana e Polimorfismo.

OBJETIVO Apresentar algumas tecnologias que auxiliam os desenvolvedores e analista de sistema no desenvolvimento de um bom sistema.

LISTAS LINEARES Lista linear uma estrutura de dados na qual elementos de um mesmo tipo de dado esto organizados de maneira sequencial. No necessariamente, estes elementos esto fisicamente em sequncia, mas a idia que exista uma ordem lgica entre eles. Um exemplo disto seria um consultrio mdico: as pessoas na sala de espera esto sentadas em qualquer lugar, porm sabe-se quem o prximo a ser atendido, e o seguinte, e assim por diante. Assim, importante ressaltar que uma lista linear permite representar um conjunto de dados afins (de um mesmo tipo) de forma a preservar a relao de ordem entre seus elementos. Cada elemento da lista chamado de n, ou nodo. Outros exemplos de listas lineares so; Pessoas na fila de um banco; Letras em uma palavra; Relao de notas dos alunos de uma turma; Itens em estoque em uma empresa; Dias da semana; Vages de um trem; Pilha de pratos; Cartas de baralho. Alocao de uma lista Quanto forma de alocar memria para armazenamento de seus elementos, uma lista pode ser: Sequencial ou Contgua e Encadeada. Numa lista linear contgua, os ns alm de estarem em uma sequncia lgica, esto tambm fisicamente em sequncia. J na forma de armazenamento encadeada os elementos no esto necessariamente armazenados sequencialmente na memria, porm a ordem lgica entre os elementos que compem a lista deve ser mantida. A maneira mais simples de acomodar uma lista linear em um computador atravs da utilizao de um vetor. A representao por vetor explora a sequencialidade da memria de tal forma que os ns de uma lista sejam armazenados em endereos contguos. Operaes com Listas As operaes comumente realizadas com listas so:

Criao de uma lista Remoo de uma lista Insero de um elemento da lista Remoo de um elemento da lista Acesso de um elemento da lista Alterao de um elemento da lista Combinao de duas ou mais listas Classificao da lista 6

Cpia da lista

Tipos de Listas Lineares Os tipos mais comuns de listas lineares so as: Pilhas e Filas. Pilhas Uma pilha uma lista linear do tipo LIFO - Last In First Out, o ltimo elemento que entrou, o primeiro a sair. Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados entram e saem dela. Exemplos de pilhas so: pilha de pratos, pilha de livros, pilha de alocao de variveis da memria. So exemplos de uso de pilha em um sistema:

Funes recursivas em compiladores; Mecanismo de desfazer/refazer dos editores de texto; Navegao entre pginas Web, etc.

A implementao de pilhas pode ser realizada atravs de vetor (alocao do espao de memria para os elementos contgua) ou atravs de listas encadeadas. Numa pilha, a manipulao dos elementos realizada em apenas uma das extremidades, chamada de topo, em oposio outra extremidade, chamada de base. Operaes com Pilha Todas as operaes em uma pilha podem ser imaginadas como as que ocorrem numa pilha de pratos em um restaurante ou como num jogo com as cartas de um baralho:

Criao da pilha (informar a capacidade no caso de implementao sequencial - vetor); Empilhar (push) - o elemento o parmetro nesta operao; Desempilhar (pop); Mostrar o topo; Verificar se a pilha est vazia (isEmpty); Verificar se a pilha est cheia (isFull - implementao sequencial - vetor).

Supondo uma pilha com capacidade para cinco elementos (cinco ns).

Na realidade a remoo de um elemento da pilha realizada apenas alterando-se a informao da posio do topo.

Filas Uma fila uma lista linear do tipo FIFO - First In First Out, o primeiro elemento a entrar ser o primeiro a sair. Na fila os elementos entram por um lado (por trs) e saem por outro (pela frente). Exemplos de filas so: a fila de caixa de banco, a fila do INSS, etc.

So exemplos de uso de fila em um sistema:


Controle de documentos para impresso; Troca de mensagem entre computadores numa rede, etc.

Operaes com Fila:

Todas as operaes em uma fila podem ser imaginadas como as que ocorrem numa fila de pessoas num banco, exceto que os elementos no se movem na fila, conforme o primeiro elemento retirado. Isto seria muito custoso para o computador. O que se faz na realidade indicar quem o primeiro. Criao da fila (informar a capacidade no caso de implementao sequencial - vetor); Enfileirar (enqueue) - o elemento o parmetro nesta operao; Desenfileirar (dequeue); Mostrar a fila (todos os elementos); Verificar se a fila est vazia (isEmpty); Verificar se a fila est cheia (isFull - implementao sequencial - vetor).

Supondo uma fila com capacidade para cinco elementos (cinco ns).

10

Na realidade a remoo de um elemento da fila realizada apenas alterando-se a informao da posio do ltimo.

Para evitar problemas de no ser capaz de inserir mais elementos na fila, mesmo quando ela no est cheia, a referncia primeira e ltima circunda at o inicio do vetor, resultando numa fila circular.

Desta forma a fila simula uma representao circular:

Deques Um deque - Double-Ended QUEue - uma lista linear na qual os elementos entram e saem tanto pela pela frente quanto por trs. Pode ser considerada uma generalizao da fila.

Assim o que vai distinguir os diferentes tipos de listas so as operaes que se podem realizar sobre as mesmas, podendo tanto ser implementadas com alocao sequencial quanto com alocao encadeada.

11

Listas Encadeadas Em uma lista encadeada pode-se acessar elementos da lista de forma aleatria, ou seja, inserir e remover elementos em qualquer parte da lista. Cada elemento um n que contm informao sobre o elo de ligao entre cada um da lista. A caracterstica mais importante deste tipo de estrutura sua forma dinmica. Os ns so inseridos ou removidos de acordo com a necessidade, em tempo de execuo. Os ns conectados atravs de ponteiros formam uma lista encadeada. Cada n composto basicamente por duas informaes: um campo de dados e um campo de ponteiros, onde se armazenam os endereos das conexes entre os ns. Listas Duplamente Encadeadas Cada elemento da lista tem uma ligao com o elemento seguinte e a referncia do elemento anterior da lista. Ou seja, cada elemento aponta para o elemento seguinte e tambm para o anterior. Assim pode-se percorrer a lista em ambas as direes. Para controlar o acesso a lista ligada pode-se usar uma clula especial que contm informaes do comprimento da lista, o endereo da primeira clula da lista e o endereo da ltima clula da lista. Para saber qual das duas opes melhor depende do tamanho e do volume de inseres e excluses da lista. Numa lista duplamente encadeada, por possuir ponteiros para o n anterior e para o n posterior, estas operaes so menos dispendiosas, pois no h necessidade de se percorrer novamente a lista a partir do incio como o caso das listas simplesmente encadeadas.

12

BANCO DE DADOS Para que um sotware possa ser considerado um SGBD, ele precisa ter essas quatro propriedades conhecidas como ACID; - Atomicidade a propriedade de atomicidade garante que astransaes sejam atmicas (indivisveis). A transao ser executada totalmente ou no ser executada. - Consistncia a propriedade de consistncia garante que o banco de dados passar de uma forma consistente para outra forma consistente. - Isolamento a propriedade de isolamento garante que a transao no ser interferida por nenhuma outra transao concorrente. - Durabilidade a propriedade de durabilidade garante que o que foi salvo, no ser mais perdido. BANCO DE DADOS ORIENTADO A OBJETOS Para um um banco de dados ser considerado orientado a objeto ele deve conter alguns conceitos bsicos: abstrao, encapsulamento, herana, e polimorfismo. A abstrao a capacitada de modelar coisas do mundo real, que o programador esteja tentando resolver. Um pequeno exemplo seria uma determinada empresa deseja controlar dados dos seus clientes. Ento, o programador colhe os dados genricos dos clientes e os molda no que se chama de classe. Uma classe descreve um grupo de objetos com propriedades (atributos), similares comportamentos (operaes), relacionamentos comuns com outros objetos e uma semntica comum. O encapsulamento tem como principal benefcio evitar que interferncias externas interfiram na manipulao dos dados. Tambm protege o mundo externo de alteraes na implementao da classe. Com esse princpio, toda ou qualquer transao feita com esses dados s pode ser feita atravs de procedimentos especificados dentro desse objeto, pelo envio de mensagens. A herana o mecanismo que permite a reutilizao de cdigos. uma relao entre duas ou mais classes onde existe a Super Classe e a Sub Classe, tambm conhecidas como classe pai e classe filha respectivamente. Ento uma sub classe do tipo super classe, e contm todos os seus mtodos e atributos. Na herana existe a especializao e a generalizao. O termo polimorfismo quer dizer etimologicamente vrias formas. Muitas pessoas acham que sobrecarga e polimorfismo so a mesma coisa, o que no verdade. Quando um mtodo declarado em uma super classe herdado para as sub classes e pode ser utilizado em todas as sub classes tendo o mesmo nome e pode atuar em cada sub classe de forma diferente, ou seja, Polimorfismo. Quando um mtodo herdado e re-escrito para atender necessidades especficas de cada sub classe, se ele ganhar uma nova forma de implementao na sub classe, ou seja, reescrever um cdigo que j tenha sido declarado e modifica-lo para atender a necessidade de cada classe , isto caracterizado como Sobrecarga.

13

ORM (Object-relational mapping) Object-relational mapping (ORM). A traduo em portugus significa Mapeamento objeto-relacional, no software de computador uma tcnica de programao para a converso de dados entre sistemas incompatveis tipo em linguagens orientadas a objetos de programao. O ORM uma forma de criar uma camada de intercmbio de dados entre um banco de dados relacional e objetos. De um lado, tem as tabelas e seus relacionamentos, do outro, os objetos de uma linguagem Orientada a Objetos. Cada entidade do MER se torna uma classe no modelo OO. Cada atributo de uma entidade se torna um campo em uma classe. Cada relacionamento entre entidades normalmente se torna uma associao, composio ou agregao no modelo OO. Sendo assim, para se criar mecanismos que fazem essa converso automaticamente, ou seja, fazem uma consulta em SQL e essa consulta gera um conjunto de objetos, ou ento tem um mtodo para salvar um objeto, onde uma implementao vai obter os campos desse objeto e traduz-los em uma clusula insert em SQL pode-se implementar um ORM manualmente ou ento usar algum framework que j faa tudo isso automaticamente.
Um dos exemplos desses tipos de framework o Hibernate

Hibernate um Framewok para mapeamento Objeto/Relacional em Java, nele se define as entidades, realiza algumas configuraes nas mesmas (via anotaes ou XML) e o
framework cuida de toda a parte "suja" , ou seja, gerar SQL compatvel com a configurao de cada classe e o SGBD escolhido, realizando a comunicao (bidirecional) "banco de dados relacional e modelo OO".

Hibernate um mecanismo bem simples e poderoso que permite a persistncia de objetos em banco de dados relacionais de maneira transparente e para qualquer tipo de aplicao Java (seja ela web-based ou desktop-based). Ou seja, ao invs de perder tempo escrevendo SQL, misturando estas consultas no meio do seu cdigo Java e ficar mapeando o resultado de suas consultas para objetos, com o Hibernate voc vai precisar se preocupar somente com seus objetos. Alm disso, o processo de desenvolvimento usando Hibernate muito mais simples do que usar JDBC puro. Com Hibernate, voc s tem estes 5 passos: criar a tabela no seu banco de dados onde os objetos vo persistir; criar o objeto cujo estado vai ser persistido; criar um XML, que relaciona as propriedades do objeto aos campos na tabela criar um arquivo contendo as propriedades para que o Hibernate se conecte ao bando de dados. O Hibernate possui uma query language prpria, orientada a objetos.

14

DIAGRAMA DE CLASSES Herana e Polimorfismo Herana um mecanismo que ajuda definir relaes de subtipo e reusar cdigo. Contudo herana e subtipo so mecanismos distintos e devem ter construtores diferentes nas linguagens de programao. Herana um conceito muito poderoso, uma vez que possibilita que os desenvolvedores maximizem o uso dos mtodos (comportamento) e dos dados (estrutura) dos objetos existentes. Podese entender herana, sob a tica de linguagem de programao orientada a objetos, como sendo um mecanismo para construir classes a partir de classes existentes. O mecanismo de herana pode ser classificado de trs maneiras independentes: Esttico ou Dinmico; A herana estabelecida em tempo de compilao. Implcito ou Explcito; O comportamento de um objeto depende da sua classe, que no pode ser alterada Por Objeto ou por Grupo. As caractersticas de herana s o especificadas para uma classe, no para objetos especficos. Polimorfismo a habilidade de diferentes objetos receberem a mesma mensagem e comportar-se de maneira diferente. Polimorfismo implica em criar uma interface pela qual sero recebidas mensagens determinando o comportamento do objeto. Veja o diagrama abaixo. Temos uma superclasse chamada Mamfero, e s subclasses; Cachorro, Macaco, Homem, que herdam da classe Mamfero. Podemos dizer que Cachorro um Mamfero, Macaco um Mamfero, Homem um Mamfero. As caractersticas definidas na classe Mamfero estaro presentes nas classes que herdam dela. Todos os Mamferos tero Mamas e Pelos. Isto Herana. Alm disto, cada classe que herda de Mamfero poder ter seus prprios atributos que se somaro aos da superclasse. E note que a classe Homem contm uma definio do atributo Pelos. Dando uma razo lgica para nosso exemplo, isto porque o Homem tem pelos diferentes dos outros mamferos. Podemos portanto redefinir na subclasse um atributo que j estava presente na superclasse, dando a ele caractersticas diferentes. Isto Polimorfismo: o mesmo mtodo ou atributo pode ter funcionamento diferente em classes diferentes, mesmo que uma herde da outra.

15

DIAGRAMA DE CLASSES

16

CONCLUSO Com essas informaes descritas neste trabalho, podemos perceber que o bom desenvolvimento de um sistema de informaes, depende somento que o desenvolvedor ou analista de sistemas seja um bom profissional, pois ferramentas para isso tem.

17

REFERNCIAS

INTERNET. DEITEL, Harvet M.; DEITEL Paul J. Java como programar. 6. ed. Porto Alegre: Pearson, 2005. DELIBERADOR, Paulo de Tarso. Algoritmos e estrutura de dados.

18

S-ar putea să vă placă și