5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 1/19
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 2/19
uaQuest – Es ecificação técnica 2
Índice
Introdução ..................................................................................................................................... 3
Mapa de Navegação da aplicação móvel .............................................................................. 4
Arquitectura do Sistema ............................................................................................................. 5Arquitectura da Aplicação .......................................................................................................... 6
Arquitectura do Servidor ............................................................................................................. 8
Modelo de Base de Dados ...................................................................................................... 11
Fluxogramas ............................................................................................................................... 13
Fluxograma de login e registo ............................................................................................. 14
Fluxograma validar tag......................................................................................................... 15
Fluxograma Enigma .............................................................................................................. 16
Fluxograma Combate ........................................................................................................... 17
Fluxograma Trocas ................................................................................................................ 18
Fluxograma Loja .................................................................................................................... 19
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 3/19
uaQuest – Es ecificação técnica 3
Introdução
O presente documento tem por objectivo apresentar a componente de especificaçãotécnica do projecto.
Assume um papel importante na definição do projecto, sendo que, resulta noculminar das hipóteses tomadas até ao momento. Esta define efectivamente quaisas tecnologias a utilizar e como estas vão ser implementadas.
Desta forma, iremos apresentar o mapa de navegação da aplicação, os fluxogramasprincipais da aplicação, nomeadamente respeitante à validação da tag, ao combate,à resolução de um enigma, ao login e registo, à loja, e ao processo de troca. Irá serespecificada a arquitectura do sistema, detalhando o módulo da aplicação móvel e omódulo do servidor, e por último será apresentado o modelo da base de dados
responsável pelo armazenamento dos dados relativos ao jogo.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 4/19
uaQuest – Es ecificação técnica 4
Mapa de Navegação da aplicação móvel
Imagem 1 - Mapa de navegação
A aplicação possui duas secções, no entanto ambas partem de um tronco comum.Após o início da aplicação o utilizador é direccionado para a página de login. Se osseus dados estiverem guardados, o login será feito automaticamente levando outilizador para o ecrã principal, o mapa.
Aqui entram as duas secções, uma assegurada pelo validador de tags, a outra pelobotão de opções. A secção #1 será acedida através do menu despoletado pelo cliquedo botão de opções. No que diz respeito à secção #2, o ecrã apresentado irádepender da tag validada. No entanto, após a validação da tag “mesa de combate”,
o jogador irá escolher o seu caminho (combate, trocas, loja) através de botõespresentes no ecrã.
A secção #1 representa uma secção secundária da aplicação, não sendo prioritáriana execução actual.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 5/19
uaQuest – Es ecificação técnica 5
Arquitectura do Sistema
Imagem 2 - Arquitectura do Sistema
O projecto uaQuest possui dois intervenientes no que toca à arquitectura do sistema.De um lado existe a aplicação móvel, desenvolvida para o sistema Android, e dooutro o servidor de dados.
A aplicação é responsável pelo processamento dos dados recebidos pelas várias
partes e pela apresentação dos dados ao utilizador. Efectua também pedidos deserviços ao próprio dispositivo móvel, como por exemplo o acesso à internet e oacesso a coordenadas GPS. São utilizados de igual modo provedores de serviçosexternos, como o servidor de mapas do Google maps.
O servidor contém o motor do jogo responsável pelos cálculos dos dados resultantesda interacção do utilizador com a aplicação e com outros jogadores. O servidor temtambém de estabelecer a comunicação com a base de dados de forma a responderaos pedidos de dados feitos pela aplicação.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 6/19
uaQuest – Es ecificação técnica 6
Arquitectura da Aplicação
Imagem 3 - Arquitectura da aplicação
Server Communication Engine
Responsável por efectuar os pedidos ao servidor. Submete um pedido ao servidoratravés de “POST variables”, recebe a resposta transformando-a num JSON Object.Este objecto é então transmitido ao “Integration engine” que efectua oprocessamento dos dados.
Augmented Reality Framework
Esta framework é responsável pela apresentação dos modelos 3D em realidadeaumentada. Recebe por parte do “integration engine” qual o nome do modelo aapresentar, efectua o seu carregamento e apresenta-o sobre o marker.
Integration engine
Representa o módulo nuclear de toda a aplicação sendo responsável pela
interligação de todas as frameworks. É aqui feito o processamento de toda ainformação recebida pelo servidor e pelo leitor de QrCodes. Efectua pedidos de
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 7/19
uaQuest – Es ecificação técnica 7
informação ao “Server Communication Engine”, cujos resultados envia àsframeworks. (Exemplo: “O Integration Engine” efectua o pedido das coordenadasgeográficas do PI através do “Server Communication Engine”, passando-as depois àFramework Google Maps que as apresenta no mapa).
Imagem 4 – Exemplo de comunicação entre os elementos da aplicação e o servidor
Google Maps Framework
Responsável pela apresentação do mapa no ecrã principal. Recebe os pontos aapresentar do “integration engine” e coloca-os sobre o mapa. Assegura também ocorrecto posicionamento do ponto que representa o utilizador, obtendo as suascoordenadas geográficas.
QrCode Reader Framework
Efectua a leitura e descodificação dos QrCodes enviando o resultado (String) para o“Integration Engine”. Esta framework foi implementada na aplicação partindo dalibraria Zxing, permitindo que a leitura e descodificação sejam feitas pela própriaaplicação, não sendo necessário o uso de programas externos.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 8/19
uaQuest – Es ecificação técnica 8
Arquitectura do Servidor
Imagem 5 - Arquitectura do Servidor
A tabela das APi’s seguinte representa os principais pontos de comunicação entre
aplicação e o servidor. Durante o desenvolvimento da aplicação é provável quesurjam novas API’s derivadas de novas necessidades, desta forma, a lista não deveser tomada como definitiva.
API Params Descrição
userLoginString username
String passwordVerifica se os dados estão válidos.Se estiverem processa o login
userRegistCheck String usernameString email
Verifica se o utilizador ou o email já estão em uso
userRegist
String username
String email
String name
String password
Int avatarId
Efectua o registo do utilizadorinserindo os dados na base dedados
getPICoordString token
Int userId
Obtém as coordenadas
geográficas do ponto de interesseactual de determinado jogador
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 9/19
uaQuest – Es ecificação técnica 9
API Params Descrição
getEnigmaString token
Int enigmaIdObtém o enigma a partir do IDdado
getEnigmaCur String tokenInt userId Obtém o enigma em curso dedeterminado utilizador
getInfoString token
Int infoIdObtém a informação a partir doID dado
checkEnigmaString token
String answer
Verifica se a resposta doutilizador é correcta para oenigma em curso
getTutorialString token
Int tutorialIdObtém o tutorial a partir do IDdado
checkFightTableString token
Int tableId
Verifica se existe alguém emespera na mesa de combate,vertente combate. Se não existirninguém, regista o utilizadorcomo “em espera”
getFightDataString token
Int userIdObtém a vida, energia e avatar doutilizador
checkSpecialAttackString token
Int specialAttackId
Verifica se o utilizador pode
executar o ataque especial.
clearFightTableString token
Int tableId
Limpa o estado da mesa decombate, estando esta disponívelpara outro uso.
setFightWinnerString token
Int userIdAdiciona pontos e créditos aoutilizador.
getUserItensString token
Int userIdObtém os itens que o utilizadorpossui
getItenInfo String tokenInt itenId
Obtém informação sobre um itemem específico
checkTableTradeString token
Int tableId
Verifica se existe alguém emespera na mesa de combate,vertente trocas. Se não existirninguém, regista o utilizadorcomo “em espera”
processTableTradeString token
Int tableId
Efectua o processamento datroca e deixa a mesa disponível
para outros
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 10/19
uaQuest – Es ecificação técnica 10
API Params Descrição
getUserCredistString token
Int userIdObtém os créditos que o utilizadorpossui
getStoreItens String token Obtém os itens disponíveis paracompra
buyIten
String token
Int userId
Int itenId
Processa a compra do item,retirando créditos ao utilizador eadicionando o item ao seuinventário.
getLegendaryIten
String token
Int piece1
Int piece2
Int piece3Int piece4
Verifica se as partes do itemlendário estão correctas. Seestiverem remove as peças do
inventário do jogador e adiciona oitem lendário.
Tabela 1 - APIs do servidor
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 11/19
uaQuest – Es ecificação técnica 11
Modelo de Base de Dados
Imagem 6 - Modelo de Base de Dados
A base de dados representa um papel fulcral no desenvolvimento da aplicação sendoque armazena todos os dados relativos ao jogo, e permite efectuar as interacçõesentre utilizadores, como o caso dos combates e trocas.
Assim, era necessário uma estrutura que armazenasse os dados do utilizador, nome,nome de utilizador, palavra-chave, email, pontos e créditos. Cada utilizador possui
um avatar que o acompanha no jogo, sendo que este tem características específicascomo, nome, vida, energia, ataque, defesa e velocidade.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 12/19
uaQuest – Es ecificação técnica 12
O jogo baseia-se em percursos que o utilizador tem de percorrer, deslocando-seentre os vários pontos de interesse (PI) de um percurso. O utilizador apenas pode umpercurso activo, sendo este alterado assim que o anterior terminar. Cada PI pode terum ou mais enigmas associados, dependente do percurso em questão. Por exemplo,
o percurso 1 tem como temática o ensino sendo que no PI1 é apresentado o enigmaA. Um segundo percurso, já tem como temática a arquitectura, sendo apresentadono mesmo PI1, o enigma B. Cada PI tem a si associado um QrCode que permite asua identificação, um nome, e as coordenadas geográficas.
No caso dos enigmas, além do nome e descrição, tem de ser armazenada a respostae os pontos que irão ser atribuídos ao utilizador após a sua resolução. Nos vários PI’sexistem tags de informação que podem ser consultadas procurando pistas pararesolução do enigma.
O avatar obtém o seu poder dos itens que são recolhidos durante o jogo. Estespodem aumentar as várias características do avatar, sendo que o utilizador podepossuir vários itens repetidos.
Alguns dos itens podem apenas ser adquiridos na loja sendo que, em adição aosoutros atributos, têm de possuir um custo. Outros tipos de itens dizem respeito aositens lendários, estes são constituídos por quatro partes possuindo, além dascaracterísticas do item, um ataque especial e o multiplicador desse ataque. Cadaitem lendário só permite ao utilizador desbloquear um novo ataque, sendo este
diferente para todos os itens lendários.
Na primeira utilização de cada ecrã é apresentado um tutorial ao utilizadorexplicando o funcionamento do mesmo.
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 13/19
uaQuest – Es ecificação técnica 13
Fluxogramas
Os seguintes fluxogramas pretendem explicar o funcionamento das componentesprincipais da aplicação, permitindo compreender como, e onde, é processada a
informação. De modo a compreender melhor a sua estrutura, e distinguir os váriosintervenientes, foram criados com base em cores explicadas na imagem seguinte.
Imagem 7 - Legenda explicativa dos fluxogramas
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 14/19
uaQuest – Es ecificação técnica 14
Fluxograma de login e registo
Imagem 8 - Fluxograma de login e registo
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 15/19
uaQuest – Es ecificação técnica 15
Fluxograma validar tag
Imagem 9 - Fluxograma validar tag
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 16/19
uaQuest – Es ecificação técnica 16
Fluxograma Enigma
Imagem 10 - Fluxograma Enigma
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 17/19
uaQuest – Es ecificação técnica 17
Fluxograma Combate
Imagem 11 - Fluxograma Combate
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 18/19
uaQuest – Es ecificação técnica 18
Fluxograma Trocas
Imagem 12 - Fluxograma Trocas
5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com
http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 19/19
uaQuest – Es ecificação técnica 19
Fluxograma Loja
Imagem 13 - Fluxograma Loja