Analise e Desenvolvimento de Sistemas


Participe do fórum, é rápido e fácil

Analise e Desenvolvimento de Sistemas
Analise e Desenvolvimento de Sistemas
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Top dos mais postadores
Fernandes (26272)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
elenilton-apostileiros (6339)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
Elenilton (6320)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
jsjunior (1857)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
Professor (541)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
Aninha (477)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
Paulinha (304)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
provasunopar2 (298)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
Braga Jr. (241)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 
auxilioacademico2024 (206)
Trabalho 4.2-4.3 E Dica 4.4  Vote_lcap1Trabalho 4.2-4.3 E Dica 4.4  Voting_bar1Trabalho 4.2-4.3 E Dica 4.4  Vote_rcap1 

PAINEL DO USUÁRIO

Mensagens: 0


Alterar
Ver
Tópicos e mensagens
Quem está conectado?
65 usuários online :: 0 registrados, 0 invisíveis e 65 visitantes :: 2 motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 354 em Seg 5 maio 2014 - 21:37
Últimos assuntos
» V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:38 por Fernandes

» V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:37 por Fernandes

»  V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:37 por Fernandes

»  V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:37 por Fernandes

»  V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:36 por Fernandes

» V.E.N.D.O PORTFÓLIO 2024.1
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeSeg 29 Abr 2024 - 13:36 por Fernandes

» Projeto de Extensão I Gestão em Recursos Humanos
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeDom 28 Abr 2024 - 12:18 por elenilton-apostileiros

» Apostileiros - Portfólios EAD, Portfólios Prontos, Projeto de Extensao, Projeto de Ensino - Modelo padrão e exclusivo (sem plágio). Unopar, Anhanguera, Uniderp, Pitágoras, Ampli, UNIP e outras - Apoio Acadêmico em Produção Textual Interdisciplinar
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeDom 28 Abr 2024 - 12:18 por elenilton-apostileiros

» Projeto de Extensão II – Administração
Trabalho 4.2-4.3 E Dica 4.4  I_icon_minitimeDom 28 Abr 2024 - 12:18 por elenilton-apostileiros

maio 2024
DomSegTerQuaQuiSexSáb
   1234
567891011
12131415161718
19202122232425
262728293031 

Calendário Calendário


Trabalho 4.2-4.3 E Dica 4.4

2 participantes

Ir para baixo

Trabalho 4.2-4.3 E Dica 4.4  Empty Trabalho 4.2-4.3 E Dica 4.4

Mensagem por Aninha Qua 6 Nov 2013 - 20:12

Pessoal vou repassar à Todos o que fiz 4.2.

Agora é com vocês....
Vão no BrModelo no Modelo Conceitual...Façam como está na imagem....
Após isto vão em no esquema conceitual gerem esquema lógico vai ficar assim [Apenas Administradores podem visualizar links] após isto vão em gerar esquema físico Depois vão em conversão converter e vai ficar assim Agora façam e salvem em jpg a 3ªFN...boa sorte espero ter ajudado

e o 4.4...
Criem um Vpn..interligando a matriz com a filial para custo benefício, criando login...usem o servidor dedicado e ip gateway...pensem e vão conseguir meu trabalho tá finalizado. o 4.3 também fizemos um amigo do grupo fez.

