You are on page 1of 16

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE CINCIAS EXATAS E DA TERRA DEPARTAMENTO DE INFORMTICA EM ATEMTICA APLICADA BACHARELADO EM ENGENHARIA

DE SOFTWARE

Um aplicati ! pa"a a#$%li! &a '(#ca)*! ' i('&ti+ica)*! (' tal'&t!, at"a -, (' .!/!,

Ita&il(! A#/#,t! Si&&-,i! Da&ta,

Natal0RN O#t#1"! 2345

Ita&il(! A#/#,t! Si&&-,i! Da&ta,

Um aplicativo para auxlio na educao e identificao de talentos atravs de jogos

P"!p!,ta

('

M!&!/"a+ia

('

G"a(#a)*!

ap"','&ta(a a! D'pa"tam'&t! (' I&+!"m6tica ' Mat'm6tica Aplica(a (! C'&t"! (' Ci7&cia, E$ata, ' (a T'""a (a U&i '",i(a(' F'('"al (! Ri! G"a&(' (! N!"t' c!m! "'8#i,it! pa"cial pa"a a !1t'&)*! (! /"a# (' 1ac9a"'l 'm E&/'&9a"ia (' S!+t:a"';

O"i'&ta(!" P"!+; D"; E(#a"(! H'&"i8#' (a Sil a A"a&9a

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE0 UFRN DEPARTAMENTO DE INFORMTICA E MATEMTICA APLICADA0 DIMAP

Natal0RN O#t#1"! 2345

4; I&t"!(#)*!
Jogos esto sendo bastante utilizados nos ltimos com o intuito de ajudar na educao. A maior motivao dos jogos ue eles fornecem uma forma bem mais divertida de se aprender do ue as metodologias tradicionais! fazendo assim ue os jogadores"estudantes possam aprender en uanto esto se divertido. #ado esse contexto! o objetivo desse documento apresentar uma proposta de monografia! ue consistir$ no desenvolvimento de um aplicativo de jogos para dispositivos m%veis utilizando a plataforma Android capaz de capturar as a&es dos jogadores durante os jogos. Ao coletar esses dados referente a essas a&es! eles devem ser enviados para uma plataforma grupo de pes uisa no #imap! ue est$ sendo desenvolvida por um ue ser$ respons$vel por receber! armazenar e

disponibilizar esses dados para ue possam ser feitas an$lises sobre eles. #iversos tipos de estudos poderiam ser feitos em cima desses dados! como por exemplo! se esses dados forem provenientes de um jogo educativo! eles poderiam ser utiliz$dos para obter par'metros de intelig(ncia de uma ou mais pessoas com relao a uma determinada $rea do con)ecimento. *or outro lado! um jogo de entretenimento possibilitaria a utilizao dos dados para ajudar a ter par'metros tudo auxiliaria a identificao de pessoas ue estejam relacionados a velocidade de raciocnio das pessoas ue jogam a uele jogo. +sso ue so talentos em uma determinada $rea do con)ecimento! como tambm a. Jogadores com um desempen)o abaixo do padro esperado tambm so identificados! e seus par'metros poderiam ser utilizados para identificar em especial. ,obre a estrutura do documento! em primeiro lugar! ser$ mostrada a fundamentao do problema! descrevendo o seu estado de arte do problema e por ue esse problema foi escol)ido para ser abordado na -onografia. .m seguida! a proposta propriamente dita ser$ apresentada em detal)es! sendo explicitado os objetivos desse trabal)o e as suas possveis contribui&es. *or fim! ser$ apresentada a metodologia! ue descrever$ os mtodos! isto ! procedimentos e atividades ue tero der implementados para ue o objetivo possa ser atingido. ue pontos a uele jogador mereceria uma ateno

2; F#&(am'&ta)*!
.sta seo tem como objetivo apresentar o contexto dos dispositivos m%veis nos dias de )oje dos aspectos tcnicos relacionados a da plataforma Android! ue servir$ de base para o desenvolvimento desse trabal)o. A subseo /.0 traz uma abordagem geral com relao ao contexto dos dispositivos m%veis! e justifica os motivos de os dispositivos m%veis terem sido escol)idos para serem o foco desse trabal)o! especificamente Android. A subseo /./ trata especificamente sobre o contexto dos jogos! seus respectivos g(neros1ao! aventura! puzzle! etc.2 e como cada um desses g(neros de jogos podem ser utilizados para trazer um impacto positivo no contexto da educao e da identificao de pessoas com talentos especiais. A subseo /.3 aborda os aspectos tcnicos relativos 4 plataforma Android! isto ! as suas principais caractersticas! as tecnologias de armazenamento! comunicao! dentre outras! ue ele utiliza! e como cada uma

dessas tecnologias poder$ ser usada no desenvolvimento do projeto.

2;4; P!" 8#' A&("!i(<


A proposta de construo de uma aplicao ue permita a coleta dos dados correspondente 4s a&es dos jogadores ter$ como foco nos dispositivos m%veis por v$rios motivos. ,abe5se ue smartp)ones! tablets! e dispositivos m%veis em geral so bastante utilizados nos dias de )oje. #entre os inmeros aplicativos disponveis para esses dispositivos! os jogos t(m bastante desta ue! fazendo at mesmo com ue muitos donos desses dispositivos o vejam como um videogame port$til. 6 desenvolvimento de jogos para esses dispositivos uma atividade ue est$ em bastante evid(ncia nos dias de )oje.Afinal! esses jogos apresentam bastante casualidade! pois em um dispositvel mvel! o jogador tem muita flexibilidade para jog$5lo! podendo jogar a ual uer )ora e em ual uer local devido a portabilidade do aparel)o. Alm disso! apresentam simplicidade e objetiviidade! de modo ue assim no necess$rio se dedicar )oras ao jogo para usufruir do jogo com

efici(ncia. *essoas cada vez mais ocupadas para jogar jogos de console ou jogos para computadores so atradas pela simplicidade dos jogos dos dispositivos m%veis e terminam optando por eles! podendo ficar satisfeito com o jogo mesmo jogando apenas em curtos espaos de tempo ue eventualmente aparecem! como dentro de um 7nibus! no intervalo entre as aulas! etc. A popularizao dos dispositivos m%veis somado aos fatos acima citados tornam a proposta bastante vi$vel para ser focada nesses tipo de dispositivo! especialmente Android! por ser open5source e ter uma linguagem gratuita para desenvolvimento! e ter uma forte presena nos aparel)os m%veis dos dias de )oje

2;2; G7&'"!, (' .!/!,


,obre os g(neros de jogos ue sero teis para serem utilizados em

conjunto com esse aplicativo! )$ v$rias possibilidades interessantes. .m jogos de ao e aventura e plataforma! poderia ser feito um estudo comparativo entre os jogadores e assim identificarem os jogadores ue tem uma velocidade de raciocnio mais r$pida baseado no tempo ue os jogadores levam pra concluir determinado nvel do jogo pela primeira vez! na uantidade de vezes ue fracassaram. Alm disso! jogos de ao e aventura exigem muita coordenao motora! portanto esse outro aspecto observ$vel nessa categoria de jogo. .m jogos de estratgia e puzzle ! o estudo poderia identificar jogadores com maior capacidade para resolver problemas e velocidade de raciocnio mais r$pida! capacidade de tomada de deciso! etc. .m jogos do tipo multitask! isto ! jogos ue tem a peculiaridade de exigir o jogador de desempen)ar mais de uma tarefa ao mesmo tempo! a capacidade de ateno e de coordenao bastante exigida! portanto o frame8or9 auxiliaria a identificar jogadores com essas capacidades bem afiadas. .m jogos de corrida! a capacidade de ateno e de reflexo dos jogadores poderiam ser estudadas.

2;5; A plata+!"ma A&("!i(

A plataforma Android desenvolvida pelo :oogle e um dos sistemas operacionais para dispositivos m%veis mais utilizados nos dias de )oje! utilizando como base o sistema operacional ;inux! e assim )erdando as caractersticas instrsecas desse sistema. As telas de uma aplicao android so c)amadas de activitys. As activitys tem componentes de interface gr$fica de usu$rio e meio de interao entre usu$rio e aplicao. e possuem um ciclo de vida ue consiste em uatro estados< executando! parada! interrompida e finalizada. Alm disso! existem v$rios mtodos de callback ue o Android disponibiliza para ue o programador defina o ue deve acontecer na aplicao na mudana de um estado para outro. 6 Android apresenta v$rias caractersticas importantes! como =rame8or9 de aplicao! permitindo o reuso de componentes> navegador 8eb integrado> gr$ficos otimizados> diversas formas de armazenamento de dados! ue sero apresentadas na subseo /.3.0> suporte para mdias de audio! video e imagens> bluetoot)! .#:.! 3: e ?i=i> e um poderoso ambiente de desenvolvimento ue inclui um emulador de dispositivo! ferramentas para a depurao! analisador de mem%ria e perfomance! e ainda um plugin para a +#. eclipse! ue auxilia bastante na atividade de desenvolvimento. A seo /.3./ apresenta as formas de comunicao com a internet. A seo /.3.3 apresenta os servios! content provider! ue so meios ue o android ue uma disponibiliza de executar opera&es em background. A seo /.3.@ fala sobre o ue a forma como o android utiliza para permitir aplicao possa se comunicar com outra.

2;5;4 A"ma='&am'&t! (' (a(!,


6 Android possui v$rias formas de armazenamento internas dos dados. A mais simples delas Shared Preferences! em mas funciona apenas para tipos primitivos Preferences! permite ue o Android armazena as de dados. 6utra forma de ue ao contr$rio do Shared ue sejam informa&es em forma de c)ave5valor! uma forma f$cil e r$pida de armazenar! armazenamento a utilizao de Internal Storage

