Você está na página 1de 11

1

SISTEMA DE ENSINO PRESENCIAL CONECTADO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS

ADENILDO MACEDO DE ALMEIDA

PRODUO TEXTUAL INTERDISCIPLINAR INDIVIDUAL

Joo Pessoa 2012

ADENILDO MADECO DE ALMEIDA

PRODUO TEXTUAL INTERDISCIPLINAR INDIVIDUAL

Trabalho apresentado ao Curso Superior de Tecnologia em Anlise e Desenvolvimento de Sistemas da UNOPAR - Universidade Norte do Paran, para a disciplina Atividades Interdisciplinares. Professores:Polyanna Fabris, Mrcio Chiaveli, Roberto Nishimura, Merris Mozer.

Joo Pessoa 2012

SUMRIO 1 INTRODUO 2 OBJETIVO 3 DESENVOLVIMENTO 4 CONCLUSO 5 REFERNCIAS

4 4 4 10 11

1 Introduo O presente trabalho se destina a fazer uma abordagem interdisciplinar entre as disciplinas vistas em sala de aula no semestre III do curso. 2 Objetivo Promover uma fixao do material visto em sala de aula e estimular a produo textual, atravs de pesquisas em material eletrnico, livros e apostilas. 3 Desenvolvimento 3.1. Sobre listas lineares defina os conceitos de FIFO, FILO, seus apontadores, suas ordens para incluso, excluso e pesquisa, inserindo exemplos do cotidiano e da informtica sobre listas lineares. Defina tambm, os conceitos de alocao

4 simplesmente encadeada, alocao duplamente encadeada, represente graficamente as duas alocaes de encadeamento e responda qual delas tem maiores vantagens e o motivo. LIFO ("LAST IN FIRST OUT") - Atribuisse a essas estruturas lineares a denominao de PILHAS ou Pilhas de Dados. Nas quais o ltimo elemento que entrou o primeiro a sair. O conceito de pilha amplamente utilizado na informtica, como, por exemplo, durante a execuo de um programa, para o armazenamento de valores de varivel local a um bloco e tambm para conter o endereo de retorno do trecho de programa que chamou a funo ou procedimento atualmente em execuo. Usa-se os termos push e pop para denominar a insero e remoo de elementos da pilha, respectivamente. Usa-se o termo top para consultar o elemento do topo da pilha, sem o remover. Uma pilha uma lista linear na qual o primeiro elemento a entrar o ltimo elemento a sair. Ela possui apenas uma entrada, chamada de topo, a partir da qual os dados entram e saem dela. A insero (PUSH) o mtodo que insere um elemento no topo de uma Pilha. J a remoo (POP) o mtodo0 que remove um elemento do topo de uma Pilha. Em programao estruturada temos: FIFO ("FIRST IN FIRST OUT") - o primeiro elemento que entrou o primeiro a sair. Estruturas lineares com esta disciplina de acessp so denominadas FILAS. As listas so amplamente utilizadas em programao para implementar filas de espera. Em uma fila de tipo FIFO os elementos vo sendo colocados na fila e retirados (ou processados) por ordem de chegada. A idia fundamental da fila que s podemos inserir um novo elemento no final da fila e s podemos retirar o elemento do incio. Como exemplo de aplicao para filas, pode-se citar a fila de processos de um sistema operacional. Nela, estabelecido um tempo a ser usado por cada um dos processos. Se durante a execuo de um processo o tempo passa de a , este posto na fila e o processo seguinte executado. Se o processo seguinte no terminar de ser executado no tempo , ele posto na fila e o processo subsequente executado, e assim por diante at todos os processo serem executados. Em termos de controle de estoque, refere-se a um mtodo armazenamento onde os itens so consumidos por ordem de chegada. de

3.2. Com relao a Banco de Dados, defina os conceitos das propriedades ACID de uma transao.

5 Atomicidade: Cada tarefa realizada de uma forma nica, sendo portanto, indivisvel. Da surge o termo atmico. A transao precisa que todas as suas operaes sejam executadas em caso de sucesso. Caso contrrio, nenhum resultado de alguma operao ser refletido sobre a base de dados em caso de falha. Sendo assim, aps o trmino de uma transao (commit ou abort), a base de dados no deve refletir resultados parciais da transao. Exemplos:

Em uma transferncia de valores entre contas bancrias, caso alguma das etapas no seja cumprida, todas as alteraes feitas devem ser desfeitas;

