Sei sulla pagina 1di 19

uaQuest Especificao tcnica

ndice Introduo .....................................................................................................................................3 Mapa de Navegao da aplicao mvel ..............................................................................4 Arquitectura do Sistema .............................................................................................................5 Arquitectura da Aplicao ..........................................................................................................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

uaQuest Especificao tcnica

Introduo O presente documento tem por objectivo apresentar a componente de especificao tcnica do projecto. Assume um papel importante na definio do projecto, sendo que, resulta no culminar das hipteses tomadas at ao momento. Esta define efectivamente quais as tecnologias a utilizar e como estas vo ser implementadas. Desta forma, iremos apresentar o mapa de navegao da aplicao, os fluxogramas principais da aplicao, nomeadamente respeitante validao da tag, ao combate, resoluo de um enigma, ao login e registo, loja, e ao processo de troca. Ir ser especificada a arquitectura do sistema, detalhando o mdulo da aplicao mvel e o mdulo do servidor, e por ltimo ser apresentado o modelo da base de dados responsvel pelo armazenamento dos dados relativos ao jogo.

uaQuest Especificao tcnica

Mapa de Navegao da aplicao mvel

Imagem 1 - Mapa de navegao

A aplicao possui duas seces, no entanto ambas partem de um tronco comum. Aps o incio da aplicao o utilizador direccionado para a pgina de login. Se os seus dados estiverem guardados, o login ser feito automaticamente levando o utilizador para o ecr principal, o mapa. Aqui entram as duas seces, uma assegurada pelo validador de tags, a outra pelo boto de opes. A seco #1 ser acedida atravs do menu despoletado pelo clique do boto de opes. No que diz respeito seco #2, o ecr apresentado ir depender da tag validada. No entanto, aps a validao da tag mesa de combate, o jogador ir escolher o seu caminho (combate, trocas, loja) atravs de botes presentes no ecr. A seco #1 representa uma seco secundria da aplicao, no sendo prioritria na execuo actual.

uaQuest Especificao tcnica

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 aplicao mvel, desenvolvida para o sistema Android, e do outro o servidor de dados. A aplicao responsvel pelo processamento dos dados recebidos pelas vrias partes e pela apresentao dos dados ao utilizador. Efectua tambm pedidos de servios ao prprio dispositivo mvel, como por exemplo o acesso internet e o acesso a coordenadas GPS. So utilizados de igual modo provedores de servios externos, como o servidor de mapas do Google maps. O servidor contm o motor do jogo responsvel pelos clculos dos dados resultantes da interaco do utilizador com a aplicao e com outros jogadores. O servidor tem tambm de estabelecer a comunicao com a base de dados de forma a responder aos pedidos de dados feitos pela aplicao.

uaQuest Especificao tcnica

Arquitectura da Aplicao

Imagem 3 - Arquitectura da aplicao

Server Communication Engine Responsvel por efectuar os pedidos ao servidor. Submete um pedido ao servidor atravs de POST variables, recebe a resposta transformando-a num JSON Object. Este objecto ento transmitido ao Integration engine que efectua o processamento dos dados. Augmented Reality Framework Esta framework responsvel pela apresentao dos modelos 3D em realidade aumentada. Recebe por parte do integration engine qual o nome do modelo a apresentar, efectua o seu carregamento e apresenta-o sobre o marker. Integration engine Representa o mdulo nuclear de toda a aplicao sendo responsvel pela interligao de todas as frameworks. aqui feito o processamento de toda a informao recebida pelo servidor e pelo leitor de QrCodes. Efectua pedidos de

uaQuest Especificao tcnica

informao ao Server Communication Engine, cujos resultados envia s frameworks. (Exemplo: O Integration Engine efectua o pedido das coordenadas geogrficas do PI atravs do Server Communication Engine, passando-as depois Framework Google Maps que as apresenta no mapa).

Imagem 4 Exemplo de comunicao entre os elementos da aplicao e o servidor

Google Maps Framework Responsvel pela apresentao do mapa no ecr principal. Recebe os pontos a apresentar do integration engine e coloca-os sobre o mapa. Assegura tambm o correcto posicionamento do ponto que representa o utilizador, obtendo as suas coordenadas geogrficas. QrCode Reader Framework Efectua a leitura e descodificao dos QrCodes enviando o resultado (String) para o Integration Engine. Esta framework foi implementada na aplicao partindo da libraria Zxing, permitindo que a leitura e descodificao sejam feitas pela prpria aplicao, no sendo necessrio o uso de programas externos.

uaQuest Especificao tcnica

Arquitectura do Servidor

Imagem 5 - Arquitectura do Servidor

A tabela das APis seguinte representa os principais pontos de comunicao entre aplicao e o servidor. Durante o desenvolvimento da aplicao provvel que surjam novas APIs derivadas de novas necessidades, desta forma, a lista no deve ser tomada como definitiva.

API userLogin userRegistCheck

Params String username String password String username String email String username String email String name String password Int avatarId String token Int userId

Descrio Verifica se os dados esto vlidos. Se estiverem processa o login Verifica se o utilizador ou o email j esto em uso Efectua o registo do utilizador inserindo os dados na base de dados Obtm as coordenadas geogrficas do ponto de interesse actual de determinado jogador

userRegist

getPICoord

uaQuest Especificao tcnica

