Você está na página 1de 29

UA+DeCa 2012 Projecto uaPlay

ndice
Introduo ...................................................................................................................... 3 Perfis de utilizador ........................................................................................................... 3 Requisitos funcionais/no funcionais do Website .................................................................. 3 Requisitos funcionais/no funcionais Aplicao .................................................................... 6 Viabilidade tcnica ......................................................................................................... 10 Website/motor de jogo ............................................................................................... 10 Hardware necessrio................................................................................................ 10 Linguagens Server-side ............................................................................................ 10 IDEs para desenvolvimento ..................................................................................... 13 Autenticao .......................................................................................................... 14 Aplicao mvel......................................................................................................... 16 Hardware necessrio................................................................................................ 16 Sistema operativo para dipositivo mvel ..................................................................... 16 IDEs para desenvolvimento ..................................................................................... 19 Frameworks e APIs para desenvolvimento ................................................................. 20 Distribuio da aplicao .......................................................................................... 21 Outro software necessrio ............................................................................................ 22 Editores de Imagem bitmap ...................................................................................... 22 Programas de Modelao 3D .................................................................................... 24 Editores de Som ..................................................................................................... 26 Concluso..................................................................................................................... 28

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

Introduo
Aps ter sido definido claramente o conceito do projecto e ter-se procedido a uma recolha do estado da arte chegou o momento de reflectir sobre os requisitos funcionais e no funcionais do projecto e posteriormente a sua viabilidade tcnica. Desta forma pretendemos compreender realmente o que necessrio que a aplicao possa fazer e quais as tecnologias subjacentes a essas necessidades.

Perfis de utilizador
Nome Utilizador Utilizador No registado Descrio Corresponde a todos os utilizadores alvo da aplicao antes de efectuarem o registo. Principais funcionalidades Efectuar o download da aplicao, ver o manual e informaes sobre a aplicao e efectuar o registo. Aceder ao ser perfil no website e comunicar com os outros jogadores. Utilizar a aplicao em todas as suas vertentes, descoberta da Universidade de Aveiro (UA) e interaco com a comunidade. Importncia para o sistema Sem grande importncia para o sistema apenas tornando-se um actor activo depois do registo. Utilizador nuclear do sistema. este que ir utilizar a aplicao e sem ele o projecto no pode ir avante.

Utilizador Registado

Corresponde aos utilizadores com registo e capazes de utilizar todas as funcionalidades da aplicao.

Tabela 1- Perfis de utilizador

Requisitos funcionais /no funcionais do Website


De forma a compreender melhor quais os requisitos e como estes se relacionam estre si foram desenvolvidos diagramas referentes a casos de utilizao. Estes diagramas iro anteceder as tabelas com os requisitos para melhor interpretao dos mesmos.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

Imagem 1 - Diagrama User Cases do website

# 1 2 3 4 5 6

Requisitos funcionais O utilizador poder fazer download da aplicao O utilizador poder enviar um email aos administradores O utilizador poder consultar o manual do jogo O utilizador poder efectuar o registo O utilizador poder autentificar-se no Website O utilizador poder visualizar o seu perfil (Avatar, inventrio) O utilizador poder consultar a classificao de todos os jogadores ordenada de acordo com os pontos O utilizador poder ver a sua prpria posio O utilizador poder procurar um jogador O utilizador, a partir da classificao geral, dever poder enviar uma mensagem de texto Mensagens O utilizador poder comunicar com outro jogador atravs de mensagem de texto

Perfis utiliza. UNR UR

Prioridade1 3 1 2 3 3 2

Tabela Classificativa 7 8 9 10

1 1 1 2

11

Na prioridade foi utilizada uma escala de 1 a 3, sendo que o 3 corresponde a muito importante,

representando funcionalidades chave e o 1 corresponde a pouco importante.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay 12 13 14 15 O utilizador poder adicionar um destinatrio a uma mensagem de texto criada O utilizador poder consultar as mensagens de texto trocadas com determinado jogador O utilizador dever detectar as mensagens de texto no lidas O utilizador poder responder, apagar e ler as mensagens de texto 3 2 2 3

RNF2 apresentado o nome do jogador com o qual foram trocadas mensagens RNF - As mensagens devero ser apenas dirigidas a um jogador Inventrio 16 17 18 O utilizador poder visualizar o seu inventrio O utilizador poder consultar o inventrio de outro jogador O utilizador poder obter informao sobre determinado item 3 2 3

Tabela 2 - Requisitos funcionais e no funcionais do website

Aps especificar os requisitos funcionais do website iremos proceder especificao dos requisitos para a aplicao mvel. Esta ir possuir dois grandes requisitos que podem ser definidos como mdulos da aplicao. A parte da descoberta da UA contm os pontos de interesse e os enigmas enquanto que a parte de interaco com a comunidade contm a vertente social da aplicao, ou seja, o jogo.

Requisito no funcional

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

Requisitos funcionais/no funcionais Aplicao

Imagem 2 - Diagrama User Cases da aplicao

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay # 1 Requisitos funcionais O utilizador poder autenticar-se na aplicao RNF Aps autenticao o utilizador ser encaminhado para a pgina principal RNF Apresentar os pontos e os crditos RNF Dever ser apresentada uma ligao para permitir a validao das tags, visualizao do inventrio, visualizao de mensagens trocadas, visualizao do mapa e consulta da tabela classificativa Tabela Classificativa 2 3 4 5 6 7 8 9 10 O utilizador poder consultar a sua prpria posio O utilizador poder consultar a classificao de todos os jogadores ordenados de acordo com os pontos O utilizador poder procurar um jogador O utilizador poder escolher um jogador para lhe enviar uma mensagem Mensagens O utilizador poder comunicar com outro jogador atravs de mensagens de texto O utilizador poder adicionar um destinatrio a uma mensagem de texto criada O utilizador poder consultar as mensagens de texto trocadas (enviadas e recebidas) com determinado jogador O utilizador dever detectar as mensagens de texto no lidas O utilizador poder responder, apagar e ler as mensagens de texto RNF apresentado o nome do jogador com o qual foram trocadas mensagens RNF - As mensagens devero ser apenas dirigidas a um jogador Inventrio 11 12 O utilizador poder visualizar o seu inventrio e obter informao sobre determinado item Mapa O utilizador tem de ter a possibilidade de consultar o mapa RNF O mapa ter de mostrar a posio actual do jogador Validar a Tag3 RNF O mapa ter de mostrar o prximo ponto de interesse no percurso Tag mesa de combate4 Vertente Loja 13 14
3

