You are on page 1of 56

INSTITUTO SUPERIOR DE MONTES CLAROS

FACULDADE DE COMPUTAO DE MONTES CLAROS


Curso de Tecnologia em Anlise e Desenvolvimento de Sistemas




HADSON MARCELO GOMES




MONITORAMENTO DE TRAFEGO POR GEOLOCALIZAO























Montes Claros MG
2014


HADSON MARCELO GOMES










MONITORAMENTO DE TRAFEGO POR GEOLOCALIZAO



Trabalho de Concluso de Curso apresentado como
exigncia parcial para obteno do diploma de
Tecnologia em Analise e Desenvolvimento de
Sistemas da Faculdade de Computao de Montes
Claros.


Orientadora: Janine Alves Prates, Mestre.

















Montes Claros MG
2014


HADSON MARCELO GOMES










MONITORAMENTO DE TRAFEGO POR GEOLOCALIZAO


Trabalho de Concluso de Curso aprovado como
requisito parcial para obteno do Diploma de
Graduao em Tecnologia em Analise e
Desenvolvimento de Sistemas da Faculdade de
Computao de Montes Claros.

Aprovado em 16/06/2014
BANCA EXMINADORA:

Ass.________________________________________________________

Ass.________________________________________________________

Ass.________________________________________________________





Montes Claros MG
2014









































Dedico este trabalho aos meus pais, irmos
e amada esposa.


AGRADECIMENTOS

A jornada do conhecimento humano evolui com o passar de eras. O saber est
entrelaado capacidade nica que nos foi dada que a do autoconhecimento.
Nesta longa estrada, muitas pedras e percalos aparecem para desviar a busca do
saber, ao mesmo tempo existem pessoas que nos ajudam a remover essas barreiras
e limpando o caminho nos ajudam no engrandecimento pessoal da sabedoria.
Assim, honro aqui essas pessoas.

Aos meus pais, Zenilton Charles e Mara, que sempre sonharam me ver graduado e
isso est muito perto de acontecer, uma pedra lapidada do conhecimento.

A minha esposa Dani, que sempre me apoiou de todas as formas possveis e em
todos os momentos me ajuda a remover as pedras do desvio.

A minha orientadora professora Janine Prates, que acreditou no meu trabalho.
















































Qualquer tecnologia suficientemente
avanada indistinta de magia.
Arthur C. Clarke


RESUMO


Este trabalho consiste no desenvolvimento de um sistema de monitoramento de
transporte pblico de uma cidade de mdio porte utilizando o sistema de
posicionamento global (GPS), o servio de rdio de pacote geral (GPRS) e
computadores mveis com sistema operacional Android. Por meio de um mdulo
nibus instalado no veculo possvel obter as suas localizaes e atravs do envio
das informaes para um servidor possvel monitorar os mesmos em seu trajeto.
Os usurios de transporte pblico acessam estas informaes pelo mdulo usurio
que consiste em um aplicativo instalado em dispositivos Android, obtendo como
informao a localizao dos nibus durante os seus trajetos, assim conseguindo
um melhor planejamento de suas viagens.

Palavras-chave: GPS. Android. Sistema de monitoramento. GPRS. Transporte
pblico.


ABSTRACT


This work is the development of a monitoring system for public transport in a
medium-sized city using the global positioning system (GPS), the radio service
overall package (GPRS) and mobile computers with Android operating system.
Through a bus module is installed in the vehicle is possible to get their locations by
sending the information to a server you can monitor them on their path. Users of
public transport access this information by the user module consisting of an
application installed on Android devices, getting information as the location of the
buses during their commutes, thereby achieving a better plan their trips.

Keywords: GPS. Android. Monitoring system. GPRS. Public transportation.


LISTA DE FIGURAS

Figura 1 - Rede GSM acrescida da rede GPRS.
Figura 2 - Requisitos funcionais principais.
Figura 3 - Requisitos No funcionais.
Figura 4 - Caso de uso de rastreamento.
Figura 5 - Diagrama de atividades de atualizao de posio.
Figura 6 - Modelo de entidade e relacionamento.
Figura 7 - Tela da ferramenta Eclipse ADT.
Figura 8 - Tela da ferramenta PHPMyAdmin.
Figura 9 - Trecho de cdigo PHP. Cadastro de Coordenadas.
Figura 10 - Tela inicial mdulo usurio.
Figura 11 - Trecho de cdigo que faz requisio ao servidor.
Figura 12 - Tela de escolha do veculo a ser rastreado.
Figura 13 - Cdigo que busca as coordenadas e desenha na tela.
Figura 14 - Demonstrao de desenho do veculo no mapa.
Figura 15 - Demonstrao de alerta de aproximao de veculo.


ABREVIATURAS E SIGLAS

ADT Android Developer Tools
A-GPS Assisted GPS
ANSI American National Standards Institute
API Application Programming Interfaces
BSS Base Station Subsystem
CU Casos de Uso
DML Data Manipulation Language
GPS Global Positioning System .
GSM Global System for Mobile Communication
GGSN Gateway GPRS Support Node
HTML Hypertext Markup Language
ISO International Organization for Standardization
JVM Java Virtual Machine
MER Modelo de Entidade Relacionamento
MIT Massachusetts Institute of Technology
MS Mobile station
NAVSAT Navy Navigation Satellite System
NFC Near Field Communication
NSS Network and Switching Subsystem
OMS Operations and Maintenance System
OHA Open Handset Alliance
OpenGL ES OpenGL for Embedded Systems
PPS Precise Positioning Service
PHP Hypertext Preprocessor
RF Rdio Frequncia
REQF Requisitos Funcionais
REQNF Requisitos No Funcionais
SPS Standard Positioning Service
SDK Software Development Kit
SQL/DS SQL/Data System


SQL Structured Query Language
SGBD Sistema de Gerenciamento de Banco de Dados
SGSN Serving GPRS Support Node
URL Uniform Resource Locator




SUMRIO

1 INTRODUO ....................................................................................................... 13
2 GLOBAL POSITIONING SYSTEM - GPS ............................................................. 15
2.1 FUNCIONAMENTO DO GPS ........................................................................... 17
2.2 GPS EM APARELHOS CELULARES .............................................................. 18
2.2.1 A-GPS Assisted GPS ............................................................................. 18
2.3 GOOGLE MAPS ............................................................................................. 19
2.3.1 LBS no Android ...................................................................................... 20
2.4 ANDROID .......................................................................................................... 20
2.4.1 Camada Aplicaes ............................................................................ 22
2.4.2 Camada Framework de aplicaes .................................................... 22
2.4.3 Camada Bibliotecas ............................................................................. 22
2.4.4 Camada Tempo de Execuo Android .............................................. 23
2.4.5 Camada Kernel do Linux ..................................................................... 23
2.5 VERSES DO ANDROID ............................................................................... 23
2.5.1 Android 1.0 ............................................................................................... 24
2.5.2 Android 1.5 Cupcake ........................................................................... 24
2.5.3 Android 1.6 - Donut ................................................................................ 24
2.5.4 Android 2.0 Eclair ............................................................................... 25
2.5.5 Android 2.2 Froyo ................................................................................ 25
2.5.6 Android 2.3 Gingerbread .................................................................... 25
2.5.7 Android 3.0 - Honeycomb ...................................................................... 25
2.5.8 Android 4.0 - Ice Cream Sandwich ........................................................ 26
2.5.9 Android 4.1 - Jelly Bean ........................................................................ 26
2.5.10 Android 4.4 KitKat ............................................................................. 26
2.6 JAVA .............................................................................................................. 27
2.6.1 A linguagem de programao Java ...................................................... 27
2.6.2 A plataforma Java ................................................................................... 28
2.6.2.1 Java Virtual Machine .......................................................................... 28


2.6.2.2 Java Application Programming Interface ............................................ 29
2.7 BANCO DE DADOS ....................................................................................... 29
2.7.1 Sistema de Gerenciamento de Banco de Dados SGBD ................... 30
2.7.2 SGBD SQLite .......................................................................................... 30
2.7.3 SQLite no Android .................................................................................. 31
2.7.4 Caractersticas da biblioteca SQLite .................................................... 31
2.7.5 Exemplos de uso do SQLite .................................................................. 32
2.8 TRANSMISSO DE DADOS ........................................................................... 32
2.8.1 Redes GPRS ............................................................................................ 33
3 DESENVOLVIMENTO DO SISTEMA .................................................................... 35
3.1 LEVANTAMENTO DE INFORMAES ......................................................... 35
3.2 ESPECIFICAO ............................................................................................ 36
3.2.1 Requisitos Funcionais ............................................................................. 36
3.2.2 Requisitos No Funcionais ..................................................................... 37
3.2.3 Diagrama de Casos de Uso ..................................................................... 37
3.2.4 Diagrama de Atividades ........................................................................... 38
3.2.5 Modelo Entidade Relacionamento .......................................................... 39
3.3 IMPLEMENTAO .......................................................................................... 40
3.3.1 Tcnicas e ferramentas utilizadas ......................................................... 40
3.4 OPERACIONALIDADE DA IMPLEMENTAO .............................................. 43
4 CONSIDERAES FINAIS ................................................................................... 51
5 REFERNCIAS BIBLIOGRFICAS ...................................................................... 53


