portifÓlio de dependÊncia do 3º semestre - individual

20
ILHÉUS 2012 ROBSON GONZAGA SILVA SISTEMA DE ENSINO PRESENCIAL CONECTADO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRODUÇÃO TEXTUAL INTERDISCIPLINAR INDIVIDUAL DO 3º SEMESTRE

Upload: robson-gonzaga

Post on 02-Aug-2015

308 views

Category:

Documents


0 download

DESCRIPTION

analise e desenvolvimento de sistemas

TRANSCRIPT

Page 1: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

ILHÉUS2012

ROBSON GONZAGA SILVA

ROBSON GONZAGA SILVA

SISTEMA DE ENSINO PRESENCIAL CONECTADOSUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO

DE SISTEMAS

PRODUÇÃO TEXTUAL INTERDISCIPLINAR INDIVIDUAL DO 3º SEMESTRE

Page 2: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

ILHÉUS2012

PRODUÇÃO TEXTUAL INTERDISCIPLINAR INDIVIDUAL DO 3º SEMESTRE

Trabalho de Dependência da disciplina de Analise de Sistemas II apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média bimestral na disciplina de Superior de Tecnologia em Análise e Desenvolvimento de Sistemas.

Orientador: Prof.

Page 3: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

SUMÁRIO

1 INTRODUÇÃO......................................................................................................3

2 LISTAS LINEARES...............................................................................................4

2.1 FIFO E LIFO......................................................................................................4

2.1.1 ALOCAÇÃO SIMPLESMENTE ENCADEADA..............................................5

2.1.2 ALOCAÇÃO DUPLAMENTE ENCADEADA..................................................6

2.1.2.1 ALOCAÇÃO ENCADEADA X ALOCAÇÃO DUPLAMENTE ENCADEADA. 6

3 DATA BASES E PROPRIEDADES ACID.............................................................7

3.1 BANCO DE DADOS ORIENTADO A OBJETOS..............................................7

3.2 ORM (Obejct relational mapping)......................................................................8

3.3 HIBERNATE – FERRAMENTA omR................................................................8

4 DIAGRAMA DE ATIVIDADES.............................................................................9

4.1 DECISÃO E PONTO DE MERGE.................................................................... 9

4.2 CONCORRÊNCIA, BIFURCAÇÃO E UNIÃO ..................................................10

REFERÊNCIAS.........................................................................................................11

CONCLUSÃO............................................................................................................12

APÊNDICES..............................................................................................................13

Page 4: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

1 INTRODUÇÃO

O conteúdo que será apresentado nas próximas páginas faz referencia a extrema

importância das Tecnologias da Informação (TI) que auxiliam no aumento de

desempenho e agilidade dos negócios administrativos atualmente e ao quadro da

atualidade moderna, em que as empresas estão investindo ferozmente em novas e

avançadas tecnologias que visam o armazenamento em massa das informações de

vital importância para a sobrevivência das mesmas. Será abordado ainda a importância

de conceitos sobre estruturas de dados como FIFO e LIFO, conceito de apontadores e

alocação. O texto segue ainda dando um embasamento teórico sobre banco de dados

e suas propriedades ACIDE e conceitos sobre suas transações e comandos como

COMIT e ROLLBACK que se aplicam as mesmas, entre outros assuntos relacionados

aos DB’s. (Data Bases). Será mostrado como funciona um banco de dados relacional

utilizando como apoio a programação orientada a objeto (POOB). Posteriormente serão

abordados os conceitos sobre ORM (Object Relational Mapping) que é uma técnica

utilizada para a conversão de dados entre sistemas incompatíveis. E por ultimo

teremos uma visão sobre os conceitos de herança e polimorfismo no diagrama de

classe.

Todos esses conceitos e paradigmas que são parte das tecnologias utilizadas para

informatizar os processos de trabalho dentro de uma empresa.

3

Page 5: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

2 LISTAS LINEARES