7
Prioridade 3

2 2 1 2 3 3 2 1 3

3 3

O utilizador dever ter a possibilidade de identificar a vertente loja O utilizador dever ter a possibilidade de comprar um item

2 2

Existem 3 grupos de tags. O primeiro refere-se tag existente nas mesas de combate. Estas permitem

aceder ao combate, s trocas e loja. O segundo grupo contm as tags utilizadas para validar os pontos de interesse e aceder aos enigmas. Por ltimo, o terceiro grupo contm a tag para aceder mesa de montagem.
4

A mesa de combate ir permitir o acesso a trs vertentes (Loja, Trocas, Combate)

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay 15 16 O utilizador dever ter a possibilidade de consultar os itens existentes na loja O utilizador dever ter a possibilidade de obter mais informao sobre um item RNF O item activo dever aparecer destacado RNF Os itens j obtidos devero aparecer destacados RNF A aplicao no dever permitir a comprar de itens anteriormente comprados RNF Dever ser impedida a compra caso o utilizador no possua crditos suficientes RNF Devero ser retirados os crditos gastos ao utilizador Vertente Trocas5 17 18 19 20 21 RNF O item comprado dever ser colocado no inventrio do utilizador O utilizador dever ter a possibilidade de identificar a vertente trocas O utilizador dever ter a possibilidade de escolher se pretende enviar ou receber um item O utilizador dever ter a possibilidade de escolher um item para o seu envio O utilizador dever ter a possibilidade de obter mais informao sobre o item a ser trocado O utilizador dever ter a possibilidade de receber um item RNF O nome do jogador com quem a troca est a ser efectuada dever ser apresentado RNF O item enviado dever ser removido do inventrio do remetente e adicionado ao inventrio do destinatrio Vertente Combate 22 23 O utilizador dever ter a possibilidade de identificar a vertente combate O utilizador dever ter a possibilidade de escolher um ataque normal ou um dos ataques especiais RNF Devero ser apresentados os avatares dos utilizadores RNF Dever ser apresentada a energia e vida dos avatares RFN Dever ser retirada energia aos avatares aquando do uso de um ataque especial RNF Dever ser retirada vida a um avatar quando for alvo de um ataque RNF O avatar dever ter uma certa probabilidade de se defender do ataque RNF A aplicao dever atribuir crditos e pontos ao vencedor Tag Mesa de Montagem 24 25
5

8
2 1

3 3 3 1 3

3 3

O utilizador dever ter a possibilidade de identificar a mesa de montagem O utilizador dever ter a possibilidade de visualizar o seu inventrio

2 2

Estas trocas funcionam de forma unidireccional sendo que em cada transaco apenas um item pode ser

trocado possibilitando assim a troca de um item por nada.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay 26 27 O utilizador dever ter a possibilidade de escolher as vrias partes do item lendrio a partir do inventrio O utilizador dever ter a possibilidade de combinar as vrias partes do item lendrio 2 2

RNF Se as partes combinadas forem as correctas, a aplicao remove as mesmas do inventrio do utilizador e o item lendrio adicionado. RNF Devero ser apresentados os itens a serem combinados. Tag Ponto de Interesse 28 29 30 31 32 33 34 O utilizador dever ter a possibilidade de identificar uma tag de informao num ponto de interesse O utilizador dever ter a possibilidade de validar uma tag de informao O utilizador dever ter a possibilidade de obter informao sobre o ponto de interesse O utilizador dever ter a possibilidade de identificar a tag enigma num ponto de interesse O utilizador dever ter a possibilidade de validar a tag de enigma O utilizador dever ter a possibilidade de ter acesso ao enigma O utilizador dever ter a possibilidade de resolver o enigma 3 3 3 3 3 3 3

RNF A aplicao ter de atribuir pontos ao utilizador aps a correcta resoluo do enigma RNF A aplicao ter de atribuir um item aleatrio ao utilizador aps a correcta resoluo do enigma RNF A aplicao ter de informar o utilizador do prximo ponto de interesse no percurso aps a correcta resoluo do enigma

Tabela 3 - Requisitos funcionais e no funcionais da aplicao

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

10

Viabilidade tcnica
Aps a descrio dos requisitos funcionais da aplicao, segue-se uma pesquisa pelas tecnologias e aplicaes a utilizar. O projecto divide-se em duas vertentes: o servidor que permite obter informaes sobre a aplicao e que contm o motor do jogo e a aplicao para dispositivos mveis que ir conter a essncia do jogo a desenvolver. Dimenses utilizadas nas tabelas: Documentao Existncia de manuais, tutoriais e outra documentao que permita adquirir conhecimentos sobre o assunto. (5- Muita documentao, 1-Pouca documentao). Comunidade Partilha por parte de outros utilizadores de recursos, tutoriais e esclarecimentos sobre os assuntos. Possibilita o dilogo com os utilizadores trocando opinies permitindo uma experincia de aprendizagem mais dinmica. (5- Comunidade alargada, 1-Comunidade reduzida) Facilidade de Uso Grau de intuitividade do programa/linguagem no uso por iniciantes (5- Muito intuitivo, 1-Pouco intuitivo). Experincia do grupo Experincia que os membros do grupo possuem na utilizao de determinado programa/linguagem (5- Muito experincia, 1-Pouco experincia). Curva Aprendizagem Relao entre o tempo despendido e os conhecimentos adquiridos (5- pouco tempo para adquiri conhecimentos, 1-muito tempo para adquirir conhecimentos). Custo Preo da licena de utilizao do programa/linguagem (5 - Custo reduzido, 1 Custo elevado). Requisitos de sistema Compatibilidade entre plataformas (5 Compatibilidade elevada, 1- Compatibilidade reduzida).

