Uso de Bluetooth Smart e de aplicações móveis para ... de... · Glossário Beacon...
Transcript of Uso de Bluetooth Smart e de aplicações móveis para ... de... · Glossário Beacon...
Mestrado em Engenharia InformticaEstgioRelatrio Final
Uso de Bluetooth Smart e deaplicaes mveis para melhorara experincia de compra dentro desuperfcies comerciais
Joo Silva [email protected]
Orientadores:
Professor Doutor Rui Pedro PaivaEngenheiro Rafael Jegundo
Data: 2 de Setembro de 2015
Mestrado em Engenharia InformticaEstgioRelatrio Final
Uso de Bluetooth Smart e deaplicaes mveis para melhorara experincia de compra dentro desuperfcies comerciais
Joo Silva [email protected]
Jri:
Professora Doutora Marlia CuradoProfessor Doutor Rui Pedro PaivaEngenheiro Lus Filipe Cordeiro
Data: 2 de Setembro de 2015
Resumo
Os sistemas de localizao tm evoludo ao longo dos anos. Triangulao de
antenas, uso de sistema de posicionamento global (global positioning system ou
GPS) e outras tecnologias tm sido desenvolvidas para indicar, com preciso, a
localizao do utilizador. O problema destas solues a sua ineficcia dentro
de edifcios.
Com a proliferao dos smarthpones, a localizao dentro de edifcios tornou-se
ainda mais relevante. Para solucionar este problema, vrias tecnologias foram
desenvolvidas, aparecendo os beacons usando bluetooth como uma soluo v-
lida e de baixo custo para solucionar este problema.
Nesta dissertao exposto o desenvolvimento de um sistema que tira partido
desta tecnologia para auxlio de clientes de grandes espaos comerciais. Com
este propsito tem-se por objetivo criar um sistema capaz de indicar com preci-
so a localizao de determinado produto, bem como indicar um caminho que
o utilizador deve percorrer para conseguir recolher todos os produtos presentes
na sua lista de compras.
Este documento demonstra o desenvolvimento de uma das aplicao deste sis-
tema, que responsvel por realizar localizao dentro de edifcio, com uma
margem de erro mdia de aproximadamente 1 metro, e capaz de gerar o per-
curso mais curto, com uma margem de erro mdia de 9.01% em relao ao
percurso timo.
Com esta dissertao pode-se concluir que possvel criar um sistema de baixo
custo suficientemente eficaz para guiar um utilizador dentro de um espao
fechado.
i
ii
Abstract
Location systems have evolved over the years. Triangulation of GSM signals,
Global Positioning System and other technologies had been developed in order
to indicate accurately the location of the user. The problem with these kind
of solutions is their ineffectiveness inside buildings.
With the proliferation of smartphones, the indoor location has become even
more important. To solve this problem, various technologies have been deve-
loped as the bluetooth beacons. This technology is a valid and cost-effective
solution to solve this problem.
In this dissertation is exposed the development of a system that takes advan-
tage of bluetooth beacons in order to Enhanced Shopping Experience. For this
purpose it was designed a system capable of accurately indicate the location of
a particular product and generate and indicate the path that the user should
follow in order to collect all the products present on users shopping list.
This document shows the development of one of the applications of this system,
responsible for estimate the location of the user within the building, with an
average error of near 1 meter and is able to generate the shortest route with a
average margin of error of 9.01% over the best route.
With this dissertation can be concluded that it is possible to create a effective
low cost system to guide a user inside a building.
iii
iv
Agradecimentos
Este trabalho foi desenvolvido com a orientao do Professor Doutor Rui Pedro
Paiva e pelo Engenheiro Rafael Jegundo, a quem gostaria de expressar os
meus mais sinceros agradecimentos, pela presena e apoio dados. Gostaria
tambm de deixar uma palavra de apreo ao Professor Doutor Lus Paquete,
que apesar no estar ligado a este projeto auxiliou-me numa fase importante
deste trabalho.
Whitesmith por contribudo para minha formao profissional, apostando
em mim e por mais tarde darem-me a oportunidade de realizar este estgio.
Aos meus amigos e colegas, que me brindaram e apoiaram ao longo destes
anos. Em particular gostaria de agradecer a Goncalo Dias, Pedro Carmona e
Lus Ramos por terem sempre presentes para todas as ocasies.
E aos meus pais, pelo apoio, compreenso e carinho incondicional que sempre
me deram.
v
vi
ndice
Resumo i
Abstract i
Agradecimentos v
Lista de Tabelas xii
Lista de Figuras xv
Glossrio xvii
Lista de Abreviaturas xix
1 Introduo 1
1.1 Contextualizao . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Aplicaes Mveis In-Store . . . . . . . . . . . . . . . . . 3
1.2 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Objetivos e Abordagens . . . . . . . . . . . . . . . . . . . . . . 4
vii
viii NDICE
1.4 Contribuies Principais . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . 6
2 Estado da Arte 8
2.1 Estado atual das aplicaes dos hipermercados . . . . . . . . . . 8
2.2 Algoritmos de Localizao . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 Laterao ou Lateration . . . . . . . . . . . . . . . . . . 14
2.2.2 Cell Based . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 Fingerprinting . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.4 Angulao . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.5 Dead reckoning . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Tecnologias capazes de localizar smartphones dentro de edifcios 19
2.3.1 Magnetmetro . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.2 Near Field Communication (NFC) . . . . . . . . . . . . 20
2.3.3 Rede de telecomunicaes . . . . . . . . . . . . . . . . . 21
2.3.4 Giroscpio e Acelermetro . . . . . . . . . . . . . . . . . 21
2.3.5 Sensor de Imagem . . . . . . . . . . . . . . . . . . . . . . 23
2.3.6 Wi-Fi e Bluetooth . . . . . . . . . . . . . . . . . . . . . 23
2.3.7 Anlise das tecnologias . . . . . . . . . . . . . . . . . . . 27
2.4 Sistemas Relacionados . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1 Senionlab . . . . . . . . . . . . . . . . . . . . . . . . . . 29
NDICE ix
2.4.2 Indoors . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.3 Quuppa . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.4 StoreMode . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.5 aisle411 . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Desenvolvimento de Aplicaes Mveis . . . . . . . . . . . . . . 32
3 Metodologia e Planeamento 40
3.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 Planeamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.1 Primeiro Semestre . . . . . . . . . . . . . . . . . . . . . 42
3.2.2 Segundo Semestre . . . . . . . . . . . . . . . . . . . . . . 44
4 Requisitos 46
4.1 Stakeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2 Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.3 Requisitos Funcionais . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4 Requisitos No Funcionais . . . . . . . . . . . . . . . . . . . . . 61
4.4.1 Atributos de qualidade . . . . . . . . . . . . . . . . . . . 61
4.4.2 Restries . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5 Arquitetura do Sistema 66
5.1 Vista de Alto nvel . . . . . . . . . . . . . . . . . . . . . . . . . 67
x NDICE
5.2 Arquitetura da Aplicao de Gesto da Lista de Compras . . . . 69
5.3 Arquitetura da Aplicao de Guia dos Clientes . . . . . . . . . . 70
5.4 Arquitetura da Aplicao dos Funcionrios . . . . . . . . . . . . 73
5.5 Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6 Implementao 75
6.1 Aplicao Mvel . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.2 Linguagem de Programao . . . . . . . . . . . . . . . . . . . . 77
6.3 Mdulo de mapeamento . . . . . . . . . . . . . . . . . . . . . . 78
6.3.1 Gerar o Mapa . . . . . . . . . . . . . . . . . . . . . . . . 78
6.3.2 Mapear produtos . . . . . . . . . . . . . . . . . . . . . . 78
6.3.3 Grafo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.4 Mdulo de Localizao . . . . . . . . . . . . . . . . . . . . . . . 80
6.4.1 Decises . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4.2 Implementao da Laterao . . . . . . . . . . . . . . . . 83
6.4.3 Otimizao . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.5 Mdulo de Navegao . . . . . . . . . . . . . . . . . . . . . . . 90
6.5.1 Introduzir produtos no grafo . . . . . . . . . . . . . . . . 90
6.5.2 Ordem a recolher os produtos . . . . . . . . . . . . . . . 92
6.5.3 Gerao do percurso . . . . . . . . . . . . . . . . . . . . 94
6.5.4 Otimizao do percurso . . . . . . . . . . . . . . . . . . 96
NDICE xi
6.5.5 Guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.5.6 Funcionamento . . . . . . . . . . . . . . . . . . . . . . . 101
6.6 Mdulo de comunicao . . . . . . . . . . . . . . . . . . . . . . 103
6.6.1 Comunicao com outra aplicao . . . . . . . . . . . . . 103
6.6.2 Comunicao com o servidor . . . . . . . . . . . . . . . . 104
6.6.3 Gesto de dados . . . . . . . . . . . . . . . . . . . . . . . 108
6.7 Testes ao sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.7.1 Inicializao . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.7.2 Lista de compras . . . . . . . . . . . . . . . . . . . . . . 111
6.7.3 Mapeamento . . . . . . . . . . . . . . . . . . . . . . . . 112
6.7.4 Navegao . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7 Concluso e Trabalho Futuro 115
7.1 Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.2 Trabalho Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Referncias 118
A Estado da Arte 126
B Diagramas de Gant Detalhados 140
Lista de Tabelas
2.1 Estado da arte das aplicaes de grandes superfcies . . . . . . . 13
2.2 Analise das tecnologias capazes de localizar smartphones dentro
de edifcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Comparao entre o sistema ailse411 e Whitesmith . . . . . . . 32
2.4 Aplicaes Nativas vs Multi-plataforma vs Web . . . . . . . . . 39
4.1 Stakeholders - Descrio e Responsabilidades . . . . . . . . . . . 47
6.1 Comparao entre a Laterao e Fingerprinting . . . . . . . . . 83
6.2 Resposta json para cada superfcie comercial . . . . . . . . . . . 105
6.3 Resposta json para cada mapa . . . . . . . . . . . . . . . . . . . 106
6.4 Resposta json para prateleiras . . . . . . . . . . . . . . . . . . . 106
6.5 Resposta json para beacons . . . . . . . . . . . . . . . . . . . . 107
6.6 Resposta json para o grafo . . . . . . . . . . . . . . . . . . . . . 107
6.7 Resposta json para produtos . . . . . . . . . . . . . . . . . . . . 108
A.1 Anlise da aplicao Continente . . . . . . . . . . . . . . . . . . 128
xii
A.2 Anlise da aplicao Auchan . . . . . . . . . . . . . . . . . . . . 129
A.3 Anlise da aplicao Intermarch . . . . . . . . . . . . . . . . . 129
A.4 Anlise da aplicao Tesco Groceries . . . . . . . . . . . . . . . 130
A.5 Anlise da aplicao Walmart . . . . . . . . . . . . . . . . . . . 131
A.6 Anlise da aplicao ASDA . . . . . . . . . . . . . . . . . . . . 132
A.7 Anlise da aplicao Sainsburys . . . . . . . . . . . . . . . . . . 133
A.8 Anlise da aplicao Lidl . . . . . . . . . . . . . . . . . . . . . . 134
A.9 Anlise da aplicao Kroger . . . . . . . . . . . . . . . . . . . . 135
A.10 Anlise da aplicao Costco . . . . . . . . . . . . . . . . . . . . 136
A.11 Anlise da aplicao fnac.pt . . . . . . . . . . . . . . . . . . . . 137
A.12 Anlise da aplicao Ikea . . . . . . . . . . . . . . . . . . . . . . 138
A.13 Anlise da aplicao Toys R Us . . . . . . . . . . . . . . . . . 139
xiii
xiv
Lista de Figuras
2.1 Funcionamento do mtodo Laterao [1] . . . . . . . . . . . . . 15
2.2 Um Recetor que est no alcance dos beacons B,C e D mas no
de A e E deve estar localizado na regio sombreada[2] . . . . . . 16
2.3 Posicionamento baseado na angulao [3] . . . . . . . . . . . . . 17
2.4 Funcionamento do algoritmo Dead reckoning [4] . . . . . . . . . 18
2.5 Uso de beacons [5] . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Informao enviada em cada pacote . . . . . . . . . . . . . . . . 26
3.1 Diagrama de Gant inicial relativo ao primeiro semestre . . . . . 43
3.2 Diagrama de Gant final relativo ao primeiro semestre . . . . . . 43
3.3 Diagrama de Gant planeado para o segundo semestre . . . . . . 44
3.4 Diagrama de Gant real do segundo semestre . . . . . . . . . . . 44
5.1 Arquitetura de alto nvel do sistema . . . . . . . . . . . . . . . . 67
5.2 Arquitetura da aplicao da lista de compras . . . . . . . . . . . 69
5.3 Arquitetura de alto nvel da aplicao de guia dos clientes . . . 70
xv
5.4 Arquitetura detalhada da aplicao de guia dos clientes . . . . . 71
5.5 Arquitetura do sistema da aplicao dos funcionrios . . . . . . 73
6.1 Grafo do local . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2 Triangulao vs Multilatereo [6] . . . . . . . . . . . . . . . . . 84
6.3 Teste 1 - Exatido . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.4 Teste 2 - Exatido . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.5 Teste 1 - Preciso . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.6 Teste 2 - Preciso . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.7 Posio do utilizador no grafo . . . . . . . . . . . . . . . . . . . 90
6.8 Adicionar produto no grafo . . . . . . . . . . . . . . . . . . . . . 92
6.9 Pseudocdigo do Algoritmo A* . . . . . . . . . . . . . . . . . . 95
6.10 Cenrio 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.11 Cenrio 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.12 rvore de deciso do guia de navegao . . . . . . . . . . . . . . 99
6.13 Fluxo dos mtodos do guia de navegao . . . . . . . . . . . . . 102
6.14 Aplicao no guia de navegao . . . . . . . . . . . . . . . . . . 103
6.15 Diagrama entidade-relao da base de dados da aplicao do
guia dos clientes . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.1 Diagrama de Gant planeado para o segundo semestre (detalhado)141
B.2 Diagrama de Gant real do segundo semestre (detalhado) . . . . 142
xvi
Glossrio
Beacon Um Beacon um dispositivo que eletrnico que emite um sinal peri-
dico ou continuo. O conceito de beacon usado em diferentes contextos
na rea de informtica, sendo normalmente usados em sistemas de po-
sicionamento, sendo que cada beacon se encontra num ponto conhecido
(ponto ncora), o que permite estimar a posio do recetor..
Internet of Things A International Telecommunication Union define a In-
ternet of things como sendo uma infraestrutura global para a sociedade
da informao, permitindo servios avanados atravs da interligao
(fsica e virtual) de coisas baseadas na interoperabilidade existente e em
evoluo da informao e comunicao. [7] .
UI Kit A UI Kit uma framework que permite auxiliar o programador a
desenhar views e as reagir s suas aes. Esta framework composta
por vrios tipos de componentes (Views) para fins especficos, como a
UITextField no iOS, que permite ao utilizador introduzir texto, ou a
UIWebView que capaz de interpretar cdigo HTML, CSS e JavaScript
gerado atravs de um servidor externo ou no prprio dispositivo. Cada
uma destas views capaz de reagir a eventos do utilizador, contendo
respostas predefinidas, como mostrar automaticamente o teclado, caso
essa view permita a introduo de texto. Caso pretendido, tanto os
eventos como o layout de cada view podem ser personalizados.
xvii
UIView UIView uma view, que pode conter vrios tipos de subviews. O
utilizador capaz de interagir com esta, sendo que cada interao gera
um evento que podem ser tratado pelo programador.
xviii
Lista de Abreviaturas
AP Access Point .
API Application Programming Interface.
BLE Bluetooth Smart ou Bluetooth Low Energy .
DNS Domain Name System.
GPS Global Positioning System ou Sistema de Posicionamento Global.
IOT Internet of Things .
IRR Inquiry Response Rate.
JSON JavaScript Object Notation.
LQ Link Quality .
LSD Lean Software Development .
NFC Near Field Communication.
RSSI Received Signal Strength Indication.
SDK Software Development Kit ou Kit de Desenvolvimento de Software.
TI tecnologia de informao.
xix
UI User Interface.
UID Unique identifier .
URL Uniform resource locator .
VCS Version Control System.
XML eXtensible Markup Language.
xx
Captulo 1
Introduo
Este documento expe o estudo e desenvolvimento do projeto proposto pela
empresa Whitesmith, Lda que se enquadrou com a realizao do estgio cur-
ricular do Mestrado em Engenharia Informtica. Este foi supervisionado pelo
Mestre Rafael Jegundo, CEO da Whitesmith, Lda, e pelo Professor Doutor
Rui Pedro Paiva.
Este captulo introdutrio est dividido em quatro seces. Na primeira seco
exposta uma contextualizao do trabalho. Na segunda seco explicado o
propsito da realizao deste projeto. Na terceira realizada uma sntese dos
objetivos e da abordagem ao desafio. No quarta seco realizada uma sntese
das contribuies do principais deste trabalho. Por fim, na ltima seco
explicado o propsito dos captulos seguintes deste documento.
1
2 Captulo 1. Introduo
1.1 Contextualizao
Apesar de no haver uma definio concreta de smartphone podemos conside-
rar que um dispositivo capaz de realizar o mesmo que um telemvel, como
por exemplo realizar chamadas, mas tambm realizar funes avanadas que
apenas computadores eram capazes de o fazer [8][9]. No fundo, so telemveis
com elevado poder de processamento e com sistemas operativos complexos.
Ao longo dos ltimos anos estes dispositivos tiveram uma grande evoluo.
Foram aumentando cada vez mais o seu poder de processamento, foram ad-
quirindo novas funcionalidades e substituindo outros equipamentos eletrnicos
(mquinas pessoais fotogrficas e de filmar, sistemas de navegao, entre ou-
tros), tornando-se cada vez mais num dispositivo multiusos. Por sua vez as
redes mveis foram acompanhando as necessidades, evolues e desafios destes
dispositivos aumentando cada vez mais as velocidades de acesso Internet,
tornando-os nos dispositivos mais utilizados pelas pessoas para a utilizao
desta em vrios pases [10] [11]. Uma vez que os sistemas operativos destes
dispositivos esto abertos a programadores externos, milhares de aplicaes
so desenvolvidas anualmente, para todo o tipo de funes [12]. Com isto,
estes dispositivos foram adquirindo cada vez mais consumidores, estando atu-
almente presentes na Europa e nos Estados Unidos da Amrica, em 3/5 da
populao.[13][14] portanto um mercado muito importante na rea da tec-
nologia de informao (TI). Para as empresas produtoras de dispositivos ele-
trnicos, estas tentam entrar ou aumentar o seu mercado. Para as empresas de
software compete-lhes diferenciar as suas aplicaes das inumeras atualmente
existentes.
1.2. Motivao 3
1.1.1 Aplicaes Mveis In-Store
Segundo a Google Shopper Marketing Agency Council, 79% dos utilizadores
de smartphones nos Estados Unidos da Amrica utilizam-nos para auxiliar as
compras que realizam, o que eles designam por smartphone shoppers. Desse
grupo, 84% utilizam os seus dispositivos dentro das lojas para auxlio das suas
compras [15]. As superfcies comerciais podem tirar proveito desta utilizao
de forma melhorar a experincia dos clientes dentro das suas lojas. Aplicaes
deste tipo para alm de ajudarem a melhorar as vendas, aumentam a relao
entre o consumidor e a marca, tornando-os assim mais fiis [16].
1.2 Motivao
Com a introduo dos smartphones foram criados novos paradigmas no comr-
cio. Instituiu-se a cultura "Theres an App for That", isto , os utilizadores
comearam a usar e preferir aplicaes em vez de websites. Se at ento era
essencial para uma marca ter um website, agora tm de se adaptar e abra-
ar esta nova plataforma. Devido ao facto de milhes de aplicaes estarem
disponveis atualmente, necessrio criar aplicaes que se diferenciem, sendo
inovadoras e indo de encontro s necessidades do consumidor.
O facto dos utilizadores de smartphones j estarem habituados a usar o seu
pequeno computador dentro de superfcies comerciais deve ser canalizado para
melhorar a sua experincia. Estudos indicam que 87% destes utilizadores gos-
tariam de poder aceder ao mapa destas superfcies de forma a auxili-los a
localizar produtos [17].
Observando as aplicaes das grandes superfcies comerciais atualmente exis-
4 Captulo 1. Introduo
tentes, so poucas as que permitem realizar esta tarefa. Por isso, a Whitesmith
e o estagirio decidiram abraar o desafio destes utilizadores desenvolvendo um
sistema que, alm de indicar a posio dos produtos, capaz de indicar como
chegar at eles, bem como criar um percurso timo, baseado na lista de com-
pras de cada utilizador, que minimize o tempo despendido nas superfcies de
elevada dimenso.
1.3 Objetivos e Abordagens
Os objetivos deste trabalho podem ser divididos em trs partes importantes:
Estgio, cujo objetivo principal o ganho de experincia e conhecimento
por parte do estagirio;
Empresa, cujo objetivo principal validar as potencialidades do Blueto-
oth Smart ou Bluetooth Low Energy (BLE);
Projeto, que corresponde implementao de um sistema que auxilie os
clientes dos hipermercados.
Estgio
Do ponto de vista do estgio, os objetivos passam pela consolidao dos co-
nhecimentos de engenharia de software, a capacidade de enfrentar e resolver
problemas/desafios e aprender e dominar a programao de aplicaes para o
sistema operativo mvel iOS.
1.3. Objetivos e Abordagens 5
Empresa
AWhitesmith foca os seus recursos na rea da Internet of Things (IOT), consi-
derando assim importante validar as potencialidades do BLE. Como empresa,
do seu interesse criar um produto que seja uma mais valia no mercado, o que
levou alterao do projeto inicial. Essa alterao permitiu a criao de um
produto mais diferenciador no mercado do que o inicialmente proposto.
Projeto
Do ponto de vista do projeto, o objetivo criar um sistema que auxilie os
clientes dos hipermercados na realizao das suas compras. Para isso, tira-se
partido de uma tecnologia recente, mais concretamente o BLE que, indireta-
mente, permite a localizao dentro de edifcios.
Este sistema constitudo por 3 aplicaes mveis:
Aplicao de gesto de lista de compras. Esta aplicao tem o objetivo
de permitir ao utilizador a criao da sua lista de compras;
Aplicao de guia dos clientes, que ser usada pelos clientes dentro da
superfcie comercial. Permite indicar o local onde se encontram os pro-
dutos que esto na lista de compras, sendo capaz de criar um percurso
de forma a minimiza-lo;
Aplicao dos funcionrios. Durante a reposio do stock, os funcionrios
devero usar esta aplicao para indicar ao sistema o local onde cada
produto se encontra.
6 Captulo 1. Introduo
Sendo este um sistema complexo, o estagirio apenas responsvel pela apli-
cao de guia dos clientes, devido ao facto de ser a aplicao fulcral e mais
complexa deste sistema. Foi pedido ao estagirio para ser generalista na sua
implementao, de forma a ser facilmente adaptvel a outros contextos.
1.4 Contribuies Principais
Este projeto demonstra que possvel criar sistemas de localizao dentro de
edifcios, suficientemente eficazes para guiar utilizadores dentro de um local
fechado, usando tecnologias atuais de baixo custo.
Neste documento descrito como foi possvel estimar a posio do utilizador
com uma margem de erro de 1 metro usando BLE, validando esta tecnologia
como uma boa soluo neste contexto.
De forma a tentar minimizar os problemas resultantes desta margem de erro
demonstrado um mecanismo que tira partido do mapa da superfcie de forma
a garantir a validade da posio estimada do utilizador.
tambm demonstrado um processo capaz de gerar o percurso mais curto em
tempo real. Este percurso tem algumas limitaes, devido elevada complexi-
dade de gerar um percurso timo. Por esta razo mostrado um mecanismo,
que gera o percurso mais curto com base na heurstica, sendo este em mdia
9.01% maior que o percurso timo.
1.5 Estrutura do Documento
O documento est dividido nos seguintes captulos:
1.5. Estrutura do Documento 7
Introduo No primeiro captulo, foram descritos o contexto, a moti-
vao e os objetivos do estgio;
Estado da Arte No segundo captulo, so estudadas as aplicaes das
superfcies comerciais atualmente existentes no mercado, sistemas seme-
lhantes ao proposto e tecnologias para localizao dentro de edifcios;
Metodologia e Planeamento No terceiro captulo, descrita a meto-
dologia usada neste projeto e o planeamento deste;
Requisitos No quarto captulo so definidos os requisitos funcionais e
no funcionais do sistema;
Arquitetura No quinto captulo, mostrada e defendida a arquitetura
do sistema;
Implementao No sexto captulo, documentada a implementao e
os testes realizados;
Concluso No ltimo captulo, realizada uma sntese e anlise critica
deste documento.
Captulo 2
Estado da Arte
2.1 Estado atual das aplicaes dos hipermerca-
dos
Para validar o valor de mercado que o sistema possa vir a ter, foram analisadas
13 aplicaes de grandes superfcies (ver anexo A).
Neste captulo so destacadas trs dessas aplicaes, a do Continente, Walmart
e Tesco Groceries, apresenta-se uma tabela de resumo das aplicaes analisadas
e faz-se uma breve reflexo sobre elas. Foram destacadas estas aplicaes uma
vez que conseguem generalizar as aplicaes atualmente existentes no mercado.
Os dados do nmero de downloads provm do servio xyo.net, que estima
este valor, e os do nvel de satisfao provm da Apple Store e Google Play
(informao extrada em Novembro de 2014).
8
2.1. Estado atual das aplicaes dos hipermercados 9
Continente
O Continente um dos maiores hipermercados portu-
gueses que pertence ao grupo Sonae. O principal foco
desta aplicao o auxlio dos seus mais de trs mi-
lhes de utilizadores que tm um carto da marca [18].
As principais funcionalidades so:
Visualizao do valor que o cliente tem em carto, cupes de desconto e
ltimas compras efetuadas (funcionalidades exclusivas para clientes com
carto de cliente);
Criao de listas de compras;
Pesquisa de um produto pelo seu cdigo de barras;
Alguns detalhes de produtos;
Visualizar os folhetos do estabelecimento;
Pesquisa do estabelecimento mais prximo do utilizador.
Nmero de downloads :
192 mil no sistema operativo Android;
55 mil no sistema operativo iOS.
Satisfao na Apple Store: 4 em 5 (verso 2.1.11)
Satisfao na Google Play: 3.9 em 5
10 Captulo 2. Estado da Arte
Tesco Groceries
Tesco Groceries uma aplicao mobile que pertence
Tesco Stores Ltd. sediada no Reino Unido. Foi desen-
volvida para ser usada nas mais de 3300 lojas presentes
no Reino Unido [19]. Enquanto a aplicao do Conti-
nente est mais orientada para os clientes com cartes
da marca, esta aplicao est mais otimizada para com-
pras online. As suas principais funcionalidades so:
Pesquisa pelo estabelecimento mais prximo (apenas atravs de cdigo
postal);
Mostrar as compras habituais;
Pesquisa de produtos por cdigo de barras;
Envio dos produtos para a morada ou recolha dos produtos pelo cliente.
Nmero de downloads :
2 milhes no sistema operativo Android;
658 mil no sistema operativo iOS.
Satisfao na Apple Store: 4 em 5 (verso 7.5)
Satisfao na Google Play: 3.5 em 5
2.1. Estado atual das aplicaes dos hipermercados 11
Walmart
A Wal-Mart Stores, Inc opera nos Estados Unidos da
Amrica como Walmart. A aplicao tem um foco
especial nas promoes existentes nos seus estabeleci-
mentos. As suas principais funcionalidades so:
Pesquisa pelo estabelecimento mais prximo;
Pesquisa de produtos por cdigo de barras e qrcode;
Variados detalhes dos produtos tais como os seus ingredientes e ndices
calricos;
Indicao do nmero da prateleira em que o produto se encontra.
Nmero de downloads :
14 milhes no sistema operativo Android;
5,2 milhes no sistema operativo iOS.
Satisfao na Apple Store: 4,5 em 5 (verso 5.1)
Satisfao na Google Play: 4,3 em 5
Uma vez que estas aplicaes so de empresas que esto no mesmo tipo de
mercado, interessante analisar o facto de como elas tiram proveito das suas
aplicaes. O continente d especial destaque aos clientes com cartes de
fidelizao, ao contrrio da Tesco que utiliza a sua aplicao para dar a possi-
bilidade de fazer compras atravs de um smartphone.
12 Captulo 2. Estado da Arte
A aplicao Walmart interessante pois consegue fazer um bom compromisso
entre as duas vertentes. Ajuda os seus clientes indicando a prateleira onde os
produtos se encontram e permite ao mesmo tempo realizar compras online.
Na anlise feita s 13 aplicaes no anexo A foram analisados os seguintes
campos:
Lista de compras, verifica se a aplicao tem capacidade de guardar uma
lista de compras;
Carto de fidelizao, verifica se capaz de substituir e complementar
os cartes de fidelizao;
Compras online, verifica se possvel a realizao de compras online;
Promoes, analisa a facilidade de acesso a produtos em promoo;
Compras habituais, analisa se a aplicao capaz de guardar as compras
habituais;
Detalhes de produtos, analisa a capacidade de pesquisa de produtos e
seus detalhes (como o preo e ndices nutricionais);
Loja mais prxima, analisa a capacidade da aplicao indicar ao utiliza-
dor qual a loja mais prxima;
Localizador de produtos, analisa a capacidade da aplicao em indicar
ao utilizador onde se encontra determinado produto.
Esta anlise originou a tabela 2.1. Observa-se que apenas duas permitem
localizar produtos dentro da loja, indicando apenas a prateleira onde o produto
se encontra.
2.2. Algoritmos de Localizao 13
Lista decompras
Carto defidelizao
Comprasonline Promoes
Comprashabituais
Detalhesde produtos
Loja maisprxima
Localizaode produtos
Continete 3 3 7 Parcial 7 Parcial 3 7
Auchan 3 7 3 3 7 3 3 7
Continete 3 3 7 Parcial 7 Parcial 3 7
Intermarch 3 7 7 3 7 7 3 7
Tesco Groceries 7 3 3 3 3 3 Parcial 7
Walmart 7 N.A. 3 3 7 3 3 Parcial
ASDA 3 N.A. 3 3 7 3 3 7
Sainsburys 7 3 3 3 7 3 3 7
Lidl 7 N.A. 7 3 7 Parcial Parcial 7
Kroger Co. 7 3 3 3 7 3 3 7
Costco 3 3 3 3 7 7 3 7
fnac.pt 7 7 3 3 7 3 3 7
Ikea 3 7 7 Parcial 7 3 3 Parcial
Toys R Us Shoping Wish List 7 3 3 7 Parcial 3 7
N.A - No Avaliado (A empresa no possui cartes de fidelizao);Parcial - Consegue satisfazer parcialmente o campo analisado;3- capaz de realizar o campo analisado;7- No capaz de realizar o campo analisado.
Tabela 2.1: Estado da arte das aplicaes de grandes superfcies
Em entrevista para a Fortune, o presidente da Toys R Us disse O que ns
aprendemos com os nossos clientes que eles precisam de ajuda na compra de
presentes. No querem entrar numa loja de 200.000 metros quadrados, onde
no conseguem encontrar o caminho de volta, eles querem que ns o tornemos
mais fcil [20].
Uma vez que nenhuma destas grandes superfcies tem um sistema de locali-
zao dentro dos seus estabelecimentos e estes sabem da importncia deles, o
sistema proposto pode ser uma mais valia no mercado.
2.2 Algoritmos de Localizao
Nesta seco so apresentados vrias algoritmos usados para estimar a locali-
zao de um dispositivo.
14 Captulo 2. Estado da Arte
2.2.1 Laterao ou Lateration
A laterao um dos algoritmos mais antigos e usados para determinar/estimar
a localizao de um dispositivo. Como requisito desde algoritmo necessria a
distncia entre o dispositivo e, no mnimo, trs pontos de conhecimento prvio
(pontos ncora), sendo estes os pontos onde os beacons esto posicionados.
Esta distncia habitualmente induzida a partir do parmetro Received Signal
Strength Indication (RSSI), criando uma relao entre a fora do sinal com a
distncia a que o utilizador se encontra [1] [21] [22].
O funcionamento do algoritmo inicia-se com a uso da equao da circunfe-
rncia 2.1. So criadas circunferncias com centro nos pontos ncora (pontos
conhecidos), e com o raio de valor igual distncia previamente calculada a
esse ponto.
(x xi)2 + (y yi)2 = r2i (2.1)
Os parmetros xi e yi devem ser substitudos pelas posies dos pontos ncora,
e ri pelas distncias previamente calculadas a cada um. Como descrito ante-
riormente, sero necessrios, no mnimo, trs pontos e distncias a ele para
garantir o funcionamento deste algoritmo. Assim sendo, tem-se um sistema
com, no mnimo, 3 equaes. O resultado do sistema de equaes o valor da
interceo dos crculos que, por sua vez, o valor da posio do smartphone
(figura 2.1).
2.2. Algoritmos de Localizao 15
Figura 2.1: Funcionamento do mtodo Laterao [1]
2.2.2 Cell Based
Este mtodo funciona a partir dos beacons visveis para determinar a posio
do dispositivo. Para isso so usados vrios beacons com curto alcance de forma
a que cada um cubra uma rea especfica. Assim, um utilizador em movimento,
ir encontrar reas cobertas por diferentes beacons num curto espao de tempo.
O funcionamento deste mtodo comea com uma fase de treino, onde feito
um scan dos beacons visveis em vrios segmentos da superfcie sendo esta
informao guardada numa base de dados. A descoberta da posio do uti-
lizador inicia-se com a procura de todos os beacons visveis em determinado
ponto, sendo guardado o seu Unique identifier (UID). Estes so depois compa-
rados com os valores guardados na base de dados anteriormente sendo a melhor
correspondncia selecionada como a posio do smartphone. (figura 2.2)
Nesta abordagem, os parmetros do sinal podem ser utilizados para desambi-
guar segmentos que sejam abrangidos pelo mesmos beacons [2][23].
16 Captulo 2. Estado da Arte
Figura 2.2: Um Recetor que est no alcance dos beacons B,C e D mas no deA e E deve estar localizado na regio sombreada[2]
2.2.3 Fingerprinting
Nesta abordagem o mapa dividido em vrios segmentos ou grelhas. Nesta
abordagem so igualmente usadas duas fases: online ou treino e offline. Esta
abordagem inicia-se com a fase de treino, onde associado a cada segmento
atributos nicos. No contexto das redes sem fios estes atributos podem ser o
RSSI, Inquiry Response Rate (IRR) ou Link Quality (LQ). Estes so medidos
e atribudos a cada segmento. Por exemplo, aplicando ao sistema proposto,
poderamos usar o RSSI como atributo e fazer uma mdia dos valores lidos em
cada segmento. Cada fingerprint constituda por vrias mdias dos valores
de RSSI e da posio do segmento no mapa, guardando-a numa base de dados.
Na segunda fase, fase online, onde estimada a posio do smartphone. Para
isso, este dispositivo deve recolher a informao do(s) mesmo(s) parmetro(s)
analisados na fase de treino e compar-los com os valores recolhidos. A posio
ser a associada fingerprint com melhor correspondncia aos valores lidos
naquele momento [24] [25].
2.2. Algoritmos de Localizao 17
2.2.4 Angulao
Nos mtodos baseados na angulao, a posio de determinado objeto indu-
zida tirando partido da geometria.
Figura 2.3: Posicionamento baseado na angulao [3]
Como se pode observar na Figura 2.3, so necessrios pelo menos dois pontos
ncora, representados como A e B, e a medio dos ngulos entre o objeto e
estes pontos (1 e 2). Com estes valores possvel calcular a posio deste
objeto usando as equaes 2.2 e 2.3 [26].
De forma a permitir estimar os ngulos necessrios para o funcionamento deste
algoritmo, so usualmente usadas antenas direcionais.
tan(1) =y y1x x1
tan(2) =y y2x x2
(2.2)
yi xitan(i) = y xtan(i) (2.3)
18 Captulo 2. Estado da Arte
2.2.5 Dead reckoning
Nesta abordagem a descoberta da posio do utilizador efetuada a partir da
posio previamente calculada. Sabendo o ponto anterior, a distncia percor-
rida e o ngulo do movimento, conseguimos calcular a posio atual (Observar
equaes 2.4 e figura 2.4). [4]
x1 = d1cos()
y1 = d1sin()
x2 = x1 + d1cos()
y2 = y1 + d1sin()
(2.4)
Figura 2.4: Funcionamento do algoritmo Dead reckoning [4]
O problema desta abordagem so os erros acumulativo, isto , sempre que
uma varivel (ngulo ou distncia) for mal calculada, o erro vai-se propagando
ao longo do algoritmo. Para colmatar esta falha, devem ser inseridos vrios
2.3. Tecnologias capazes de localizar smartphones dentro de edifcios 19
pontos de referncia, de forma a reiniciar o algoritmo.
2.3 Tecnologias capazes de localizar smartpho-
nes dentro de edifcios
Para ser possvel indicar qual o percurso que o cliente deve percorrer necessi-
tamos de saber qual a sua localizao exata em todo os os momentos. Visto
tratarem-se de grandes superfcies e estas estarem cobertas, o uso de Global
Positioning System ou Sistema de Posicionamento Global (GPS) no uma
soluo. Ser por isso feita um breve descrio das tecnologias que esto atu-
almente presentes nos smartphones que podem permitir realizar esta tarefa.
2.3.1 Magnetmetro
O magnetmetro um dos sensores atualmente presentes nos smarthpones.
Este normalmente usado para indicar a direo para que o dispositivo est
virado.
Dentro de edifcios existem oscilaes nas leituras deste sensor, essencialmente
porque a construo dos edifcios base de beto e ferro, o que interfere
com a preciso desta tecnologia. Assim, alguns investigadores [27] [28], propu-
seram aproveitar estas anomalias para realizar localizao dentro de edifcios.
Para isso usado um algoritmo de fingerprint onde se mapeia estas anomalias
usando-as para estimar a posio do utilizador.
O problema desta abordagem a influncia de outros objetos eletrnicos ou
com base em ferro produzem, que por sua vez aumentam as margens de erro
20 Captulo 2. Estado da Arte
desta soluo. Com esta abordagem possvel estimar a localizao do utili-
zador com uma margem de erro mdia de 4.7 metros [27].
2.3.2 Near Field Communication (NFC)
O Near Field Communication (NFC) uma tecnologia sem fios de ligao de
curto alcance (tipicamente 4 cm[29]) de baixo custo. Esta tecnologia permite
troca de informao entre dois dispositivos ou entre um dispositivo e uma
etiqueta (tag) NFC. atualmente usada para variadas aplicaes, como a
realizao de pagamentos, identificao ou partilha de informao. Opera na
gama dos 13.56 MHz com velocidades de transmisso at 424 kbps.
Alguns investigadores implementaram um sistema de localizao simples e de
baixo custo [30][31]. Para o funcionamento destes sistemas, so inicialmente
espalhadas vrias etiquetas NFC dentro do edifcio em posies especficas. O
utilizador quando chega perto de uma, deve aproximar o telemvel dela, sendo
esta interpretada pela aplicao. Atravs desta informao, a aplicao capaz
de indicar onde o utilizador se encontra, e indica para onde o utilizador deve
prosseguir. No final dessa rota, encontrar outra tag e o processo anterior
repetido at chegar ao ponto pretendido. Desta forma a margem de erro da
posicionamento da pessoa no local nula.
Uma limitao desta tecnologia que nem todos os sistemas operativos mveis
permitem tirar proveito desta tecnologia como o caso do iOS.
2.3. Tecnologias capazes de localizar smartphones dentro de edifcios 21
2.3.3 Rede de telecomunicaes
A funo bsica de um telemvel a capacidade de realizar e receber chama-
das. Para isso estabelece uma ligao contnua com a clula atravs de ondas
eletromagnticas. Quando um telemvel ligado este interceta a onda e inicia
a comunicao, sendo esta ligao multidirecional que mantida com a clula.
Uma vez que cada clula tem um nmero de ligaes limitadas, em zonas com
elevada densidade de utilizao, vrias clulas so instaladas.
Um exemplo do uso desta tecnologia para estimar a posio do utilizador
dentro de edifcios foi proposto no artigo Accurate GSM Indoor Localization
[32]. Para isso foi usado um algoritmo de fingerprinting, onde so mapeadas
as 6 clulas mais fortes em cada 1.5 metros. Segundo o autor, este teve uma
margem de erro mdia de aproximadamente 5 metros.
Apesar de ser possvel utilizar este mtodo no Android, no iOS no possvel
aceder informao da fora do sinal das redes de telecomunicaes, no sendo
portanto possvel utilizar este mtodo neste sistema operativo.
2.3.4 Giroscpio e Acelermetro
O giroscpio e o acelermetro so normalmente usados em conjunto apesar de
terem funes distintas. O giroscpio permite-nos indicar qual a inclinao do
smartphone segundo o eixo dos x,y e z. O acelermetro serve para medir a
acelerao no gravitacional, de cada movimento.
Trein, Singh e Maddila realizaram um sistema de localizao dentro de edif-
cios tirando partido destes dois sensores [4]. Estes usaram um algoritmo dead
22 Captulo 2. Estado da Arte
reckoning que, como descrito no captulo anterior, necessita da distncia per-
corrida, e do ngulo em que esta distncia foi efetuada.
Este ngulo inferido a partir do valor medido pelo magnetmetro que vali-
dado com o valores do giroscpio. Se ambos os valores coincidirem este ngulo
usado, caso contrrio ignorado, sendo usado o ltimo valor validado.
A distncia inferida a partir de cada passo dado. Para isso os autores co-
meam por identificar cada passo usando uma fase treino. Com este intuito,
uma pessoa percorre determinado percurso e conta o nmero de passos, sendo
a informao do acelermetro guardada. Esta informao depois analisada
de forma a ser possvel indicar inequivocamente cada um destes passos dados.
Um valor da distncia percorrida por cada passo definido previamente, de
acordo com a altura do utilizador. Desta forma so induzidas a distncia e o
ngulo necessrios para o algoritmo dead reckoning.
Os resultados desta experincia mostraram que possvel identificar os passos
de cada pessoa com uma taxa de erro de 1.055% e saber o ngulo de cada passo
com uma margem de erro de aproximadamente 20o. Mas o algoritmo no foi
capaz de identificar o caminho total percorrido por cada utilizador. Apesar de
no ser indicada qual a margem de erro real desta abordagem, afirmada a
necessidade de outras tecnologias como Bluetooth, para ultrapassar limitaes
desta abordagem.
Ladetto e Merminod criaram um sistema semelhante tendo os seus resultados
mostrado uma margem erro mdia de aproximadamente 10 metros [33].
2.3. Tecnologias capazes de localizar smartphones dentro de edifcios 23
2.3.5 Sensor de Imagem
Atualmente todos os smartphones esto equipados com sensores de imagem
(cmaras). Por esta razo existe o interesse de usar esta tecnologia para estimar
a posio do utilizador dentro de edifcios.
Um dos sistemas promissores o uso de comunicao de luz visvel. Essenci-
almente utilizam as frequncias das lmpadas para transmitir informao que,
apesar de o olho humano no ser capaz de as observar, estes sensores so.
assim usada uma aplicao no telemvel capaz de interpretar esta informao,
que essencialmente um ID da lmpada, para ser usado como ponto ncora.
tambm analisado o ngulo que a cmara faz com luz emissora. Com estes
dados, aplicado um mtodo baseado na angulao para estimar a posio do
utilizador, sendo possvel uma margem de erro mdia de 1.5 metros [34].
2.3.6 Wi-Fi e Bluetooth
Atualmente todos os smartphones tm placas de Bluetooth e Wi-fi, sendo por
isso uma tecnologia aprecivel para tentar resolver o problema de localizao
dentro de edifcios. Neste mbito, vrios sistemas foram desenvolvidos usando
Wi-FI [35][36][37][1] e usando Bluetooth [38][39][40][2][23]. O seu funciona-
mento passa por espalhar estes dispositivos no espao, criando uma malha de
rede. Aps isto, valores como a fora do sinal (RSSI) so usadas para identi-
ficar a posio do utilizador. O problema de ambas tecnologias, a variao
do sinal, isto , estando exatamente no mesmo ponto vrios valores RSSI so
lidos. Outro problema a refrao, reflexo e absoro do sinal, sendo esta
agravada dentro de edifcios devido ao facto de existirem mltiplos objetos
24 Captulo 2. Estado da Arte
entre o emissor e o recetor. Formas de minimizar o erro produzido por estes
fatores ainda uma rea em estudo.
Wi-Fi
O IEEE 802.11, vulgarmente conhecido por Wi-Fi, ao longo dos anos foi subs-
tituindo a necessidade de ligar um cabo Ethernet aos nossos dispositivos ele-
trnicos. Atualmente os smartphones esto equipados com placas compatveis
com protocolo 802.11n, sendo que os mais atuais j cumprem a norma 802.11ac.
A primeira norma opera no espectro de 2.4GHz e/ou 5GHz sendo que a se-
gunda apenas opera no de 5GHz. Estas evolues procuraram o aumento do
alcance, velocidade de transferncia e eficincia energtica.
Apesar de ser uma tecnologia banalizada, atualmente presente na maioria dos
edifcios, para a implementao de um sistema de localizao, necessrio colo-
car vrios Access Point (AP) em posies estratgicas. Usando esta tecnologia
expectvel um erro entre 2-6 metros dependendo do algoritmo utilizado [3].
Ao contrrio do Android, existe a limitao que no iOS no possvel aceder
informaes das redes Wi-Fi envolventes, sendo apenas possvel usando uma
API privada, infringindo assim uma regra da Apple Store, levando a que uma
possvel aplicao seja rejeitada. Para ultrapassar esta limitao, dever ser o
AP a estimar a posio do utilizador.
Bluetooth
O Bluetooth atualmente usado para a criao de redes pessoais, usualmente
para troca de informao. O Bluetooth usa a espectro de frequncia 2.4GHz. A
2.3. Tecnologias capazes de localizar smartphones dentro de edifcios 25
sua ultima verso, 4.0, conhecida como Bluetooth Low Energy (BLE) ou Blu-
etooth Smart, distingue-se essencialmente pelas melhorias a nvel energtico.
Esta nova verso consome entre 1/2 a 1/100 em comparao com o anterior
verso [41]. Isto permite a dispositivos que utilizem esta tecnologia terem uma
autonomia de anos quando alimentadas por pilhas usualmente presentes nos
relgios de pulso [42].
Como referido anteriormente, para o uso desta tecnologia para estimar a po-
sio do utilizador so espalhados Beacons que usam bluetooth pelo espao.
Com esta tecnologia expectvel uma margem de erro mdia entre 2-4 me-
tros. [40][43]
Sendo esta uma tecnologia barata e eficaz para o efeito, houve o interesse
de criar um produto comercial, mas ao mesmo tempo era necessrio que os
sistemas operativos mveis integrassem-se com esse produto.
A Apple decidiu ento desenvolver o seu protocolo de comunicao, que es-
tesBeacons devem cumprir, de forma ser possvel comunicar com os seus sis-
temas operativos, a que apelidou iBeacon
iBeacons
A Apple com a ambio de ligar os seus dispositivos eletrnicos ao mundo
externo decidiu criar um protocolo que apelidou iBeacon. O seu intuito criar
regies volta do Beacons, que podem estimar a proximidade do utilizador
a este e por sua vez a um produto (Figura 2.5). Apesar de ser um protocolo
desenvolvida pela Apple, qualquer dispositivo mvel com uma placa BLE
capaz de receber e interpretar estes pacotes.
26 Captulo 2. Estado da Arte
Figura 2.5: Uso de beacons [5]
Esta tecnologia tira partido do advertisement channel do BLE, emitindo cons-
tantemente pacotes, sendo que cada um transporta at um mximo de 31
bytes. Na figura 2.6 pode-se observar a informao enviada em cada pacote
usando este protocolo [44][45][46].
Figura 2.6: Informao enviada em cada pacote
iBeacon prefix
Este prefixo indica que o pacote provem de um iBeacon
UUID, Major, Minor
Servem para indicar inequivocamente a que beacon pertence o pacote.
Por exemplo, o campo UUID pode ser partilhado por uma cadeia de lojas.
O campo Major pode indicar qual a loja em questo e o Minor qual a
2.3. Tecnologias capazes de localizar smartphones dentro de edifcios 27
seco. Assim conseguimos inferir que o utilizador est em determinada
loja numa determinada seco.
TX power
Indica a fora do sinal medido a 1 metro, Este valor usado para inferir
a distncia ao beacon.
2.3.7 Anlise das tecnologias
Nesta seco realizada uma analise das vrios tecnologias documentadas nesta
seco. Para isso so analisados os campos:
Margem de erro A margem de erro mdia da posio estimada;
Compatibilidade Compatibilidade com os sistemas operativos mveis atu-
ais;
Escalabilidade A reao do sistema em relao a espaos diferentes;
Usabilidade Comodidade para o utilizador. Dever ser possvel estimar a
posio do utilizador, com o smartphone no bolso. Este campo impor-
tante, devido introduo dos smartwatches, que devido s suas limita-
es tem que ser o smartphone a estimar a posio do utilizador.
A tabela 2.2 demonstra a anlise feita em relao a estes campos.
Como referido anteriormente nesta seco, tanto o NFC como o uso de redes
de telecomunicaes no so compatveis com o iOS e como tal no satisfazem
o campo compatibilidade.
28 Captulo 2. Estado da Arte
TecnologiaMargem de
erro(metros)
Compatibi-lidade
Escalabili-dade
Usabili-dade
Bluetooth 2 3 3 3Wi-Fi 2 3* 3 3Cmara 1.5 3 3 7Giroscpio e Ace-lermetro 10 3 3 3
Rede de teleco-municaes 5 7 7 3
NFC - 7 3 7Magnetmetro 4.7 3 7 3* Se o AP for capaz de estimar a distncia ao utilizador;3- Satisfaz o campo analisado7- No satisfaz o campo analisado.
Tabela 2.2: Analise das tecnologias capazes de localizar smartphones dentrode edifcios
No caso da escalabilidade para o uso das redes de comunicao e o Magne-
tmetro para estimar a posio do utilizador, necessrio usar tcnicas de
fingerprinting. Como visto na seco 2.2.3, este algoritmo necessita de uma
fase de aprendizagem, onde necessrio retirar mltiplas amostras em mlti-
plos pontos, que apesar de sua realizao ser simples, demoroso. Uma vez
que alteraes no espao vo influenciar os dados previamente gravados, ser
necessria realizar esta fase sempre que houver uma alterao no espao.
Em relao usabilidade, tanto o NFC como o uso da cmara, no satisfazem
este campo. No caso da cmara, porque necessrio o smartphone estar na
mo do utilizador apontado para cima. No caso do NFC porque este no
capaz de estimar a posio do utilizador de forma continua, necessitando que
o utilizador se aproxime de uma tag NFC,
2.4. Sistemas Relacionados 29
2.4 Sistemas Relacionados
Nesta seco realizado um levantamento de sistemas atualmente presentes no
mercado ligados localizao dentro de edifcios para superfcies comerciais.
Uma vez que estes sistemas so proprietrios, a informao tcnica existente
muito limitada sendo informao levantada nesta seco proveniente dos
websites de cada produto e de emails trocados com estes.
2.4.1 Senionlab
A SenionLab fornece um sistema de localizao dentro de edifcios tirando par-
tido das tecnologias Wi-Fi e/ou Bluetooth. Estes comercializam o dispositivo
SenionBeacon que usa a tecnologia BLE, que deve ser instalado em variados
pontos da rea onde pretendemos implementar o sistema. Aps a instalao
destes dispositivos, o cliente envia o mapa para esta empresa. Esta empresa
gera um percurso que o cliente deve percorrer de forma a recolher informa-
o do espao. Esta informao depois analisada pela empresa de forma a
permitir indicar a posio do utilizador.
Apesar de no existir informao que o confirme, possvel especular que
utilizam um algoritmo de localizao baseado no fingerprinting. Estes afirmam
ter uma preciso entre 1 a 5 metros. Segundo emails trocados com a empresa,
o kit de avaliao tem o preo de 1500 euros com 10 beacons acrescido do
custo de cada beacon extra (40 Euros). Estes acrescentam que para uma
instalao definitiva, existe o custo de instalao e um custo de licenciamento
mensal baseado no tamanho da superfcie comercial, apesar de no relevarem
os possveis custos.
30 Captulo 2. Estado da Arte
2.4.2 Indoors
O Indoors um sistema muito semelhante ao SenionLab. Este diferencia-se por
ser um sistema mais maduro, tendo variadas ferramentas complementares j
desenvolvidas como ferramentas para gerar mapas. Ao contrario da SenionLab
que apenas permite o uso do SenionBeacon, este disponibiliza uma lista de
dispositivos bluetooth de terceiros compatveis.
Para realizar localizao dentro de edifcios este sistema usa uma abordagem
baseada no fingerprinting. Segundo os prprios, o sistema tem uma preciso
de 5 metros em 95% dos casos. Estes indicam que o valor pode ser menor
quanto maior o nmero de beacons, Wi-Fi ou Bluetooth, forem introduzidos.
A verso base deste sistema tem o custo de 500$ por ms mais o custo dos
beacons necessrios.
2.4.3 Quuppa
A Quuppa desenvolveu um sistema proprietrio para realizao de localizao
dentro de edifcios. Para isso, estes desenvolveram um recetor que permite
estimar o ngulo de determinado pacote bluetooth recebido. Com este(s) n-
gulo(s) (dependendo do numero de recetores) aplicado um algoritmo baseado
na angulao para estimar a posio do dispositivo. Para isto, os dispositivos
tm que possuir um placa BLE e correr um software proprietrio. Uma vez
que em muitos dispositivos no possvel instalar software de terceiros, estes
conceberam uma tag para este fim. Afirmam ser possvel uma preciso inferior
a 1 metro com o seu sistema. No foi possvel saber o custo deste sistema.
2.4. Sistemas Relacionados 31
2.4.4 StoreMode
A StoreMode uma plataforma desenvolvida pela empresa americana Point
Inside. Com esta plataforma possvel criar mapas interativos, gerir a lista
de compras, calcular o caminho mais eficiente de acordo com lista de com-
pras e realizar variados tipos de pesquisas de produtos. Do ponto de vista
da superfcie comercial esta plataforma realiza anlise do comportamento dos
utilizadores recomendando aes. No entanto, esta plataforma apenas um
backend, e no uma soluo completa como o aisle411.
2.4.5 aisle411
A aisle411 dedica-se melhoria da experincia de utilizadores dentro de su-
perfcies comerciais. Estes criaram um sistema que permite aos clientes da
superfcie comercial criar uma lista de compras e mapear os itens presentes
nesta lista e pesquisa por outros.
Em relao aos mtodos usados para realizar localizao dentro de edifcios, es-
tes usam diferentes tecnologias consoante o espao e as necessidades do cliente.
Segundo [47], em 2013, estes usavam um algoritmo de fingerprinting usando
Wi-Fi, existindo a limitao que apenas era possvel estimar a localizao do
utilizador em smartphones com o sistema operativo Android. Atualmente estes
tm parcerias com empresas como a IndoorAtlas, Estimote e Cisco, empresas
com vrias solues nesta rea, tento essa limitao sido ultrapassada. Es-
tes afirmam que o seu sistema tem uma preciso de 2 metros, apesar de no
especificarem com que tecnologia ou conjunto de tecnologias. Os custos de
implementao deste sistema podem rondar os 250 mil dlares.
32 Captulo 2. Estado da Arte
Sendo este sistema semelhante ao proposto, foi realizada uma anlise na tabela
2.3
Sistema aisle411 WhitesmithPesquisa de produtos 3 3Lista de compras 3 3Gerao do percurso mais curto 3 3indoor location 3 3Analise de dados 3 3*Check-out 3 3*Custo Elevado BaixoMargem de Erro 2 metros 1 metro*Planeado para a prxima iterao do sistema.3- Satisfaz o campo analisado.
Tabela 2.3: Comparao entre o sistema ailse411 e Whitesmith
Com est possvel observar que os sistemas apresentam semelhanas, no
entanto o sistema da Whitesmith destaca-se pela positiva nos pontos Margem
de erro e Custo.
2.5 Desenvolvimento de Aplicaes Mveis
Neste captulo so abordados os vrios tipos de aplicaes que so possveis
desenvolver para os smartphones, fazendo um levantamento das suas vantagens
e desvantagens.
Para desenvolvimento de aplicaes mveis existem trs formas distintas de o
fazer:
Aplicaes Nativas
As aplicaes nativas so desenvolvidas especificamente para cada sistema ope-
rativo mvel, usando Software Development Kit ou Kit de Desenvolvimento
2.5. Desenvolvimento de Aplicaes Mveis 33
de Software (SDK) e Application Programming Interface (API) de cada plata-
forma e as suas linguagens de programao (Java em Android, Ojective-C ou
Swift em iOS e C# no caso de Windows Phone). Estes foram desenvolvidos
de forma a permitir ao programador tirar o mximo partido das capacidades
do smarphone e do seu sistema operativo, tanto em termos de funcionalidades
como de performance.
A necessidade de criar diferentes aplicaes para os diferentes sistemas ope-
rativos o maior problema desta abordagem, onde o cdigo no pode ser
reaproveitado entre diferentes sistemas operativos. Por isso, existem algu-
mas ferramentas que nos permitem partilhar algum cdigo entre as diferentes
aplicaes e/ou usar diferentes linguagens de programao, sendo este cdigo
compilado para a arquitetura em questo. Alguns exemplos destas ferramentas
so o RubyMotion, que se programa na linguagem Ruby e permite a criao de
aplicaes compatveis com iOS e Android, ou Xamarin onde se programa na
linguagem C# e permite desenvolver para iOS, Android e Windowns Phone.
Aplicaes Web
Ao aplicaes web ou Web Apps so desenvolvidas usando tecnologias como
o HTML5, CSS e javascript, acedidas a partir dos browsers, sendo assim ne-
cessria uma ligao Internet. A vantagem em relao s aplicaes nativas,
so o facto de estas funcionarem em todos os sistemas operativos mveis atu-
ais mas terem acesso limitado s funcionalidades do telemvel, como aceder
aos contactos ou correr em background. Ao contrrio das aplicaes nativas,
em que cada ao pode ter um efeito imediato no estado da aplicao como
uma alterao de view, neste tipo de aplicaes isto no possvel uma vez
que, usualmente, cada ao implica um pedido ao servidor e interpretao da
34 Captulo 2. Estado da Arte
resposta.
Aplicaes Hbridas
Os SDK dos vrios sistemas operativos mveis contm na sua User Interface
(UI) framework uma Web View, que permite mostrar contedo HTML a partir
de um servidor remoto ou localmente. As aplicaes hbridas tiram proveito
destas, sendo essencialmente aplicaes web a correr numa aplicao nativa
com numa Web View. Isto permite aceder a APIs nativas que, normalmente,
no esto disponveis para aplicaes web, como a cmara, contactos ou cor-
rer em background. Uma vez que o UI desenvolvido em HTML/CSS, este
compatvel com todos os sistemas operativos, mas as chamadas a API nativas
tm que ser alteradas consoante os vrios sistemas operativos. Com o intuito
de colmatar esta falha, existem frameworks como PhoneGap, Ionic, Trigger.io
ou Cordova que funcionam como uma ponte entre a aplicao web e a aplica-
o nativa. Para isso, incluem cdigo em JavaScript que permite comunicar
assincronamente entre a aplicao nativa e a web view. Estas frameworks,
interpretam estas mensagens, e realizam as chamadas s API nativas para o
sistema operativo em que est a ser executado.
Vantagens/Desvantagens
Em seguida realizada uma comparao entre estes vrios tipos de aplicao,
onde so comparados segundo os campos de custo, portabilidade de cdigo,
capacidade de acesso s funcionalidades do smartphone, consistncia da UI,
distribuio e performance [48][49].
2.5. Desenvolvimento de Aplicaes Mveis 35
Custo As aplicaes nativas tm, normalmente, um maior custo devido s
vrias linguagens de programao para cada ecossistema, caso se pre-
tenda desenvolver para as vrias plataformas. Estas necessitam de equi-
pas com conhecimentos especficos para cada ecossistema. As aplicaes
Web so as de menor custo, devido ao facto de um projeto funcionar
automaticamente com todas as plataformas, e do facto de apenas ser
necessrio conhecimentos em desenvolvimento para a web. Nas aplica-
es multi-plataforma (aplicaes hbridas e nativas usando frameworks
de terceiros) possvel a partilha de parte do cdigo ao longo dos v-
rios ecossistemas, apresentando-se igualmente com um baixo custo de
desenvolvimento.
Apesar disso, o custo est dependente de outros fatores, por isso as aplica-
es nativas podem nem sempre ser as mais dispendiosas de desenvolver.
Principalmente no caso onde um elevado nvel de personalizao envol-
vido, uma vez que as APIs das frameworks de terceiros, apenas contm
acessos genricos/comuns s APIs do smartphone.
Portabilidade A portabilidade ou partilha de cdigo, a maior fraqueza das
aplicaes nativas, uma vez que estas no permitem partilha de qualquer
tipo de cdigo. J no caso das aplicaes web um projeto funciona em
todas as plataformas, sendo a compatibilidade com os diferentes browsers
a nica preocupao. No caso das aplicaes multi-plataforma, grande
parte do cdigo pode ser partilhado pelas vrias plataformas. usual-
mente necessrio, alteraes no layout das aplicaes, para ficarem em
conformidade com as normas de cada ecossistema e as suas lojas mveis.
Outras alteraes podem ter que ser necessrias realizar, consoante a
ferramenta de desenvolvimento utilizada.
36 Captulo 2. Estado da Arte
Capacidade de acesso s funcionalidades do smartphone As aplicaes
web apenas conseguem aceder a algumas APIs do smartphone como ao
GPS, mas so ainda muito limitadas. AW3C est atualmente a trabalhar
em novos standards de forma a aumentar o nmero de APIs disponveis
para este tipo de aplicaes. As aplicaes nativas so as com maior
acesso aos smartphone, devido a serem mantidas pelos proprietrios de
cada sistema operativo mvel. Assim, sempre que uma nova funcionali-
dade introduzida num novo smartphone, estes criam APIs de forma a
dar acesso aos programadores, caso assim o pretendam. J no caso das
aplicaes multi-plataforma, est usualmente dependente do suporte da
ferramenta utilizada.
Consistncia na UI As aplicaes nativas tiram partido dos UI Kits de-
senvolvidos pelos responsveis por cada sistema operativo, garantindo
consistncia entre as aplicaes de terceiros com o seu sistema operativo.
J no caso das aplicaes web e multi-plataforma as UIs so desenvol-
vidos usando HTML, CSS e Javascript tentando assemelhar-se s apli-
caes nativas, mas pormenores como efeitos grficos, no conseguem
ser simulados. O facto de no usarem os UI Kits de cada plataforma,
levanta um problema no caso de uma atualizao no layout do sistema
operativo. Aquando destas atualizaes, os UI Kits so igualmente atu-
alizados, passando as aplicaes a serem consistentes com essa verso
do sistema operativo, com um pequeno ou mesmo nenhum esforo do
lado do programador. J no caso das aplicaes web e hbridas, onde o
layout da aplicao independente destes UI Kits nativos, este nvel de
atualizaes torna-se mais complexo de realizar.
Distribuio As aplicaes nativas e hbridas, so instaladas no sistema ope-
2.5. Desenvolvimento de Aplicaes Mveis 37
rativo do utilizador, sendo por isso usualmente usadas as lojas mveis.
No caso do iOS apenas aplicaes na Apple Store podem ser instaladas
neste sistema operativo. No caso do Android, no existe este bloqueio,
podendo o utilizador instalar aplicaes provenientes ou de lojas de ter-
ceiros ou atravs do ficheiro de instalao (.apk). Mas a Google Play
Store, loja da Google para este sistema operativo, a loja com maior n-
mero de downloads para o Android, caso seja removido o mercado chins,
onde este loja no est presente atualmente[50]. Por esta razo torna-se
importante ter presena nestas duas lojas mveis, apesar de ambas te-
rem variados tipos de diretrizes que os programadores tm que cumprir,
tanto ao nvel do tipo de aplicaes permitidas como ao nvel do design
da aplicao. Estas lojas garantem ao utilizador segurana e comodi-
dade para encontrar e instalar aplicaes. Apesar das aplicaes Web
no terem qualquer tipo de restrio e custo associado (as lojas mveis
cobram aproximadamente 30% do custo da aplicao), tambm no tm
uma forma to fcil de chegar at aos seus consumidores.
Performance As aplicaes nativas comunicam diretamente com as APIs do
sistema e so programadas diretamente na linguagem em que o sistema
est otimizado para interpretar/compilar. So estas as mais capazes de
extrair a maior performance possvel de cada smartphone. As aplica-
es multi-plataforma nativas, sofrem do problema das vrias layers de
abstrao existentes, para ser possvel, por exemplo, partilhar views, en-
tre as vrias plataformas. Uma vez que nas aplicaes web e hbridas,
todo o tipo de renderizao como botes, animaes ou transies de
views so emulados usando HTML, CSS e JavaScript, no tirado dire-
tamente partido do hardware do telemvel, existindo ainda uma maior
perda de performance. Nas aplicaes web acresce o facto de depender
38 Captulo 2. Estado da Arte
diretamente da ligao rede.
Na tabela 2.4 pode-se observar um resumo dos tpicos em cima referidos, e clas-
sificados como vantagem, desvantagem e neutro (quando determinado tpico
analisado para determinada aplicao no se apresenta como uma vantagem
ou desvantagem).
Como se pode observar no existe uma melhor abordagem, dependendo sem-
pre dos requisitos e restries de determinado projeto, cabendo equipa de
desenvolvimento decidir o que melhor se adapta s suas necessidades.
2.5. Desenvolvimento de Aplicaes Mveis 39
Nativa
Multi-plataform
aWeb
Custo
Omaiselevad
o,caso
sepretenda
desenv
olverpa
raas
vrias
plata-
form
as
Semelha
nte
sap
licaes
web
mas
umconjun
toextrade
conh
e-cimentosrequ
erido.
Omaisba
ixodo
strs,devido
aofactode
umprojetofunciona
rem
toda
sas
plataformas
ede
apenas
sernecessrio
conh
ecim
entosna
rea
dedesenv
olvimento
Web.
Portatibilidad
eO
cdigo
para
umplataforma
apenas
funciona
nessaplataforma
Asferram
entaspa
radesenv
olvi-
mento
destas
aplicaes
perm
i-tem
apo
rtab
ilida
dede
cdigo
para
osvrios
sistem
asop
erativos
mveis.
Com
patibilid
adecom
osdiversos
brow
sers
epe
rforman
ceso
asn
icas
preocupa
es
Acesso
sfuncion
a-lidad
esdo
smar
tpho
ne
As
plataformas
dedesenv
olvi-
mento
para
cada
sistem
aop
era-
tivo
perm
item
aceder
atoda
sas
APIs
dosm
artphone
.
VriasAPIs
dosm
artphone
po-
dem
sera
cedida
s,mas
depe
ndeda
ferram
enta
utilizada
.
Pou
casAPIs
podem
seracedidas
Con
sistn
cia
daUI
Aplataformade
desenv
olvimento
contm
compo
nentes
UIun
ifor-
mizad
oscom
osistem
aop
erativo
emqu
esto.
Asfram
eworks
deUIpe
rmitem
alcanar
umaspe
tosemelha
nteao
nativo
Asfram
eworks
deUIpe
rmitem
alcanar
umaspe
tosemelha
nteao
nativo
Distribuio
Aslojasde
aplicaesmveispro-
porciona
mbe
nefc
iosde
marke-
ting
mas
tm
requ
isitos,restri-
es
ecustos.
Aslojasde
aplicaesmveispro-
porciona
mbe
nefc
iosde
marke-
ting
mas
tm
requ
isitos,restri-
es
ecustos.
Sem
restries,m
asn
ose
tem
osbe
nefc
iosda
slojasmveis.
Perform
ance
Cd
igona
tivo
acedediretamente
sfunciona
lidad
esda
plataforma,
resultan
donu
ma
melho
rexpe
ri-
ncia
Para
aplicaes
complexas,
ascamad
asde
abstrao
impe
dem
umape
rforman
cecomoas
aplica-
es
nativas.
Perform
ance
ba
sead
ano
brow
-serena
ligao
deInternet.
Legend
a:Pon
toafavor;
Pon
tone
utro;Pon
tocontra,
Tabe
la2.4:
AplicaesNativas
vsMulti-plataform
avs
Web
Captulo 3
Metodologia e Planeamento
3.1 Metodologia
Para este projeto foi escolhida uma metodologia gil. Mais concretamente foi
escolhida Lean Software Development (LSD). Esta metodologia foi escolhida
uma vez que se enquadra tanto com a filosofia da empresa como do estagirio.
Os princpios desta metodologia so:
Eliminar desperdcio;
Aumentar o conhecimento;
Decidir o mais tarde possvel;
Entregar o mais rpido possvel;
Dar poder equipa;
Construir integridade (Integridade de perceo e conceptual);
Ver o inteiro.
40
3.1. Metodologia 41
Eliminar desperdcio, como burocracias e outros artefactos menores que outras
metodologias requerem e dar poder de deciso ao estagirio, leva a ciclos mais
rpidos de desenvolvimento assim como ao mesmo tempo melhora a apren-
dizagem da equipa, podendo levar construo de um melhor sistema e ao
aumento do conhecimento do estagirio, satisfazendo assim o objetivo do es-
tgio.
Olhar para o sistema como um todo juntamente com o princpio de decidir o
mais tarde possvel permite uma rpida adaptao do sistema a novos requisi-
tos.
Para manter o controlo das tarefas estabelecidas e ao mesmo tempo da evoluo
do sistema, foi usada a ferramenta Trello 1. Esta ferramenta permite organizar
tarefas por seces personalizadas. Estas seces foram inspiradas no quadro
de Kanban. Esto assim divididas da seguinte forma:
Could Do, inserimos neste estado as tarefas que se podem realizar caso
seja possvel.
To Do, as tarefas inseridas neste estado so as que temos obrigatoria-
mente de realizar.
Doing, as tarefas aps iniciadas so postas neste estado.
Done, quando a tarefa concluda passamo-la para este estado.
Assim, olhando para este quadro conseguimos facilmente identificar o estado
em que cada tarefa se encontra em cada momento.
Para controlo das verses geradas foi usado um Version Control System (VCS).
A escolha recaiu sobre o Git, devido aos conhecimentos do estagirio e devido1Trelo: https://trello.com/
42 Captulo 3. Metodologia e Planeamento
ao facto de ser usado pela empresa. O repositrio Git sincronizado com uma
verso online hospedada pelo GitHub 2, o servio usado pela empresa.
3.2 Planeamento
3.2.1 Primeiro Semestre
Durante o primeiro semestre foram estabelecidas as seguintes tarefas:
Estado da arte;
Definio da arquitetura do sistema;
Definio dos requisitos do sistema;
Incio do desenvolvimento;
Para alm das tarefas estabelecidas o estagirio teve a necessidade de estudar
algumas tecnologias para o desenvolvimento deste projeto:
Swift, nova linguagem introduzida pela Apple;
Interao dos beacons com iOS;
Inter-App Communication;
Comunicao eficiente com o servidor em iOS.
Por isso, foi efetuado um planeamento do semestre que originou o diagrama
de Gant presente na figura 3.1,2GitHub: https://github.com/
3.2. Planeamento 43
Figura 3.1: Diagrama de Gant inicial relativo ao primeiro semestre
Inicialmente o estgio tinha por objetivo aproveitar as capacidades do BLE
para o contexto da smart home. Mas, com o incio da realizao do estado
da arte, foram encontradas diversas solues que tinham sido recentemente
lanadas para o efeito, e com o propsito de manter um carcter inovador
no estgio, foi proposta a sua alterao. Com isto, houve um desvio de trs
semanas em relao ao plano inicial.
O estudo das tecnologias necessrias demorou mais uma semana do que o pre-
visto, essencialmente pela necessidade do estudo do funcionamento dos beacons
e a sua integrao com o sistema operativo iOS.
Com estes desvios, o tempo de implementao foi reduzido em trs semanas.
O diagrama de Gant presente na figura 3.2 mostra a real distribuio temporal
das tarefas ao longo do primeiro semestre.
Figura 3.2: Diagrama de Gant final relativo ao primeiro semestre
44 Captulo 3. Metodologia e Planeamento
Pode-se observar que foi iniciado o desenvolvimento de um prottipo. Este
prottipo tinha por objetivo validar os objetivos deste estgio, sendo por isso
desenvolvido um algoritmo simples de localizao dentro de edifcios.
3.2.2 Segundo Semestre
Aps a discusso na defesa intermdia, houve uma necessidade de ajustar os
objetivos deste estgio, por este ser complexo e extenso. Inicialmente este
estgio tinha por objetivo a criao das trs diferentes aplicaes do sistema
(figura 3.3). Este objetivo foi redefinido, passando o estagirio a ser apenas
responsvel pelo desenvolvimento da aplicao de guia dos clientes (figura 3.4),
tal como sugerido na defesa intermdia. No anexo B esto presentes ambos os
diagramas detalhados.
Figura 3.3: Diagrama de Gant planeado para o segundo semestre
Figura 3.4: Diagrama de Gant real do segundo semestre
3.2. Planeamento 45
Aps a finalizao do prottipo, com resultados promissores, iniciou-se o de-
senvolvimento da aplicao de localizao dento de edifcios.
Esta aplicao composta por 4 diferentes mdulos:
Mdulo de localizao dentro de edifcios responsvel por estimar
a posio do utilizador;
Mdulo de mapeamento responsvel pelo mapeamento da espao;
Mdulo de navegao responsvel pela gerao do percurso mais curto
e de indicar ao utilizador quais as direes que deve seguir;
Mdulo de comunicao responsvel pela comunicao com o servidor
e com outras aplicaes.
Cada um destes mdulos vo ser vistos em mais detalhe nos captulos seguin-
tes.
Captulo 4
Requisitos
Neste captulo so abordados os requisitos do sistema. Para isso feito um le-
vantamento dos stakeholders, casos de uso, requisitos funcionais e de qualidade
deste projeto.
4.1 Stakeholders
Os stakeholders so agentes que interagem de forma direta ou indereta com o
sistema, que englobam [51]:
Financiadores do produto;
Responsveis pelo desenvolvimento;
Utilizadores do produto.
Na tabela 4.1 esto referenciados os stakeholders deste sistema.
46
4.2. Casos de Uso 47
Stakeholders Descrio ResponsabilidadeWhitesmith Empresa proprietria do projeto Comunicar necessidades e validar
o sistemaCoordenador doProjeto
Eng. Rafael Jegundo Monitorizar os processos de de-senvolvimento e utilizao
Utilizador Clientes da superfcie comercialque utilizam a aplicao
-
Superfcie co-mercial
Superfcie comercial onde o sis-tema est implementado
Responsvel por manter o sis-tema, comunicando alteraes deespao e de produtos
Tabela 4.1: Stakeholders - Descrio e Responsabilidades
4.2 Casos de Uso
Nesta seco so mostrados os casos de uso deste sistema dividido pelas dife-
rentes aplicaes.
Aplicao de Gesto Lista de Compras
Lista de compras
Descrio Geral: O utilizador quer ser capaz de ver a sua lista de
compras
Entidades Envolvidas: Utilizador
Pr-Condio: O Utilizador est autenticado
Fluxo de eventos: 1. Entra na aplicao
2. mostrada a lista de compras
48 Captulo 4. Requisitos
Inserir produto na lista de compras
Descrio Geral: O utilizador quer ser capaz de inserir produtos na
sua lista de compras.
Entidades Envolvidas: Utilizador
Pr-Condio: O utilizador est autenticado
Fluxo de eventos: 1. Entra na aplicao
2. Clica no boto de inserir
3. Insere o nome do produto e quantidade.
Ps-Condies: 1. O sistema capaz de identificar o produto e a
quantidade inserida.
2. O produto fica inserido na lista de compras.
Eliminar/Editar um produto inserido
Descrio Geral: O utilizador quer ser capaz de eliminar ou editar
determinado produto.
Entidades Envolvidas: Utilizador
Pr-Condio: 1. O utilizador est autenticado
2. O utilizador tem produtos na lista
Fluxo de eventos: 1. Entra na aplicao
2. Clica no produto
3. A linha do produto fica editvel sendo possvel apagar arras-
tando o dedo.
Ps-Condies: O produto editado/eliminado
4.2. Casos de Uso 49
Enviar lista de compras para a aplicao de guia dos clientes
Descrio Geral: O utilizador quer ser capaz de enviar a sua lista para
a de guia de clientes de forma a ser possvel indicar o percurso mais
curto
Entidades Envolvidas: Utilizador
Pr-Condio: 1. O utilizador est autenticado
2. A aplicao de guia dos clientes est instalada
Fluxo de eventos: 1. Entra na aplicao
2. Clica no boto de exportar para a aplicao de guia dos clientes
Ps-Condies: A lista enviada para a aplicao de guia dos clientes
Aplicao dos Funcionrios
Pesquisar por produtos
Descrio Geral: O funcionrio deve ser capaz de pesquisar por pro-
dutos existentes na superfcie comercial.
Entidades Envolvidas: Funcionrio
Pr-Condio: O funcionrio est autenticado
Fluxo de eventos: 1. Entra na aplicao
2. Clica no boto de pesquisa
3. mostrada uma lista categorizada dos produtos e um local
onde possvel inserir o nome do produto em questo
4. mostrada uma lista de produtos de acordo com a seleo
anterior
50 Captulo 4. Requisitos
5. Clica num produto
6. So mostrados detalhes do produto
Pesquisar por produtos por cdigo de barras
Descrio Geral: O funcionrio deve ser capaz de pesquisar produtos
atravs do cdigo de barras.
Entidades Envolvidas: Funcionrio
Pr-Condio: O funcionrio est autenticado
Fluxo de eventos: 1. Entra na aplicao;
2. Clica no boto de pesquisa;
3. Clica no boto de pesquisa por cdigo de barras;
4. Aponta a cmara para o cdigo de barras;
5. So mostrados detalhes do produto
Editar produto
Descrio Geral: O funcionrio deve ser capaz de editar informao
de um produto.
Entidades Envolvidas: Funcionrio
Pr-Condio: 1. O funcionrio est autenticado
2. Pesquisou pelo produto que quer editar
Fluxo de eventos: 1. (Pesquisa pelo produto);
2. Clica no boto editar;
3. Edita um produto.
4.2. Casos de Uso 51
Ps-Condies: O produto fica com os valores por este introduzido
Adicionar um novo produto
Descrio Geral: O funcionrio deve ser capaz de adicionar um novo
produto.
Entidades Envolvidas: Funcionrio
Pr-Condio: 1. O funcionrio est autenticado
2. Pesquisou pelo produto e este no foi encontrado no sistema
Fluxo de eventos: 1. Clica em adicionar produto;
2. Insere dados relativos aos produtos;
Ps-Condies: O produto introduzido no sistema
Reposio de stock
Descrio Geral: O funcionrio deve atualizar informao quando re-
pe um produto.
Entidades Envolvidas: Funcionrio
Pr-Condio: 1. O funcionrio est autenticado
2. Pesquisou pelo produto que est a repor
Fluxo de eventos: 1. (Pesquisa pelo produto);
2. Clica em repor;
3. Indica quantas unidades do produto est a repor;
4. O sistema verifica se est na posio habitual do produto;
5. Caso no esteja, pedido ao funcionrio para introduzir a nova
posio.
52 Captulo 4. Requisitos
Ps-Condies: O sistema guarda esta nova informao inserida
Aplicao de Guia dos Clientes
Pesquisa e detalhes de produtos
Descrio Geral: O cliente deve ser capaz de pesquisar e ver detalhes
dos produtos comercializados pela superfcie comercial
Entidades Envolvidas: Cliente
Fluxo de eventos: 1. Entra na aplicao;
2. Clica no boto de pesquisa;
3. mostrada uma lista categorizada dos produtos e um local
onde possvel inserir o nome do produto em questo;
4. mostrada uma lista de produtos de acordo com a seleo
anterior
5. Clica num produto;
6. So mostrados detalhes desse produto.
Indicar o percurso para determinado produto
Descrio Geral: A aplicao deve ser capaz de indicar ao cliente como
chegar at determinado produto
Entidades Envolvidas: Cliente
Pr-Condio: O cliente pesquisa por um produto
Fluxo de eventos: 1. (clica no produto)
2. Clica no boto de navegao
3. gerado o percurso at esse produto
4.3. Requisitos Funcionais 53
4. O percurso mostrado
5. A aplicao vai indicando o percurso a percorrer.
Receber a lista de compras
Descrio Geral: O sistema deve ser capaz de receber uma lista de
compras proveniente de outra aplicao.
Entidades Envolvidas: 1. Cliente
2. Aplicao de lista de compras
Fluxo de eventos: Recebe lista de compras proveniente de outra apli-
cao
Ps-Condies: A lista interpretada
Gerar percurso de acordo com a lista de compras
Descrio Geral: O sistema deve ser capaz de gerar o percurso mais
curto, consoante a lista de compras do cliente.
Entidades Envolvidas: 1. Cliente
2. Aplicao de lista de compras
Pr-Condio: A aplicao interpretou a lista de compras
Fluxo de eventos: 1. gerado o percurso mais curto
2. O percurso mostrado
3. A aplicao vai indicando o percuso a percorrer.
4.3 Requisitos Funcionais
Com base nos casos de uso previamente descritos foram levantados os requisitos
funcionais descritos nesta seco.
54 Captulo 4. Requisitos
Aplicao de Gesto Lista de Compras
ID: RF-LC1
Ttulo: Autenticao
Entidade: Utilizador
Descrio: Utilizador deve poder-se autenticar na aplicao (username
e password )
Racional: Por forma a ter uma conta com os seus dados e preferncias.
ID: RF-LC2
Ttulo: Mostrar lista de compras
Entidade: Sistema
Descrio: O utilizador quando abre a aplicao deve ter acesso imedi-
ato sua lista de compras
Racional: Uma vez que a funcionalidade principal desta aplicao
a gesto da lista de compras do utilizador, assim que este abre a
aplicao deve ser mostrada uma lista com todos os produtos que o
utilizador pretende comprar.
Dependncia: RF-LC1, RF-LC5
ID: RF-LC3
Ttulo: Inserir produtos na lista
Entidade: Utilizador e Sistema
4.3. Requisitos Funcionais 55
Descrio: O utilizador deve ser capaz de introduzir o que pretende
comprar,
Racional: O utilizador deve ser capaz de introduzir o que produtos na
sua lista de compras de forma simplificada.
Dependncia: RF-LC1
ID: RF-LC4
Ttulo: Gesto da Lista de Compras
Entidade: Utilizador
Descrio: O utilizador deve ser capaz de adicionar/remover/editar a
sua lista de compras.
Racional: Por forma a permitir a gesto da sua lista de compras.
Dependncia: RF-LC2, RF-LC4
ID: RF-LC5
Ttulo: Sincronizao
Entidade: Sistema
Descrio: O sistema deve sincronizar a lista de compras.
Racional: Por forma a permitir a utilizao de vrios dispositivos para
gesto da lista de compras pelo mesmo utilizador.
Dependncia: RF-LC1
56 Captulo 4. Requisitos
ID: RF-LC6
Ttulo: Exportar lista de compras
Entidade: Sistema
Descrio: O sistema deve ser capaz de enviar a lista de compras.
Racional: De forma a permitir aplicao de guia dos clientes gerar o
percurso mais curto.
Dependncia: RF-LC1
Aplicao para os Funcionrios
ID: RF-F1
Ttulo: Autenticao
Entidade: Superfcie comercial
Descrio: Utilizador deve poder-se autenticar na aplicao (username
e password )
Racional: Por forma a ter acesso s funcionalidades de administrao.
ID: RF-F2
Ttulo: Listar produtos
Entidade: Sistema
Descrio: A aplicao deve ser capaz de listar e categorizar todos os
artigos comercializados pela superfcie comercial.
4.3. Requisitos Funcionais 57
Racional: Por forma a possibilitar aos funcionrios visualizar todos os
produtos comercializados pela superfcie comercial.
Dependncia: RF-F1
ID: RF-F3
Ttulo: Editar produtos
Entidade: Sistema
Descrio: A aplicao deve ser capaz de editar a informao dos pro-
dutos
Racional: Por forma a possibilitar aos funcionrios editar a informao
de um dado produto.
Dependncia: RF-F1,RF-F2
ID: RF-F4
Ttulo: Adicionar produtos
Entidade