13

1 INTRODUO


Para Taurion (2013), uma cidade inteligente a que otimiza a capacidade da
infraestrutura j existente com o uso inteligente de tecnologias. Em 1800, a maior
cidade do mundo era Londres, na Inglaterra, com cerca de um milho de habitantes.
Em 1960, o planeta tinha 111 cidades com mais de um milho de pessoas. Em 1985
j eram 280 e hoje mais de 300, das quais 13 esto no Brasil.
de se esperar que, com o aumento significativo da populao, problemas no
transito como congestionamentos e falta de infraestrutura apropriada aconteam.
Partindo dessa premissa, percebe-se a importncia da utilizao de mtodos
tecnolgicos para ajudar na soluo de tais problemas de forma plausvel e eficiente.
E uma destas respostas seria um possvel desenvolvimento de um sistema que
monitorasse em tempo real a posio atual dos nibus do transporte coletivo a fim
de melhorar e desafogar o transito das cidades, pois com um controle mais
acessvel aos usurios dependentes desse sistema de transporte poderia at
mesmo encoraj-los e ainda atrair novos utilizadores deste meio de locomoo. E
baseado nisso que se prope a execuo deste trabalho.
Neste trabalho estabeleceu-se como objetivo, identificar a existncia de recursos
tecnolgicos e bibliogrficos disponveis para o desenvolvimento e implementao
de uma aplicao para plataformas mveis que viabilizar o fcil acesso dos
usurios do sistema de transporte pblico em uma cidade de mdio porte.
Para construir o referencial terico para a realizao desta pesquisa, optou-se a
utilizar os autores que aqui principalmente cito SVERZUT(2005), MORIMOTO(2009),
GOOGLE INC(2014), e ORACLE(2014), alm de outros.
Quanto natureza, esta pesquisa se enquadra como aplicada, pois busca
resultados que possam ser utilizados como soluo de problemas reais e pode ser
classificada quanto aos objetivos como sendo descritiva pois, segundo GIL(2008),
uma pesquisa descritiva assim chamada quando deve descrever as caractersticas
de determinadas populaes ou fenmenos. Em relao s tcnicas utilizadas,
Gil(2008) diz que quando uma pesquisa desenvolvida com base em material j

14

elaborado e constituda principalmente de livros e artigos cientficos, esta deve ser
uma pesquisa bibliogrfica. Esse trabalho tambm, quanto tcnica, pode ser
classificado como experimental pois desenvolvido um sistema que influencia de
modo geral o resultado da pesquisa. A abordagem de anlise de dados qualitativa,
sendo desenvolvida entre os perodos de agosto de 2013 e maio de 2014.
Estruturalmente, no segundo captulo tem-se a apresentao da fundamentao
terica pesquisada sobre a histria dos sistemas de Geolocalizao e seu
funcionamento, os tipo de GPS em celulares, a API do Google Maps e suas
aplicaes, os sistemas Android, a linguagem Java, sistemas de gerenciamento de
banco de dados e, por fim, as redres GPRS. O 3 captulo apresenta o
desenvolvimento do sistema, iniciando com o levantamento de informaes, tendo
na sequncia a especificao e implementao. Em seguida, apresenta-se as
consideraes finais do autor em relao ao trabalho apresentado.




15

2 GLOBAL POSITIONING SYSTEM GPS


O GPS um sistema de posicionamento de abrangncia global em tempo real,
desenvolvido pelo Departamento de Defesa dos Estados Unidos, nas ltimas
dcadas do sculo passado. Embora a obteno das coordenadas espaciais de um
ponto possa ser considerada, atualmente, uma tarefa fcil, h muito tempo se
procurava uma maneira de localizao terrestre que substitusse as fontes de
orientao pouco precisas proporcionadas pela orientao do Sol, das estrelas e dos
planetas, predominante durante sculos (MONICO, 2008).
Em 1960 a Fora Area e a Marinha americana trabalhavam para o
desenvolvimento de um sistema de navegao por satlites. A Marinha patrocinou
dois programas:
Transit: Conhecido tambm como Navy Navigation Satellite System - NAVSAT. Foi o
primeiro sistema de navegao por satlite a ser usado operacionalmente. Foi criado
para obter informaes precisas o posicionamento para submarinos lanadores de
msseis balsticos, e foi usado pela marinha dos Estados Unidos com um sistema de
navegao, bem como para vigilncia hidrogrfica e geodsica.
Segundo ABC71 (2009), o sistema foi desenvolvido no Laboratrio de Fsica
Aplicada da Johns Hopkins University para a marinha dos Estados Unidos. Foram
feitos vrios testes usando satlites conhecidos, colocados em rbitas polares de
baixa altitude, a 1100 km acima da superfcie da Terra. Em cada teste eram usados
no mnimo cinco satlites necessrios para permitir uma cobertura global.
O primeiro teste bem sucedido do sistema foi realizado em 1960, para ter um bom
funcionamento foram necessrios de pelo menos mais cinco satlites usados como
sobressalentes para cada satlite que estava na rbita.
Os satlites foram definidos de modo a cobrir a Terra inteira, com isso
podiam calcular qualquer posio com base no instante da passagem dos
satlites. No entanto para ter uma nova posio, s poderia ser calculada
na prxima passagem do satlite. O intervalo de tempo entre as passagens
corresponderia ao perodo orbital (106 minutos) se o mesmo satlite
estivesse visvel em ambas s passagens, caso contrrio teria um atraso
tpico de uma hora ou duas. (ABC71, 2014, p.1)

16

Timation: Na Naval Research Laboratory, do Centro Naval de Tecnologia Espacial,
foi desenvolvido o sistema de navegao Timation, iniciado em 1964, mas o satlite
s foi laado em 1967.
Na poca o sistema mostrou que era mais preciso que os de sua categoria.
Segundo Pike (2011), em 1969 foi criado o Timation II mostrando novas tcnicas,
como um relgio de alta preciso, podendo oferecer bases de posies mais
precisas, usando um novo sistema tridimensional de cobertura em todo mundo.
Os sistemas de navegao Transit e Timation operavam em modo 2D, pois usavam
latitude e longitude. No perodo de 1960 a Fora Area estudou sistemas que
operavam em 3D que usavam latitude, longitude e altitude. Aps inmeros estudos,
foi escolhido o programa 612B.
De acordo com Pike (2011), em 1973, com a fuso dos programas Timation e 612B,
surgiu o programa Navigation Satellite with Time and Ranging - Global Positioning
System - NAVSTAR GPS. Em dezembro de 1973 foi autorizado o incio da primeira
fase do programa. Foram feitos estudos sobre desempenho e real viabilidade do
sistema, que durou at o ano 1979. Em seguida, deu-se incio segunda fase com o
desenvolvimento e teste dos equipamentos GPS, que durou at 1985.
Na terceira fase foram produzidos os aparelhos GPS. Para o melhor funcionamento
do sistema foi usada uma rede de 24 satlites, que proporcionava uma cobertura
completa, com funcionamento simultneo, conhecida como Full Operational
Capability.
De acordo com ABC71 (2009), em 1980 o presidente Ronald Reagan autorizou o
uso civil dos sistemas. Na poca todos os equipamentos que foram vendidos
continham um erro artificial no sistema chamado Disponibilidade Seletiva, que foi
implantado pelo Departamento de Defesa americano, com o objetivo de resguarda
de segurana interna do pas. Em Maio de 2000 o Presidente Clinton fez um decreto
para cancelar o erro implantado nos equipamentos, pois o contnuo desenvolvimento
tecnolgico permitiu ao Departamento de Defesa obstruir a preciso do Sistema
onde e quando os interesses americanos exigissem. Com o decreto, o erro mdio de
100 metros na localizao do receptor ficou dez vezes menor.

17

O GPS surgiu com objetivo de guerra e navegao de alta preciso, para
ser usado no transporte militar e msseis. Os GPS foram usados como teste
na guerra do Golfo que, facilitando a locomoo das tropas no deserto, os
msseis passaram a atingir seus alvos com erros mnimos. (PIKE, 2014, p.1)
2.1 FUNCIONAMENTO DO GPS