No mundo virtual as informações ou instruções de maquina tendem a seguir

2.1 FIFO E LIFO

4

um fluxo bem definido de passos, é um certo tipo de ordem correta de acontecimentos e processamentos. A parte da informática que estuda esse fato é chamada de algoritimo. Mas dentro de algoritimos ainda existe um subdomínio conhecido como estruturas de dados, que nada mais é do que um modo particular de armazenar e organizar os dados em um computador. A estrutura de dados trada das listas lineares que estruturalmente, permite representar um conjunto de dados onde busca preservar a relação de ordem existente entre eles.

FIFO: No mundo avançado da computação, as ciências da tecnologia da informação definem FIFO (First In, First Out) como sendo estruturas de dados do tipo fila. Nesse tipo de estrutura prevalece a seguinte regra: O primeiro a entrar é o primeiro a sair. Elas são amplamente utilizadas no mundo da computação para definir e implementar filas de espera. Em uma FIFO, os elementos são colocados ordenadamente um após o outro em forma de fila e são retirados por ordem de chegada. Um exemplo claro de FIFO é o processo de um usuário pedir a execução de varias tarefas em um computador, as tarefas serão ordenadas em fila pelo processador e serão executadas seguindo a ordem de pedido de execução, ou seja, o primeiro pedido será sempre o primeiro a ser executado pelo processador e posteriormente os outros.

Figura 1.1

A figura acima mostra claramente o funcionamento de uma FIFO

Page 6: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

Figura 1.2

2.1.1 ALOCAÇÃO SIMPLESMENTE ENCADEADA

Figura 1.3

5

LIFO: A LIFO (Last In, First Out) é definida como uma estrutura de dados do tipo pilha. Nesse tipo de estrutura a regra prevalece é que: O ultimo a entrar é o primeiro a sair. É uma estrutura muito utilizada em informática avançada principalmente na parte de programação quando um trecho de um programa chama a função ou o procedimento que está atualmente em execução.Os termos push e pop são utilizados para denominar a inserção e a remoção de elementos na pilha e o termo topo para denominar o local onde será iniciada a consulta de elementos.

Entende-se como alocação encadeada o mecanismo que estabelece a relação de precedência entre os nodos não de forma física, mas sim de forma lógica. Ao invés de manter os elementos agrupados numa área contínua de memória, ocupando células consecutivas, na alocação encadeada os elementos podem ocupar quaisquer células (não necessariamente consecutivas) e, para manter a relação de ordem linear, juntamente com cada elemento é armazenado o endereço do próximo elemento da lista. Desta forma, na alocação encadeada, os elementos são armazenados em blocos de memória denominados nodos, sendo que cada nodo é composto por dois campos: um para armazenar dados e outro para armazenar endereço.

Page 7: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

2.1.2 ALOCAÇÃO DUPLAMENTE ENCADEADA

2.1.2.1 ALOCAÇÃO ENCADEADA X ALOCAÇÃO DUPLAMENTE ENCADEADA

6

Uma lista duplamente encadeada é aquela em que cada nó possui

duas Referências, ao invés de uma só. A primeira é usada para indicar o nó sucessor (da mesma forma que lista simplesmente encadeada), enquanto que a segunda é usada para apontar para o nó predecessor (nó anterior). Desta forma, dado um nó qualquer da lista, podemos acessar ambos os nós adjacentes: o próximo e o anterior. A figura 2.15 ilustra este tipo de lista.

A estrutura de lista simplesmente encadeada vista na seção anterior caracteriza-se por formar um encadeamento simples entre os seus nós. Dessa forma, cada nó desta lista contém uma referência para o nó seguinte, o que nos permite percorrer toda alista encadeada a partir do primeiro nó (do início para o fim). Porém, neste tipo de lista, não temos uma eficiência para percorrer a lista do fim para o início. Ainda mais, a remoção de um elemento de uma lista simplesmente encadeada também é uma tarefa difícil. Mesmo conhecendo a posição do elemento a ser removido, teremos que percorrer toda a lista, nó por nó, a fim de encontrarmos o elemento anterior, pois, dado um determinado nó, não temos como acessar diretamente o nó anterior. A fim de solucionar esses problemas, podemos utilizar uma estrutura de dados conhecida como lista duplamente encadeadas.

