Sie sind auf Seite 1von 24

Senhor do Bonfim

2013









































AGNALDO APRIGIO DA SILVA



















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





ANLISE E PROGRAMAO DE SISTEMAS DE
INFORMAO


2
Senhor do Bonfim
2013





































1 ANLISE E PROGRAMAO DE SISTEMAS DE INFORMAO

Trabalho de Produo Textual Interdisciplinar Individual
apresentado Universidade Norte do Paran -
UNOPAR, como requisito parcial para a obteno de
mdia bimestral na disciplina de: Desenvolvimento
Orientado a Objeto; Redes de Computadores;
Modelagem Orientada a Objetos; Tpicos em
Desenvolvimento de Sistemas.

Orientador: Prof.: Marcio Roberto Chiaveli; Paulo K.
Nishitani; Polyanna P. Gomes Fabris; Adriane A.
Loper.

AGNALDO APRIGIO DA SILVA













3
SUMRIO
1 INTRODUO ..................................................................................................... 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 IMPLEMENTAO DO DIAGRAMA DE CLASSE EM C# .................................. 10
3.4 SOLUES E CUSTOS PARA A IMPLEMENTAO DE UMA REDE ............. 19

4 CONCLUSO .................................................................................................... 23

5 REFERNCIAS ................................................................................................. 24

4
1 INTRODUO
O progresso da tecnologia de informao nos ltimos 50 anos de
histria foi muito acelerado. O desenvolvimento de hardwares e softwares garante a
operacionalizao da comunicao e dos processos decorrentes em meios virtuais.
No entanto, foi a popularizao da internet que potencializou a comunicao on-line
e disseminou em grande escala a tecnologia de informao.
Atravs da internet, novos sistemas de comunicao e informao
foram criados, formando uma verdadeira rede. Criaes como e-mail, chat, fruns,
agenda de grupos on-line e comunidades virtuais, revolucionaram os
relacionamentos humanos.
Atravs do trabalho colaborativo, profissionais distantes
geograficamente trabalham em equipe. O intercmbio de informaes tem gerado
novos conhecimentos e competncias entre os profissionais e o trabalho por parte
de Analista de Sistemas no desenvolvimento de aplicaes que tem sido cada vez
mais um grande desafio.
O nosso trabalho tem como cenrio 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 prprio servidor de Banco
de Dados.
A proposta feita por esta empresa, contratar uma equipe
desenvolvedora de sistemas onde o objetivo maior fazer a integrao por rede on-
line unindo todas as estaes de todas as lojas numa s rede onde dever existir a
comunicao entre os usurios e um s Banco de Dados em cada loja, porm se
comunicando com o sistema de Banco de Dados das outras lojas.
Aps uma conversa de Polyanna com seus amigos tambm
empresrios 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 realizao
deste projeto de implantao foi necessrio um aporte de capital onde este foi
realizado pela empresa Merris & Veronice Investimentos Ltda.




5
2 OBJETIVO
Como principal objetivo de trabalho e divulgao 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
ampliao da Tecnologia de Informao desta empresa de uma forma rpida e
eficiente.
O nosso projeto de anlise inclui a alteraes no sistema j
implantado, e neste nterim, ser necessrio fazer a modularizao que a
comunicao 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, operaes e multiplicidade, sero abordados neste
contexto dando uma idia de como o nosso sistema ir funcionar.
Outro objetivo importante do nosso trabalho e demonstrar de forma
dinmica a implementao que inclui as principais operaes de alterao, Incluso,
Excluso e Pesquisa. Na codificao foram inseridos mtodos e os comandos para
verificao de erros (Ex: try catch). Tambm ser demonstrado de forma prtica
como feito na ligao da classe com outra por meio de cardinalidades (Ex: private
List <Reserva> reservas;).
Uma parte importante do Projeto em desenvolvimento a verificao
da consistncia do Banco de Dados, e esse processo de verificao que chamamos
de MNR Modelo Relacional Normalizado ir verificar se a Base de Dados do nosso
Projeto est livre de possveis erros que pode ocorrer durante a usabilidade.
E o objetivo maior a ser alcanado ser a comunicao entre todas
as mquinas presente em todas as lojas da empresa Aluga Buggy se comunicando
por meio de uma Rede WAN.