O GPS conta com dois tipos de servio de posicionamento diferentes: o padro
Standard Positioning Service - SPS e o preciso Precise Positioning Service - PPS. O
SPS est disponvel a todos os usurios do globo e proporciona valores com
preciso de 100 a 140 m ou de 10 a 20 m, enquanto o PPS, de uso restrito militar,
apresenta preciso de 10 a 20 m. Nota-se, assim, que ambos os servios podem
proporcionar valores com a mesma preciso. O servio SPS tem dois intervalos
diferentes de preciso devido limitao seletiva imposta pelo Departamento de
Defesa Americano (DEPARTAMENT OF DEFENCE, 2008): um processo de
criptografia aplicado em um dos cdigos utilizados no GPS para realizar as medidas
de distncias, capaz de tornar as medies do SPS mais imprecisas, caso
necessrio. A restrio foi imposta inicialmente por motivo de segurana nacional.
Porm, em maio de 2000, essa tcnica de deteriorao do sinal recebido pelo SPS
foi descontinuada, melhorando consideravelmente o nvel de preciso alcanado por
usurios civis. Aps essa deciso, o Conselho de Segurana americano passou a
fazer reunies anuais para decidir pela reativao ou no da disponibilidade seletiva
do sinal (THE WHITE HOUSE, 1996)
O GPS dividido em trs segmentos: espacial, de controle e de usurios. O
segmento espacial consiste de 24 satlites distribudos em seis planos orbitais
igualmente espaados, que cruzam o centro da Terra. Cada plano conta com quatro
satlites. Essa configurao permite que, em qualquer local da superfcie terrestre, a
qualquer momento, pelo menos quatro satlites estejam "visveis" por um receptor.
O segmento de controle responsvel pelo monitoramento, correo dos relgios e
atualizao peridica das mensagens de navegao de cada satlite. composto
por cinco estaes terrestres estrategicamente distribudas no globo. O segmento de
usurios constitudo pelos receptores GPS. Dependendo da aplicao a qual se
destina, o aparelho necessita um grau maior ou menor de qualidade do seu relgio
interno (MONICO, 2008).

18

interessante salientar que muitas pessoas se referem ao GPS como "sistema
GPS". Tal expresso empregada de forma equivocada, visto que o acrnimo j
carrega em si a palavra sistema.
2.2 GPS EM APARELHOS CELULARES

Segundo Morimoto (2009), os componentes de um dispositivo GPS sofreram grande
miniaturizao com o tempo, e em consequncia, grande queda de preo.
importante considerar que muito do valor de um GPS so hardwares de interao
como tela, botes, processadores de som, entre outros. Com isso, passou a ser uma
medida natural adotar um receptor de GPS em um smartphone, pois o mesmo j tem
muitas das caractersticas de hardware necessrias em um aparelho GPS, tanto que
quase todos os aparelhos de smartphone no mercado hoje possuem receptores de
GPS, permitindo assim uma grande reduo de preo do dispositivo, que agora teria
que orar apenas o receptor, seu processador e o software responsvel pela
navegao.
Com a miniaturizao dos componentes, passou a fazer sentido incluir
receptores de GPS em smartphones, aproveitando a tela, processador,
memria e os demais componentes. Chipsets atuais, como o navilink nl5350
(usado no n95 e em outros modelos da Nokia) combinam o receptor GPS, o
processador de sinais e uma pequena quantidade de memria usada por
ele em um encapsulamento incrivelmente compacto, que adiciona muito
pouco ao peso e volume do aparelho. (MORIMOTO, 2009, p.362).
2.2.1 A-GPS Assisted GPS

Morimoto (2009), os smartphones usam uma antena GPS menor e menos sensvel e
com chipset GPS mais fraco, causando certa demora em achar a localizao ou
perdendo o sinal frequentemente. Para evitar o problema e ajudar na localizao, os
smartphones utilizam um sistema hbrido, o A-GPS.
O A-GPS funciona atravs de uma combinao de sinais de satlites GPS e
triangulao por torres de celular, alm de um servidor remoto que fornece o
posicionamento dos satlites, que facilita a rpida localizao pelo receptor.
Morimoto (2009, p. 273) diz:

19

"Naturalmente, todas as informaes so transmitidas usando a rede celular, mas o
volume de dados transferido pequeno, apenas alguns poucos kbytes por consulta."
2.3 GOOGLE MAPS

De acordo Morimoto (2009), a opo mais simples e utilizada de softwares para
celular atualmente o Google Maps. Ele possui verses no apenas para celulares,
mas para computadores tambm, podendo ser usado em diversos sistemas
diferentes, e at mesmo online. Possui ainda a opo de visualizao por imagens
de satlite, o que d uma viso mais real do local de interesse.
A concepo do Google Maps teve incio em 2004, quando o Google comprou a
Keyhole, empresa de mapeamento global, e iniciou o desenvolvimento do Google
Earth. O Google Earth foi lanado ao pblico em 2005, pouco menos de um ano
depois da compra da Keyhole, programa esse que expandiu os horizontes do
Google, e que surpreendeu muitas pessoas. Permitia a explorao, atravs de
imagens de satlite, da maioria dos espaos do planeta.
O Google Earth permitia que muitas empresas e pessoas pudessem acessar
imagens areas de cidades ou locais com relativa qualidade, e sem custo. Muitos
passaram a utilizar esse software por simples curiosidade, para ver suas moradias
ou locais de trabalho. Motivos esses que permitiram ao software grande
popularidade logo aps seu lanamento.
Ainda segundo o autor, o Google Maps permite que tracemos uma rota,
selecionando um ponto de origem e um de destino, ele exibir um percurso no
mapa, com uma linha, exibindo todo o trajeto, disponibilizando informaes sobre
quais ruas usar, distncias e localizaes. possvel selecionar qual o meio de
transporte a ser utilizado, e, dependendo do meio escolhido ele selecionar o melhor
percurso, como exemplo, se o meio selecionado for a p, ele ir te mandar pelo
caminho mais curto, porm se for um automvel, ele ir considerar o sentido das
ruas, e seu devido percurso.
Mais recentemente, o Google lanou sua mais nova forma de visualizao urbana, o
Google Street View, que permite visualizar a cidade de forma totalmente inovadora,

20

atravs das ruas. Eles utilizaram diversos carros equipados com cmeras 360, que
permitem que a pessoa utilizando o software consiga ver os locais de interesse
como se realmente estivessem no local. O Street View j est disponvel em
diversas cidades no mundo, como Nova York, Los Angeles, Sidney, So Paulo,
Montes Claros, Varzelndia, etc.
Entretanto, o Google Maps no muito bom em mostrar o deslocamento
em tempo real quando voc se move rapidamente. Em um carro em
movimento, por exemplo, a seta simplesmente pula de um quarteiro para o
outro, na maior parte do tempo, fazendo com que seja difcil se orientar por
ele quando est dirigindo. Aplicativos que incluem suporte navegao
assistida, como o Nokia Maps e o Garmin so bem melhores nesse quesito.
(MORIMOTO, 2009, p. 78).
Embora seja um programa com pouco tempo de funcionamento (disponvel desde o
dia 8 fevereiro de 2005), o Maps impressiona pela quantidade de recursos
oferecidos tanto para usurios comuns, que iro utilizar de maneira mais simplista o
servio, at usurios avanados, que podero criar servios utilizando as Application
Programming Interfaces - APIs disponibilizadas pelo Google Maps.
2.3.1 LBS no Android

Na documentao on-line do Google INC (2014), o Android prov um framework de
localizao que pode ser usado na criao de aplicaes baseadas em localizao.
O Android tambm possui uma biblioteca do Google Maps nativamente instalada
que permite a criao de servios baseados em mapas. O Android prov, com isso,
todos os recursos necessrios para a criao de sofisticados sistemas de
localizao utilizando mapas.
A seguir estaremos entrando em detalhes sobre o pacote Location da API Google
Maps.
2.4 ANDROID

Segundo Google INC (2014), Android uma plataforma para dispositivos mveis,
criada para diminuir custos e melhorar a experincia do usurio nesses dispositivos.
O Android comeou como uma pequena empresa com o nome do prprio Android
Inc, em Palo Alto, Califrnia, EUA, criada por quatro scios, chamados Andy Rubin,

21

Rich Miner, Nick Sears e Chris White. Somente em 2006 o Google tomou posse do
projeto comprando a Android Inc e assumindo a direo do desenvolvimento do
sistema.
No ano seguinte, em 2007, foi criada a Open Handset Alliance - OHA, liderada pela
Google, como um grupo de empresas unidas, com o objetivo de concluir o
desenvolvimento do Android como um sistema mvel e gratuito para assim, viabilizar
a sua distribuio em massa, com liberdade de desenvolvimento de aplicativos e
liberdade de plataforma de hardware. A OHA iniciou suas operaes com 40
empresas.
Atualmente, esse nmero est perto das 90 empresas. No mesmo ano, foi liberada a
verso Beta do Software Development Kit - SDK do Android.
De acordo com a empresa, aplicaes podem ser livremente desenvolvidas para a
plataforma Android, pois a mesma possui um SDK que fornece ao programador
todas as APIs necessrias para a interao inicial com a plataforma. O SDK do
Android permite, tambm, que o programador utilize um gerenciador de banco de
dados SQlite e suporta grficos 3D baseados nas especificaes 1.0 da OpenGL for
Embedded Systems - OpenGL ES.
Dentre muitas caractersticas, o Android possui nativamente um framework de
aplicaes, uma mquina virtual Dalvik (Java) otimizada para dispositivos mveis,
um navegador web baseado na engine de cdigo aberto Webkit, suporte a arquivos
de mdia de udio e vdeo e um ambiente de desenvolvimento rico em ferramentas.
A empresa ainda diz que o Android foi idealizado para ser um sistema com cdigo
fonte opensource, facilitando a adequao a diversos dispositivos diferentes e
personalizao do contedo. Devido a essa facilidade, comum encontrarmos
aparelhos que possuem personalizaes da operadora de telefonia ou do fabricante
como forma de concorrncia entre os mesmos. Pelo fato de ser baseado no Linux,
ele tambm possui um repositrio de aplicativos, onde todos os aplicativos pblicos
a serem instalados nos sistema podem ser visualizados e adquiridos.
Dentre as tecnologias que compem o Android, pode-se destacar como principais o
Java, a linguagem de programao usada no desenvolvimento de aplicaes nativas

22

para o Android, o SQLite, um sistema gerenciador de banco de dados leve e rpido,
usado para armazenar dados das aplicaes durante a execuo e o GPS, que
permite a integrao do servio com as aplicaes.
A arquitetura do Android est dividido em camadas, permitindo ao programador ou
empresa de desenvolvimento de dispositivos customizar apenas a parte que lhe ser
necessria. As camadas da arquitetura do Android, da externa para a interna,
so:
Aplicaes
Framework de aplicaes
Bibliotecas
Tempo de Execuo Android
Kernel do Linux

2.4.1 Camada Aplicaes

A camada de Aplicaes contm todas as aplicaes j compiladas e instaladas,
prontas para serem executadas.
Essas aplicaes podem ser criadas usando as APIs do Android juntamente com a
linguagem de programao Java.
2.4.2 Camada Framework de aplicaes

A camada do Framework de aplicaes contm todas as APIs necessrias para o
desenvolvimento das aplicaes voltadas para o Android.
As aplicaes nativas da plataforma so desenvolvidas utilizando essas mesmas
APIs, permitindo ao programador alterar, se necessrio, alguma funcionalidade
contida no ncleo de uma aplicao nativa, desde que o usurio permita o acesso
de uma aplicao outra.
2.4.3 Camada Bibliotecas


23

A camada de Bibliotecas contm todas as bibliotecas necessrias para manuseio de
aplicaes terceiras.
Como exemplos de bibliotecas tem-se a biblioteca do sistema C, bibliotecas de
reproduo e gravao de udio e vdeo, bibliotecas de uma engine de grficos 2D e
3D, bibliotecas para manuseio de bancos de dados SQLite e bibliotecas de
renderizao de vetores e bitmaps.
2.4.4 Camada Tempo de Execuo Android

A camada de Tempo de Execuo Android contm as bibliotecas do ncleo da
linguagem Java, necessrias para execuo das aplicaes, e a mquina virtual
Dalvik, otimizada para dispositivos mveis onde cada aplicao executada como
uma nova instncia na mquina virtual.
Segundo GOOGLE INC (2014), a mquina virtual Dalvik, presente nesta camada,
depende da camada Kernel do Linux para tarefas mais prximas ao hardware, como
gerenciamento de threads e de memria.
2.4.5 Camada Kernel do Linux

A camada do Kernel do Linux contm o ncleo do Android, usando a verso 2.6 do
Linux para tarefas como gerenciamento de processos, de rede e drivers.
O Kernel tambm serve como camada de abstrao entre o hardware do aparelho e
o resto da plataforma.
2.5 VERSES DO ANDROID

A empresa ainda diz em sua documentao que, de tempos em tempos, so
disponibilizadas novas verses do Android, normalmente contendo novos recursos,
melhoria de desempenho e correo de bugs e problemas.
Curiosamente, a partir da verso 1.5 do sistema, cada verso tem um codinome
representando um nome de um doce e em ordem alfabtica.

24



2.5.1 Android 1.0

Segundo Prado (2011), em 2008 foi lanada a primeira verso pblica do sistema
Android, a verso 1.0. O primeiro dispositivo a venda a utilizar esse sistema foi um
Smartphone da HTC, o HTC Dream G1. J nesta verso, o Android j era
multitarefa e tinha total integrao com os servios da Google, navegador web com
HTML - Hypertext Markup Language - e XHTML - XML HTML, multijanelas,
mensageiro instantneo e suporte a Wi-Fi e Bluetooth.
Juntamente com a verso 1.0 do sistema, foi lanado o repositrio de aplicaes
oficial da Google, o Google Market, em que os usurios podem acessar uma lista
com quase todos os aplicativos disponveis para o sistema. Nele possvel tanto
obter aplicativos gratuitos, como aplicativos pagos.

2.5.2 Android 1.5 Cupcake

No dia 30 de abril de 2009 foi lanada a verso 1.5, codinome Cupcake, que era
baseado na verso 2.6.27 do Kernel Linux.
Tinha melhorias no gerenciamento da cmera, nos sistemas de aquisio de GPS,
teclado na tela, e upload direto para servios de imagem e vdeo do Google
(Youtube e Picasa).
2.5.3 Android 1.6 - Donut

De acordo com Prado (2011), baseado na verso 2.6.29 do Kernel Linux foi lanada
a verso 1.6, codinome Donut, no dia 15 de setembro de 2009. Com ela, foram
adicionadas as funes de busca por voz e caixa de busca rpida, melhorias no
sistema de cmera integrada, gravador, galeria, modos de vdeo.

25

Foi adicionado um indicador de uso de bateria, suporte a CDMA, e funes de texto
para multilinguagem.

2.5.4 Android 2.0 Eclair

Em 2009, no dia 26 de outubro, foi lanada a verso 2.0, codinome Eclair, do
sistema, e, para Prado (2014), ainda usando a verso 2.6.29 do Kernel Linux.
Nessa verso, foram adicionados a sincronia de mltiplas contas de e-mail e
contatos, suporte a Microsoft Exchange, navegador com HTML5, Bluetooth 2.1, e
melhorias no calendrio.
2.5.5 Android 2.2 Froyo

No dia 20 de maio de 2010, foi lanada a verso 2.2, codinome Froyo.
Baseado na verso 2.6.32 do Kernel Linux, com suporte melhorado ao Exchange,
suporte a hotspot, teclado multilinguagem, suporte ao Flash 10.1, e com dicas de
widgets na tela principal.
2.5.6 Android 2.3 Gingerbread

A verso 2.3, codinome Gingerbread, foi lanada no dia 6 de dezembro de 2010. De
acordo com Google INC (2014), a verso tem a funo de NFC - Near Field
Communication, que permite a comunicao entre dois dispositivos prximos sem a
necessidade de cabos.
Conta tambm com novos ajustes de interface para simplificar e melhorar a
velocidade, alm de um novo teclado com maior facilidade de digitao, copiar e
colar one touch, e de realizar chamadas pela internet.
2.5.7 Android 3.0 - Honeycomb

Para Prado (2011), no dia 10 de maio de 2011 foi lanada a verso 3.0.

26

Sob o codinome Honeycomb, que foi desenvolvida primariamente para tablets e
dispositivos com telas maiores, com melhorias no multitouch, muititarefa otimizada e
compartilhamento de Bluetooth.
2.5.8 Android 4.0 - Ice Cream Sandwich

A empresa Google INC (2014) diz, em outubro de 2011 foi anunciada a verso 4.0
codinome Ice Cream Sandwich, essa verso foi reformulada, visando apresentar um
sistema novo aos usurios, e no apenas um sistema atualizado como nas outras
verses.
Entre suas novidades esto novas fontes, visual renovado, refinamento na
movimentao do touch, sistema de reconhecimento facial, melhorias de
desempenho, navegao mais rpida e sistema de compartilhamento de dados por
NFC.
2.5.9 Android 4.1 - Jelly Bean

Anunciada em 27 de junho de 2012, a verso 4.1 do Android, codinome Jelly Bean,
trouxe, ainda segundo Google INC (2014), poucas melhoras visuais, focando-se em
acessibilidade e desempenho. Entre outras, foram adicionadas funes de
acessibilidade para deficientes visuais, como gestos para aes pr-configuradas,
uma funo para escrever textos por voz (somente em ingls) e foram feitas
melhorias no comportamento dos widgets na tela inicial e no desempenho do
browser e da agenda. A rea de notificaes foi atualizada, podendo conter mais
informaes sobre cada notificao individualmente.
A empresa ainda diz que junto com esta verso do Android, a Google tambm
anunciou o servio Google Now, que auxilia o usurio nas tarefas dirias como, por
exemplo, lembrando-o de compromissos agendados, avisando sobre voos atrasados
etc.
2.5.10 Android 4.4 KitKat


27

Ainda citando a empresa Google INC (2014), houve melhorias de desempenho para
tornar o KitKat mais suave e responsivo nos smartphones de baixo custo, com 512
MB de RAM. Alm da otimizao no consumo de memria, o Google afirma que
realizou melhorias no touchscreen: comandos de toque respondero de maneira
mais rpida e precisa que no Jelly Bean. Alternar entre aplicativos tambm est mais
rpido.
Outras novidades incluem a unificao do aplicativo Hangouts com o SMS, suporte a
novos gestos de toque, impresso de documentos em dispositivos conectados ao
Google Cloud Print e melhor suporte a servios de armazenamento na nuvem de
terceiros.
2.6 JAVA

Segundo a Oracle (2014), em 1991, um grupo de engenheiros da empresa Sun
acreditava na tendncia da juno dos dispositivos mveis pessoais e dos
computadores caseiros. Com essa perspectiva em mente, esse grupo, denominado
Green Team, liderado por James Gosling, trabalhou arduamente para criar o que,
futuramente, iria revolucionar nosso mundo: a linguagem de programao Java.
Para demonstrao de sua linguagem de programao e de seu potencial, o Green
Team trabalhou num controle remoto porttil que tinha como alvo a comunicao
com as televises a cabo digitais, mas, naquela poca, esse conceito de integrao
de dispositivos estava avanado demais para os equipamentos disponveis.
Percebendo a ascenso da internet, em 1995, o grupo anunciou que navegador de
internet Netscape Navigator passaria a incorporar a tecnologia Java.

2.6.1 A linguagem de programao Java

Sendo aclamada como uma linguagem de programao verstil, o Java a principal
linguagem de programao usada nos aplicativos nativos do Android.

28

Para a Oracle (2014), na linguagem de programao Java, todos os arquivos de
cdigo-fonte possuem a extenso .java e tm seu contedo inalterado, podendo
ser lidos e modificados pelo programador. Depois que o arquivo de cdigo-fonte
salvo, necessrio compil-lo com o compilador javac (fornecido junto com as
ferramentas para programao Java), em um arquivo .class. Esse arquivo
compilado tem seu contedo convertido para bytecode, que no um cdigo que
pode ser lido ou modificado pelo programador e sim a linguagem da Java Virtual
Machine - JVM.
Segundo a Oracle (2014), uma instncia da JVM na mquina do usurio l o
bytecode do arquivo .class e executa a aplicao. J que a JVM est disponvel em
vrios sistemas operacionais, o mesmo arquivo bytecode .class pode ser
executado em outra mquina, sem necessidade de edio e recompilao.
2.6.2 A plataforma Java

A plataforma Java se diferencia, principalmente, das outras por ser uma plataforma
somente de software, que pode ser executada sobre diferentes tipos de hardware.
Como um ambiente independente de plataforma, a Java pode ser um pouco mais
lenta do que cdigo nativo. Porm, avanos na tecnologia do compilador e da JVM
tm trazido o desempenho para perto que o cdigo nativo capaz, sem
comprometer a portabilidade (ORACLE, 2014).
A plataforma possui dois componentes:
Java Virtual Machine
Java API



2.6.2.1 Java Virtual Machine

Segundo Oracle (2014), a JVM a pea fundamental da plataforma Java. o que
faz com que ela seja independente de hardware e de sistema operacional. Ela um

29

computador abstrato, virtual, que, como toda mquina fsica, real, possui conjuntos
de instrues e manipula vrias reas da memria durante a execuo.
A JVM no conhece linguagem alguma, a no ser a linguagem bytecode dos
arquivos .class e, apesar de ser bem restrita quanto a formas sintticas e
estruturais, se uma linguagem pode gerar uma aplicao no formato especificado
pela JVM, ento essa aplicao pode se utilizar das funes da mesma.

2.6.2.2 Java Application Programming Interface

A Oracle (2014), a Java API uma grande coleo de componentes de software
prontas que provm vrias capacidades teis. Ela est agrupada em bibliotecas de
classes e interfaces relacionadas, bibliotecas essas, tambm conhecidas como
pacotes.
2.7 BANCO DE DADOS

Segundo Eduardo (2008), os fundamentos de bancos de dados relacionais surgiram
na empresa IBM, nas dcadas de 1960 e 1970, atravs de pesquisas de funes de
automao de escritrio. Foi durante um perodo da histria na qual empresas
descobriram que estava muito custoso empregar um nmero grande de pessoas
para fazer trabalhos como armazenar e indexar (organizar) arquivos. Por este
motivo, valia a pena os esforos e investimentos em pesquisar um meio mais barato
e ter uma soluo mecnica eficiente.
O autor ainda salienta que em 1970 um pesquisador da IBM - Ted Codd - publicou o
primeiro artigo sobre bancos de dados relacionais. Este artigo tratava sobre o uso de
clculo e lgebra relacional para permitir que usurios no tcnicos armazenassem
e recuperassem grande quantidade de informaes. Codd visionava um sistema
onde o usurio seria capaz de acessar as informaes atravs de comandos em
ingls, onde as informaes estariam armazenadas em tabelas.

30

Devido natureza tcnica deste artigo e a relativa complicao matemtica, o
significado e proposio do artigo no foram prontamente realizados. Entretanto, ele
levou a IBM a montar um grupo de pesquisa conhecido como Sistema R (System R).
Continuando, o autor ainda diz que o projeto do Sistema R era criar um sistema de
banco de dados relacional, o qual eventualmente se tornaria um produto. Os
primeiros prottipos foram utilizados por muitas organizaes, tais como
Massachusetts Institute of Technology - MIT, uma escola renomada de negcios
norte-americana. Novas verses foram testadas com empresas de aviao para
rastreamento do manufaturamento de estoque.
Eventualmente o Sistema R evoluiu para SQL/Data System - SQL/DS, o qual
posteriormente tornou-se o DB2. A linguagem criada pelo grupo do Sistema R foi a
Structured Query Language - SQL. Esta linguagem tornou-se um padro na
indstria para bancos de dados relacionais e hoje um padro International
Organization for Standardization - ISO.
2.7.1 Sistema de Gerenciamento de Banco de Dados SGBD

Segundo Eduardo (2008), um SGBD consiste em uma coleo de dados inter-
relacionados e em um conjunto de programas para acess-los. Um conjunto de
dados, normalmente referenciado como banco de dados, contm informaes sobre
uma empresa particular, por exemplo. O principal objetivo de um SGBD prover um
ambiente que seja adequado e eficiente para recuperar e armazenar informaes de
banco de dados.
O autor ainda diz em seu livro que os sistemas de banco de dados so projetados
para gerenciar grandes grupos de informaes. O gerenciamento de dados envolve
a definio de estruturas para armazenamento de informao e o fornecimento de
mecanismos para manipul-las. Alm disso, o sistema precisa fornecer segurana
das informaes armazenadas, caso ocorra algum problema ou contra tentativas de
acesso no autorizado. Se os dados devem ser divididos entre diversos usurios, o
sistema precisa evitar possveis resultados anmalos.

31

O autor afirma a importncia das informaes na maioria das organizaes e o
consequente valor dos bancos de dados tm orientado o desenvolvimento de um
grande corpo de conceitos e tcnicas para o gerenciamento eficiente dos dados.
2.7.2 SGBD SQLite

necessrio um sistema de banco de dados para guardar as informaes de
maneira estruturada. O Android usa o sistema de banco de dados SQLite, que
tambm usado por muitas aplicaes populares, como o Mozilla Firefox e o iOS
para o armazenamento de dados. Sem ele, os dados ficam disponveis apenas em
tempo de execuo, ou seja, aps a execuo do programa, esses dados so
perdidos.
Segundo Gonalves (2014), o SQLite pode ser definido como uma ferramenta - mais
precisamente, uma biblioteca desenvolvida em C padro (ANSI - American National
Standards Institute) - que pode ser integrada a programas escritos em diferentes
linguagens com o intuito de possibilitar a manipulao de dados atravs de
instrues SQL. O SQLite um banco de dados open source. Ele suporta
caractersticas de banco de dados relacional, por exemplo, sintaxe SQL, transaes
e declaraes preparadas. Alm disso, requer apenas memria durante o seu tempo
de execuo (aproximadamente 250KB).
O autor tambm diz que, na prtica, o SQLite funciona como um mini-SGBD, capaz
de criar um arquivo em disco, ler e escrever diretamente sobre este arquivo. O
arquivo criado possui a extenso *.db e capaz de manter diversas tabelas. Uma
tabela criada com o uso do comando CREATE TABLE da linguagem SQL. Os
dados das tabelas so manipulados atravs de comandos DML - Data Manipulation
Language - (INSERT, UPDATE e DELETE) e so consultados com o uso do
comando SELECT.
No site do SQLite possvel encontrar roteiros para a utilizao da ferramenta em
programas desenvolvidos em Java, PERL, Delphi e outras linguagens (incluindo o
PHP na verso 4).
2.7.3 SQLite no Android


32

De acordo com Vorgel (2010), o SQLite est disponvel em todos os dispositivos
com Android. Alm das vrias inovaes implementadas, o Android traz tambm
suporte nativo para o SQLite.
Usar o banco de dados SQLite no Android no requer nenhuma instalao de banco
de dados ou de administrao. necessrio apenas definir as declaraes SQL
para criar e atualizar o banco de dados. Depois disso ele automaticamente
gerenciado por voc pela plataforma Android.
2.7.4 Caractersticas da biblioteca SQLite

Gonalves (2014) diz que a biblioteca SQLite possui vrias caractersticas: O
Software gratuito, multiplataforma e desenvolvido em C padro (ANSI). Todo o
banco de dados guardado localmente (junto com a aplicao) em um nico
arquivo, que possui a extenso *.db . A base de dados pode ter tamanho superior a
2 terabytes.
Ele ainda informa que o SQLite no necessita de instalao, configurao ou de
administrao. Suporta tambm a maior parte do SQL 92, o uso de transaes
(COMMIT / ROLLBACK). Seu uso muito fcil se voc estiver programando em
PHP 5 ou C / C++, porm no oferece integridade referencial (chaves estrangeiras).
Suas principais aplicaes so: programas locais, sites web, substituto de banco de
dados em aulas ou demonstraes, substitui arquivo texto ou arquivos proprietrios.
No possui dependncias externas de outras bibliotecas.
2.7.5 Exemplos de uso do SQLite

O autor Gonalves (2014) explica que o uso do SQLite recomendado em sites com
menos de cem mil requisies por dia, dispositivos e sistemas embarcados,
aplicaes desktop, ferramentas estatsticas e de anlise, aprendizado de banco de
dados e tambm em implementao de novas extenses de SQL.
Seu uso no recomendado em aplicaes com muitos acessos, grande quantidade
de dados (talvez maior que algumas dzias de gigabytes), sistemas com grande
concorrncia e em aplicaes cliente/servidor.

33

Algumas empresas e aplicaes famosas que usam o SQLite so: Adobe, Apple
iPhone, iPod Touch e iPad), Dropbox, Firefox, Google (Chrome e Android),
Microsoft, Skype.

2.8 TRANSMISSO DE DADOS

Segundo Pirotti e Zuccolotto (2009), o padro Global System for Mobile
Communication - GSM, que disponibiliza o servio GPRS como alternativa para
transmisso de dados via celular, o mais difundido no mundo. Esta tecnologia
utiliza as redes de celulares para o envio de dados. Com o constante aumento da
rea de cobertura das redes de telefonia mvel, este tipo de transmisso tende a ser
cada vez mais utilizada.
O padro de telefonia celular GSM era chamado de Groupe Spciale Mbile e teve
seu incio na Europa, dcada de 80. O objetivo era ter um novo padro que
substitusse padres usados na poca. Lanado em 1991, seu nome mudou para
Global System for Mobile Communication. Atualmente se utiliza a nomenclatura de
2.5G, 3G e 4G, que correspondem s recentes implantaes do padro GSM.
A rede de telefonia celular composta de diversos dispositivos interligados atravs
de canais de comunicao. Cada dispositivo responsvel por determinadas
funes como enviar um sinal de Rdio Frequncia - RF at um telefone celular ou
buscar em uma base de dados informaes sobre um usurio.
A arquitetura da rede GSM se subdivide em trs subsistemas: Base Station
Subsystem - BSS, que visto como o sistema da estao rdio base; Network and
Switching Subsystem - NSS, responsvel pelo gerenciamento e comutao da rede;
Operations and Maintenance System - OMS que o subsistema de suporte e
operao.
A comunicao com a rede GSM feita atravs de uma estao mvel ou Mobile
station - MS, podendo ser atualmente um celular ou equipamento que suporte a
utilizao da rede.
2.8.1 Redes GPRS

34


Com a popularizao da telefonia celular, novas necessidades comearam a surgir
como o trfego de dados atravs da rede da telefonia celular. A rede ou servio
GPRS foi implementada para suportar o trfego de dados utilizando recursos da
rede GSM. Com um acrscimo de equipamentos na rede GSM, o GPRS, alm de
permitir a troca de dados e acesso internet, permitiu que as operadoras de
telefonia mvel utilizassem esta rede para testar e implementar novos servios, que
seriam aproveitados na implementao da rede 3G (SVERZUT, 2005).
As principais modificaes acrescidas na rede GSM foram a unidade de controle de
pacote, que prov as interfaces lgica e fsica para o trfego de dados na rede
GPRS, o servidor do n de suporte GPRS ou Serving GPRS Support Node - SGSN,
que prev o acesso dos terminais GPRS rede GPRS e o Gateway GPRS Support
Node - GGSN que tm como principais funes a manuteno das informaes de
roteamento, mapeamento de endereos de rede e assinantes e mapeamento de
classes de qualidade de servios. A Figura 1 demonstra a rede GSM acrescida da
rede GPRS.

Figura 1 Rede GSM acrescida da rede GPRS
Fonte: Pirotti e Zuccolotto (2009, p. 84).

35


Os terminais GPRS so equipamentos capazes de utilizar os servios da rede
GPRS. Eles possuem o hardware para a comunicao de rdio frequncia, alm de
suporte rede GSM.

Uma das caractersticas da rede GPRS que a cobrana deste servio feita por
pacotes de dados transmitidos e no por tempo de conexo e seu custo varia de
acordo com a operadora de telefonia utilizada e o plano escolhido.

36

3 DESENVOLVIMENTO DO SISTEMA



Neste capitulo sero informadas caractersticas tcnicas do sistema proposto, suas
descries, apresentao dos requisitos funcionais e no funcionais, diagramas de
classe e casos de uso, bem como seu modelo de entidade relacionamento.
No decorrer do desenvolvimento deste trabalho, ser usada a metodologia de
desenvolvimento Praxis para melhor compreenso das etapas. A sigla Praxis
significa processo para aplicativos extensveis interativos, refletindo uma nfase no
desenvolvimento de aplicativos grficos interativos, baseados na tecnologia
orientada a objetos (FILHO, 2005). O Praxis vem propor um ciclo de vida composto
por fases que produzem um conjunto precisamente de artefatos, como modelos,
cdigos, testes, planos e relatrios.
3.1 LEVANTAMENTO DE INFORMAES

Este trabalho contempla aspectos que visam melhorar o planejamento e
gerenciamento do transporte pblico atravs de uma ferramenta mvel de
rastreamento e monitorizao de nibus que utilize as tecnologias GPS e GPRS.
O sistema, inicialmente, tem funcionalidades de efetuar a localizao de nibus
durante seu trajeto. Ele utiliza a tecnologia GPS para localizao de cada veculo e a
tecnologia GPRS para o envio de dados. O GPS instalado atravs de um aparelho
que suporta as tecnologias GPS, GPRS. Este aparelho (dispositivo com sistema
Android como S.O.) permite o envio da localizao, dando como resposta a sua
latitude, longitude e cdigo do veculo. O sistema de envio feito atravs do uso da
tecnologia GPRS que utiliza um SIM Card para se conectar internet. Tais
funcionalidades so programadas em Java para plataforma Android. Conforme cada
aparelho ligado ao nibus envia a sua localizao de minuto a minuto ao servidor, o
sistema recebe esses dados e atualiza seu banco sempre que novas informaes
chegam. O sistema montar um mapa indicando a localizao de cada veculo em
seu trajeto, mostrando inclusive uma mdia de tempo para sua chegada ao ponto
que o usurio se encontra. Tambm possvel ao administrador do sistema

37

consultar informaes sobre o cadastro de nibus como por exemplo tempo mdio
de atraso de casa veculo.
Com este sistema se espera uma melhora no planejamento e conforto do usurio e
um aumento na utilizao do transporte pblico.
3.2 ESPECIFICAO

A seguir sero representados os Requisitos Funcionais - REQF, os No Funcionais -
REQNF, casos de uso CU, diagrama de casos de uso, fluxo de atividades, Modelo
de Entidade Relacionamento- MER e o diagrama de classes do mdulo de
recebimento de dados Android (celular ou tablet do usurio).
3.2.1 Requisitos Funcionais

Requisitos Funcionais Principais Caso de Uso
REQF01: A aplicao permite ao
usurio, visualizar todos os veculos
cadastrados no servidor.
CU01
REQF02: A aplicao permite ao
usurio verificar qual ponto de nibus
mais prximo ao seu local atual para
determinado itinerrio.
CU02
REQF03: A aplicao informa ao
usurio quando o veculo se encontra
nas proximidades do ponto escolhido
para embarque.
CU03
REQF04: A aplicao permite que o
usurio escolha qual veculo quer
rastrear.
CU04
REQF05: A aplicao requer permisso
do usurio para acessar dados do GPS
do aparelho.
CU05

38

REQF06: A aplicao permite receber a
localizao do nibus atravs de
sistema GPRS.
CU06
REQF07: A aplicao permite
rastreamento, mesmo se usurio no
possuir GPS prprio, porm CU2, CU3
ficam desativados.
CU07
REQF08: A aplicao utiliza API Google
Maps para mostrar dados no mapa
CU08
Figura 2 Requisitos funcionais principais.
Fonte: PRPRIA. 2014

3.2.2 Requisitos No Funcionais

Requisitos No Funcionais (REQNF)
REQNF01: A aplicao deve utilizar a tecnologia GPS.
REQNF02: A aplicao deve utilizar tecnologia GPRS / GSM
REQNF03: A aplicao deve utilizar a linguagem Android Java
Figura 3 Requisitos No funcionais.
Fonte: PRPRIA. 2014

3.2.3 Diagrama de Casos de Uso

Na Figura 4, apresenta-se o diagrama de caso de uso de Rastreamento onde o ator
usurio possui o mdulo Android de recepo de dados diretamente do servidor que,
por sua vez, alimentado pelos aparelhos instalados em cada veculo. O usurio, ao
ter acesso internet, verifica uma lista de nibus disponveis para o rastreamento e,
ao selecionar algum, requerido o acesso ao GPS interno do seu aparelho celular.
Caso o usurio d permisso, outras funes so mostradas. Caso contrrio,
apenas poder ver a posio do veculo e no ter acesso funes de distncia,
tempo mdio de espera ou ponto de nibus mais prximo sua posio em relao
do veculo.

39


Figura 4 Caso de uso de rastreamento
Fonte: PRPRIA. 2014

3.2.4 Diagrama de Atividades

A figura 5 contm o diagrama de atividades que representa o processo de
atualizao da localizao do veculo selecionado. O processo se inicia por obter e
enviar a localizao do nibus pelo aparelho GPS, atravs do GPRS at o servidor.
O mdulo usurio ento verifica junto ao servidor as novas coordenadas e atualiza a
tela do dispositivo com os novos dados. Isso feito de minuto a minuto. Se o
aparelho do usurio possui GPS, funes que envolvem sua atual posio so
desbloqueadas.

40


Figura 5 Diagrama de atividades de atualizao de posio
Fonte: PRPRIA. 2014

3.2.5 Modelo Entidade Relacionamento

A Figura 6 apresenta o modelo entidade-relacionamento no qual esto as tabelas
que so persistentes no banco de dados utilizado pela aplicao mdulo cliente para
receber os dados e pelo mdulo nibus para gravar os dados.


41


Figura 6 Modelo de entidade e relacionamento
Fonte: PRPRIA. 2014
A seguir apresentada uma breve descrio das entidades para o desenvolvimento
da aplicao:
a) nibus: entidade responsvel por armazenar o cdigo do veculo, bem como
a rota que ele faz diariamente, incluindo as latitudes e longitudes que so
atualizadas de minuto a minuto pelo mdulo nibus atravs de das
tecnologias GPRS/GSM e GPS. Um nibus possui apenas uma rota.
b) Rotas: essa entidade armazena um cdigo que serve de parmetro para a
entidade nibus na coluna rotas. Ela armazena ainda um ndice para os
pontos de nibus distribudos em seu percurso. A entidade pode possuir
vrios ou, no mnimo, um veculo que a perfaz e ainda possuir vrios ou, no
mnimo, um ponto de nibus em seu trajeto.
c) Pontos: entidade responsvel pelo armazenamento das coordenadas
geogrficas dos pontos de nibus das rotas. Ela pode ter muitas ou, no
mnimo, uma rota.

3.3 IMPLEMENTAO

A seguir sero mostradas as tcnicas e ferramentas utilizadas e a operacionalidade
da implementao.
3.3.1 Tcnicas e ferramentas utilizadas

Para o desenvolvimento do sistema foi utilizada a ferramenta Eclipse adaptada com
Android Developer Tools -ADT em sua verso: v22.3.0-887826. O Eclipse
possibilitou codificar os mdulos nibus e usurio dando suporte a erros e sugestes
de soluo na linguagem de programao. A figura 7 demonstra essa ferramenta.

42


Figura 7 Tela da ferramenta Eclipse ADT
Fonte: PRPRIA. 2014
Como gerenciador de banco de dados foi utilizado o PHPMyAdmin, que permite
administrar dados do banco MySQL. A figura 8 demostra essa ferramenta.

Figura 8 Tela da ferramenta PHPMyAdmin
Fonte: PRPRIA. 2014
Para implementar o WebServer, que contm o banco de dados MySql, foi feito um
plano de hospedagem na empresa UolHost com servidor Linux, onde foram
desenvolvidas pginas Hypertext Preprocessor - PHP para receber e transmitir
informaes do banco aos mdulos nibus e usurio. Estes mdulos apenas

43

conseguem se comunicar com o banco atravs de retornos das pginas php, pois
Android at o momento da elaborao deste trabalho no suporta conexo com
outros bancos nativamente que no seja o SQLite. Devido a essa limitao optou-se
por esse tipo de transao de dados entre os mdulos nibus, usurio e o servidor
(GOOGLE, 2014).
Atravs do acesso e passagem de parmetros por uma Uniform Resource Locator -
URL nesse servidor, o mdulo nibus informa seu cdigo, latitude e longitudes
correntes. O servidor retorna ao mdulo uma resposta string positiva (caso a
insero ao banco tenha sido realizada com sucesso) ou negativa (caso contrrio).
Na figura 9 mostrado um trecho do cdigo PHP do servidor que responsvel pelo
cadastramento das coordenadas.

Figura 9 Trecho de cdigo PHP. Cadastro de Coordenadas
Fonte: PRPRIA. 2014
O aparelho utilizado para enviar os dados referentes ao veculo foi um celular da
marca Samsung modelo Galaxy Ace modelo S5830 com sistema Android Froyo
verso 2.3.6 que possui sistema GPS integrado, alm de tecnologia GPRS que
requisito para a implementao do sistema. Neste aparelho foi instalado o mdulo
nibus que, como j mencionado, responsvel pelo envio de coordenadas
geogrficas para um webser atravs da passagem de paramentos ao acessar
determinada url presente no servidor.

44

O mdulo usurio foi instalado em um tablet da marca Motorola modelo Xoom II
Media Edition MZ608 com sistema Android verso 4.0.4 que tambm possui servio
embutido de GPS, GPRS e Wifi. As APIs do Google Maps, elaboradas para esta
plataforma, tambm foram utilizadas para desenhar na tela o local, em tempo real,
onde o veculo se encontra, no mapa.
3.4 OPERACIONALIDADE DA IMPLEMENTAO

Na tela inicial exibida pela aplicao mdulo usurio so exibidos 4 botes, dos
quais nos atentaremos a falar sobre as principais funcionalidades. Logo destaca-se
o boto Buscar nibus. A figura 10 demostra essa tela.

45


Figura 10 Tela inicial mdulo usurio.
Fonte: PRPRIA. 2014
Ao selecionar o boto Buscar nibus a aplicao verifica se o usurio possui acesso
internet e, caso retorne verdade, ser redirecionado para uma segunda tela onde,
atravs do acesso a uma url retornada pelo servidor a lista de veculos
cadastrados. Na figura 11 podemos ver um trecho do cdigo Java, responsvel pela
requisio, junto ao servidor, de todos os nibus cadastrados.

46


Figura 11 Trecho de cdigo que faz requisio ao servidor
Fonte: PRPRIA. 2014
Como se pode observar, passado um paramento string contendo a url, que retorna
uma lista com os cdigos dos nibus cadastrados para uma classe chamada
HttpGetAsync. Esta classe estende outra classe denominada AsyncTask que
contm mtodos e rotinas que efetuam todo o processo em segundo plano,
prevenindo o travamento de tela do telefone, o que causa desconforto ao usurio
tendo em vista que, quando se trata de requisies HTTP, muitos problemas podem
ocorrer como demora na resposta do servidor, servio indisponvel, etc. Ao receber a
resposta do servidor ela deve ser tratada pois foi includa nela algumas estruturas
para diviso dos dados no momento da consulta ao banco. Por exemplo,
suponhamos que o sistema tenha 3 nibus cadastrados. Em retorno a essa consulta
por url, o servidor envia o seguinte formato de resposta: 0001#0002#0003#^. Isso foi
necessrio diante da incapacidade do Android promover consultas a bancos remotos

47

como foi dito antes. Assim, tivemos que tratar a resposta de forma a poder trabalhar
com elas separadamente dentro de uma estrutura de lista como o cdigo mostrou
em um lao de repetio. Com a lista pronta podemos preencher uma tabela visvel
ao usurio denominada ListView e adicionamos um evento OnToutch nesta lista que
dispara um mtodo onde sero requisitadas as coordenadas geogrficas do veculo
selecionado e, enfim, mostrar na tela, juntamente com API do Google Maps, um
cone caracterizando a real posio daquele nibus no intervalo de tempo de 1
minuto. A figura 12 demonstra a tela de escolha do veculo.

Figura 12 Tela de escolha do veculo a ser rastreado
Fonte: PRPRIA. 2014
Ao escolher o veculo desejado por toque na lista ou por busca no campo indicado
acima da lista, um mtodo disparado, o qual chama uma nova activity contendo a
API Google Maps e a chamada de uma outra url que busca no servidor as
respectivas coordenadas do nibus. Manipulando os objetos ofertados por essa API
possvel desenhar um cone na exata posio geogrfica que ser retornada por

48

essa nova consulta ao servidor. A seguir, na figura 13, um trecho do cdigo
demostra como feito o desenho deste cone a partir das coordenadas retornadas.

Figura 13 Cdigo que busca as coordenadas e desenha na tela.
Fonte: PRPRIA. 2014
Em posse dos pontos cardeais retornados a figura 13 demonstrou como marcar um
ponto no mapa ao mesmo tempo em que aplica um zoom e um movimento da
cmera para sempre acompanhar o veculo a medida que se move pela sua rota. Foi
usado uma thread para executar essas funes que, de 5 em 5 segundos, atualiza
as informaes do veculo caso essas estiverem sendo atualizadas naquele
momento. Em seguida a figura 14 demonstrada tela que mostra o nibus
desenhado no mapa.

49


