18
Projeto TrackMAP Documento de Arquitetura Versão 1.0

especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Embed Size (px)

Citation preview

Page 1: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Projeto TrackMAP

Documento de Arquitetura

Versão 1.0

Page 2: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

Histórico da Revisão

Data Versão Descrição Autor14/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

Página 2

Page 3: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

Índice Analítico

1 INTRODUÇÃO...................................................................................................................................................5

1.1 FINALIDADE..............................................................................................................................................51.2 REFERÊNCIAS............................................................................................................................................51.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..........................................................................................................................53.1.1 Diagramas de casos de Uso do Sistema TrackMap v1.0................................................................6

3.2 VISÃO LÓGICA........................................................................................................................................103.2.1 Diagramas de Classes....................................................................................................................10

3.3 VISÃO DE IMPLEMENTAÇÃO.................................................................................................................123.3.1 Estrutura de empacotamento.......................................................................................................123.3.2 Estrutura do Banco de Dados do Sistema TrackMap...................................................................15

3.4 VISÃO DE IMPLANTAÇÃO......................................................................................................................15

APROVAÇÕES.........................................................................................................................................................16

Página 3

Page 4: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

Í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

Página 4

Page 5: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

Documento de Arquitetura

1 INTRODUÇÃO

1.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.

1.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: http://www.codeigniter.com.br/manual/index.html

1.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.

3.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.

Página 5

Page 6: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

3.1.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.

3.1.1.1 Diagrama de casos de uso do aplicativo Rastreador

uc Use Case Model

GPS

Obtém dados de posicionamento

Env ia dados de posicionamento

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:

Figura 2 – Esquema funcional do GPS/GPRS no sistema TrackMap

3.1.1.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

Página 6

Page 7: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

posicionamento, como data, hora, latitude, longitude e nome do dispositivo.

uc Use Case Model

Usuário

Visualizar Mapa

Selecionar dados do calendário

Selecionar tipo de v isão

Selecionar dados de posicionamento

Detalhar posição

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.

uc Use Case Model

Administrador

Cadastrar usuário

Alterar usuário

Excluir usuário

Listar usuários

Figura 4 – Caso de uso do ator Administrador

3.1.1.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:

Página 7

Page 8: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

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:

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.

Página 8

Page 9: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

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:

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:

Página 9

Page 10: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

Figura 8 – Visão híbrida do mapa 3.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.

3.2.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.

3.2.1.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:

Página 10

Page 11: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

class Class Model

Rastreador

~ alt: double- c: Criteria- cmExit: Command- display: Display+ Exit: Command- f: Form~ lat: double~ lon: double+ MAC: String = "gps1" {readOnly}- midletPaused: boolean = false- WEBSERVER: String = "http://dgti.if...~ xalt: String~ xlat: String~ xlon: String

+ commandAction(Command, Displayable) : void+ destroyApp(boolean) : void+ exitMIDlet() : void~ getConnectionInformation(HttpConnection) : void+ getDisplay() : Display+ getLocationData() : void+ getPhoneId() : String+ getSendData(String, String, String) : void- initialize() : void+ pauseApp() : void+ Rastreador()+ resumeMIDlet() : void+ startApp() : void+ startMIDlet() : void+ switchDisplayable(Alert, Displayable) : void

MIDlet

«interface»CommandListener

Figura 9 – Diagrama de classes da aplicação GPS/GPRS

3.2.1.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: http://enderecoweb/index.php/TrackController/show. A figura 10 mostra um trecho do diagrama de classes da aplicação web do sistema TrackMap:

Página 11

Page 12: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

class Trackmap

Welcome

+ __construct() : var+ index() : var

RegisterController

+ __construct() : var+ index() : var+ insertData() : var

TrackController

+ db: var = null+ uri: var = null

+ __construct() : var+ index() : var+ loadCalendar() : var+ show() : var

menumodel

+ getLinks() : var

TrackModel

- gpsname: var- hora: var- id: var- lat: var- lon: var

+ getLocationsFromGps(var, var) : var+ getMaxIdTrack() : var+ saveCoordinates(var, var, var, var, var) : var+ saveLog(var, var, var, var, var) : var

Model

+ _parent_name: var = ''

+ _assign_libraries(var) : var+ Model() : var

CI_BaseController

+ _ci_scaff_table: var = FALSE+ _ci_scaffolding: var = FALSE

+ _ci_initial ize() : var+ _ci_scaffolding() : var+ Control ler() : var

StartView.php

MenuView

CalendarView

HeaderView

calendarmodel

+ loadCalendar() : var

CI_Calendar

Figura 10 – Diagrama de classes da aplicação web

3.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).

3.3.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.

Página 12

Page 13: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

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.

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:

Página 13

Page 14: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

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.

Página 14

Page 15: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

3.3.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:

Figura 13 – Estrutura das tabelas do banco de dados do sistema TrackMap

3.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:

Figura 14 – Diagrama de visão de implantação do sistema TrackMap.

Página 15

Page 16: especificação De Arquitetura - Régis Conde De Moura€¦  · Web viewJavascript para manipular a API do Maps Google; HTML para exibição no navegador; Folhas de estilo CSS para

Seta Micros Versão: 1.0TrackMAP Data: 14/11/2009

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

Página 16