[[https://archive.org/download/Brmodelo4.2.1/brmodelo4.2.jpg]]

[[https://archive.org/download/Brmodelo4.2.1/brmodelo4.2.3.jpg]]

[[https://archive.org/download/Brmodelo4.2.1/brmodelo4.2.2.jpg]]

[[https://archive.org/download/Brmodelo4.2.1/brmodelo4.2.1.jpg]]

[[https://www.youtube.com/watch?v=QPw1bSwRHXI]]
=============================================
4.3 Diga do nosso colega do Fórum agricioribeiro

class Reserva
{
private int _CodigoReserva;
private DateTime _DataReserva;
private DateTime _DataRetirada;
private DateTime _DataDevolucao;
private int _CodigoCliente;
private int _NumeroBuggy;
private decimal _ValorReserva;

public int CodigoReserva
{
get { return _CodigoReserva; }
set { _CodigoReserva = value; }
}

public DateTime DataReserva
{
get { return _DataReserva; }
set { _DataReserva = value; }
}

public DateTime DataRetirada
{
get { return _DataRetirada; }
set { _DataRetirada = value; }
}

public DateTime DataDevolucao
{
get { return _DataDevolucao; }
set { _DataDevolucao = value; }
}

public int CodigoCliente
{
get { return _CodigoCliente; }
set { _CodigoCliente = value; }
}

public int NumeroBuggy
{
get { return _NumeroBuggy; }
set { _NumeroBuggy = value; }
}

public decimal ValorReserva
{
get { return _ValorReserva; }
set { _ValorReserva = value; }
}
}
=============================
Dica 4.4 [[https://ia601903.us.archive.org/1/items/Trabalho/Trabalho.docx]]

Pessoal, este trabalho mostra justamente o que precisa no 4.4 através deste você conseguem finalizar o trabalho de vocês. Como sou inscrita nos Fóruns Guia do Hardware, TI...Fórum Php...um dos guris me enviou um email com este trabalho, pra eu ter ideia como faria o 4.4, mas meu colega já o fez então divido com vocês assim vocês terão uma ideia como fazer vossos trabalhos, boa sorte. Aí está o link do trabalho pronto pra lerem e verem as imagens. [[https://ia601903.us.archive.org/1/items/Trabalho/Trabalho.docx]] Obs: Este trabalho não é meu, recebi por um colega de um dos Fóruns que sou inscrita e divido com vocês pra terem ideia como fazer o 4.4. espero ter ajudado.
========================================================================
".....
Trabalho


Desenvolvimento e Organização

Inicialmente foram levantadas as características importantes dos serviços de uma locadora de vídeos. Estas características são as de disponibilizar filmes de vídeo para aluguel, mostrar os filmes disponíveis para aluguel, fornecer ao cliente as ações de alugar filme, devolver filme, efetuar seu pagamento de filmes alugados e checar a sua situação de crédito ou débito com a locadora.
A partir disso, foi desenvolvida a idéia da arquitetura da locadora distribuída, composta por alguns módulos que iriam construir um software que seria concebido para a filial, e outro software que seria concebido para a matriz. Assim decidiu-se que haveria um software distribuído para a execução das ações dos serviços da locadora, e este se dividiria em dois programas: um deles para a matriz, e outro idêntico para cada uma das filiais. O motivo de o programa ser igual para todas as filiais é o de que cada filial tem o mesmo comportamento, diferenciando-se apenas nos filmes que possui, funcionários disponíveis para busca e entrega, localização na cidade e número de cópias de cada filme.
Considerando cada uma destas diferenças seria desenvolvido o programa das filiais. O programa na matriz levaria em consideração as mesmas características das filiais, porém com o adicional de que na matriz tem-se conhecimento de todos os filmes que a rede de locadoras possui em seu portfólio. Estes conhecimentos e informações estão nos bancos de dados. A matriz possui seu banco de dados específico, e as filiais possuem seus bancos de dados. Os bancos de dados das filiais possuem apenas um número muito pequeno de informações em tabelas, para tratar do processamento e execução dos casos de uso. A maior parte das informações da rede de locadoras fica no banco de dados da matriz.
Em um nível mais alto, a arquitetura da dinâmica de funcionamento da locadora foi definida como possuindo o software web e o software distribuído.
No programa web, o usuário pode visualizar toda a interface da locadora, com seus filmes disponíveis para aluguel e com as ações que ele pode fazer. Esta interface possui telas de navegação entre os filmes, links, frames, e formulários que devem ser preenchidos e submetidos pelo usuário quando ele estiver realizando um caso de uso.
No software distribuído, formado por dois programas (um para filiais e outro para matriz), são realizados as comunicações, cálculos e processamentos referentes a cada caso de uso. Os resultados gerados pelo processamento e comunicações distribuídas dos softwares distribuídos são salvos e atualizados em banco de dados. Assim, durante o processamento de um caso de uso, e dependendo do tipo de caso de uso, ocorrem mudanças ou resultados e eles são salvos nos bancos de dados de matriz e filial, com coerência nas tabelas corretas e com consistência de dados.
O software web, durante seu trabalho, também realiza leitura e escrita nos dados do banco de dados da matriz. Desta forma, foi definido como parte da arquitetura o comportamento de que na locadora matriz fica localizado o servidor web, além do banco de dados da matriz. O servidor web trabalha para gerar as páginas web da interface com o usuário, para o browser. Além disso, o programa web também trabalha com o gerenciador de banco de dados para realizar consultas ou transações no banco de dados da matriz, de acordo com requisições do usuário ou casos de uso que são disparados para ocorrer.



Figura: Arquitetura de funcionamento do sistema









Engenharia de Software

Após as etapas iniciais de especificação do projeto, foram desenvolvidos e formalizados os aspectos de engenharia de software do sistema. Estes aspectos foram os casos de uso do sistema e seus detalhes, o modelo conceitual do sistema como um todo, o modelo do banco de dados da filial, o modelo do banco de dados da matriz, os diagramas de seqüência dos casos de uso do sistema, e os diagramas de implementação.
Os casos de uso do sistema foram:




















O modelo conceitual do sistema desenvolvido foi:




Figura: Modelo Conceitual do Sistema

Obs: A figura foi dividida para melhorar visualização, a conexão que aparece cortada é entre cliente e atendente.







Os diagramas de seqüências para os casos de uso são:

1-> Alugar Filme 2-> Devolver Filme





3-> Cadastrar 4-> Efetuar login












5-> Efetuar pagamento 6-> Checa Situação








O diagrama de implementação é:







Um refinamento do diagrama de implementação, que mostra todos os processos do sistema, é:



O diagrama mostra os processos e suas interações, durante a operação do sistema. Há uma filial, mas ele pode ser interpretado com qualquer número de filiais, pois o modelo das filiais é o mesmo.
Uma modelagem importante para o sistema foi a do banco de dados da matriz e o banco de dados da filial. Abaixo segue o modelo relacional dos bancos de dados:

Modelo da base de dados da matriz:













Modelo da base de dados da filial:





Tecnologias utilizadas

Para a realização efetiva do projeto da locadora distribuída, foram estudadas algumas possibilidades de métodos ou tecnologias de implementação do sistema.
Foi uma decisão de projeto a utilização de Java para a implementação do software distribuído. Na tecnologia Java encontram-se várias ferramentas e bibliotecas adequadas disponíveis para um bom desenvolvimento do software, tais como orientação a objetos, threads, tratamento de exceções, conexão com banco de dados, interação com banco de dados, sockets, métodos de rede, métodos para manipulação de strings, entre outros.
Para o Java também existem ferramentas de ambiente de desenvolvimento integrado, com compilador, editor de código, auto-completação de código, verificação de erros, organização de projeto, organização de pacotes, busca, numeração de linhas, depuração e teste, refatoramento, e outros. As principais ferramentas são o Eclipse e o Netbeans. Foi decidido usar o Eclipse.


Figura: Desenvolvimento Java do software com o Eclipse


Primeiramente considerou-se usar CORBA para a implementação das comunicações distribuídas, porém esta idéia não foi usada. Foi tomada a decisão de se utilizar sockets, com a biblioteca de redes do Java, para a implementação das comunicações.
Para o banco de dados, usou-se o sistema gerenciador de banco de dados MySQL, com bancos de dados relacionais. Para o servidor web, usou-se o Apache.
O sistema web deve prover uma interface para que o usuário interaja com o sistema distribuído da locadora, efetuando os processos descritos nos casos de uso, portanto o sistema web deve apresentar informações e também processar requisições como se fosse um software além de acessar o banco de dados, portanto precisamos de uma linguagem que gere conteúdo dinâmico além de página web estáticas feitas em html. Inicialmente foi considerada a utilização da tecnologia JSP (Java Server Pages) que torna possível o sistema web processar entradas do usuário ao invés de ser um mero mecanismo de apresentação de dados.
A utilização de JSP envolve interação entre páginas html (que sozinhas provém conteúdo estático) e páginas.Jsp (que unidas com os arquivos .html tornam possível mostrar páginas diferentes acessando o mesmo arquivo baseado nas requisições do usuário). Para acessar o banco de dados pela Web, JSP também é capaz de fazer isso. Mas a principal razão que privilegiou JSP em detrimento de outras tecnologias Web (asp, php, cgi, xml, etc) era a comunicação com o sistema distribuído em Java provendo uma linguagem única de trabalho e facilitando o envio das requisições feitas pela Web para o sistema distribuído em Java.
No entanto encontramos muitas dificuldades em implementar o sistema Web em JSP, visto que era uma tecnologia com a qual não tínhamos familiaridade. Portanto decidimos fazer o sistema Web em uma linguagem mais efetiva para utilizarmos que não prejudicasse o andamento do projeto. A linguagem que acabou sendo a final foi escolhida PHP (PHP hypertext preprocessor). PHP pode lidar com formulários e banco de dados tão eficientemente quanto JSP, mas neste caso temos uma discrepância nas linguagens utilizadas (Java e PHP). Para realizar a interface entre o sistema Web e o sistema distribuído utilizamos o banco de dados como meio destes sistemas trocarem mensagens.
O sistema distribuído funciona processando requisições que os usuários pedem pelo sistema Web e o canal de comunicação é o banco de dados. Por exemplo, quando o usuário X quer alugar o filme Y, o sistema Web grava no banco de dados esta requisição com as informações “locação”, “usuário X”, “filme Y”. O sistema distribuído lê periodicamente o banco de dados em busca de requisições e quando encontra alguma, processa-a. Então o sistema distribuído grava neste mesmo banco de dados os resultados da requisição (neste exemplo o nome do filme alugado e de qual locadora ele vai sair) para que o sistema Web apresente para o usuário o resultado da requisição.


Implementação e Funcionamento


A implementação do sistema distribuído se realizou com uma orientação aos casos de uso que deveriam ser feitos, os processos de comunicação entre filiais e matriz, e as leituras e escritas no banco de dados da matriz e filial.
A organização e estrutura do programa distribuído foram feitas com quatro classes Java, ou seja, quatro arquivos.Java. No programa matriz, estas classes são Matriz, Conexão, ComunicadorMatriz e ConversaMatriz. No programa filial as classes são Cliente, ConexãoCliente, Comunicador e Conversa.
Na matriz, a classe Matriz possui como atributos o número de filiais que estarão presentes no sistema distribuído e um objeto da classe ComunicadorMatriz. A classe Matriz possui o programa principal (main) de onde deve ser chamado o processso. Ao se executar o programa em linha de comando, deve ser passado como parâmetro o número de filiais da rede. Se o número de filiais da rede mudar, basta que o programa seja chamado novamente com o novo número como parâmetro. Este valor é atribuído para a variável local de classe de número de filiais. O programa principal da classe matriz é responsável por instanciar um novo objeto ComunicadorMatriz, que é uma thread. Este objeto é criado e seu método start() é chamado, assim inicia-se uma nova thread ComunicadorMatriz.
A classe e thread ComunicadorMatriz é responsável por criar um socket de comunicação para cada uma das filiais, criar a conexão de banco de dados da matriz, fazer a conexão de banco de dados da matriz, checar por requisições de casos de uso no banco de dados e encaminhar a realização do caso de uso. Desta forma, quando uma nova requisição de caso de uso, como alugar filme ou devolver filme, ocorre através do programa web, esta requisição é salva no banco de dados da matriz. O programa distribuído da matriz checa pela existência de requisições uma vez a cada intervalo de tempo determinado (5 segundos), e se houver algum requisição (retirada de uma tupla da tabela do banco de dados), esta requisição é encaminhada para ter sua realização. Para cada tipo de requisição, há um encaminhamento diferente. Por exemplo, se o caso de uso for “alugar filme”, então o encaminhamento feito é o de se iniciar um novo objeto ‘Conversa’ (classe Conversa) para cada uma das filiais, e iniciar sua execução (Conversa também é uma thread). Assim, no caso de uso de alugar, a o ComunicadorMatriz inicia um socket de comunicação com cada filial, e instacia uma thread de conversa para cada filial através de seu respectivo socket.
O conceito adotado de ‘conversa’, implementado na classe Conversa, foi o de um conjunto inteiro de comunicações entre matriz e filial para se realizar um caso de uso. Assim uma conversa é uma comunicação entre matriz e filial, nas suas várias possíveis mensagens que são enviadas e recebidas, de forma a se realizar o processo completo de algum caso de uso. No caso de uso ´alugar filme´, essa conversa é específica. E assim para cada caso de uso há uma conversa específica.
Ainda no caso de uso ´alugar filme´, o ComunicadorMatriz lança a execução de uma thread de conversa para cada filial. Essa thread está na implementação da classe ConversaMatriz. A classe ConversaMatriz, portanto, possui responsabilidade de realizar as passagens de mensagens entre a matriz e uma filial para realizar o caso de uso alugar. A primeira mensagem é a de confirmação do caso de uso (filial para matriz). Após isso a matriz obtém de seu banco de dados o endereço do cliente que requisita um aluguel. A matriz monta uma mensagem com o código do cliente, o código do filme e a localização do cliente (endereço relativo). Essa mensagem é a segunda, e é enviada ao cliente (matriz para filial). A filial, por sua vez, verifica o número de funcionários de entrega livres, o número de cópias do filme requisitado livres, e a sua distância até o endereço do cliente. A filial encapsula estes dados em uma mensagem e a envia para a matriz (terceira mensagem, filial -> matriz). A matriz recebe esta mensagem, decodifica-a, e armazena os valores em suas variáveis locais. Esta conversação ocorre não somente uma vez. Esta conversação ocorre para cada uma das filiais, e uma thread de conversa a realiza para cada filial.
Ao final, realizam-se todas as comunicações, a matriz coleta todos os dados necessários de cada filial, e as threads de conversa terminam. Para a continuidade do processamento do caso de uso ‘alugar’, o matriz processa os dados coletados e determina a melhor filial para entregar o filme para o cliente, de acordo com o número de funcionários de entrega livres, o número de cópias livres e principalmente a distância física entre filial e matriz. A filial que melhor satisfazer estes requisitos é escolhida para entregar o filme. Os dados da filial escolhida são atualizados no seu banco de dado apropriadamente, e o banco de dados da matriz também recebe atualização adequada. Ocorrem atualizações também no sistema distribuído. Estas atualizações são: o filme alugado, decremento no número de cópias disponíveis do filme, informações sobre o filme e cópia alugados, valor a pagar de conta do cliente, entre outros.
As comunicações que ocorrem entre matriz e filiais segue um protocolo criado para o projeto, ou seja, um protocolo próprio de aplicação. Nas camadas mais baixas, a comunicação pela rede ocorre usando a internet pelos protocolos TCP/IP, ou seja, são usados os endereços IP das máquinas usadas para filiais e para matriz, e são usadas as portas do processo do programa distribuído em execução, para filiais e matriz.
Para o programa distribuído que executa nas filiais, ocorre semelhante implementação e dinâmica de funcionamento, apenas com algumas diferenças.
O programa distribuído na filial possui classes Cliente, Conexão, Comunicador e Conversa. A classe Cliente possui o programa principal (main) que recebe como parâmetro a localização relativa da filial na cidade e o número de funcionários de entrega que ela possui. Este programa principal inicializa variáveis importantes, incluindo um objeto da classe Comunicador, e faz a chamada para a thread do Comunicador. Na filial, Comunicador e Conversa também são thread. A thread do Comunicador, similarmente à thread ComunicadorMatriz, irá iniciar um socket e uma stream de comunicação com a matriz, receberá uma mensagem da matriz sobre um caso de uso que deve ser processado e tratado, irá verificar o caso de uso que deve ser tratado, e irá disparar uma nova thread de conversa. Após a thread de conversa se iniciar na filial é realizada a conversa (um conjunto de comunicações por passagem de mensagens através do stream de fluxo de dados) com a matriz. Esta conversa ocorre sobre o caso de uso que estiver sendo tratado, e trabalha por completo até que todo o processo de realização do caso de uso esteja terminado.
Durante as comunicações, há uma sincronização entre as filiais e a matriz, para que as mensagens sejam enviadas e recebidas no tempo e ordem correta.
Para os outros casos de uso, como ‘devolver filme’ e ‘efetuar pagamento’, o mesmo processo é realizado.
Implementação do sistema Web. O sistema Web inicial mostra uma tela de login em HTML, obrigando o usuário efetuar login para acessar o resto da página Web, caso ele não tenha um logjn, esta página inicial fornece um link que possibilite o usuário novo realizar cadastro. Quando o usuário envia os dados do login, um script PHP é rodado que vai validar o usuário, quando o usuário é validade, uma página HTML é carregada no browser mostrando as opções que o usuário pode escolher.
Quando o usuário decide locar um filme, ele deve clicar no link alugar filme, preencher os dados (sua identificação e a identificação do filme que quer alugar) e envia-los.
No envio um script PHP é executado que grava os dados da requisição no banco de dados, então neste momento o script dorme por um tempo e o sistema distribuído captura esta requisição do banco de dados, este então processa esta requisição se comunicando com as filiais e grava o resultado da requisição na tabela resultado do banco de dados.
O sistema Web acorda depois de um tempo predefinido para que o sistema distribuído tenha tempo para processar a requisição e lê o banco de dados em busca do resultado e mostra na tela do browser para o usuário. Este exemplo serve para explicar todos os processos que ocorrem no sistema Web.
O usuário acessa uma página HTML referente a algum caso de uso, põe os dados e envia para execução, então um programa PHP é ativado que se comunica com o sistema distribuído pelo banco de dados e espera que o sistema distribuído retorne algum resultado pelo banco de dados também. Alguns processos não necessitam do sistema distribuído, que são efetuar login, efetuar cadastro e buscar filme, pois casos envolvem informações disponíveis no banco de dados central localizado na matriz que é o único ao qual o sistema Web tem acesso.


Dificuldades encontradas

Algumas dificuldades foram encontradas, e elas foram explicadas anteriormente. Condensando, foi mais complexas a decisão de utilizar JSP para implementar o sistema Web, que mostrou-se inviável depois devido ao pouco conhecimento da tecnologia que tínhamos e à necessidade de andamento do projeto (não podíamos parar para estudar JSP). Utilização de PHP também suscitou uma nova questão, que era como realizar a comunicação entre o sistema Web e o sistema distribuído. Se tivéssemos utilizado JSP a comunicação poderia ser feita usando sockets de forma simples já que as linguagens são iguais (em JSP são utilizados programas .java também, classes, etc). Como optamos por PHP não havia como conectar o PHP ao JSP diretamente então decidimos realizar a comunicação por um banco de dados comum, mas como o sistema distribuído sabia que alguma requisição estava esperando no banco de dados? Não havia como responder esta questão, para resolver isso, o sistema Web fica lendo o banco de dados ininterruptamente (com um período de alguns segundos) em busca de requisições.
Uma outra dificuldade encontrada foi a diferença no banco de dados durante a implementação, pois os sistemas Web e distribuído foram construídos separadamente, então os detalhes do banco de dados estavam um pouco diferentes, prejudicando a “linguagem” usada para comunicação entre sistema Web e sistema distribuído.


Testes Realizados


Durante a implementação do projeto, testes foram exaustivamente executados para descobrir erros na implementação e validar o sistema. A utilização de testes foi particularmente importante na depuração do programa, pois esta foi a forma que melhor se encaixou no sistema.
No sistema web onde quem utiliza o sistema são usuários, a melhor forma de depurar o programa é realizar testes que são parte da rotina de funcionamento do sistema web, como alugar filme, devolver filme, etc. Grande parte dos testes para o sistema Web envolveu a gravação de informações corretas no banco de dados de requisições, que é a parte mais importante na comunicação entre sistema Web e sistema distribuído.
Entre os teste mais simples que imediatamente revelaram os problemas na implementação podemos citar realizar cadastro, efetuar login, e buscar filme, pois neste caso o sistema distribuído não está envolvido.


Teste de efetuar login













Resultado do teste


Teste efetuar cadastro



Resultado do teste


Teste de buscar filmes

Para e execução correta do sistema distribuído, vários testes e depurações foram realizados. Exceções do processamento e interpretação Java ocorreram, porém estas exceções foram todas capturadas (em catches), e assim que cada uma ocorria, ela foi tratada e corrigida adequadamente no software.
O programa distribuído foi executado por um número grande de vezes até que seu funcionamento completo fosse atingido. Cada caso de uso foi testado separadamente, para que seu perfeito funcionamento fosse verificado até o fim. Esta verificação incluiu checagem no banco de dados, para visualizar se dados corretos das transações SQL estavam sendo feitos, e com coerência e consistência.
Ocorreram exceções sobre sockets, sincronização de comunicações, passagem de mensagens, decodificação de mensagens e ponteiros de objetos errados. Todas essas exceções ou erros foram tratados durante as depurações, e devidamente corrigidos.



Conclusão


O desenvolvimento do projeto de uma locadora distribuída foi realizado com sucesso. Com o uso de tecnologias que permitem uma boa implementação de sistemas distribuídos, é possível o desenvolvimento completo de uma aplicação distribuída que solucione problemas, aumento o desempenho e aumente a qualidade da aplicação de locadora.
No trabalho, há a utilização das vantagens da intercomunicação entre vários processos de diferentes máquinas, assim como o processamento e operação distribuída, para um aprimoramento da aplicação, em relação a uma aplicação similar não distribuída, em máquinas que não se comunicam ou passam mensagens.
No projeto da locadora distribuída, é possível obter-se um aumento da qualidade do dos serviços de uma rede de locadoras de uma cidade, com a utilização operacional de uma aplicação distribuída, como foi realizado neste trabalho.



Referências

[1] Wikipedia.org - “Computação Distribuída” [Apenas Administradores podem visualizar links]

[2] Apache Web Server Documentation – Versão 2.2 da documentação Apache –
[Apenas Administradores podem visualizar links]

[3] MySQL Documentation – MySQL Reference Manual – Manual de referência do sistema gerenciador de banco de dados MySQL
[Apenas Administradores podem visualizar links]

[4] Sun Java Standard Edition Documentation – Java SE APIs & Documentation – Core API Docs – Documentação Java da Sun, e Documentação da biblioteca Java da Sun.
[Apenas Administradores podem visualizar links]

Aninha
Aninha
Administrador
Administrador

Mensagens : 477
Data de inscrição : 02/04/2013

Ir para o topo Ir para baixo

Trabalho 4.2-4.3 E Dica 4.4  Empty material não disponível

Mensagem por Dudu2.0 Dom 11 maio 2014 - 7:09

Como baixa esse trabalho?
Dudu2.0
Dudu2.0
Nivel 1
Nivel 1

Mensagens : 13
Data de inscrição : 26/03/2014
Idade : 49
Localização : Japuíba, Cachoeiras de Macacu

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos