Transcript
Page 1: Especificação Técnica - Projecto uaQuest

5/14/2018 Especifica o T cnica - Projecto uaQuest - slidepdf.com

http://slidepdf.com/reader/full/especificacao-tecnica-projecto-uaquest 1/19

Page 2: Especificação Técnica - Projecto uaQuest

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

Page 3: Especificação Técnica - Projecto uaQuest

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.

Page 4: Especificação Técnica - Projecto uaQuest

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.

Page 5: Especificação Técnica - Projecto uaQuest

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.

Page 6: Especificação Técnica - Projecto uaQuest

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

Page 7: Especificação Técnica - Projecto uaQuest

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.

Page 8: Especificação Técnica - Projecto uaQuest

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

Page 9: Especificação Técnica - Projecto uaQuest

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

Page 10: Especificação Técnica - Projecto uaQuest

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

Page 11: Especificação Técnica - Projecto uaQuest

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.

Page 12: Especificação Técnica - Projecto uaQuest

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.

Page 13: Especificação Técnica - Projecto uaQuest

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

Page 14: Especificação Técnica - Projecto uaQuest

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

Page 15: Especificação Técnica - Projecto uaQuest

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

Page 16: Especificação Técnica - Projecto uaQuest

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

Page 17: Especificação Técnica - Projecto uaQuest

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

Page 18: Especificação Técnica - Projecto uaQuest

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

Page 19: Especificação Técnica - Projecto uaQuest

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