Consistncia: O SGBD avalia os dados recebidos atravsde regras de integridade, garantindo quesempre estejam corretos. Integridade: Um dos objetivos primordiais de um SGBD aintegridade de dados. Dizer que os dados de umbanco de dados esto ntegros significa dizer queeles refletem corretamente a realidaderepresentada pelo banco de dados e que soconsistentes entre si. Restries de integridade podem ser classificadas assim: -Integridade de domnio -Integridade de vazio -Integridade de chave -Integridade referencial Integridade de Domnio->Se uma determinada coluna de uma tabela definida como inteiro, o SGBD somente permitira insero de valores inteiros, no permitindo aentrada de valores alfanumricos ou reais. Integridade de vazio->Permite ou no de acordo com a definio dacoluna a insero de valores vazios (deixar embranco). Integridade de chave->Uma vez uma ou mais colunas definidas comochave primria o SGBD no permitir que hajaduplicidade no valor delas. Exemplo: Tabela Empregado onde o campo cdigo doempregado chave primria. O SGBD nopermitir que sejam inseridos 2 empregados como mesmo cdigo, havendo ento violao dechave primria.

Integridade referencial->No permite que seja excluda uma linha de umatabela onde h referencias a aquela linha emoutra tabela.

6 Ex.: Na tabela funcionrio tenho o cod_deptoque faz referencia a tabela depto. A integridadereferencial no permite que seja excludo odepartamento onde hajam funcionriosvinculados a ele.

Durabilidade:

Os efeitos de uma transao em caso de sucesso (commit) devem persistir no banco de dados mesmo em presena de falhas. 3.3. Como usar um banco de dados relacional com a programao orientada a objetos? Um banco de dados orientado a objetos um banco de dados em que cada informao armazenada na forma de objetos, ou seja, utiliza a Estrutura de dados denominada Orientao a objetos, a qual permeia as linguagens mais modernas. O gerenciador do banco de dados para um orientado a objeto referenciado por vrios como ODBMS ou OODBMS. Existem dois fatores principais que levam a adoo da tecnologia de banco de dados orientados a objetos. A primeira, que em um banco de dados relacional se torna difcil de manipular com dados complexos (esta dificuldade se d pois o modelo relacional se baseia menos no senso comum relativo ao modelo de dados necessrio ao projeto e mais nas contingncias prticas do armazenamento eletrnico). Segundo, os dados so geralmente manipulados pela aplicao escrita usando linguagens de programao orientada a objetos, como C++, C#, Java,Python ou Delphi (Object Pascal), e o cdigo precisa ser traduzido entre a representao do dado e as tuplas da tabela relacional, o que alm de ser uma operao tediosa de ser escrita, consome tempo. Esta perda entre os modelos usados para representar a informao na aplicao e no banco de dados tambm chamada de perda por resistncia. Banco de dados orientados a objetos baseados numa programao persistente adquiriram um nicho nas reas como banco de dados espaciais, telecomunicaes, e reas cientficas como fsica de alta energia e Biologia molecular. Eles tiveram pouco impacto nas principais aplicaes comerciais de processamento de dados, embora sejam utilizados em algumas reas especializadas em servios financeiros. H tambm que notar que estes bancos guardam a maior base de dados do mundo ( mais de 1000 Terabytes da Stanford Linear Accelerator Center) e tem a maior taxa de insero atingida por um banco de dados comercial ( mais de um Terabyte por hora). Iniciando em 2004, os bancos de dados orientados a objetos tiveram um segundo perodo de crescimento quando os projetos de banco de dados livres surgiram com diversos recursos e de fcil uso, porque eles eram totalmente escritos em linguagens orientada a objetos, como o Java, C++ ou C#. 3.4. O que significa ORM (Object Relational Mapping) mapeamento objeto relacional?

7 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 ttimos 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.

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 armazene os seus objetos no banco de dados, para isto

8 fazendo um mapeamento dos seus objetos para as tabelas do banco de dados.