Web si te/mo to r de jo go
Hardware necessrio Ser necessrio um servidor web de testes para os primeiros passos do desenvolvimento da aplicao e posteriormente ser necessrio um servidor real uma vez que os terminais mveis necessitam de possuir acesso base de dados e ao motor de jogo, no sendo possvel atravs do recurso a um servidor web local. Linguagens Server-side Este ponto necessita de reflexo e pesquisa sobre dois pontos. O servidor ter de possuir uma base de dados que ir guardar todos os dados relativamente aos jogadores e ter de utilizar uma linguagem que permita simultaneamente construir o motor de jogo e desenvolver o website

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay informativo. Tendo o website de ser adaptado ao projecto, ir ser desenvolvido inteiramente pelos membros do grupo de forma a ter mais controlo sobre como a informao apresentada e sobre as interaces dos utilizadores. Linguagem para motor de jogo e website Foram pesquisadas trs tecnologias que possibilitam a construo de pginas dinmicas: PHP, ASP.NET e JSP. Foi atribuda uma classificao, de 1 a 5, s vrias vertentes que o grupo considerou mais importantes para a escolha da tecnologia.
DIMENSO/ LINGUAGEM

11

PHP 5 5 4 5 4 5 5 33

ASP.NET 4 4 3 1 3 5 3 23

JSP 3 3 3 1 3 5 4 22

Documentao Comunidade Facilidade de Uso Experincia do grupo Curva Aprendizagem Custo Requisitos de sistema Total

Tabela 4 - Comparao entre linguagens para motor de jogo

Verificou-se que a documentao e comunidade associada s tecnologias significativamente maior na linguagem PHP. Este ponto importante pois permite aceder a tutoriais, exemplos de cdigo e a uma comunidade que permite esclarecer questes com que o grupo se possa deparar. Apesar de no ter sido possvel efectuar uma pesquisa muito profunda, devido a restries temporais, chegou-se concluso que a linguagem PHP mais intuitiva na utilizao em relao s outras. Juntando a este ponto a experincia que o grupo possui na mesma, visto ter sido matria leccionada nas aulas, e a curva de aprendizagem da linguagem ser boa, torna-se evidente que a linguagem predilecta do grupo para o desenvolvimento de pginas dinmicas e o motor de jogo. Em termos de custo todas as linguagens partilham o mesmo patamar, so open-source e no requerem pagamento de licenas. No obstante este ponto o PHP torna-se mais acessvel pois o servidor necessrio est disponvel para uma grande variedade e plataformas enquanto a linguagem ASP.NET necessita um servidor IIS que apenas funciona em plataformas Windows tornando-se mais raros e dispendiosos. Os ficheiros construdos com JSP necessitam de ser compilados antes de ser possvel utiliz-los.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

12

Documentao

Requisitos de sitema

Comunidade PHP ASP.NET

Custo

Facilidade de uso

JSP

Curva de aprendizagem

Experincia de grupo

Grfico 1 - Representao grfica das dimenses das linguagens para o motor de jogo

Face aos pontos apresentados, a linguagem a utilizar para construir o website e motor de jogo ser o PHP.

Sistemas de gesto de bases de dados No que respeita base de dados que ir armazenar toda a informao relativamente ao projecto e que ter um papel fulcral no jogo foram identificados trs provedores principais, MySQL, MS SQL Server e PostgreSQL. Todos estes sistemas de gesto de Bases de Dados utilizam por base a linguagem SQL sendo que para poder efectuar uma escolha teve-se em conta o preo do sistema e a sua difuso. O MS SQL Server tem um custo associado sua utilizao tendo sido posto automaticamente de parte. Quanto ao PostgreSQL tambm poderia ser considerado no entanto, apesar de ser gratuito, a sua difuso no muito extensa. Desta forma o MySQL foi escolhido sobretudo por dois factores: tem uma fcil integrao com o PHP e existe como soluo de gesto de bases de dados na grande maioria dos fornecedores de alojamento Web.

Linguagens Client-side Para poder exibir informao ao utilizador resultante do processamento do servidor ir ser utilizado o HTML e o CSS. Estas so as linguagens utilizadas para este fim no havendo alternativa. No entanto ir ser efectuada uma comparao em termos de compatibilidade entre browsers do XHTML 1.1 e o HTML 5 e o CSS2 e CSS3. Esta comparao torna-se til uma vez

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay que pretendemos assegurar uma boa compatibilidade entre todos os browsers permitindo a todos os utilizadores terem a mesma experincia de navegao. Aps uma consulta foi possvel perceber que os browsers mais utilizados so o Firefox e o Google Chrome6 e estes so compatveis com a grande maioria das propriedades do CSS3 e HTML57. No entanto o website, uma vez que apenas serve de suporte aplicao, ser desenvolvido em XHTML 1.1 e CSS2 sendo que so linguagens completamente dominadas pelos membros do grupo e a complexidade do mesmo no exige tecnologias muito avanadas. Para permitir algum dinamismo na pgina web fornecendo feedback ao utilizador em tempo real ir ser utilizado o javascript, mais concretamente a biblioteca jQuery permitindo simplificar a interaco com o HTML poupando tempo.