A principal vantagem de se utilizar listas duplamente encadeadas é que, devido à existência da referência para o nó anterior e o posterior, podemos percorrer facilmente toda a lista em qualquer direção (do início para o fim e do fim para o início). Comisso, facilita a implementação da maioria das operações possíveis em cima de listas. Entretanto, uma lista duplamente encadeada ocupa ainda mais espaço em memória, pois cada nó conterá uma referência amais (para o nó anterior).

Page 8: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

3 DATA BASES E PROPRIEDADES ACID

3.1 BANCO DE DADOS RELACIONAL COM POO

7

Um banco de dados (DB ou Data Base) é uma coleção de informações que se relacionam a fim de formar um sentido. São de vital importância dentro das organizações e empresas. Para se trabalhar e gerenciar um banco de dados é preciso ter em mão um SGBD, ou seja, um Sistema Gerenciador de Banco de dados. O SGBD nos permite inserir, alterar, excluir e manter os dados dentro de uma base de dados.

Em uma base de dados, sempre que iniciamos algum comando (inserir, alterar, atualizar e excluir) é executado um conjunto de procedimentos denominados de transações. A integridade de uma transação de banco de dados depende exclusivamente de 4 propriedade conhecidas como ACID.A sigla ACID é a junção das iniciais dos nomes das 4 propriedade que são: Atomicidade, Consistência, Isolamento e Durabilidade.

Atomicidade: Tem a função de garantir que a transação seja indivisível. Isso que dizer que, ou a transação será executada totalmente ou não será executada.

Consistência: Garante todas as regras de negocio estabelecidas no banco de dados serão obedecidas para que a transação ocorra com sucesso.

Isolamento: Garante que uma transação não sofrerá interferência de nenhuma outra transação concorrente.

Durabilidade: Garante que o que foi salvo não será mais perdido.

Podemos definir banco de dados como sendo uma coleção organizada de dados utilizados com a finalidade de modelar algum tipo de negócio ou processo organizacional.

Um modelo de banco de dados relacional armazena dados dentro de tabelas que se utilizam de relacionamentos para estabelecer algumas regras de negócio e de acesso aos dados. O problema é que um banco de dados relacional é incompatível com a programação orientada a objetos. Para resolver esse probleminha foi inventado o método OMR (Modelig Obejct relational mapping ou Mapeamento Objeto Relacional), essa técnica permite a comunicação entre um banco de dados relacional com a Programação Orientada a Objetos. Mais abaixo veremos mais afundo essa técnica que é muito utilizada na POO.

Page 9: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

3.2 ORM (OBEJCT RELATIONAL MAPPING)

3.3 HIBERNATE – FERRAMENTA OMR

8

A tradução em português significa Mapeamento objeto-relacional, no software de computador é uma técnica de programação para a conversão de dados entre sistemas incompatíveis tipo em linguagens orientadas a objetos de programação. Isso cria, de fato, um "banco de dados objeto virtual" que pode ser usado a partir da linguagem de programação. Há dois pacotes livres e comerciais disponíveis que realizam mapeamento objeto-relacional, apesar de alguns programadores optar por criar suas próprias ferramentas de ORM.

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.

O  Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net como o nome NHibernate. Este framework facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) ou anotações Java (veja Annotation_(java)).

Hibernate é um software livre de código aberto distribuído com a licença LGPL. O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional (presente na maioria dos SGBDs). Em especial, no desenvolvimento de consultas e atualizações dos dados.

Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). O Hibernate gera as chamadas SQL e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para quaisquer bancos de dados SQL, porém causando um pequeno aumento no tempo de execução

Page 10: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

4 DIAGRAMA DE ATIVIDADES

4.1 DECISÃO E PONTO DE MERGE

HERANÇA

Figura 1.5

9

Segundo Pender, há pelo menos três situações em que um diagrama de atividades oferece ideias valiosas, sendo eles, “ao modelar um workflow, descrevendo um caso de uso e para especificar operações”.

O diagrama de atividades nós oferece uma visão ampla do fluxo de trabalho de uma determinada situação ou organização, sendo necessário para o entendimento correto do sistema em questão. Serve para explanar a compreensão de vários tipos de negócios sendo eles informatizados ou não.

DECISÃO: É representada no diagrama de atividades por um losango. Utilizamos um notação de decisão para representar uma escolha entre dois ou mais fluxos em que apenas um dos fluxos será escolhido.

PONTO DE MERGE: Um ponto de merge é representado no diagrama de atividades pelo mesmo losango que representa a decisão, a única diferença é em sua função onde utilizamos o ponto de merge para representar que vários fluxos de atividades chegaram aquele determinado ponto e a partir dali todas elas seguirão um único fluxo.

A figura abaixo mostra como é a representação gráfica da Decisão e do Ponto de Merge:

Notação de Decisão Ponto de Merge

Page 11: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

4.2 CONCORRÊNCIA E BIFURCAÇÃO

10

CONCORRÊNCIA: No diagrama de atividades, podemos definir uma concorrência como sendo a execução de varias threads ou processos que são executados simultaneamente sem que um interfira no outro.

BIFURCAÇÃO: É o processo em que uma transição da inicio a várias outras transições.

UNIÃO: É o processo em que varias transições se unem em um determinado ponto dando inicio a apenas uma transição.

OBS: Todos os três processos utilização a mesma representação gráfica que é a barra de sincronização.

A figura abaixo mostra como é a representação gráfica da Bifurcação e da União:

Bifurcação União

Page 12: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

REFERÊNCIAS

http://www.decom.ufop.br/menotti/aedI091/tps/tp2-sol2.pdf;

http://blog.lucasrenan.com/propriedades-acid/;

http://pt.kioskea.net/faq/10254-lista-duplamente-encadeada;

http://www.del.ufrj.br/~heraldo/eel470_lista2.pdf;

http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional;

http://algol.dcc.ufla.br/~heitor/Artigos/Artigo_003.html;

http://www.macoratti.net/net_uml1.htm;

http://www.uel.br/pessoal/rodolfo/pos_esbd_2012/Diagrama%20de%20Atividades.pdf;

Livro de Análise de sistemas II do 3º Semestre de Análise e Desenvolvimento de Sistemas – Unopar – Autora: Simone Sawasaki Tanaka;

Livro de Banco de Dados II do 3º Semestre de Análise e Desenvolvimento de Sistemas – Unopar – Autor: Roberto Yukio Nishimura.

11

Page 13: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

CONCLUSÃO

Com o termino desse trabalho, fruto de muita pesquisa, estudo e

esforço. Pude aprimorar muito mais meus conhecimentos sobre as tecnologias de

banco de dados e ferramentas como OMR eu utilizam a linguagem chamada de OQL.

Pude aprofundar também meus conhecimentos sobre diagrama de classes e adquiri

uma compreensão melhor sobre os conceitos de polimorfismo e herança.

Depois desse trabalho textual, realmente me tornei uma estudante

melhor e com certeza serei um profissional mais completo.

12

Page 14: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

APÊNDICES

Todas as pesquisas feitas para elaboração desse trabalho foram retirados de sites de pesquisa das internet, do site da UNOPAR (Universidade Norte do Pará) e dos livros do

3º Semestre de Análise e Desenvolvimento de sistemas.

13

Page 15: PORTIFÓLIO DE DEPENDÊNCIA DO 3º SEMESTRE - INDIVIDUAL

14