Gerenciamento do processo de abastecimento de veículos através

Propaganda
GERENCIAMENTO DO PROCESSO DE
ABASTECIMENTO DE VEÍCULOS ATRAVÉS
DE UM DISPOSITIVO MÓVEL
Ricardo Koball
Orientador: Marcel Hugo
ROTEIRO

Introdução:


Fundamentação teórica:






Rede social;
Android;
Geolocalização;
REST;
Trabalhos correlatos.
Desenvolvimento da ferramenta:






Objetivos do trabalho.
Requisitos;
Especificação;
Implementação;
Operacionalidade da ferramenta;
Resultados e discussão.
Conclusão:

Extensões.
INTRODUÇÃO





Quantidade de smartphones e veículos vem
crescendo a cada ano no país.
Expectativa: tarefas automatizadas.
As pessoas realizam o processo de abastecimento
de maneiras diferentes.
Ter uma maneira de auxiliar no processo pode
poupar tempo e dinheiro do usuário.
Compartilhamento de informações sobre os
preços de combustível favorece a criação de uma
rede social.
OBJETIVOS

O objetivo deste trabalho é desenvolver uma aplicação
móvel para auxiliar a tarefa de reabastecimento de
combustível em veículos automotivos de um usuário.

Objetivos específicos:

Base de dados para armazenar os dados dos usuários.

Webservice para ler e gravar na base de dados.

Aplicativo na plataforma Android que permite ao usuário
visualizar e fornecer informações para a rede social.

Serviço que atualiza os dados no dispositivo.
REDE SOCIAL

São muito mais antigas que a Internet.

De acordo com Henrik (2010), “as redes sociais
são responsáveis pelo compartilhamento de ideias
entre pessoas que possuem interesses e objetivos
em
comum
e
também
valores
compartilhados”.

Compartilhamento de informações:

Preços dos combustíveis;

Avaliações dos postos de combustível.
a
serem
ANDROID

A plataforma Android é um pacote completo para
dispositivos
móveis,
incluindo
um
sistema
operacional, um middleware e aplicações básicas para
a utilização do sistema.

Uma aplicação pode ser composta por diversos
componentes:

Activity (atividades);

Service (serviços).
COMPONENTES

Activity: representa uma tela da aplicação.

Service: é executado em segundo plano, sem a
interação do usuário.

Utilizado para executar tarefas periódicas.
ASYNC TASK

A thread principal do aplicativo é responsável por
atualizar os componentes visuais das interfaces.

Tarefas que exigem alguns segundos/minutos
para serem executadas.
GEOLOCALIZAÇÃO

Criação do Global Positioning System (GPS),
tornou possível determinar a geolocalização de
forma rápida e precisa.

Dispositivos móveis modernos possuem GPS.

Aplicações podem utilizá-lo para determinar a
localização do dispositivo.
SERVIÇOS BASEADOS EM LOCALIZAÇÃO

Segundo Morais (2011), serviços que têm como
objetivo
fornecer
informações
relevantes
ao
usuário, de acordo com o local que ele está no
momento, são chamados de Serviços Baseados em
Localização.

Foursquare: rede social onde o usuário pode
indicar onde está no momento, além de escrever
sua opinião sobre determinado local.
GEOLOCALIZAÇÃO NO ANDROID


Localização pode ser obtida através:
 Triangularização de satélites GPS;
 Torres de telefonia móvel;
 Base de dados de pontos de acesso Wi-Fi.
LocationManager:
 getLastKnownLocation:
Retorna a ultima localização
conhecida.
 requestLocationUpdates:
Recebe atualizações de localização
entre certos períodos de tempo e distância.


Location: localização geográfica (lat. / long.)
Address: endereço textual (logradouro, bairro...)
SERVIÇOS DA WEB DA API DO GOOGLE
MAPS

Fornece serviços da web que permitem que
serviços externos solicitem dados de sua API.

Requisição HTTP.

Resposta nos formatos JSON e XML.

Serviços mais utilizados:

Geocoding API: geocodificação e geodecodificação;

Distance Matrix API: distância e tempo de deslocamento
entre locais;

Directions API: rotas entre locais.
REPRESENTATIONAL STATE TRANSFER REST

De acordo com Jones (2012), REST “é um estilo de
arquitetura para comunicação baseada na web que permite
aos clientes conversarem com os servidores de maneira
única”.