ue sejam armazenados objetos! desde

serializados. 6 External Storage uma forma de armazenamento ue funciona de

forma similar ao +nternal ,torage! mas com a sutil diferena disponibiliza o ,A;ite!

ue os dados so

armazenados no carto ,# caso ele esteja conectado. *or fim! o Android ue um banco de dados relacional! ou seja! permite a manipulao de dados em forma de tabelas atravs da linguagem ,A;. Bo contexto da aplicao proposta! toda a coleta de informa&es e transmisso das informa&es ser$ feita pela aplicao! e existir$ um servidor local para receber esses dados! ue sero imediatamente enviados para a nuvem assim ue )ouver conectividade com a internet. Afinal! nem todos os usu$rios de dispositivos m%veis tem acesso a internet constantemente! o ue dificulta a vida dos programadores ue projetam aplicativos ue dependem dessa conexo para o seu pleno funcionamento! e muitas dessas aplica&es no possuem nen)um meio de funcionamento off5line. 6 projeto a ser desenvolvido! necessitar$ de solu&es ue contornem essa limitao e permita um funcionamento ue no dependa totalmente da internet! isto ! seja capaz de armazenar os dados internamente mand$5los para a nuvem subse&es. uando )ouver conexo. .sse assunto ser$ tratado nas pr%ximas