6
3 DESENVOLVIMENTO
Na era da globalizao, a informao tratada como um bem
valioso. Vemos todos os meios de comunicao se interagindo para que, de alguma
forma se extraia o mximo de informaes que se analisadas e trabalhadas podem
se tornar a diferena entre o sucesso e fracasso. Podemos perceber hoje, num
mercado totalmente turbulento, que as informaes em conjunto com as estratgias
a elas adaptadas so fatores primordiais, fatores que diferenciam os mtodos de
deciso.
Para que isso ocorra muitas empresas esto desenvolvendo
softwares que permitam aos administradores uma melhor anlise dos dados que
influenciam a deciso. Podemos levar em considerao tambm a rapidez do
mercado em analisar e checar determinados dados. nesse contexto que muitos
paradigmas foram quebrados e que novos surgiram, e diante desse cenrio que as
empresas esto cada vez mais investindo e aprimorando a implantao e a
atualizao dos seus sistemas de Tecnologia de Informao.
cada vez mais patente a relevncia estratgica que as tecnologias
de informao apresentam para o desenvolvimento de novas tcnicas de
administrao, aumentando a eficincia e a eficcia do trabalho no ambiente global
da organizao, criando vantagens competitivas e um melhor desempenho
organizacional.










7
3.1 DIAGRAMA DE CLASSE
O Diagrama de Classe para o nosso Projeto tero as operaes
para cada entidade a visibilidade do tipo Pblica, isso importante num
relacionamento, pois qualquer alterao ou excluso de um registro numa outra
entidade, as alteraes e excluses tambm sero feiras na entidade relacionada.
Por exemplo, se o cdigo do cliente da entidade Cadastrar Cliente for alterada,
automaticamente esse nmero tambm ser alterado no campo codigoCliente da
entidade Cadastrar Reserva.





8
3.2 PROJETO DE UM BANCO DE DADOS NO MODELO CONCEITUAL
O modelo conceitual de um Banco de Dados captura as
necessidades da organizao em termos de armazenamento de dados de forma
independente de implementao.
O sistema de banco de dados deve prover uma viso abstrata de
dados aos usurios, isolando-os de certos detalhes do BD. A arquitetura desta
abstrao se d em trs nveis. O mais externo, o nvel de vises do usurio,
descreve partes do banco que sero visualizadas pelos usurios.
No nvel intermedirio, tem-se o nvel conceitual (ou lgico), que
descreve quais os dados esto armazenados e seus relacionamentos. Finalmente,
no nvel mais baixo, est o nvel fsico, descrevendo a forma como os dados esto
realmente armazenados.
Para desenvolver um banco de dados livre de erros possveis a
acontecer durante o uso da aplicao diria de um software j implantado na
empresa, necessrio que o banco de dados passe por uma espcie de
refinamento feito por etapas que chamamos MNR Modelo Relacional Normalizado.
No modelo conceitual possvel fazer quase tudo, porm no plano
fsico nem sempre d para implementar. Vejamos um cenrio do nosso projeto de
banco de dados no modelo conceitual desde o modelo desnormalizado at a terceira
forma normal.
MODELO DESNORMALIZADO

9
No Modelo desnormalizado ns agrupamos as entidades e definimos
os atributos com seus atributos determinantes (ou chave).
Na primeira forma normal so eliminados os atributos repetidos, ou
seja, os atributos que representam o armazenamento de um mesmo dado em locais
diferente so tambm considerados tabelas alinhadas ou que contm mais de uma
ocorrncia. Aps 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 primria que veio da entidade forte se
tornar uma chave estrangeira, porm fazendo parte da chave primria da nova
entidade fraca.

PRIMEIRA FORMA NORMAL (Sem chaves Estrangeiras)



10
Uma tabela para estar na Segunda Forma Normal no pode conter
dependncia funcional entre seus atributos no chave com partes da sua chave
primria. Uma tabela para estar na Terceira Forma Normal no pode conter
dependncias funcionais dos seus atributos no chave com outros atributos no
chave. Tambm no pode haver atributos calculados.