Figura 14 Demonstrao de desenho do veculo no mapa
Fonte: PRPRIA. 2014
Caso o mdulo usurio possua sensor GPS integrado ao seu aparelho celular
Android, alm de visualizar o nibus no mapa, tambm demonstrada a sua
posio. Na figura 14 isso demostrado com o pequeno cone prximo ao canto
inferior esquerdo (crculo em azul). Com base nessa informao, implementou-se
outra funo que detecta quando o veculo desejado estra em um raio prximo ao
raio em que se encontra o usurio, alertando-o sobre a aproximao do nibus
selecionado. A figura 15 exemplifica essa situao na qual simulamos um veculo
apenas para demostrar as possibilidades de implementao que essa API nos
proporciona. O procedimento funcional e aqui iremos simular uma distncia de 100
metros entre o usurio e o veculo.

50


Figura 15 Demonstrao de alerta de aproximao de veculo.
Fonte: PRPRIA. 2014
Assim que o raio de 100 metros do ponto de origem do cone nibusSimulado
entrou em contato com o cone que representa a posio atual do usurio, um alerta
foi disparado, informando que o veculo simulado est prximo. O raio aqui foi
definido em 100 metros mas o usurio pode definir sob medida, dependendo de
suas necessidades, como por exemplo 1 quilmetro ou 100 quilmetros. Essa
tcnica foi desenvolvida de modo que funcione mesmo que o aparelho esteja em

51

modo de espera, livrando o usurio de verificar constantemente seu celular para
conhecer a posio do veculo esperado. Para avis-lo, foram implementados avisos
sonoros e vibratrios, alm da total execuo, em segundo plano, por meio de
threads e services.

52

4 CONSIDERAES FINAIS

O aumento significativo da populao fomenta problemas conhecidos atualmente,
tais como congestionamentos de veculo, falta de infraestrutura apropriada ao
trfego constante, alm dos atrasos nos servios de transporte pblico. Uma cidade
inteligente deve utilizar, de forma eficiente, tecnologias para tentar diminuir ou sanar
esses problemas.
Por esse motivo, neste trabalho foi realizado um estudo de viabilidade tecnolgica e
bibliogrfica para a elaborao de um sistema para plataformas mveis que seja
capaz de monitorar, em tempo real, a posio geogrfica dos nibus do transporte
coletivo. Com isso, tenta incentivar, de forma indireta, o uso de nibus para a
locomoo em cidades de mdio porte pois, para tanto, deve-se melhorar a
experincia dos usurios neste sistema de locomoo.
Para cumprir este objetivo, so utilizados sistemas GPS, GPRS e tablets ou
smarthphones, em que, atravs do GPS, um banco de dados povoado
constantemente com as posies geogrficas de cada veculo em transito. Esse
povoamento feito utilizando-se a tecnologia GPRS, que faz a comunicao entre
os sistemas instalados nos nibus e o servidor de banco que, por sua vez,
disponibiliza os dados recebidos para os dispositivos mveis dos usurios que,
atravs da API do Google Maps, visualizam em tempo real a posio dos veculos e
o tempo mdio para sua chegada at determinado ponto.
Os estudos mostraram que realmente possvel o desenvolvimento de sistema de
monitorao e, ainda, a um baixo custo sendo que, para sua implementao, no
seria necessria a distribuio de redes ou sensores por toda a cidade, tendo em
vista que, apenas os veculos a serem monitorados que devem conter um mdulo
que resgate sua posio GPS e transmita via GPRS, tecnologia que j est bem
disseminada em um grande nmero de cidades.
A documentao das APIs do Google Maps e Android disponibilizada pelo Google
para desenvolvedores oferece grande facilidade para implementao da ferramenta,
ainda que em ingls, sempre est atualizada e serve de suporte aos programadores.

53

Utilizando as tecnologias atuais de GPRS e com o GPS notou-se que possvel
manter um banco de dados atualizado sobre as reais posies dos veculos nas
cidades. Porm, na cidade onde testamos a aplicao (Montes Claros-MG), a
performance da rede GSM da operadora contratada mostrou-se ineficaz com vrios
pontos sem acesso rede, o que culminou na no atualizao dos dados. Porm,
com uma simples substituio de operadora o problema foi sanado.
Os servidores que prestaram servios para a aplicao em vrios momentos
demonstraram atrasos para exibio dos dados e, com relao a este quesito,
recomenda-se uma pesquisa a fim de determinar quais os servidores mais eficientes
para a realizao deste trfego de dados, uma vez que, para este trabalho no
foram utilizados servios mais dedicados. Recomenda-se ainda a verificao da
possibilidade de implementao deste trabalho no apenas para plataformas
mveis, mas tambm a construo de um website com as mesmas ou at mais
funcionalidades do mdulo usurio, descrito no captulo anterior, tendo em vista que
ainda existe uma grande parcela de potenciais clientes para o sistema que ainda
no possui computadores mveis.
Do ponto de vista acadmico, esse trabalho se mostrou de suma importncia para a
formao do autor, tanto pelo lado do conhecimento quanto profissional, pois a
programao para plataformas mveis est em ascenso e a juno das tecnologias
de sensores eletrnicos como sensor GPS, sensor de gases, luminosidade, etc.,
com essas plataformas constitui um grande leque de opes para o
desenvolvimento de outros projetos ou trabalhos cientficos com os mais variados
focos, sejam eles de cunho ambiental, acadmico, econmico etc.



54

REFERNCIAS BIBLIOGRFICAS



ABC71, Perspectiva (Org.). Da guerra ao cotidiano: conhea a histria do GPS.
Disponvel em: <http://www.abc71.com.br/boletim/2009/02/materia_03.html>. Acesso
em: 08 abr. 2014.

DEPARTAMENT OF DEFENCE, United States of America, Global Positioning
System Standard Positioning Service (2008), 4th ed.

EDUARDO JNIOR,; SEGUNDO, Alonso. Histrico dos Bancos de Dados.
Disponvel em:
<http://disciplinas.dcc.ufba.br/svn/MATA60/tarefa1/historico/historico.pdf?revision=21
> Acesso em: 20 abr. 2014.

FILHO, Wilson de Pdua Paula. Engenharia de Software: Fundamentos, Mtodos
e Padres. 2 Ed. Rio de Janeiro: LTC, 2003.

GONALVES, Eduardo Corra. SQLite, Muito Prazer! Disponvel em:
<http://www.devmedia.com.br/SQLite-Muito-Prazer/7100>. Acesso em: 08 abr. 2014.

GOOGLE INC.. What is Android? Disponvel em:
<http://developer.android.com/guide/basics/what-is-android.html>. Acesso em: 08
abr. 2014.

GOOGLE INC.. Android 4.1 Jelly Bean. Disponvel em:
<http://www.android.com/about/jelly-bean>. Acesso em: 18 abr. 2014.

GIL, Antnio Carlos. Como elaborar projetos de pesquisa. 4. ed. So Paulo: Atlas,
2008

MONICO, J.F.G. Posicionamento Pelo GNSS: Descrio, Fundamentos e
Aplicaes (Unesp, So Paulo, 2008).

MORIMOTO, Carlos E.. Smartphones: Guia Pratico. So Paulo: Gdh Press e Sul
Editores, 2009. 432 p.

ORACLE. The History of Java Technology. Disponvel em:
<http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-
198355.html>. Acesso em: 10 abr. 2014.

ORACLE. About the Java Technology. Disponvel em:
<http://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html>. Acesso
em: 10 abr. 2014.

ORACLE. The Java Virtual Machine. Disponvel em:
<http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-1.html>. Acesso em:
10 abr. 2014.


55

PIKE, John E. (Ed.). Navigation Technology Satellite. Disponvel em:
<http://www.globalsecurity.org/space/systems/timation.htm>. Acesso em: 11
abr. 2014.

PIROTTI, Rodolfo, P.; ZUCCOLOTTO, Marcos. Transmisso de dados atravs da
telefonia celular: arquitetura das redes GSM e GPRS. Revista Liberato. v.10.
n.13. p.81-89. Novo Hamburgo. jun. 2009. Disponvel em:
<http://www.liberato.com.br/upload/arquivos/0116070910470919.pdf>. Acesso em:
17 abr. 2014.

PRADO, Jean. A Histria do Android. Disponvel em:
<http://diariodoandroid.com.br/infografico/infografico-historia-android/7812/> Acesso
em: 22 abr 2014.

THE WHITE HOUSE, Global Positioning System Policy, Office of Science and
Technology Policy. National Security Council Embargoed for Release on March
29, 1996. Disponvel em: <http://www.navcenter.org/gps/geninfo/default.htm >.
Acesso em: 15 Abr 2014.
TAURION, CEZAR. Tecnologia, uma opo inteligente para melhorar a vida
urbana. Disponvel em: <http://www.portal2014.org.br >. Acesso em: 15 Nov 2013.

VORGEL, Lars. Android SQLite Database and ContentProvider Tutorial.
Disponvel em <http://www.vogella.com/articles/AndroidSQLite/article.httml>. Acesso
em: 18 Abr. 2014.

SVERZUT, Jos Umberto. Rede GSM, GPRS, EDGE e UMTS. So Paulo: Editora
Afiliada, 2005.

You might also like