análise e programação de sistemas de informação

24
Senhor do Bonfim 2013 AGNALDO APRIGIO DA SILVA SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROGRAMAÇÃO DE SISTEMAS DE INFORMAÇÃO

Upload: agnaldo-sobral

Post on 01-May-2017

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise e Programação de Sistemas de Informação

Senhor do Bonfim 2013

AGNALDO APRIGIO DA SILVA

SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE TECNOLOGIA EM

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

ANÁLISE E PROGRAMAÇÃO DE SISTEMAS DE INFORMAÇÃO

Page 2: Análise e Programação de Sistemas de Informação

2

Senhor do Bonfim 2013

1 ANÁLISE E PROGRAMAÇÃO DE SISTEMAS DE INFORMAÇÃO

Trabalho de Produção Textual Interdisciplinar Individual apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média bimestral na disciplina de: Desenvolvimento Orientado a Objeto; Redes de Computadores; Modelagem Orientada a Objetos; Tópicos em Desenvolvimento de Sistemas. Orientador: Prof.: Marcio Roberto Chiaveli; Paulo K.

Nishitani; Polyanna P. Gomes Fabris; Adriane A. Loper.

AGNALDO APRIGIO DA SILVA

Page 3: Análise e Programação de Sistemas de Informação

3

SUMÁRIO

1 INTRODUÇÃO ..................................................................................................... 4

2 OBJETIVO ........................................................................................................... 5

3 DESENVOLVIMENTO ......................................................................................... 6

3.1 DIAGRAMA DE CLASSE ...................................................................................... 7

3.2 PROJETO DE UM BANCO DE DADOS NO MODELO CONCEITUAL ................. 8

3.3 IMPLEMENTAÇÃO DO DIAGRAMA DE CLASSE EM C# .................................. 10

3.4 SOLUÇÕES E CUSTOS PARA A IMPLEMENTAÇÃO DE UMA REDE ............. 19

4 CONCLUSÃO .................................................................................................... 23

5 REFERÊNCIAS ................................................................................................. 24

Page 4: Análise e Programação de Sistemas de Informação

4

1 INTRODUÇÃO

O progresso da tecnologia de informação nos últimos 50 anos de

história foi muito acelerado. O desenvolvimento de hardwares e softwares garante a

operacionalização da comunicação e dos processos decorrentes em meios virtuais.

No entanto, foi a popularização da internet que potencializou a comunicação on-line

e disseminou em grande escala a tecnologia de informação.

Através da internet, novos sistemas de comunicação e informação

foram criados, formando uma verdadeira rede. Criações como e-mail, chat, fóruns,

agenda de grupos on-line e comunidades virtuais, revolucionaram os

relacionamentos humanos.

Através do trabalho colaborativo, profissionais distantes

geograficamente trabalham em equipe. O intercâmbio de informações tem gerado

novos conhecimentos e competências entre os profissionais e o trabalho por parte

de Analista de Sistemas no desenvolvimento de aplicações que tem sido cada vez

mais um grande desafio.

O nosso trabalho tem como cenário uma empresa que trabalha no

ramo de aluguel de buggy. A dona da empresa “Aluga Buggy” chama-se Polyanna e

está sediada em Guarapari-ES. Hoje essa empresa tem cinco lojas que por falta de

tecnologia trabalham de forma isolada, cada uma com seu próprio servidor de Banco

de Dados.

A proposta feita por esta empresa, é contratar uma equipe

desenvolvedora de sistemas onde o objetivo maior é fazer a integração por rede on-

line unindo todas as estações de todas as lojas numa só rede onde deverá existir a

comunicação entre os usuários e um só Banco de Dados em cada loja, porém se

comunicando com o sistema de Banco de Dados das outras lojas.

Após uma conversa de Polyanna com seus amigos também

empresários Roberto e Anderson, a empresa “Aluga Buggy” abriu lojas em Porto

Seguro-BA, Porto de Galinhas-PE, Natal-RN e em Fortaleza-CE. E para a realização

deste projeto de implantação foi necessário um aporte de capital onde este foi

realizado pela empresa Merris & Veronice Investimentos Ltda.

