Especificação de Arquitetura
Projeto TrackMAP
Documento de Arquitetura
Versão 1.0
Histórico da Revisão
|Data |Versão |Descrição |Autor |
|14/11/2009 |1.0 |Versão inicial |Régis Conde de Moura |
|16/11/2009 |2.0 |Acréscimos das informações referentes aos subitens 3.3 e 3.4 |Régis Conde de Moura |
|16/11/2009 |2.1 |Atualizações das imagens das realizações de caso de uso |Régis Conde de Moura |
Índice Analítico
1 INTRODUÇÃO 5
1.1 FINALIDADE 5
1.2 REFERÊNCIAS 5
1.3 Escopo 5
2 REQUISITOS E RESTRIÇÕES 5
3 REPRESENTAÇÃO DA ARQUITETURA EM VISÕES 5
3.1 VISÃO DE CASO DE USO 5
3.1.1 Diagramas de casos de Uso do Sistema TrackMap v1.0 6
3.2 VISÃO LÓGICA 10
3.2.1 Diagramas de Classes 10
3.3 VISÃO DE IMPLEMENTAÇÃO 12
3.3.1 Estrutura de empacotamento 12
3.3.2 Estrutura do Banco de Dados do Sistema TrackMap 15
3.4 VISÃO DE IMPLANTAÇÃO 15
APROVAÇÕES 16
Índice de Figuras
Figura 1 – Caso de uso do ator GPS 6
Figura 2 – Esquema funcional do GPS/GPRS no sistema TrackMap 6
Figura 3 – Caso de uso do ator usuário 7
Figura 4 – Caso de uso do ator Administrador 7
Figura 5 – Autenticação do usuário no sistema TrackMap 8
Figura 6 – Página principal do sistema TrackMap 8
Figura 7 – Detalhamento das informações de posicionamento. 9
Figura 8 – Visão híbrida do mapa 10
Figura 9 – Diagrama de classes da aplicação GPS/GPRS 11
Figura 10 – Diagrama de classes da aplicação web 12
Figura 11 – Estrutura do pacote da aplicação de envio de posicionamento 13
Figura 12 – Estrutura de pacotes da aplicação web 14
Figura 13 – Diagrama de visão de implantação do sistema TrackMap 15
Documento de Arquitetura
1. INTRODUÇÃO
1. FINALIDADE
Este documento tem o objetivo de descrever a arquitetura do Sistema de Rastreamento Veicular TrackMap v1.0 através da exposição dos requisitos e restrições, visão de casos de uso, visão lógica, visão de implementação e visão de implantação.
2. REFERÊNCIAS
• Descrição Informal da Aplicação – 13/10/2009 – Autor: Régis Conde de Moura
• Documento de Requisitos – 08/11/2009 – Autor: Régis Conde de Moura
• Guia do CodeIgniter – disp. em:
3. ESCOPO
O escopo do documento refere-se às características de arquitetura do sistema TrackMap e que serão detalhadas em seguida. O sistema TrackMap v1.0 consiste em uma aplicação de rastreamento veicular baseado na web que auxiliará o cliente – Seta Micros - a monitorar seus colaboradores, permitindo que tome decisões acerca de consumo, tempo de entrega e eficiência.
2. REQUISITOS E RESTRIÇÕES
Os principais objetivos para o uso da arquitetura proposta neste projeto são:
• Manter a aplicação robusta;
• Maximizar o desacoplamento para futuras manutenções, melhorias e acréscimo de funcionalidades;
• Manter a disponibilidade do sistema via Web para utilização remota por parte de seus usuários;
3. REPRESENTAÇÃO DA ARQUITETURA EM VISÕES
Este documento apresenta as seguintes visões: de caso de uso, lógica, de implementação e de implantação.
1. VISÃO DE CASO DE USO
Nesta seção pretende-se mostrar os casos de uso mais significativos do sistema do ponto de vista de arquitetura, destacando suas principais funcionalidades. Após apresentar os casos de uso do sistema, será mostrada uma realização de caso de uso típica.
1. Diagramas de casos de Uso do Sistema TrackMap v1.0
O Sistema TrackMap possui três atores principais, a citar: um ator GPS, um usuário de sistema e um administrador de sistema. A seguir, mostraremos os casos de uso relacionados a esses três atores.
1. Diagrama de casos de uso do aplicativo Rastreador
[pic]
Figura 1 – Caso de uso do ator GPS
Ator GPS: diz respeito ao dispositivo GPS/GPRS que envia as informações de posicionamento para o servidor web. Ele desempenha dois papéis: obter dados de posicionamento, como latitude, longitude, através da API Java JSR 179 do dispositivo e enviar esses dados ao servidor de aplicações especificado. O esquema funcional do dispositivo GPS/GPRS é feito conforme a figura 2:
[pic]
Figura 2 – Esquema funcional do GPS/GPRS no sistema TrackMap
2. Diagrama de casos de uso da aplicação TrackMap
Ator Usuário: é o ator principal do sistema. É ele quem tem acesso às informações de rastreamento do sistema, conforme a data desejada. Ele pode selecionar o tipo de visualização do mapa e também saber mais detalhes sobre cada ponto de envio de posicionamento, como data, hora, latitude, longitude e nome do dispositivo.
[pic]
Figura 3 – Caso de uso do ator usuário
Ator Administrador: é ele quem cadastra, exclui, altera e lista usuários do sistema, mediante autenticação de usuário e senha.
[pic]
Figura 4 – Caso de uso do ator Administrador
3. Realização de caso de uso típica
O sistema TrackMap possui três atores principais, conforme já mencionado anteriormente. Sob a ótica do usuário típico, o sistema se apresenta da seguinte maneira: primeiramente, é solicitada ao usuário sua autenticação mediante login e senha, conforme a figura 4:
[pic]
Figura 5 – Autenticação do usuário no sistema TrackMap
A seguir, o usuário é redirecionado para a página principal do website, o qual tem as principais funcionalidades do sistema, conforme a figura 5:
[pic]
Figura 6 – Página principal do sistema TrackMap
A partir da página principal, o usuário dispõe de um calendário com os dias do mês, os meses do ano e o ano correspondente ao da data atual. Dispõe também de botões com os dispositivos de rastreamento de cada veículo e um mapa com quatro tipos de visão – Mapa, Satélite, Híbrido e Terreno – e uma ferramenta de zoom para maior detalhamento da visão do mapa. Ao clicar sobre um dos dias do mês, é mostrado o rastreamento para um determinado dispositivo, que pode também ser selecionado a partir do menu na parte superior da página, neste caso, os dispositivos gps1, gps2 e gps3.
Abaixo do calendário, são mostrados mais detalhes, como o nome do usuário que está logado no sistema no momento, o nome do dispositivo selecionado para exibir o rastreamento, a data de visualização selecionada e um link para sair do sistema. Caso o usuário tenha poder de administrador, aparecerá um link para acesso à pagina de administração do sistema.
O mapa também mostra pequenos balões vermelhos que correspondem às posições de envio de informações sobre posicionamentos enviados pelo GPS/GPSR, ligados por linhas vermelhas. As linhas vermelhas servem apenas como auxílios visuais. Cada balão vermelho mostrado no mapa corresponde a um ponto de rastreamento enviado pelo dispositivo ao servidor de aplicação web em um determinado instante, contendo informações de data, hora, nome do dispositivo e posição geográfica – latitude e longitude. Clicando em um dos balões vermelhos, serão mostradas suas informações, conforme a figura 6:
[pic]
Figura 7 – Detalhamento das informações de posicionamento.
A API Maps Google usada no sistema permite também outros modos de visualização como o modo terreno, modo satélite e modo híbrido. A figura 7 mostra o mapa no modo híbrido, ou seja, mapa e satélite ao mesmo tempo:
[pic]
Figura 8 – Visão híbrida do mapa
2. VISÃO LÓGICA
Para apresentar os elementos mais significativos do sistema e suas interações do ponto de vista da arquitetura, serão mostrados os seguintes diagramas: diagramas de classes e de casos de uso.
1. Diagramas de Classes
O sistema TrackMap possui dois módulos, conforme já mencionado anteriormente: um módulo que é executado no dispositivo e um módulo disposto no servidor web. Serão mostrados a seguir os diagramas de classes de ambos os módulos.
1. Diagrama de Classes do aplicativo Rastreador
Este aplicativo é o responsável pelo envio das informações de posicionamento do veículo ao servidor web a fim de armazená-los numa base de dados. Ele é composto de uma única classe, denominada “Rastreador”, que estende a classe MIDlet. Como todo MIDlet, deve possuir os três métodos básicos de seu ciclo de vida: startApp(), pauseApp() e destroyApp(). Além desses, ele é composto de diversos outros métodos, dentre os quais podemos destacar o getLocationData() que obtém os dados de posicionamento do GPS e o método getSendData() que recebe e envia as informações para o endereço do servidor web especificado no atributo WEBSERVER, conforme mostrado na figura 9:
[pic]
Figura 9 – Diagrama de classes da aplicação GPS/GPRS
2. Diagrama de classes da aplicação web TrackMap
A aplicação web é a principal aplicação do sistema. Ela é baseada no padrão de software MVC – Model View Controller – e utiliza o framework CodeIgniter. Esse framework permite que as classes e métodos possam ser chamados a partir da URL. Por exemplo, supondo a classe TrackController que possui um método show; para que se possa chamá-lo, basta passar a seguinte URL: . A figura 10 mostra um trecho do diagrama de classes da aplicação web do sistema TrackMap:
[pic]
Figura 10 – Diagrama de classes da aplicação web
3. VISÃO DE IMPLEMENTAÇÃO
A visão de implementação aborda a arquitetura do sistema TrackMap sob a perspectiva da estrutura dos componentes do sistema, ou seja, como o sistema e cada um de seus componentes são organizados em termos de diretórios e pacotes e como o sistema como um todo é empacotado para a implantação (deployment).
1. Estrutura de empacotamento
A arquitetura proposta pelo sistema TrackMap possui diversos componentes de negócio que utilizam as seguintes tecnologias:
• Java J2ME para a aplicação do módulo de envio do celular GPS/GPRS;
• Javascript para manipular a API do Maps Google;
• HTML para exibição no navegador;
• Folhas de estilo CSS para formatação do HTML;
• PHP 5.2.x para implementação do sistema do lado do servidor web.
A aplicação JAVA J2ME, responsável pelo envio dos dados de posicionamento ao servidor web, é empacotada conforme a estrutura mostrada na figura 11. É uma estrutura bastante simples, possuindo apenas um único arquivo – rastreador.java. É importante ressaltar que o proprietário da empresa deverá adquirir os módulos GPS/GPRS a serem instalados nos veículos e que os softwares embutidos são proprietários. Utilizou-se a aplicação do celular para simular a existência desses dispositivos. A implantação desse arquivo é mais facilmente executada através da IDE de desenvolvimento, que já cria o arquivo rastreador.jar e faz a cópia para o dispositivo celular.
[pic]
Figura 11 – Estrutura do pacote da aplicação de envio de posicionamento
A aplicação web do sistema TrackMap foi desenvolvida, principalmente, em PHP orientado a objetos utilizando o framework CodeIgniter. O CodeIgniter foi o escolhido por possuir as principais funcionalidades que o sistema necessita e por possuir ampla documentação e facilidade de implementação. Como qualquer outro framework para desenvolvimento em PHP, ao descompactá-lo, já é criada a estrutura básica a ser utilizada na aplicação, bastando acrescentar os módulos que o desenvolvedor desejar. O CodeIgniter utiliza o padrão MVC, disponibilizando três pastas de sistema principais:
• A pasta model, onde ficam os arquivos relacionados às entidades da aplicação, como rastro, usuário, etc.;
• A pasta view que contém os arquivos de visão do sistema, como a tela principal, tela de login, etc.
• A pasta controller que contém os arquivos responsáveis pelas regras de negócio da aplicação web.
A estrutura de empacotamento da aplicação web, que é a aplicação principal do sistema, foi concebida da forma mostrada na figura 12:
[pic]
Figura 12 – Estrutura de pacotes da aplicação web
Das pastas mostradas nessa estrutura de diretórios, convém destacar que a maioria delas já vem fornecidas com o framework CodeIgniter.
2. Estrutura do Banco de Dados do Sistema TrackMap
A estrutura de banco de dados do sistema TrackMap é bastante simples, possuindo apenas duas tabelas, não precisando haver, por enquanto, relacionamento entre elas:
• A tabela rastro que contém os dados enviados pelo GPS/GPRS;
• A tabela usuarios que contém os dados de usuários e permissões de acesso.
Os detalhes das tabelas podem ser vistos na figura 13:
[pic]
Figura 13 – Estrutura das tabelas do banco de dados do sistema TrackMap
4. VISÃO DE IMPLANTAÇÃO
A implantação do sistema pressupõe algumas restrições, a saber:
• O banco de dados a ser utilizado até o presente momento deve ser o MySQL a partir da versão 5;
• O servidor web utilizado deve ser o Apache 2.2;
• O servidor de linguagem PHP deve ser a partir da versão 5.2.x, pois a orientação a objetos em PHP foi totalmente reescrita.
A seguir, será mostrada a infraestrutura necessária para a implantação e a implementação do sistema TrackMap. A visão de implantação ilustra a distribuição do processamento em um conjunto de nós do sistema. Foi usado o diagrama de implantação UML para descrever essa visão:
[pic]
Figura 14 – Diagrama de visão de implantação do sistema TrackMap.
Conforme mostrado na figura 12, as mensagens do GPS/GPRS são enviadas utilizando o protocolo HTTP, método GET ao servidor de aplicações. Este envia os dados recebidos pelo GPS/GPRS ao servidor de banco de dados MySQL através de uma conexão TCP/IP, porta 3306. A navegação web utiliza, obviamente, o protocolo de aplicação HTTP também.
APROVAÇÕES
Data:______________________________
|_________________________ |_________________________ |_________________________ |
|Patrocinador do Projeto |Gerente do Projeto |Analista de Sistemas |
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.