PRIMEIRA, SEGUNDA E TERCEIRA FORMA NORMAL
(Com chaves estrangeiras e sem Dependncia Funcional entre os atributos)


3.3 IMPLEMENTAO 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 tambm 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
11
para Um). O Nome da Soluo em nosso projeto ser chamado de Grupo.
Segue as quatro classes que inclui as definies dos atributos
incluindo os relacionamentos, as propriedades dos atributos (get e set), os
construtores e as operaes (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; }
}

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 Cdigo abaixo inclui Pesquisa e Alterao

public bool AlterarReserva(Reserva pReserva)
{
int posicao = reservas.FindIndex(p => p.CodigoReserva ==
pReserva.CodigoReserva);

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
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
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
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 Cdigo abaixo inclui Pesquisa e Alterao


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; }
}
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 Cdigo abaixo inclui Pesquisa e Alterao

public bool AlterarBuggy(Buggy pBuggy)
{
int posicao = buggys.FindIndex(p => p.NumeroBuggy == pBuggy.NumeroBuggy);

if (posicao < 0)
return false;

buggys[posicao] = pBuggy;
return true;
}
}
}
18
Uma maneira de demonstrar de forma mais detalhada as operaes
de Incluso, Alterao, Excluso e Pesquisa seria criando uma classe abstrata
chamada ModeloCrud e nela implementar classes e mtodos abstratos que inclui
as operaes 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();
}
}