Page 5: Análise e Programação de Sistemas de Informação

5

2 OBJETIVO

Como principal objetivo de trabalho e divulgação neste contexto,

será apresentado todo processo de desenvolvimento de um software que será

implantado na empresa “Aluga Buggy” e que tem por objetivo principal fazer a

ampliação da Tecnologia de Informação desta empresa de uma forma rápida e

eficiente.

O nosso projeto de análise inclui a alterações no sistema já

implantado, e neste ínterim, será necessário fazer a modularização que é a

comunicação de alguns aspectos com o sistema já implantado e elaborar um novo

projeto de Banco de Dados mais robusto e mais seguro.

Os diagramas de classe que ilustra o funcionamento da base de

dados incluindo seus atributos, operações e multiplicidade, serão abordados neste

contexto dando uma idéia de como o nosso sistema irá funcionar.

Outro objetivo importante do nosso trabalho e demonstrar de forma

dinâmica a implementação que inclui as principais operações de alteração, Inclusão,

Exclusão e Pesquisa. Na codificação foram inseridos métodos e os comandos para

verificação de erros (Ex: try – catch). Também será demonstrado de forma prática

como é feito na ligação da classe com outra por meio de cardinalidades (Ex: private

List <Reserva> reservas;).

Uma parte importante do Projeto em desenvolvimento é a verificação

da consistência do Banco de Dados, e esse processo de verificação que chamamos

de MNR – Modelo Relacional Normalizado irá verificar se a Base de Dados do nosso

Projeto está livre de possíveis erros que pode ocorrer durante a usabilidade.

E o objetivo maior a ser alcançado será a comunicação entre todas

as máquinas presente em todas as lojas da empresa “Aluga Buggy” se comunicando

por meio de uma Rede WAN.

Page 6: Análise e Programação de Sistemas de Informação

6

3 DESENVOLVIMENTO

Na era da globalização, a informação é tratada como um bem

valioso. Vemos todos os meios de comunicação se interagindo para que, de alguma

forma se extraia o máximo de informações que se analisadas e trabalhadas podem

se tornar a diferença entre o sucesso e fracasso. Podemos perceber hoje, num

mercado totalmente turbulento, que as informações em conjunto com as estratégias

a elas adaptadas são fatores primordiais, fatores que diferenciam os métodos de

decisão.

Para que isso ocorra muitas empresas estão desenvolvendo

softwares que permitam aos administradores uma melhor análise dos dados que

influenciam a decisão. Podemos levar em consideração também a rapidez do

mercado em analisar e checar determinados dados. É nesse contexto que muitos

paradigmas foram quebrados e que novos surgiram, e é diante desse cenário que as

empresas estão cada vez mais investindo e aprimorando a implantação e a

atualização dos seus sistemas de Tecnologia de Informação.

É cada vez mais patente a relevância estratégica que as tecnologias

de informação apresentam para o desenvolvimento de novas técnicas de

administração, aumentando a eficiência e a eficácia do trabalho no ambiente global

da organização, criando vantagens competitivas e um melhor desempenho

organizacional.

Page 7: Análise e Programação de Sistemas de Informação

7

3.1 DIAGRAMA DE CLASSE

O Diagrama de Classe para o nosso Projeto terão as operações

para cada entidade a visibilidade do tipo Pública, isso é importante num

relacionamento, pois qualquer alteração ou exclusão de um registro numa outra

entidade, as alterações e exclusões também serão feiras na entidade relacionada.

Por exemplo, se o código do cliente da entidade “Cadastrar Cliente” for alterada,

automaticamente esse número também será alterado no campo “codigoCliente” da

entidade “Cadastrar Reserva”.

Page 8: Análise e Programação de Sistemas de Informação

8

3.2 PROJETO DE UM BANCO DE DADOS NO MODELO CONCEITUAL

O modelo conceitual de um Banco de Dados captura as

necessidades da organização em termos de armazenamento de dados de forma

independente de implementação.

O sistema de banco de dados deve prover uma visão abstrata de

dados aos usuários, isolando-os de certos detalhes do BD. A arquitetura desta

abstração se dá em três níveis. O mais externo, o nível de visões do usuário,

