Click here to load reader

Especificação Técnica - Projecto uaQuest

  • View
    621

  • Download
    0

Embed Size (px)

Text of Especificação Técnica - Projecto uaQuest

uaQuest Especificao tcnica

2

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

3

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

4

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

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 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

6

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

7

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

8

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

9

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, ataqu