3.5. Pesquise e apresente uma ferramenta para fazer ORM. O ORM uma forma de criar uma camada de intercmbio de dados entre um banco de dados relacional e objetos. De um lado, voc tem as tabelas e seus relacionamentos, do outro, os objetos de uma linguagem OO.

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/agregao no modelo OO. Sendo assim, vc precisa criar mecanismos que fazem essa converso automaticamente, ou seja, fazer uma consulta em SQL e essa consulta gerar um conjunto de objetos, ou ento ter um mtodo para salvar um objeto, onde sua implementao vai obter os campos desse objeto e traduz-los em uma clusula insert em SQL Voc pode implementar o seu ORM manualmente usando o padro de projeto DAO como disse, ou ento usar algum framework que j faa tudo isso automaticamente para voc. Um dos exemplos desses tipos de framework o Hibernate. Nele voc define suas entidades, realiza algumas configuraes nas mesmas (via anotaes ou XML) e o framework cuida de toda a parte "suja" para voc, ou seja, gerar SQL compatvel com a configurao de cada classe e o SGBD escolhido, realizando a comunicao (bidirecional) "banco de dadaos relacional <-> modelo OO". Introduo ao Hibernate-> O Hibernate um framework de mapeamento objeto relacional para aplicaes Java, ou seja, uma ferramenta para mapear classes Java em tabelas do banco de dados e vice-versa. bastante poderoso e d suporte

9 ao mapeamento de associaes entre objetos, herana, polimorfismo, composio e colees. O Hibernate no apresenta apenas a funo de realizar o mapeamento objeto relacional. Tambm disponibiliza um poderoso mecanismo de consulta de dados, permitindo uma reduo considervel no tempo de desenvolvimento da aplicao. Arquitetura-> A arquitetura do Hibernate formada basicamente por um conjunto de interfaces. A Figura 4 apresenta as interfaces mais importantes nas camadas de negcio e persistncia. A camada de negcio aparece acima da camada de persistncia por atuar como uma cliente da camada de persistncia. Vale salientarque algumas aplicaes podem no ter a separao clara entre as camadas de negcio e de persistncia. De acordo com a Figura 4, as interfaces so classificadas como: Interfaces responsveis por executar operaes de criao, deleo, consulta e atualizao no banco de dados: Session, Transaction e Query; Interface utilizada pela aplicao para configurar o Hibernate Configuration; Interfaces responsveis por realizar a interao entre os eventos do Hibernate e a aplicao: Interceptor, Lifecycle e Validatable. Interfaces que permitem a extenso das funcionalidades de mapeamento do Hibernate: UserType, CompositeUserType, IdentifierGenerator. O Hibernate tambm interage com APIs j existentes do Java: JTA, JNDI e JDBC.

3.6. Defina e represente atravs do diagrama de classe o conceito de herana e polimorfismo. Herana O mecanismo de herana permite definir uma nova classe em termos de uma classe existente, com modificaes e/ou extenses de comportamento. A nova classe a subclasse da anterior ou classe derivada. A classe inicial a superclasse ou classe base. Dessa forma, uma classe pode herdar operaes de uma superclasse e as suas operaes podem ser herdadas por subclasses. Pode repetir-se o processo, definindo uma nova classe a partir da classe derivada anterior.

Polimorfismo - Princpio pelo qual as classes derivadas de uma nica classe base so capazes de invocar os mtodos que, embora apresentem a mesma assinatura, comportam-se de maneira diferente para cada uma das classes derivadas.

10 O Polimorfismo um mecanismo por meio do qual selecionamos as funcionalidades utilizadas de forma dinmica por um programa no decorrer de sua execuo. Com o Polimorfismo, os mesmos atributos e objetos podem ser utilizados em objetos distintos, porm, com implementaes lgicas diferentes. Por exemplo: podemos dizer que uma classe chamada Vendedor e outra chamada Diretor podem ter como base uma classe chamada Pessoa, com um mtodo chamado CalcularVendas. Se este mtodo (definido na classe base) se comportar de maneira diferente para as chamadas feitas a partir de uma instncia de Vendedor e para as chamadas feitas a partir de uma instncia de Diretor, ele ser considerado um mtodo polimrfico, ou seja, um mtodo de vrias formas.

4 CONCLUSO Aprimorar os conhecimentos adquiridos em mdulos e disciplinas anteriores, atravs da busca da informao de forma mais aprofundada, utilizando-se de exemplos prticos coletados de livros e pesquisas na internet.

5 REFERNCIAS

11

TELE AULAS E BIBLIOTECA DIGITAL, UNOPA NISHIMURA, Roberto Yukio. Banco de Dados II: sistemas II. So Paulo: Pearson Prentice Hall, 2009. TANAKA, Simone Sawasaki. Anlise de Sistemas II: sistemas. So Paulo: Pearson Prentice Hall, 2009.

http://www.unopar.br/bibliotecadigital/ http://www.devmedia.com.br/orm-object-relational-mapper/19056 http://www.slideshare.net/eneck/trabalho-banco-de-dados-orientado-a-objetos http://www.thinkfn.com/wikibolsa/LIFO/FIFO