descreve partes do banco que serão visualizadas pelos usuários.

No nível intermediário, tem-se o nível conceitual (ou lógico), que

descreve quais os dados estão armazenados e seus relacionamentos. Finalmente,

no nível mais baixo, está o nível físico, descrevendo a forma como os dados estão

realmente armazenados.

Para desenvolver um banco de dados livre de erros possíveis a

acontecer durante o uso da aplicação diária de um software já implantado na

empresa, é necessário que o banco de dados passe por uma espécie de

refinamento feito por etapas que chamamos MNR – Modelo Relacional Normalizado.

No modelo conceitual é possível fazer quase tudo, porém no plano

físico nem sempre dá para implementar. Vejamos um cenário do nosso projeto de

banco de dados no modelo conceitual desde o modelo desnormalizado até a terceira

forma normal.

MODELO DESNORMALIZADO

Page 9: Análise e Programação de Sistemas de Informação

9

No Modelo desnormalizado nós agrupamos as entidades e definimos

os atributos com seus atributos determinantes (ou chave).

Na primeira forma normal são eliminados os atributos repetidos, ou

seja, os atributos que representam o armazenamento de um mesmo dado em locais

diferente são também considerados tabelas alinhadas ou que contém mais de uma

ocorrência. Após identificar estes atributos eles devem ser transferidos para uma

nova entidade, e esta nova entidade deve estar relacionada com a entidade de onde

os atributos foram retirados.

Na entidade nova, a chave primária que veio da entidade forte se

tornará uma chave estrangeira, porém fazendo parte da chave primária da nova

entidade fraca.

PRIMEIRA FORMA NORMAL (Sem chaves Estrangeiras)

Page 10: Análise e Programação de Sistemas de Informação

10

Uma tabela para estar na Segunda Forma Normal não pode conter

dependência funcional entre seus atributos não chave com partes da sua chave

primária. Uma tabela para estar na Terceira Forma Normal não pode conter

dependências funcionais dos seus atributos não chave com outros atributos não

chave. Também não pode haver atributos calculados.

PRIMEIRA, SEGUNDA E TERCEIRA FORMA NORMAL

(Com chaves estrangeiras e sem Dependência Funcional entre os atributos)

3.3 IMPLEMENTAÇÃO DO DIAGRAMA DE CLASSE EM C#

Com Base no Diagrama apresentado nesse Projeto, iremos agora

programar em C# as classes referentes ao Diagrama de Classe. Haverá também o

relacionamento incluindo a cardinalidade. Cliente para Reserva ( 1 *..1 ) (Um

para Muitos), Reserva para Buggy ( *..1 1 ) (Muitos para Um), Buggy para

Reserva ( 1 *..1 ) (Um para Muitos) e Buggy para Tipo_buggy ( *..1 1 ) (Muitos

Page 11: Análise e Programação de Sistemas de Informação

11

para Um). O Nome da Solução em nosso projeto será chamado de “Grupo”.

Segue as quatro classes que inclui as definições dos atributos

incluindo os relacionamentos, as propriedades dos atributos (get e set), os

construtores e as operações (CRUD).

Classe Cliente

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Grupo { class Cliente { private int codigoCliente; private string nomeCliente; private string telefoneCliente; private int cnhCliente; private int rgCliente; private int cpfCliente; private string enderecoCliente; private List<Reserva> reservas; public int CodigoCliente { get { return codigoCliente; } set { codigoCliente = value; } } public string NomeCliente { get { return nomeCliente; } set { nomeCliente = value; } } public string TelefoneCliente { get { return telefoneCliente; } set { telefoneCliente = value; } } public int CnhCliente { get { return cnhCliente; } set { cnhCliente = value; } } public int RgCliente { get { return rgCliente; } set { rgCliente = value; } }

Page 12: Análise e Programação de Sistemas de Informação

12

public int CpfCliente { get { return cpfCliente; } set { cpfCliente = value; } } public string EnderecoCliente { get { return enderecoCliente; } set { enderecoCliente = value; } } public List<Reserva> Reservas { get { return reservas; } set { reservas = value; } } public Cliente() { reservas = new List<Reserva>(); } public bool Incluir() { if (reservas.Count == 0) return false; // gravar dados no banco return true; } public bool IncluirReserva(Reserva pReserva) { try { reservas.Add(pReserva); return true; } catch { return false; } } public bool ExcluirReserva(Reserva pReserva) { Reserva reserva = reservas.Find(p => p.CodigoReserva == pReserva.CodigoReserva); if (reserva == null) return false; reservas.Remove(reserva); return true; } // O Código abaixo inclui Pesquisa e Alteração public bool AlterarReserva(Reserva pReserva) { int posicao = reservas.FindIndex(p => p.CodigoReserva == pReserva.CodigoReserva);

Page 13: Análise e Programação de Sistemas de Informação

13

if (posicao <0) return false; reservas[posicao] = pReserva; return true; } } }

Classe Reserva

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Grupo { class Reserva { private int codigoReserva; private DateTime dataReserva; private DateTime dataRetirada_buggy; private DateTime dataDevolucao_buggy; private int codigoCliente; private int numeroBuggy; private double valorEstimado_reserva; private Cliente cliente; private Buggy buggy; public int CodigoReserva { get { return codigoReserva; } set { codigoReserva = value; } } public DateTime DataReserva { get { return dataReserva; } set { dataReserva = value; } } public DateTime DataRetirada_buggy { get { return dataRetirada_buggy; } set { dataRetirada_buggy = value; } } public DateTime DataDevolucao_buggy { get { return dataDevolucao_buggy; } set { dataDevolucao_buggy = value; } } public int CodigoCliente { get { return codigoCliente; } set { codigoCliente = value; } } public int NumeroBuggy

Page 14: Análise e Programação de Sistemas de Informação

14

{ get { return numeroBuggy; } set { numeroBuggy = value; } } public double ValorEstimado_reserva { get { return valorEstimado_reserva; } set { valorEstimado_reserva = value; } } public Cliente Cliente { get { return cliente; } set { cliente = value; } } public Buggy Buggy { get { return buggy; } set { buggy = value; } } public bool Incluir() { if (codigoReserva == 0) return false; if (codigoCliente == 0) return false; if (numeroBuggy == 0) return false; if (cliente == null) return false; if (buggy == null) return false; // gravar os dados no banco return true; } } }

Classe Buggy

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Grupo { class Buggy { private int numeroBuggy; private string modeloBuggy; private int anoBuggy; private string tipoBuggy; private Tipo_buggy tipo_buggy; private List<Reserva> reservas; public int NumeroBuggy

Page 15: Análise e Programação de Sistemas de Informação

15

{ get { return numeroBuggy; } set { numeroBuggy = value; } } public string ModeloBuggy { get { return modeloBuggy; } set { modeloBuggy = value; } } public int AnoBuggy { get { return anoBuggy; } set { anoBuggy = value; } } public string TipoBuggy { get { return tipoBuggy; } set { tipoBuggy = value; } } public Tipo_buggy Tipo_buggy { get { return tipo_buggy; } set { tipo_buggy = value; } } public List<Reserva> Reserva { get { return reservas; } set { reservas = value; } } public Buggy() { reservas = new List<Reserva>(); } public bool Incluir() { if (reservas.Count == 0) return false; if (numeroBuggy == 0) return false; if (modeloBuggy.Length == 0) return false; if (tipoBuggy == null) return false; // gravar dados no banco return true; } public bool IncluirReserva(Reserva pReserva) { try { reservas.Add(pReserva); return true; } catch

Page 16: Análise e Programação de Sistemas de Informação

16

{ return false; } } public bool ExcluirReserva(Reserva pReserva) { Reserva reserva = reservas.Find(p => p.CodigoReserva == pReserva.CodigoReserva); if (reserva == null) return false; reservas.Remove(reserva); return true; } // O Código abaixo inclui Pesquisa e Alteração public bool AlterarReserva(Reserva pReserva) { int posicao = reservas.FindIndex(p => p.CodigoReserva == pReserva.CodigoReserva); if (posicao < 0) return false; reservas[posicao] = pReserva; return true; } } }

Classe Tipo_buggy

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Grupo { class Tipo_buggy { private string descricaoTipo; private int codigoTipo; private double valorTipo; private List<Buggy> buggys; public string DescricaoTipo { get { return descricaoTipo; } set { descricaoTipo = value; } } public int CodigoTipo { get { return codigoTipo; } set { codigoTipo = value; } }

Page 17: Análise e Programação de Sistemas de Informação

17

public double ValorTipo { get { return valorTipo; } set { valorTipo = value; } } public List<Buggy> Buggy { get { return buggys; } set { buggys = value; } } public Tipo_buggy() { buggys = new List<Buggy>(); } public bool Incluir() { if (buggys.Count == 0) return false; // gravar dados no banco return true; } public bool IncluirBuggy(Buggy pBuggy) { try { buggys.Add(pBuggy); return true; } catch { return false; } } public bool ExcluirBuggy(Buggy pBuggy) { Buggy buggy = buggys.Find(p => p.NumeroBuggy == pBuggy.NumeroBuggy); if (buggy == null) return false; buggys.Remove(buggy); return true; } // O Código abaixo inclui Pesquisa e Alteração public bool AlterarBuggy(Buggy pBuggy) { int posicao = buggys.FindIndex(p => p.NumeroBuggy == pBuggy.NumeroBuggy); if (posicao < 0) return false; buggys[posicao] = pBuggy; return true; } } }

Page 18: Análise e Programação de Sistemas de Informação

18

Uma maneira de demonstrar de forma mais detalhada as operações

de Inclusão, Alteração, Exclusão e Pesquisa seria criando uma classe abstrata

chamada “ModeloCrud” e nela implementar classes e métodos abstratos que inclui

as operações CRUD.

using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Grupo { abstract class ModeloCrud { public void Incluir() { PropertyInfo[] propriedade = this.GetType().GetProperties( BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance); string insert = "INSERT INTO " + this.GetType().Name + "("; for (int i = 0; i < propriedade.Length; i++) { insert += propriedade[i].Name + ","; } insert = insert.Remove(insert.Length - 1); insert += ") VALUES("; for (int i = 0; i < propriedade.Length; i++) { if (propriedade[i].PropertyType == typeof(string)) insert += "'" + propriedade[i].GetValue(this).ToString() + "',"; else insert += propriedade[i].GetValue(this).ToString() + ","; } insert = insert.Remove(insert.Length - 1); insert += ")"; Conexao banco = new Conexao(); banco.AbrirConexao(); banco.ExecutarComando(insert); banco.FecharConexao(); } public abstract string[] Alterar(); public abstract string[] Excluir(); public abstract void Recuperar(); public abstract string[] Validar(); } }

Page 19: Análise e Programação de Sistemas de Informação

19

O próximo passo seria fazer a herança de toda a implementação da classe

abstrata “ModeloCrud” nas classes: Cliente, Reserva, Buggy e Tipo_Buggy. E no

final da classe inserimos métodos do tipo “override” para cada operação CRUD. E

isso pode ser feito assim:

namespace Grupo { class NomeDaClasse : ModeloCrud { // Definição de atributos // Definição dos Métodos Get e Set public override string[] Alterar() { throw new NotImplementedException(); } public override string[] Excluir() { throw new NotImplementedException(); } public override void Recuperar() { throw new NotImplementedException(); } public override string[] Validar() { throw new NotImplementedException(); } } }

3.4 SOLUÇÕES E CUSTOS PARA A IMPLEMENTAÇÃO DE UMA REDE

No Município de Senhor do Bonfim (Interior da Bahia) região em que

moro, é permitido cabos de redes nos postes em toda a cidade, todavia, alguns

provedores de internet utilizam uma rede geograficamente distribuída, ou WAN (wide

area network), que abrange uma grande área geográfica. Ela contém um conjunto

de máquinas cuja finalidade é executar os programas (ou seja, as aplicações) do

usuário.

Essas máquinas são chamadas de hosts. Os hosts estão

conectados por uma sub-rede de comunicação ou, simplificando, uma sub-rede. Os

hosts pertencem aos usuários (por exemplo, são os computadores de uso pessoal),

enquanto a sub-rede de comunicação em geral pertence e é operada por uma

Page 20: Análise e Programação de Sistemas de Informação

20

empresa de telefonia ou por um provedor de serviços da Internet.

A tarefa da sub-rede é transportar mensagens de um host para

outro, exatamente como o sistema de telefonia transporta as palavras da pessoa

que fala para a pessoa que ouve. Essa estrutura de rede é altamente simplificada,

pois separa os aspectos da comunicação pura da rede (a sub-rede) dos aspectos de

aplicação (os hosts).

Os custos para implantação de uma rede distribuída são altos,

sendo necessários à aquisição de equipamentos caros e antenas bem qualificadas.

As empresas e filiais na cidade de Senhor do Bonfim tem se beneficiado da

tecnologia (Rede Internet em Banda Larga), além dos esforços dos provedores

locais, muitos se beneficiam com a Velox.

Na maioria das redes geograficamente distribuídas, a sub-rede

consiste em dois componentes distintos: linhas de transmissão e elementos de

comutação. As linhas de transmissão transportam os bits entre as máquinas. Elas

podem ser formadas por fios de cobre, fibra óptica, ou mesmo enlaces de rádio. Os

elementos de comutação são computadores especializados que conectam três ou

mais linhas de transmissão. Quando os dados chegam a uma linha de entrada, o

elemento de comutação deve escolher uma linha de saída para encaminhá-los.

Esses computadores de comutação receberam diversos nomes no

passado; o nome roteador é agora o mais comumente usado. Em inglês, algumas

pessoas pronunciam esse nome da mesma forma que "rooter" e outras fazem rima

com "doubter".

Os hosts em geral estão conectados a uma LAN em que há um

roteador, embora em alguns casos um host possa estar conectado diretamente a um

roteador. O conjunto de linhas de comunicação e roteadores (sem os hosts) forma a

sub-rede.

Fonte: https://sites.google.com/site/estudandoredes/capitulo-01---introducao/1-2-hardware-de-rede/1-

2-3-redes-geograficamente-distribuidas

Page 21: Análise e Programação de Sistemas de Informação

21

Vale a pena fazermos um breve comentário em relação ao termo

"sub-rede". Originalmente, seu único significado identificava o conjunto de

roteadores e linhas de comunicação que transportava pacotes entre os hosts de

origem e de destino. No entanto, alguns anos mais tarde, o termo adquiriu um

segundo significado, em conjunto com o endereçamento de rede. Infelizmente não

existe nenhuma alternativa amplamente utilizada para seu significado inicial, e assim

nós o utilizaremos com alguma hesitação em ambos os sentidos. Contudo, o

contexto sempre deixará clara a acepção do termo que está sendo utilizado.

Na maioria das WANs, a rede contém numerosas linhas de

transmissão, todas conectadas a um par de roteadores. No entanto, se dois

roteadores que não compartilham uma linha de transmissão desejar se comunicar,

eles só poderão fazê-lo indiretamente, através de outros roteadores. Quando é

enviado de um roteador para outro por meio de um ou mais roteadores

intermediários, o pacote é recebido integralmente em cada roteador intermediário,

onde é armazenado até a linha de saída solicitada ser liberada, para então ser

encaminhado. Uma sub-rede organizada de acordo com esse princípio é chamada

sub-rede de store-and-forward (de armazenamento e encaminhamento) ou de

comutação por pacotes. Quase todas as redes geograficamente distribuídas (com

exceção das que utilizam satélites) têm sub-redes store-and-forward.

Quando são pequenos e têm todos os mesmos tamanhos, os

pacotes costumam ser chamados de células. O princípio de uma WAN de

comutação por pacotes é tão importante que vale a pena dedicar mais algumas

palavras a esse assunto. Em geral, quando um processo em algum host tem uma

mensagem para ser enviada a um processo em algum outro host, primeiro o host

que irá transmitir divide a mensagem em pacotes, cada um contendo seu número na

sequência. Esses pacotes são então injetados na rede um de cada vez em rápida

sucessão. Os pacotes são transportados individualmente pela rede e depositados no

host receptor, onde são novamente montados para formar a mensagem original, que

é entregue ao processo receptor. Um fluxo de pacotes resultantes de alguma

mensagem inicial é ilustrado na figura abaixo.

Page 22: Análise e Programação de Sistemas de Informação

22

Fonte: https://sites.google.com/site/estudandoredes/capitulo-01---introducao/1-2-hardware-de-rede/1-

2-3-redes-geograficamente-distribuidas

Nessa figura, todos os pacotes seguem a rota ABC, em vez de

ADEC ou ABEC. Em algumas redes, todos os pacotes de uma determinada

mensagem devem seguir a mesma rota; em outras, cada pacote é roteado

separadamente. É claro que, se ABC for a melhor rota, todos os pacotes deverão ser

enviados por ela, ainda que cada pacote seja roteado individualmente.

As decisões de roteamento são tomadas em caráter local. Quando

um pacote chega ao roteador A, cabe ao roteador A decidir se esse pacote deve ser

enviado na linha para B ou na linha para D. A forma como A toma essa decisão é

chamada algoritmo de roteamento. Existem muitos desses algoritmos.

Nem todas as WANs são comutadas por pacotes. Uma segunda

possibilidade para uma WAN é um sistema de satélite. Cada roteador tem uma

antena pela qual pode enviar e receber. Todos os roteadores podem ouvir as

transmissões do satélite e, em alguns casos, eles também podem ouvir as

transmissões de saída dos demais roteadores para o satélite. Às vezes, os

roteadores estão conectados a uma sub-rede ponto a ponto de grande porte, e

apenas um deles tem uma antena de satélite. As redes de satélite são

inerentemente redes de difusão e são mais úteis quando a propriedade de difusão é

importante.

Page 23: Análise e Programação de Sistemas de Informação

23

4 CONCLUSÃO

Dentre os tópicos aqui apresentados, é importante ressaltar os

procedimentos e padrões de um processo de desenvolvimento que foram abordados

neste contexto, tais aspectos importantes devem ser observados num projeto antes

do seu planejamento.

Consideramos por meio de diagramas todos os detalhes de cada

Entidade ou Tabelas para o nosso Banco de Dados, seus atributos, operações e

multiplicidades. Aplicamos o MNR – Modelo Relacional Normalizado onde se aplica

o processo de refinamento para a detecção de futuros problemas possíveis que

poderiam acontecer no uso da aplicação com o Banco de Dados.

Os Diagramas de Classe nos deram uma visão ampla sobre todo o

Projeto do Banco de Dados incluindo as cardinalidades. Também foi demonstrado

de forma mais ampla, a implementação de nosso Projeto com o uso da linguagem

C# e suas principais operações (CRUD) como Alteração, Inclusão, Exclusão e

Pesquisa.

Abordamos vários aspectos importantes no processo de

desenvolvimento de um produto, desde a incorporação de um Sistema de

Tecnologia de Informação na organização “Aluga Buggy” onde os resultados obtidos

serão satisfatórios para a empresa.

Page 24: Análise e Programação de Sistemas de Informação

24

REFERÊNCIAS

CHIAVELI, Márcio Roberto. Banco de Dados I: Modelo Entidade Relacionamento Mer. Biblioteca Digital.

DEITEL. C# Como Programar.

DUARTE, Roberto Gonzáles. Uso de Casos no Ensino de Administração.

ELMASRI, Navathe. Sistemas de Banco de Dados.

FORBELLONE, André Luiz Villar. Lógica de Programação. A construção de Algoritmos e Estrutura de Dados.

FOWLER, Martin. UML Essencial. 3ª Edição.

GOMES, Polyanna Pacheco. Curso de Extensão: Uml Unified Modeling Language. Conceitos Fundamentais de Orientação A Objetos e Modelagem: Diagrama de Objetos. Biblioteca Digital.

GUNNERSON, Eric. Introdução à programação em C#

OLIVEIRA, Rômulo Silva. Sistemas Operacionais. Editora Sagra Luzzano. Instituto de Informática da UFRGS.

VALDURIEZ, Patrick. Princípios de Sistemas de Bancos de Dados Distribuídos.

https://sites.google.com/site/estudandoredes/capitulo-01---introducao/1-2-hardware-de-rede/1-2-3-redes-geograficamente-distribuidas