2;5;2 C!m#&ica)*! c!m a i&t'"&'t


6 Android oferece v$rias possibilidades para ue uma aplicao se conecte a internet! e isto ser$ necess$rio para ue a aplicao a ser desenvolvida se ue o comuni ue com a nuvem. Uma delas atravs do protocolo CDD* puro!

protocolo e a outra atravs da utilizao de ?eb ,ervices. CDD* um utilizado para a transfer(ncia de )ipertextos e assim permitindo a comunicao na ?eb! e largamente utilizado para esse fim. ?eb ,ervices so aplicaoes distribuda para 8eb ue rodam utilizando o protocolo CDD*! de modo ue seus componentes podem ser aplicados e executados em computadores diferentes. .xistem tr(s caractersticas importantes ue diferenciam ?eb ,ervices de outros sistemas de uais uer soft8ares distribudos< +nfraestrutura aberta! isto ! pode utilizar tecnologias especficas como CDD* ou E-; para serem

protocolos como parte de sua infraestrutura! no dependendo exclusivamente de implantados>

Dranspar(ncia de linguagem! ou seja!

ual uer aplicao independente da

linguagem de programao utilizada pode se comunicar com ual uer 8eb service> e design modular! ou seja! 8eb services so projetados para poderem ser utilizados de forma modular de modo ue um 8eb service pode ser gerado pela integrao de outros 8eb services existentes. 1Falin! /G0G2.

2;5;5 S'" i)!,


6utro recurso ue o Android oferece so os Services! definidos por Hamilo e ;oureno1/G0/2 como sendo c%digos ue so executados em bac9ground e no so interrompidos mesmo ue o usu$rio saia da aplicao! apresentando portanto um ciclo de vida mais longo do ue as Activities do Android! ue como explicado anteriormente representam as telas da aplicao. 6s servios podem ser utilizados atravs de uma comunicao com a sua interfaces! mas para isso necess$rio se conectar com o servio antes. -as ao contr$rio das Activities, os Services no apresentam interface gr$fica de usu$rio.

2;5;> C!&t'&t P"! i('"


Content Provider o meio utilizado pelo Android para a necessidade de compartil)amento de dados entre aplica&es. 6s Content Providers podem ser utilizados por uma aplicao tanto para permitir ue outras aplica&es acessem o contedo dessa como para permitir ue a aplicao armazene os dados.

5; P"!p!,ta
.sta seo tem como objetivo apresentar em detal)es a proposta propriamente dita. A subseo 3.0 trata sobre o objetivo principal da proposta! en uanto a subseo 3./ trata sobre os objetivos secund$rios! isto ! objetivos ue