Utilizam o protocolo HTTP em conjunto com suas operações
GET, POST, DELETE e PUT para enviar e receber dados
do servidor.

Cada recurso fornecido deve possuir um identificador único,
chamado de Universal Resource Indicators (URI).
BIBLIOTECA JERSEY




Java determina seu suporte à arquitetura REST
através da especificação Java Specification
Request (JSR) 311.
Jersey implementa esta especificação.
Utiliza um servlet para verificar todas as
requisições e determinar qual método deve
responder a requisição.
Anotações para configurar os recursos.
TRABALHOS CORRELATOS

Proteste Postos:

aplicativo para iOS e Android;

lista com postos próximos;

localizar posto através de um mapa;

traçar rota até determinado posto;

boa credibilidade;

informações desatualizadas.

informações disponibilizadas pela Agência Nacional
de Petróleo, gás natural e biocombustíveis (ANP).
TRABALHOS CORRELATOS


Meu combustível: site que apresenta um mapa
com os postos de combustível da região
pesquisada.
Ferramenta Android baseada em realidade
aumentada e serviços baseados em localização
usando notificações (Rampelotti):
auxiliar os acadêmicos em suas atividades
acadêmicas;
 utiliza SBL para informar ao usuário que ele está
próximo a um evento.

REQUISITOS

Principais Requisitos Funcionais:

posto possui a melhor razão entre custo e benefício;

lista dos postos de combustível mais próximos;

mapa da região onde o usuário está;

trajeto até determinado posto de combustível;

estimativa calculada com dados sobre o consumo;

apresentar comentários e avaliações de usuários;

permitir avaliar e comentar sobre um posto;

sincronizar os dados entre o aplicativo e servidor;
ESPECIFICAÇÃO

Casos de uso:

Usuário.
ESPECIFICAÇÃO

Casos de uso:

Dispositivo.
ESPECIFICAÇÃO

Diagrama de pacotes do servidor.
IMPLEMENTAÇÃO

Ferramentas:

Eclipse Juno 4: ambiente de desenvolvimento.

SDK 17: plataforma Android.

Biblioteca Jersey: criar recursos no webservice.

Hibernate: salvar dados no banco de dados do
webservice.

SGBD MySQL 5.5: armazenar dados do webservice.
IMPLEMENTAÇÃO

Utilizado:

SQLite para salvar no banco de dados do aplicativo.

Atividades para criar as telas.

LocationManager: obter atualização de localização.

Serviços web da Google Maps API: geocodificação,
distância e rota de trajeto.

AsynkTask: enviar requisição aos serviços web.
OPERACIONALIDE DA FERRAMENTA

Funções: Quero abastecer e Mapa.
RESULTADOS E DISCUSSÃO

Intervalos entre atualização da localização.
Consumo de
dados (em KBs)
Intervalo em
metros
Intervalo
em minutos
Quantidade
total de
requisições
2320
50
1
580
1008
50
30
252
980
50
60
245
1840
100
1
460
528
100
30
132
500
100
60
125
248
300
30
62
96
1000
30
24
RESULTADOS E DISCUSSÃO

Teste da funcionalidade de estimativa calculada.
Quilometragem real
Quilometragem
Data
estimada
48841
48841
01/04/2013
48960
48948
08/04/2013
49055
49050
15/04/2013
49182
49156
22/04/2013
49294
49288
29/04/2013
49392
49400
05/05/2013
CONCLUSÃO

Objetivo principal do trabalho foi alcançado.

Aplicativo para dispositivo móvel mostrou-se ser uma
decisão acertada.

Plataforma Android mostrou-se ser sólida.

O conceito de REST, permitiu que a implementação
do webservice fosse realizada de maneira simples.

Hibernate: poupou horas de desenvolvimento.

Google Maps API: mostrou-se ser eficiente e de fácil
entendimento.
EXTENSÕES

Melhorar o mecanismo de confiabilidade.

Considerar avaliações dos usuários ao indicar o
posto com o melhor custo-benefício.

Sincronizar
os
dados
com
o
servidor
posteriormente, caso não esteja conectado.

Diminuir o consumo de dados:

Menos requisições aos serviços web da Google Maps
API;

Melhorar sincronização entre aplicativo e servidor.
Download