13

IDEs para desenvolvimento Nesta seco o ponto mais importante refere-se escolha do editor a utilizar no desenvolvimento do website. Sendo que as linguagens web a ser utilizadas no requerem qualquer tipo de compilao um simples editor de texto seria suficiente no entanto por uma questo de facilitismo o grupo pretende utilizar um IDE que possua algumas caractersticas especficas: Syntax highlighting Code completition Code inspectorg Ftp support Projects

Face s funcionalidades requeridas identificamos quatro programas capazes de as satisfazer sendo Dreamweaver8, Eclipse9, phpDesigner810, Notepad++11. O grupo tem experincia no uso de qualquer um destes programas pelo que a escolha ir ser feita em base a outros factores. O Dreamweaver tem a desvantagem de possuir demasiadas funcionalidades automatizadas tornando-se um programa complexo e consumidor de recursos. Apesar de possuir um editor
6 7

Dados de http://www.w3schools.com/browsers/browsers_stats.asp [Consultado em 2 Maro de 2012]

Compatibilidade de propriedades: http://www.findmebyip.com/litmus [Consultado em 2 Maro de 2012] Testes de compatibilidade: http://html5readiness.com/ [Consultado em 2 Maro de 2012] http://haz.io/ [Consultado em 2 Maro de 2012] http://html5test.com/index.html [Consultado em 2 Maro de 2012] 8 http://www.adobe.com/products/dreamweaver/features.html [Consultado em 1 de Maro de 2012]
9 10 11

http://www.eclipse.org/ [Consultado em 1 de Maro de 2012] http://www.mpsoftware.dk/phpdesigner_features.php [Consultado em 1 de Maro de 2012] http://notepad-plus-plus.org/ [Consultado em 1 de Maro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay WYSIWYG que permite facilitar o trabalho, a vista de cdigo e o prprio cdigo no o mais optimizado possvel. O Notepad++ pelo lado oposto especialmente simples e apenas possui algumas das caractersticas que o grupo pretende, no sendo adequado ao desenvolvimento de documentos complexos. A escolha reside agora entre o Eclipe e o phpDesigner8. So ambos poderosos IDEs com suporte a mltiplas linguagens e com todas as caractersticas que o grupo pretende. Desta forma a escolha do grupo ir basear-se em dois factores. Primeiro o custo do produto sendo que o Eclipse gratuito e o phpDesigner8 no. O segundo factor refere-se quantidade de plugins existentes para os editores tornando-se largamente maior no que toca ao Eclipse uma vez que de cdigo aberto. A partir dos motivos apresentados o Eclipse ir ser utilizado para o desenvolvimento de todo o projecto desde o website aplicao.

14

Autenticao No desenvolvimento do projecto um dos aspectos importantes a ter em conta ser o registo na aplicao, este registo como j foi referido anteriormente ir ser realizado atravs do Website. Este registo poder ser efectuado por exemplo recorrendo ao facebook. Este possui uma boa documentao12 sobre como efectuar a integrao e facilmente encontram-se mais tutoriais13. Existe uma clara vantagem nesta abordagem sendo que a grande maioria do pblico-alvo possui uma conta nesta rede. Na UA o servio de autenticao baseado em Shibboleth14, este por sua vez open source o que permite um grande desenvolvimento do software por parte da comunidade. Para trabalhar com este software so necessrias algumas tecnologias complementares como o Apache Web Server, Tomcat e LDAP ou Active Directory. Este servio atravs do fornecimento das credencias organizacionais permite a sua validao fornecendo informao sobre a sua autenticidade permitindo consequentemente a sua autenticao. Ao efectuar o registo, a existncia de uma integrao com o utilizador universal da Universidade de Aveiro ir facilitar o processo uma vez que este ir obter toda a informao sobre o utilizador a partir dos servidores da UA15. Este mtodo vem com algumas vantagens e desvantagens. Uma das vantagens tornar a aplicao mais restrita comunidade da UA, no entanto umas das desvantagens reside no facto de existir um atraso entre o registo dos novos alunos e o funcionamento do seu utilizador universal.
12 13

https://developers.facebook.com/docs/mobile/android/build/ [Consultado a 2 de Maro de 2012] Exemplo de tutorial: http://blog.doityourselfandroid.com/2011/02/28/30-minute-guide-integrating-

facebook-android-application/ [Consultado a 2 de Maro de 2012] 14 http://shibboleth.internet2.edu/


15

Servidor da UA: https://idp.ua.pt/

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay Por ltimo, a autenticao pode ser efectuada da forma clssica, obrigando os utilizadores a preencher os dados que so necessrios e efectuado o login fornecendo o nome de utilizador e palavra-chave escolhidos.

15

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

16

Aplicao m vel
Hardware necessrio Para permitir efectuar os testes da aplicao, nomeadamente a vertente de combate do jogo, sero necessrios dois terminais com Android. Neste ponto no possvel utilizar o emulador de Android fornecido uma vez que no permite acesso cmara e este um ponto fundamental na aplicao. Sistema operativo para dipositivo mvel O ponto nuclear do nosso projecto centra-se no desenvolvimento de uma aplicao para mobile e assim sendo necessrio ponderar correctamente qual o sistema operativo que ir ser alvo de desenvolvimento. Foi efectuada uma pesquisa para saber quais os sistemas operativos mais propcios ao desenvolvimento de aplicaes e chegou-se concluso que seria trs os candidatos favorveis. Algumas dimenses utilizadas nesta tabela diferem em alguns pontos das utilizadas anteriormente: Estado da arte Nmero de aplicaes existentes em determinadas plataformas. Taxa de Penetrao Nmero de pessoas que utilizam determinado sistema operativo em Portugal Ferramentas de desenvolvimento Qualidade e simplicidade das ferramentas utilizadas para desenvolvimento das aplicaes. Custo Preo da licena de publicao da aplicao.