19
O prximo passo seria fazer a herana de toda a implementao da classe
abstrata ModeloCrud nas classes: Cliente, Reserva, Buggy e Tipo_Buggy. E no
final da classe inserimos mtodos do tipo override para cada operao CRUD. E
isso pode ser feito assim:
namespace Grupo
{

class NomeDaClasse : ModeloCrud
{

// Definio de atributos
// Definio dos Mtodos 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 SOLUES E CUSTOS PARA A IMPLEMENTAO DE UMA REDE
No Municpio de Senhor do Bonfim (Interior da Bahia) regio em que
moro, permitido cabos de redes nos postes em toda a cidade, todavia, alguns
provedores de internet utilizam uma rede geograficamente distribuda, ou WAN (wide
area network), que abrange uma grande rea geogrfica. Ela contm um conjunto
de mquinas cuja finalidade executar os programas (ou seja, as aplicaes) do
usurio.
Essas mquinas so chamadas de hosts. Os hosts esto
conectados por uma sub-rede de comunicao ou, simplificando, uma sub-rede. Os
hosts pertencem aos usurios (por exemplo, so os computadores de uso pessoal),
enquanto a sub-rede de comunicao em geral pertence e operada por uma
20
empresa de telefonia ou por um provedor de servios 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 comunicao pura da rede (a sub-rede) dos aspectos de
aplicao (os hosts).
Os custos para implantao de uma rede distribuda so altos,
sendo necessrios aquisio 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), alm dos esforos dos provedores
locais, muitos se beneficiam com a Velox.
Na maioria das redes geograficamente distribudas, a sub-rede
consiste em dois componentes distintos: linhas de transmisso e elementos de
comutao. As linhas de transmisso transportam os bits entre as mquinas. Elas
podem ser formadas por fios de cobre, fibra ptica, ou mesmo enlaces de rdio. Os
elementos de comutao so computadores especializados que conectam trs ou
mais linhas de transmisso. Quando os dados chegam a uma linha de entrada, o
elemento de comutao deve escolher uma linha de sada para encaminh-los.
Esses computadores de comutao receberam diversos nomes no
passado; o nome roteador agora o mais comumente usado. Em ingls, algumas
pessoas pronunciam esse nome da mesma forma que "rooter" e outras fazem rima
com "doubter".
Os hosts em geral esto 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 comunicao 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
21
Vale a pena fazermos um breve comentrio em relao ao termo
"sub-rede". Originalmente, seu nico significado identificava o conjunto de
roteadores e linhas de comunicao 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 endereamento de rede. Infelizmente no
existe nenhuma alternativa amplamente utilizada para seu significado inicial, e assim
ns o utilizaremos com alguma hesitao em ambos os sentidos. Contudo, o
contexto sempre deixar clara a acepo do termo que est sendo utilizado.
Na maioria das WANs, a rede contm numerosas linhas de
transmisso, todas conectadas a um par de roteadores. No entanto, se dois
roteadores que no compartilham uma linha de transmisso desejar se comunicar,
eles s podero faz-lo indiretamente, atravs de outros roteadores. Quando
enviado de um roteador para outro por meio de um ou mais roteadores
intermedirios, o pacote recebido integralmente em cada roteador intermedirio,
onde armazenado at a linha de sada solicitada ser liberada, para ento ser
encaminhado. Uma sub-rede organizada de acordo com esse princpio chamada
sub-rede de store-and-forward (de armazenamento e encaminhamento) ou de
comutao por pacotes. Quase todas as redes geograficamente distribudas (com
exceo das que utilizam satlites) tm sub-redes store-and-forward.
Quando so pequenos e tm todos os mesmos tamanhos, os
pacotes costumam ser chamados de clulas. O princpio de uma WAN de
comutao por pacotes to 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 nmero na
sequncia. Esses pacotes so ento injetados na rede um de cada vez em rpida
sucesso. Os pacotes so transportados individualmente pela rede e depositados no
host receptor, onde so 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.

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 devero ser
enviados por ela, ainda que cada pacote seja roteado individualmente.
As decises de roteamento so tomadas em carter 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 deciso
chamada algoritmo de roteamento. Existem muitos desses algoritmos.
Nem todas as WANs so comutadas por pacotes. Uma segunda
possibilidade para uma WAN um sistema de satlite. Cada roteador tem uma
antena pela qual pode enviar e receber. Todos os roteadores podem ouvir as
transmisses do satlite e, em alguns casos, eles tambm podem ouvir as
transmisses de sada dos demais roteadores para o satlite. s vezes, os
roteadores esto conectados a uma sub-rede ponto a ponto de grande porte, e
apenas um deles tem uma antena de satlite. As redes de satlite so
inerentemente redes de difuso e so mais teis quando a propriedade de difuso
importante.
23
4 CONCLUSO
Dentre os tpicos aqui apresentados, importante ressaltar os
procedimentos e padres 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, operaes e
multiplicidades. Aplicamos o MNR Modelo Relacional Normalizado onde se aplica
o processo de refinamento para a deteco de futuros problemas possveis que
poderiam acontecer no uso da aplicao com o Banco de Dados.
Os Diagramas de Classe nos deram uma viso ampla sobre todo o
Projeto do Banco de Dados incluindo as cardinalidades. Tambm foi demonstrado
de forma mais ampla, a implementao de nosso Projeto com o uso da linguagem
C# e suas principais operaes (CRUD) como Alterao, Incluso, Excluso e
Pesquisa.
Abordamos vrios aspectos importantes no processo de
desenvolvimento de um produto, desde a incorporao de um Sistema de
Tecnologia de Informao na organizao Aluga Buggy onde os resultados obtidos
sero satisfatrios para a empresa.













24
REFERNCIAS
CHIAVELI, Mrcio Roberto. Banco de Dados I: Modelo Entidade Relacionamento
Mer. Biblioteca Digital.
DEITEL. C# Como Programar.
DUARTE, Roberto Gonzles. Uso de Casos no Ensino de Administrao.
ELMASRI, Navathe. Sistemas de Banco de Dados.
FORBELLONE, Andr Luiz Villar. Lgica de Programao. A construo de
Algoritmos e Estrutura de Dados.
FOWLER, Martin. UML Essencial. 3 Edio.
GOMES, Polyanna Pacheco. Curso de Extenso: Uml Unified Modeling
Language. Conceitos Fundamentais de Orientao A Objetos e Modelagem:
Diagrama de Objetos. Biblioteca Digital.
GUNNERSON, Eric. Introduo programao em C#
OLIVEIRA, Rmulo Silva. Sistemas Operacionais. Editora Sagra Luzzano. Instituto
de Informtica da UFRGS.
VALDURIEZ, Patrick. Princpios de Sistemas de Bancos de Dados Distribudos.
https://sites.google.com/site/estudandoredes/capitulo-01---introducao/1-2-hardware-
de-rede/1-2-3-redes-geograficamente-distribuidas

Das könnte Ihnen auch gefallen