API getEnigma getEnigmaCur getInfo checkEnigma getTutorial

Params String token Int enigmaId String token Int userId String token Int infoId String token String answer String token Int tutorialId String token Int tableId String token Int userId String token Int specialAttackId String token Int tableId String token Int userId String token Int userId String token Int itenId String token Int tableId

Descrio Obtm o enigma a partir do ID dado Obtm o enigma em curso de determinado utilizador Obtm a informao a partir do ID dado Verifica se a resposta do utilizador correcta para o enigma em curso Obtm o tutorial a partir do ID dado Verifica se existe algum em espera na mesa de combate, vertente combate. Se no existir ningum, regista o utilizador como em espera Obtm a vida, energia e avatar do utilizador Verifica se o utilizador pode executar o ataque especial. Limpa o estado da mesa de combate, estando esta disponvel para outro uso. Adiciona pontos e crditos ao utilizador. Obtm os itens que o utilizador possui Obtm informao sobre um item em especfico Verifica se existe algum em espera na mesa de combate, vertente trocas. Se no existir ningum, regista o utilizador como em espera Efectua o processamento da troca e deixa a mesa disponvel para outros

checkFightTable

getFightData checkSpecialAttack clearFightTable setFightWinner getUserItens getItenInfo

checkTableTrade

processTableTrade

String token Int tableId

uaQuest Especificao tcnica

10

API getUserCredist getStoreItens

Params String token Int userId String token String token Int userId Int itenId String token Int piece1 Int piece2 Int piece3 Int piece4

Descrio Obtm os crditos que o utilizador possui Obtm os itens disponveis para compra Processa a compra do item, retirando crditos ao utilizador e adicionando o item ao seu inventrio. Verifica se as partes do item lendrio esto correctas. Se estiverem remove as peas do inventrio do jogador e adiciona o item lendrio.

buyIten

getLegendaryIten

Tabela 1 - APIs do servidor

uaQuest Especificao tcnica

11

Modelo de Base de Dados

Imagem 6 - Modelo de Base de Dados

A base de dados representa um papel fulcral no desenvolvimento da aplicao sendo que armazena todos os dados relativos ao jogo, e permite efectuar as interaces entre utilizadores, como o caso dos combates e trocas. Assim, era necessrio uma estrutura que armazenasse os dados do utilizador, nome, nome de utilizador, palavra-chave, email, pontos e crditos. Cada utilizador possui um avatar que o acompanha no jogo, sendo que este tem caractersticas especficas como, nome, vida, energia, ataque, defesa e velocidade.

uaQuest Especificao tcnica

12

O jogo baseia-se em percursos que o utilizador tem de percorrer, deslocando-se entre os vrios pontos de interesse (PI) de um percurso. O utilizador apenas pode um percurso activo, sendo este alterado assim que o anterior terminar. Cada PI pode ter um ou mais enigmas associados, dependente do percurso em questo. Por exemplo, o percurso 1 tem como temtica o ensino sendo que no PI1 apresentado o enigma A. Um segundo percurso, j tem como temtica a arquitectura, sendo apresentado no mesmo PI1, o enigma B. Cada PI tem a si associado um QrCode que permite a sua identificao, um nome, e as coordenadas geogrficas. No caso dos enigmas, alm do nome e descrio, tem de ser armazenada a resposta e os pontos que iro ser atribudos ao utilizador aps a sua resoluo. Nos vrios PIs existem tags de informao que podem ser consultadas procurando pistas para resoluo do enigma. O avatar obtm o seu poder dos itens que so recolhidos durante o jogo. Estes podem aumentar as vrias caractersticas do avatar, sendo que o utilizador pode possuir vrios itens repetidos. Alguns dos itens podem apenas ser adquiridos na loja sendo que, em adio aos outros atributos, tm de possuir um custo. Outros tipos de itens dizem respeito aos itens lendrios, estes so constitudos por quatro partes possuindo, alm das caractersticas do item, um ataque especial e o multiplicador desse ataque. Cada item lendrio s permite ao utilizador desbloquear um novo ataque, sendo este diferente para todos os itens lendrios. Na primeira utilizao de cada ecr apresentado um tutorial ao utilizador explicando o funcionamento do mesmo.

uaQuest Especificao tcnica

13

Fluxogramas Os seguintes fluxogramas pretendem explicar o funcionamento das componentes principais da aplicao, permitindo compreender como, e onde, processada a informao. De modo a compreender melhor a sua estrutura, e distinguir os vrios intervenientes, foram criados com base em cores explicadas na imagem seguinte.

Imagem 7 - Legenda explicativa dos fluxogramas

uaQuest Especificao tcnica

14

Fluxograma de login e registo

Imagem 8 - Fluxograma de login e registo

uaQuest Especificao tcnica

15

Fluxograma validar tag

Imagem 9 - Fluxograma validar tag

uaQuest Especificao tcnica

16

Fluxograma Enigma

Imagem 10 - Fluxograma Enigma

uaQuest Especificao tcnica

17

Fluxograma Combate

Imagem 11 - Fluxograma Combate

uaQuest Especificao tcnica

18

Fluxograma Trocas

Imagem 12 - Fluxograma Trocas

uaQuest Especificao tcnica

19

Fluxograma Loja

Imagem 13 - Fluxograma Loja

Potrebbero piacerti anche