DIMENSO/ SISTEMA OP.

Android 5 5 4 5 4 5 4 32

iOS 4 5 5 4 4 3 3 27

Windows Phone 7 4 3 2 1 3 3 2 18

Documentao Comunidade Estado da arte Taxa de Penetrao Curva Aprendizagem Ferramentas de desenvolvimento Custo Total

Tabela 5 - Comparao entre sistemas operativos mveis

O desenvolvimento para Windows Phone 7 foi posto de parte devido a uma srie de factores. A documentao existente bastante boa no entanto a comunidade existente no suficiente para permitir uma interaco entre utilizadores que permita o esclarecimento de questes. Aparte este

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay factor o que mais nos levou a descartar esta plataforma foi a sua reduzida penetrao de mercado. ainda uma plataforma recente sendo que ainda necessita de alguma maturidade16. A discusso agora reside entre o Android e o iOS17 no entanto o primeiro tem alguns pontos a seu favor. A documentao muito boa e completa em ambas as plataformas porm o Android ganha pontos devido sua organizao uma vez que a organizao da documentao do iOS algo confusa e pouco intuitiva18. A comunidade de desenvolvedores igualmente desenvolvida para ambas as plataformas sendo que existem bastantes fruns e tutoriais produzidos pelos utilizadores que permitem uma aprendizagem rpida19. As aplicaes para o iOS existem em maior nmero20 e a app store da apple pode dizer-se mais segura uma vez que apenas permite aplicaes validadas no permitindo obter as aplicaes por
16

17

Para ter uma ideia da documentao relativa ao Windows phone foram consultados os seguintes sites:

http://msdn.microsoft.com/en-us/library/ff402535(v=vs.92).aspx [Consultado em 1 Maro de 2012] http://weblogs.asp.net/scottgu/archive/2010/09/16/windows-phone-7-developer-tools-released.aspx [Consultado em 1 Maro de 2012] http://blogs.msdn.com/b/somasegar/archive/2010/03/15/introducing-windows-phone-7-developmenttools.aspx [Consultado em 1 Maro de 2012] http://create.msdn.com/en-US [Consultado em 1 Maro de 2012] http://www.thewindowsclub.com/windows-phone-7-tutorial-series-building-deploying-wp7-apps [Consultado em 1 Maro de 2012]
17

Comparao entre desenvolvimento para Android e iOs: http://www.computerworld.com/s/article/9178684/Developing_for_the_iPhone_and_Android_The_pros_ and_cons?taxonomyId=18&pageNumber=1 [Consultado em 29 de Fevereiro de 2012] http://greensopinion.blogspot.com/2009/07/android-versus-iphone-development.html [Consultado em 1 de Maro de 2012] http://geekswithblogs.net/ryanc/archive/2010/08/25/thoughts-on-android-and-iphone-development.aspx [Consultado em 1 de Maro de 2012]
18

Documentao iOS:

https://developer.apple.com/library/ios/navigation/#section=Resource%20Types&topic=Getting%20Started [Consultado em 29 de Fevereiro de 2012]


19

Tutorial iOS: http://mobileorchard.com/ios-development-tutorial-series-hello-world/ [Consultado em

29 de Fevereiro de 2012] Comunidade Android: http://www.portalandroid.org/comunidade/viewforum.php?f=1 [Consultado em 29 de Fevereiro de 2012] Retirado de: http://www.brighthub.com/mobile/google-android/articles/74976.aspx [Consultado em 1 de Maro de 2012]
20

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay outro meio. Este facto aumenta a segurana das aplicaes para iOS sendo que mais complicada a difuso de malware. Como foi referido anteriormente um dos factores de grande importncia a taxa de penetrao de mercado da plataforma. Neste caso e segundo a pesquisa a plataforma com maior taxa de penetrao no mercado portugus revelou ser o Android21. Isto vai de encontro com o nosso objectivo de conseguir atingir o maior nmero de pessoas possvel. O sistema operativo Android encontra-se numa variedade de terminais, existindo preos variados. Isto comporta vantagens e desvantagens. Por um lado permite que um maior nmero de pessoas aceda aos terminais uma vez existe um grande leque de ofertas e preos, por outro compromete o desenvolvimento sendo que necessrio ter em conta as especificidades desses mesmos terminais como as dimenses de ecr, a capacidade de processamento, etc. Este problema no se verifica nos terminais com iOS. Sendo um sistema de cdigo fechado apenas existe disponvel para os terminais da empresa reduzindo o nmero de variaes de hardware. Sobre a curva de aprendizagem no existe muito a referir. A disponibilidade de documentao e a grande comunidade existente permite adquirir conhecimentos sobre ambas as plataformas de uma forma relativamente rpida. Um ltimo ponto sobre o qual nos irmos debruar ser a existncia e qualidade das ferramentas de desenvolvimento do iOS e do Android. A ferramenta eleita para o desenvolvimento da plataforma Android o Eclipse e para esta foram desenvolvidos vrios plugins que permitem um desenvolvimento facilitado. um IDE que compatvel com todos os sistemas operativos (Windows, Mac e Linux) e sendo de cdigo aberto possui uma enorme comunidade associada que contribui para o seu desenvolvimento nomeadamente com plugins que facilitam o trabalho e melhoram o seu funcionamento. No que diz respeito ao iOS existe um IDE prprio para o desenvolvimento denominado por xCode 4. A grande desvantagem deste editor reside no facto de apenas ser compatvel com Mac, no sendo adequado ao grupo uma vez que apenas um dos elementos dispem de um MacBook Pro.

18

21

Informao retirada de:

http://aeiou.exameinformatica.pt/noticias/software/2012/01/03/android-e-o-sistema-operativo-movelmais-usado-em-portugal [Consultado em 29 de Fevereiro de 2012] http://ptandroid.com/android-e-o-lider-dos-sistemas-operativos-moveis-em-portugal/ [Consultado em 29 de Fevereiro de 2012] Apesar de referente aos EUA permite uma ideia mais global sobre a penetrao no mercado: http://blog.nielsen.com/nielsenwire/consumer/android-leads-u-s-in-smartphone-market-share-and-datausage/ [Consultado em 1 de Maro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

19

Documentao Requisitos de sitema

Comunidade Android iOS

Custo

Facilidade de uso

Windows Phone 7

Curva de aprendizagem

Experincia de grupo

Grfico 2 - Representao grfica das dimenses dos sistemas operativos mveis

Face aos resultados obtidos com a pesquisa o grupo decidiu optar por desenvolver para Android. Apesar de ambos serem muito similares o Android obteve clara vantagem em alguns aspectos sendo exemplo o facto de possuir uma maior taxa de penetrao de mercado e as ferramentas de desenvolvimento estarem disponveis para uma maior variedade de sistemas operativos. Outra vantagem deriva da linguagem utilizada para o desenvolvimento das aplicaes, neste caso o JAVA. Esta linguagem no est restrita ao Android e possui mltiplas utilizaes sendo a sua aprendizagem um investimento futuro.

IDEs para desenvolvimento Atravs da pesquisa sobre o sistema operativo mvel chegou-se concluso que iria ser utilizado o Android. Para desenvolver nesta plataforma a equipa do Android sugere a utilizao do Eclipse sendo que foram desenvolvidos vrios plugins para o mesmo. Outra alternativa de uso seria o NetBeans no entanto iria prejudicar o desenvolvimento uma vez que no existe suporte para esse mesmo IDE.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

20

Frameworks e APIs para desenvolvimento


Para o desenvolvimento da aplicao ser necessria a utilizao de algumas frameworks e APIs de modo a implementar as funcionalidades pretendidas. A aplicao necessita de utilizar a realidade aumentada, leitura de QrCodes e fornecer a posio dos pontos de interesse ao utilizador atravs de um mapa. Estas funcionalidades no so nativas do SDK do Android pelo que torna-se necessrio utilizar bibliotecas externas.

Leitor QrCodes Uma parte essencial para o funcionamento da aplicao e da sua vertente de descoberta da UA reside na necessidade de decifrar os QrCodes existentes nos pontos de interesse. Uma pesquisa nesta rea revelou a existncia de duas bibliotecas para os decifrar. A API fornecida pela QR Droid22 permite uma simples leitura dos cdigos no entanto o utilizador necessita de possuir uma aplicao pr-instalada no dispositivo. A biblioteca ZXing23 permite por outro lado uma integrao completa na aplicao no sendo necessria qualquer outra. Uma vez que pretendido que o utilizador no seja obrigado a instalar nenhuma aplicao o grupo ir optar por utilizar a biblioteca ZXing.

Realidade aumentada A realidade aumentada desempenha um papel muito importante no decurso do nosso projecto. A inovao deste reside na forma como a componente de jogo se desenrola pelo que necessria a utilizao desta tecnologia. Sendo uma tecnologia ainda em crescimento no existe muita escolha em termos de bibliotecas, no entanto o grupo identificou trs possveis de serem utilizadas. AndAR24 DroidAr25 Qualcomm AR (Vuforia)26

22 23 24 25 26

http://qrdroid.com/services [consultado em 1 de Maro de 2012] http://code.google.com/p/zxing/w/list [consultado em 1 de Maro de 2012] http://code.google.com/p/andar/ [consultado em 28 de Fevereiro de 2012] http://code.google.com/p/droidar/ [consultado em 29 de Fevereiro de 2012] https://developer.qualcomm.com/develop/mobile-technologies/augmented-reality [consultado em 28 de

Fevereiro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay Todas as bibliotecas pesquisadas revelaram uma grande falta de documentao o que vai trazer constrangimentos na sua utilizao. A comunidade envolvente tambm carece do mesmo problema uma vez que esta praticamente inexistente. Sendo que o grupo no poder contar com a documentao disponibilizada ter de utilizar os ficheiros exemplo e compreender como funciona a biblioteca e nesse caso a AndAR aparenta ser a mais simples. No entanto ir ser continuada a pesquisa a fim de descobrir melhores solues.

21

API Mapas A aplicao mvel tem de dar a conhecer ao utilizador aonde se encontra no campus e qual o local do prximo ponto de interesse. Desta forma necessitamos de uma biblioteca para Android que permita a interaco com mapas e aps uma pesquisa encontrara-me trs opes OsmDroid27, Bing Maps Android SDK28 e Google Maps29. Dentro destas opes o grupo ir optar por utilizar a API do Google Maps. Esta como o prprio nome da indica desenvolvida pela Google, tal como o Android, removendo o problema da compatibilidade. A documentao existente tambm superior no Google Maps uma vez que, ao contrrio dos outros projectos, no foi desenvolvido independentemente.

Distribuio da aplicao Estando este projecto integrado na UA e uma vez que o pblico-alvo so os novos alunos da mesma pretende-se que esta seja distribuda aos novos alunos por parte da prpria universidade. No obstante, esta estar disponvel no website especialmente desenhado para lhe dar suporte e poder ser posteriormente disponibilizada no Android Market.

27 28 29

http://code.google.com/p/osmdroid/ [Consultado a 2 de Maro de 2012] http://bingmapsandroidsdk.codeplex.com/ [Consultado a 2 de Maro de 2012] http://code.google.com/intl/pt-PT/android/add-ons/google-apis/maps-overview.html#apikey