apesar de no serem tidos como principal! tambm so interessantes e perfeitamente possveis para o projeto.

5;4 O1.'ti ! /'"al


A proposta tem objetivo o desenvolvimento de uma aplicao Android ue dever$ dar suporte a diversos jogos de dispositivos m%veis no sentido de prover um meio capaz de capturar todas as a&es feitas pelos usu$rios durante os jogos! isto ! comandos ue ele aciona! o momento em ue tais comandos costumam ser acionados! tempo levado para tomar uma deciso no jogo! tempo levado para passar de uma determinada fase! etc. *ara no violar a privacidade do jogador nesse sentido! o jogo dever$ logo no incio avisar ao jogador ue suas a&es no jogo esto sendo coletadas para estudo! e o mesmo s% jogar$ se aceitar essa condio. *ara a desse aplicativo. .sses dados devero ser enviados para uma plataforma ue est$ sendo desenvolvida por um grupo de pes uisa no #imap respons$vel por coletar! armazenar e disponibilizar esses dados para posterior an$lise! de modo ue o envio ser$ feito via internet utilizando os recursos tecnol%gicos disponveis na plataforma Android. 6 problema ue pode ocorrer uanto a isso a no disponibilidade de uma conexo de internet no momento! mas para contornar esse problema! o sistema dever$ inicialmente detectar a conectividade com a internet. Haso ela no esteja disponvel! o sistema permitir$ ue os dados sejam salvos internamente no dispositivo usando as tecnologias apropriadas para este fim disponveis na plataforma Android! especialmente o ,A;;ite dados sejam salvos no dispositivo! 6 objetivo final dos dados coletados a utilizao dos mesmos em v$rios contextos diferentes para an$lise em diversos tipos de jogos! todas as categorias de jogos se beneficiariam de alguma forma desse sistema a partir da realizao de ue um banco de dados usado exclusivamente para salvar os dados localmente no aparel)o. Uma vez ue esses uesto de segurana! )aver$ um mecanismo de autenticao ue exigir$ ao jogador um cadastro simples para jogar ual uer jogo dependente

uma an$lise geral dos dados coletados embora o foco seja a utilizao nos jogos educativos. Bos jogos educativos seria possvel analisar os dados referente a taxa de desempen)o dos jogadores nesses jogos! e com isso dar um alerta para os jogadores ue obtiveram baixo desempen)o. A grande vantagem da utilizao desse aplicativo para esse fim seria a possibilidade de coletar uma grande massa de dados de diversos jogos de v$rias categorias diferentes e ter esses dados reunidos em um s% local! o ue possibilitaria estudos com resultados bastante consistentes e ue seriam muito teis no 'mbito educativo.

5;2 O1.'ti !, S'c#&(6"i!,

>; M't!(!l!/ia
.ssa seo tem como objetivo apresentar os mtodos ue sero utilizados para atingir cada um dos objetivos propostos no trabal)o. A subseo @.0 mostra os estudos ue sero realizados para a realizao desse trabal)o. A subseo @./ trata sobre como ser$ feito o armazenamento dos dados da aplicao. A subseo @.3 tem como foco mostrar as tecnologias utilizadas para realizar a comunicao da aplicao com a nuvem. A subseo @.@ finaliza essa seo apresentando o jogo ue dever$ ser desenvolvido com o intuito de testar e validar a aplicao! mostrando ue ele funcionar$ corretamente.

>;4 E,t#(!, i&iciai,


+nicialmente! ser$ feito um estudo sobre alguns dos principais ambientes e linguagens de programao referente ao desenvolvimento para dispositivos m%veis! especificamente a plataforma Android! pois essa ser$ a plataforma utilizada para o desenvolvimento dessa aplicao. I$rias fontes bibliogr$ficas como livros e sites sero consultadas para esse fim. ,obre os assuntos estudados! em primeiro lugar ser$ estudado o b$sico da A*+ do android! como a sintaxe geral da linguagem! a criao de Activitys! o ciclo de vida das Activitys e a comunicao entre elas! e depois ser$ estudado outros aspectos mais complexos e relevantes para o desenvolvimento< como o armazenamento de dados! utilizado para armazenar os dados localmente> a comunicao de uma aplicao Android com a internet ue ser$ necess$rio para a comunicao da aplicao com a nuvem ue receber$ os dados> os servios! ue sero utilizados para fazer a sincronizao dos dados entre o servidor local e a nuvem de forma transparente para o usu$rio> e por fim a comunicao entre aplica&es! ue ser$ necess$rio para a comunicao entre a aplicao com o jogo ue a utilizar$.

>;2 A"ma='&am'&t! (' (a(!,

*ara o armazenamento local dos dados coletados pela aplicao! ser$ utilizado o ,A;;ite! ue um banco de dados ue armazena os dados dentro do pr%prio dispositivo e podem ser recuperados posteriormente! sendo um banco de dados ue fornece uma A*+ simples para ser utilizada. *ara uesto de segurana! ser$ exigida autenticao uando o usu$rio entrar no jogo ue utiliza o aplicativo pela primeira vez! tendo a opo de manter5se autenticado ou no. 6s dados de autenticao1usu$rio e sen)a2 em tese estariam armazenados na nvem! porm no faz nen)um sentido o jogador de um jogo ue foi feito pra ser jogado offline precisar da internet pra se autenticar. *ortanto! esse problema ser$ contornado ao permitir ue a sen)a seja salva localmente na forma de )as).

>;5 C!m#&ica)*! c!m a i&t'"&'t


A comunicao com a nuvem ser$ feita atravs de ?eb ,ervices J.,D As caractersticas importantes do J.,D so a utilizao do protocolo CDD*! utilizao dos mtodos :et! *ost! Update e #elete do CDD* para a realizao das uatro opera&es HJU#! isto ! insero! leitura! atualizao e remoo! e por fim a outra caracterstica importante a utilizao do conceito de recursos! ue so mapeados em UJ+s1Uniform Jesource +dentifier2! e representam os elementos de informao de uma aplicao. A grande vantagem ue o J.,D vai proporcionar a facilidade utilizao dessa ar uitetura e tambm o fato de o J.,D no precisar de transportar muitos cabeal)os durante a comunicao! permitindo ue a uantidade de dados teis seja mais relevante. .ssa caracterstica importantssmo para um dispositivo m%vel! j$ ue ele sua taxa de transfer(ncia de dados costuma ser mais limitada do ue em computadores pessoais.

>;> C!m#&ica)*! '&t"' a aplica)*! ' #m .!/!

*ara

ue seja possvel

ue a aplicao se comuni ue com o jogo! ser$

necess$rio ue a aplicao ten)a um Content Provider e o jogo utilize o Content Provider disponibilizado pela aplicao para submeter os dados

>;? T',ta&(! ' ali(a&(! ! ,i,t'ma


*or fim! ser$ desenvolvido um jogo simples para Android! ue consistir$ em um Auiz de perguntas e respostas de v$rias $reas de con)ecimento diferentes! ue servir$ para validar a aplicao e demonstrar ue ela funciona de acordo com o especificado na proposta. 6 jogo dever$ ser capaz de enviar os dados para a aplicao atravs do Content Provider! e a aplicao dever$ ser capaz enviar esses dados para a nuvem assim ue for possvel se conectar com a internet

?; C"!&!/"ama

Atividades"-eses1/G032 *es uisar bibliografias e estudar o b$sico da plataforma andorid .studar o armazenamento de dados do android .studar sobre a comunicao com a internet no android .studar sobre a utilizao de services e content providers do android *lanejamento da implementao do sistema +mplementao do sistema +mplementao do jogo para validao do sistema .scrita da verso inicial da monografia Jeviso inicial .scrita da verso final da monografia Jevis&es finais do texto

Jan =ev -ar

Abr

-ai Jun Ago ,et 6ut

@; R'+'"7&cia,
HA-+;6! ;ucio> ;6UJ.BK6! -ic)el. Android para #esenvolvedores. Jio de Janeiro< Lrasport! /G0/ FA;+B! -artin. Java ?eb ,ervices< +mplementando. Jio de Janeiro< Alta Loo9s! /G0G. JAL.;;6! Jamon Jibeiro. Android< um novo paradigma de dispositivo m%vel. #isponvel em< M)ttp<""888.cesar.org.br"site"files"file"?-0NOAndroid.pdfP. Acesso em< /G set. /G03

You might also like