[Consultado a 2 de Maro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

22

Ou tro softwa re nece ss rio


Editores de Imagem bitmap Para o desenvolvimento do projecto torna-se fundamental possuir um editor de imagem capaz de fazer frente aos desafios do prprio projecto. Desta forma foram analisados os trs editores presentes na tabela nas dimenses referidas de forma a perceber qual o mais adequado.
DIMENSO/ PROGRAMA

Photoshop 5 5 4 5 3 1 3 26

GIMP 4 4 5 2 4 5 5 29

Paint.Net 3 3 4 1 4 5 1 21

Documentao Comunidade Facilidade de Uso Experincia do grupo Curva Aprendizagem Custo Requisitos de sistema Total

Tabela 6 - Comparao entre editores de imagem

No que diz respeito documentao o Photoshop30 claramente tem mais informao disponvel e a comunidade subjacente bem mais alargada facilitando a aquisio de contedos. Os plugins e recursos disponveis so por consequncia mais desenvolvidos. A maior facilidade de uso recai sobre o GIMP31, uma vez que a sua interface extremamente simples permite compreender o seu funcionamento de uma forma muito imediata. No entanto o grupo tem grande experincia na utilizao do Photoshop, uma vez que um programa leccionado. Quanto curva de aprendizagem, o Photoshop peca pela sua complexidade. Sendo um programa muito robusto e com muitas funcionalidades torna a sua aprendizagem algo demorada no entanto isto no um problema para os membros do grupo sendo que j dominam a ferramenta. O custo tem um grande impacto na pontuao final do programa e enquanto o GIMP e o Paint.NET32 so gratuitos o Photoshop tem um custo elevado. Exceptuando o Paint.NET que apenas funciona em plataformas Windows, o GIMP e Photoshop funcionam e diversas plataformas no entanto apenas o GIMP assegura o seu funcionamento em todas as plataformas.

30 31

http://www.adobe.com/br/products/photoshop.html [Consultado em 29 de Fevereiro de 2012] http://www.gimp.org/ [Consultado em 29 de Fevereiro de 2012] 32 http://www.getpaint.net/ [Consultado em 29 de Fevereiro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

23

Documentao

Requisitos de sitema

Comunidade Photoshop GIMP

Custo

Facilidade de uso

Paint.NET

Curva de aprendizagem

Experincia de grupo

Grfico 3 - Representao grfica das dimenses dos programas de edio de imagem

Apesar da pontuao resultante dos pontos avaliados favorecer o GIMP o grupo vai optar por utilizar o Photoshop uma vez que j possui alargada experincia na rea e o facto deste no assegurar o funcionamento em Linux no um constrangimento, sendo que nenhum dos membros do grupo utiliza esta plataforma.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay Programas de Modelao 3D O programa de modelao 3D de extrema importante no desenvolvimento do nosso projecto sendo que todos os personagens do jogo sero desenvolvidos com esta tecnologia. Desta forma foram pesquisados os trs programas mais utilizados e foi efectuada uma comparao entre eles.
DIMENSO/ PROGRAMA

24

3Ds Max 5 5 4 2 4 5 1 26

Blender 4 4 4 3 3 5 5 28

Cinema 4D Studio 3 2 2 1 3 1 3 15

Documentao Comunidade Facilidade de Uso Experincia do grupo Curva Aprendizagem Custo Requisitos de sistema Total

Tabela 7 - Comparao entre programas de modelao 3D

O Cinema 4D33 foi posto de parte pois no conseguia competir com os outros. Na documentao e comunidade claramente destaca-se o 3Ds Max34 no entanto o Blender35 um adversrio altura. Foi possvel determinar, atravs da pesquisa realizada, que quer o 3Ds Max quer Blender so intuitivos ao uso. A experincia do grupo recai maioritariamente sobre o Blender uma vez que foi um programa leccionado, porm a alterao da interaco da interface decorrente da evoluo do mesmo tornou os conhecimentos sobre o mesmo desactualizados tendo de ser reaprendidos. Relativamente ao custo e apesar do 3Ds Max ser um programa comercial possvel para os estudantes obt-lo gratuitamente ficando ao mesmo nvel do Blender neste aspecto. Apesar disto a sua compatibilidade recai apensa na plataforma Windows, fazendo com que o nico que oferea compatibilidade com todas as plataformas seja o Blender.

33

http://cg.tutsplus.com/category/tutorials/maxon-cinema-4d/ [Consultado em 28 Fevereiro de 2012]

http://www.3dlinks.com/tutorials_cinema4D.cfm [Consultado em 1 Maro de 2012] http://www.instantshift.com/2009/03/31/80-excellent-cinema-4d-tutorials-and-best-practices/ [Consultado em 1 Maro de 2012]


34

http://www.good-tutorials.com/tutorials/3ds-max [Consultado em 29 Fevereiro de 2012]

http://usa.autodesk.com/3ds-max/ [Consultado em 29 Fevereiro de 2012] http://cg.tutsplus.com/category/tutorials/autodesk-3d-studio-max/ [Consultado em 29 Fevereiro de 2012] http://cg.tutsplus.com/category/tutorials/blender/ [Consultado em 28 Fevereiro de 2012] http://www.blender.org/education-help/tutorials/ [Consultado em 28 Fevereiro de 2012]
35

http://www.tutorialized.com/tutorials/Blender-3d/1 [Consultado em 29 Fevereiro de 2012]

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

25

Documentao Requisitos de sitema

Comunidade

3Ds Max Blender Custo Facilidade de uso Cinema 4D Studio

Curva de aprendizagem

Experincia de grupo

Grfico 4 - Representao grfica das dimenses dos programas de modelao 3D

A escolha do grupo sobre o programa de modelao vai recair no 3Ds Max. A experincia que o grupo possui no Blender no significativa e segundo a pesquisa realizada o 3Ds Max permite uma evoluo de conhecimentos de forma mais rpida. Juntando a documentao e a comunidade existente torna-se um bom programa para utilizar. Um factor importante na escolha do programa de modelao consiste na sua capacidade de exportao para um formato compatvel com as bibliotecas de realidade aumentada. Todavia este um ponto sobre o qual ainda no nos podemos expressar requerendo mais pesquisa e testes. A documentao das bibliotecas de RA no so explicitas neste ponto no entanto todos os programas asseguram a exportao para uma grande variedade de formatos sendo que um deles ser certamente compatvel com alguma das librarias.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay Editores de Som Para o desenvolvimento do nosso projecto necesario possuir um editor de som capaz de responder aos nossos desafios. Assim sendo foram analisados os trs editores presentes na tabela nas dimenses referidas de forma a perceber qual o mais adequado.
DIMENSO/ PROGRAMA

26

Audacity 4 3 5 4 5 5 5 31

Nuendo 2 2 3 3 3 1 3 17

Adobe Audition 3 4 3 2 3 3 3 21

Documentao Comunidade Facilidade de Uso Experincia do grupo Curva Aprendizagem Custo Requisitos de sistema Total

Tabela 8 - Comparao entre programas de edio de som

Na dimenso da documentao o Audacity dos programas apresentados que tem mais informao disponvel permitindo obter mais informaes sobre o seu funcionamento. Ao nvel da comunidade o Audition verificou-se superior e por consequente os plugins e recursos disponveis so mais desenvolvidos. Em relao facilidade de uso o Audacity superior, sendo que a sua interface extremamente simples e intuitiva permite uma compreenso de forma muito imediata. O grupo tem alguma experincia na utilizao do Audacity, visto que quando necessrio alguma edio simples este permite efectu-la sem custo. Nas dimenses finais o custo tem algum impacto na pontuao final, enquanto o Audacity gratuito o Nuendo e o Audition so pagos. Em relao aos requisitos de sistemas os trs programas so muito equivalentes, tirando o Audacity que possui compatibilidade com Linux ao contrrio dos outros dois.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

27

Documentao Requisitos de sitema

Comunidade Audicity Nuendo

Custo

Facilidade de uso

Adobe Audition

Curva de aprendizagem

Experincia de grupo

Grfico 5 - Representao grfica das dimenses dos programas de edio de Som

A pontuao resultante bastante clara e o grupo ir utilizar o Audacity uma vez que este contm as funcionalidades necessrias para o desenvolvimento do projecto.

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay

28

Concluso
Aps a redaco do presente documento torna-se oportuno efectuar um levantamento das escolhas efectuadas pelo grupo no que diz respeito a programas e tecnologias a utilizar. O ponto central de toda a aplicao ser a descoberta de UA proporcionando interaco social. Assim o projecto tem dois grandes pressupostos: desenvolvimento de uma aplicao mvel informativa em forma de jogo social. Como referido anteriormente o projecto ir contar com um servidor, onde estar alojado o motor do jogo, e com um website de suporte aplicao. As tecnologias escolhidas para o desenvolvimento do mesmo so o PHP(motor de jogo) e MySQL para a base de dados. A apresentao da informao ser efectuada com recurso a HTML, CSS e JavaScript (jQuery). A aplicao para o dispositivo mvel ser desenvolvida para Android por ser um sistema operativo com boa documentao, uma grande comunidade e possuir uma boa penetrao de mercado. Inevitavelmente a aplicao ir ser desenvolvida recorrendo ao JAVA, uma vez que esta a linguagem para desenvolvimento no Android. Associado a este desenvolvimento ir ser utilizado o IDE Eclipse, sendo tambm utilizado na construo do website, pois permite uma completa integrao com o SDK do Android e com os plugins por eles disponibilizados. O registo e autenticao na aplicao e no website pretende-se implementada com recurso ao utilizador universal da Universidade de Aveiro. Como referido isto permitia ter acesso a informao sobre os utilizadores e facilitar o processo de registo. Ter de ser feito um levantamento sobre a possibilidade de utilizar este sistema e caso esta seja negada ser adoptada a forma tradicional utilizando um formulrio de registo. A vertente de jogo da aplicao ir contar com modelos de objectos tridimensionais apresentados atravs de Realidade Aumentada. Para a modelao desses mesmos objectos ser utilizado o Autodesk 3D Studio Max. Este programa apesar de ser pouco dominado pelos membros do grupo, permite uma aprendizagem rpida atravs da sua alargada comunidade e tutoriais disponveis. No que diz respeito biblioteca de realidade aumentada, como referido, necessrio efectuar uma pesquisa mais aprofundada, mas neste momento a mais indicada seria a AndAr. Para o correcto funcionamento da vertente de descoberta da UA necessrio utilizar uma biblioteca de leitura de QrCodes, tendo sido escolhida a ZXing. A navegao pelo campus da universidade ter de ser auxiliada por um mapa sendo utilizada a API do Google Maps uma vez que oferece mais compatibilidade e documentao. Ser tambm necessrio um programa de edio de imagens que permita criar a interface da aplicao e do website e dada a experincia dos membros do grupo foi escolhido o Adobe Phothoshop. um programa extremamente verstil permitindo satisfazer todos os requisitos. Quanto ao som presente na aplicao, este no ser muito desenvolvido, sendo suficiente a utilizao do Audacity para o seu tratamento. Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011

UA+DeCa 2012 Projecto uaPlay Para finalizar foi tido em considerao a compatibilidade enre os programas escolhidos e os computadores dos membros do grupo no tendo sido verificado qualquer problema. Conclui-se assim a apresentao dos requisitos funcionais do projecto e o estudo da sua viabilidade.

29

Daniel Ferreira da Silva 49490 | Joo Paulo Medeiros Costa 50011