aplicativo lÚdico para apoio ao ensino de inglÊs …frozza/2011.2/bsi10/bsi10-pesquisaem... ·...

89
UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE SISTEMAS DE INFORMAÇÃO (BACHARELADO) APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS ATRAVÉS DE DISPOSITIVOS MÓVEIS DANIEL D'ÁVILA MOMBACH LAGES, JULHO DE 2007

Upload: ngocong

Post on 28-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE DO PLANALTO CATARINENSEDEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE SISTEMAS DE INFORMAÇÃO(BACHARELADO)

APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS

ATRAVÉS DE DISPOSITIVOS MÓVEIS

DANIEL D'ÁVILA MOMBACH

LAGES, JULHO DE 2007

UNIVERSIDADE DO PLANALTO CATARINENSEDEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE SISTEMAS DE INFORMAÇÃO(BACHARELADO)

APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS

ATRAVÉS DE DISPOSITIVOS MÓVEIS

Relatório do Trabalho de Conclusão de Curso submetido à Universidade do Planalto Catarinense para obtenção dos créditos de disciplina com nome equivalente no curso de Sistemas de Informação - Bacharelado.

DANIEL D'ÁVILA MOMBACH

Orientação: Profª. Sabrina Bet, M.Sc.Prof. Angelo Augusto Frozza, M.Sc.

LAGES, JULHO DE 2007

iiiAPLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS

ATRAVÉS DE DISPOSITIVOS MÓVEIS

DANIEL D'ÁVILA MOMBACH

ESTE RELATÓRIO, DO TRABALHO DE CONCLUSÃO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENÇÃO DOS CRÉDITOS DA

DISCIPLINA DE TRABALHO DE CONCLUSÃO DE CURSO DO VIII SEMESTRE, OBRIGATÓRIA PARA OBTENÇÃO DO TÍTULO DE:

BACHAREL EM SISTEMAS DE INFORMAÇÃO

Profª. Sabrina Bet, M.Sc.Orientador

Prof. Angelo Augusto Frozza, M.Sc.Co-Orientador

BANCA EXAMINADORA:

Profª. Daiana Petry, M.Eng.UNIPLAC

Prof. Diego Ricardo Holler, Esp.UNIPLAC

Prof. Angelo Augusto Frozza, M.Sc.Professor de TCC

Prof. Wilson Castello Branco Neto, Dr.Coordenador de Curso

Lages, 04 de julho de 2007.

iv

Dedico este trabalho à Humanidade, desejando que ele possa de alguma forma contribuir para a paz e o conforto de todos.

v

Agradeço....A meus pais, por terem moldado meu caráter.A meu filho, pela paciência e compreensão todas as vezes que não pude participar de sua vida.À minha esposa, pelo constante incentivo e pelas inúmeras vezes que precisou exercitar sua compreensão quando eu estava cansado demais.À Professora Sabrina Bet pelas orientações, bom humor e atenção.Ao Professor Angelo Augusto Frozza por suas valiosas idéias e orientações.A todos os professores e alunos do curso de Sistemas de Informação pelo incentivo, interesse e bom humor que sempre demonstraram.

vi

“A única coisa importante na vida é a transformação radical, total e definitiva;

tudo o mais, francamente, não tem a menor importância.”

V.M. Samael Aun Weor

SUMÁRIO

LISTA DE ILUSTRAÇÕES..................................................................................... IXLISTA DE SIGLAS..................................................................................................... XRESUMO................................................................................................................... XIABSTRACT.............................................................................................................. XII1 INTRODUÇÃO................................................................................................................. 11.1 Apresentação............................................................................................................ 11.2 Descrição do problema............................................................................................. 21.3 Justificativa.............................................................................................................. 21.4 Objetivo geral........................................................................................................... 41.5 Objetivos específicos............................................................................................... 41.6 Metodologia............................................................................................................. 52 ATIVIDADES LÚDICAS E O ENSINO DE IDIOMAS.................................................................... 62.1 Atividades lúdicas na educação................................................................................ 62.2 Jogos no ensino de idiomas...................................................................................... 72.3 Jogos no ensino de inglês......................................................................................... 72.4 Jogos de palavras no ensino de idiomas................................................................... 92.5 Conclusão.............................................................................................................. 113 DESENVOLVIMENTO DE SISTEMAS PARA DISPOSITIVOS MÓVEIS............................................ 123.1 Contextualização.................................................................................................... 123.2 Aspectos da tecnologia........................................................................................... 133.2.1 A tecnologia Java e a plataforma Java Micro Edition................................................... 133.3 Processos de desenvolvimento............................................................................... 163.3.1 eXtreme Programming (XP)............................................................................................ 183.4 Conclusão.............................................................................................................. 204 ANÁLISE E PROJETO DO SISTEMA.................................................................................... 214.1 Enredo do jogo....................................................................................................... 214.2 Artefatos aplicados................................................................................................. 234.3 Sumário executivo.................................................................................................. 244.4 Histórias de usuário................................................................................................ 244.5 Definição de requisitos........................................................................................... 274.5.1 Requisitos funcionais e não-funcionais...........................................................................274.5.2 Requisitos suplementares.................................................................................................294.6 Diagrama de classes............................................................................................... 304.7 Diagrama de estados.............................................................................................. 324.8 Conclusão.............................................................................................................. 325 IMPLEMENTAÇÃO DO APLICATIVO................................................................................... 34

5.1 Características de implementações Java Micro Edition......................................... 345.2 Implementação das telas do aplicativo................................................................... 355.2.1 Tela de jogo..................................................................................................................... 385.3 Implementação da lógica do aplicativo.................................................................. 415.3.1 Persistência das informações.......................................................................................... 435.4 Documentação da implementação.......................................................................... 445.4.1 Comentários de codificação............................................................................................ 455.4.2 Documentação para API................................................................................................. 455.5 Conclusão.............................................................................................................. 466 TESTES DO APLICATIVO................................................................................................. 486.1 Testes de validação................................................................................................ 486.1.1 Validação pedagógica..................................................................................................... 506.1.2 Validação tecnológica..................................................................................................... 516.2 Conclusão.............................................................................................................. 517 CONSIDERAÇÕES FINAIS................................................................................................ 53REFERÊNCIAS BIBLIOGRÁFICAS..................................................................... 56BIBLIOGRAFIA COMPLEMENTAR.................................................................... 59APÊNDICES.............................................................................................................. 61

LISTA DE ILUSTRAÇÕES

FIGURA 1 - Resumo da tecnologia Java e suas diferentes edições............................. 14FIGURA 2 - Esquema da tecnologia JME................................................................... 16FIGURA 3 - Diagrama de classes................................................................................ 31FIGURA 4 - Diagrama de estados................................................................................ 32FIGURA 5 - Diagrama de fluxo gerado no NetBeans 5.0............................................ 35FIGURA 6 - Tela de boas-vindas (a) e tela principal (b)............................................. 36FIGURA 7 - Tela de ajuda (a) e tela de pontuações (b)............................................... 37FIGURA 8 - Tela de fim de jogo................................................................................. 38FIGURA 9 - Esquema da codificação da classe MemoBoxCanvas em alto nível.........40FIGURA 10 - Tela de jogo inicial (a) e tela durante o jogo (b).................................... 40FIGURA 11 - Tela de jogo completa (a) e tela exibindo informações de jogo (b)....... 41FIGURA 12 - Esquema da codificação da classe GameEngine em alto nível.............. 42

QUADRO 1 - História de usuário HU01, versão 1...................................................... 25QUADRO 2 - História de usuário HU02, versão 1...................................................... 25QUADRO 3 - História de usuário HU03, versão 1...................................................... 25QUADRO 4 - História de usuário HU04, versão 1...................................................... 26QUADRO 5 - História de usuário HU05, versão 1...................................................... 26QUADRO 6 - História de usuário HU06, versão 1...................................................... 26QUADRO 7 - Requisito funcional F1.......................................................................... 27QUADRO 8 - Requisito funcional F2.......................................................................... 27QUADRO 9 - Requisito funcional F3.......................................................................... 28QUADRO 10 - Requisito funcional F4........................................................................ 28QUADRO 11 - Requisito funcional F5........................................................................ 28QUADRO 12 - Requisito funcional F6........................................................................ 28QUADRO 13 - Requisito funcional F7........................................................................ 29QUADRO 14 - Requisito funcional F8........................................................................ 29QUADRO 15 - Requisito funcional F9........................................................................ 29QUADRO 16 - Requisitos suplementares.................................................................... 30QUADRO 17 - Fragmento de código para capturar e tratar a seleção de comandos.... 38QUADRO 18 - Fragmento de código para a recuperação de informações................... 44QUADRO 19 - Trecho de código-fonte com comentário de codificação..................... 45QUADRO 20 - Trecho de código-fonte com documentação de codificação................ 46QUADRO 21 - Verbos irregulares do nível básico...................................................... 61QUADRO 22 - Verbos irregulares do nível intermediário........................................... 62QUADRO 23 - Verbos irregulares do nível avançado................................................. 63

LISTA DE SIGLAS

API - Application Programming InterfacesCDC - Connected Device ConfigurationCLDC - Connected Limited Device ConfigurationHTML - HyperText Markup LanguageJEE - Java Enterprise EditionJME - Java Micro EditionJDK - Java Development KitJSE - Java Standard EditionJVM - Java Virtual MachineKVM - Kilobyte Virtual MachineMIDP - Mobile Information Device ProfilePDA - Personal Digital AssistantPDAP - Personal Digital Assistant ProfilePNG - Portable Network GraphicsROM - Read Only MemorySDK - Software Development KitTDD - Test-Driven DevelopmentUML - Unified Modelling LanguagePU - Processo UnificadoUNIPLAC - Universidade do Planalto CatarinenseXP - eXtreme Programming

RESUMO

O ensino à distância tem se intensificado nas últimas décadas e, mais recentemente, tem se aliado às facilidades oferecidas pela informática. Da mesma forma, a utilização da tecnologia móvel tem se intensificado, trazendo consigo a praticidade de se ter à mão um dispositivo capaz de prestar vários serviços úteis. Adicionalmente, dispositivos móveis, a exemplo dos aparelhos celulares e dos telefones inteligentes, têm atingido níveis de desenvolvimento tecnológico que possibilitam inúmeras funcionalidades computacionais. Assim, o presente trabalho propõe a implementação de um aplicativo lúdico para apoio ao ensino de inglês capaz de operar em uma vasta gama de aparelhos celulares, sendo utilizada para isto a plataforma de desenvolvimento Java Micro Edition. O desenvolvimento da solução envolve estudos sobre atividades lúdicas associadas ao ensino de idiomas, identificando uma atividade elegível para a proposta do aplicativo, e pesquisas a respeito das características da implementação de sistemas para dispositivos móveis. O aplicativo implementado mostra que aliar atividades lúdicas, ensino de idiomas e aparelhos celulares não é apenas possível, como também vantajoso, uma vez que tais dispositivos móveis já estão acessíveis para uma grande quantidade de indivíduos de diversas classes sociais.

Palavras-chave: Aparelhos celulares; dispositivos móveis; Java Micro Edition; ensino de inglês.

ABSTRACT

Distance learning has been intensified along the last few decades and, most recently, it has been allied to the facilities offered by Informatics. The same way, the use of mobile technology has been intensified, bringing up the practicability of having a device capable of various useful services at hand. Additionally, mobile devices, such as cell phones and smart phones, have reached levels of technologic development allowing for uncountable computational functionalities. Thus, this work proposes the implementation of a ludic application, to help the English learning process, able to operate on a vast range of mobile phones and, for that, the Java Micro Edition development platform is used. The development of the solution involves studies about ludic activities associated to language learning, the identification of an activity eligible for the application proposal, and research about the characteristics of implementing systems for mobile devices. The application implemented shows that allying ludic activities, language learning, and mobile phones is not only possible, but also profitable once mobile devices are already accessible to a large number of individuals from various social classes.

Keywords: Mobile phones; mobile devices; Java Micro Edition; English learning.

1 INTRODUÇÃO

1.1 Apresentação

Nas últimas décadas, tem se observado a intensificação do ensino a distância,

inicialmente por meio de fascículos enviados por correspondência e, mais

recentemente, por meio de veículos informatizados, como as mídias ROM (mídias de

armazenamento de dados apenas para leitura) e a rede mundial de computadores.

Ademais, a redução dos custos dos computadores pessoais tem viabilizado a integração

da informática com a educação, disponibilizando tutoriais inteligentes, redes mundiais

de conhecimento, cursos a distância, entre outros (SHERRON e BOETTCHER, 1997).

A utilização da tecnologia móvel tem igualmente se intensificado, devido à

redução de seu custo de aquisição e manutenção, além da praticidade de se ter à mão

um dispositivo capaz de prestar vários serviços úteis. Dispositivos móveis, como os

aparelhos celulares e os telefones inteligentes1, têm atingido níveis de desenvolvimento

tecnológico que possibilitam várias funcionalidades computacionais (EQUIPE, 2005),

viabilizando seu uso aliado à educação.

Uma característica marcante dos dispositivos de telefonia móvel é a sua vasta

diversidade tecnológica e funcional (VERISIGN, 2006). Neste contexto, uma das

tecnologias para o desenvolvimento de soluções informatizadas que mais tem se

destacado nos dispositivos móveis é a plataforma Java Micro Edition, a qual tem como

base uma máquina virtual adaptada para os mais variados tipos de dispositivos,

oferecendo, assim, uma interface comum para os aplicativos desenvolvidos. Desta

forma, aplicações computacionais podem ser desenvolvidas e instaladas em uma

grande quantidade de dispositivos.

1 Telefones inteligentes são dispositivos manuais que integram as funcionalidades de um telefone celular e um PDA (assistente digital pessoal) ou outro dispositivo de informação (SMARTPHONE, 2006).

2A integração da informática com a educação toma um novo rumo quando

considerados os dispositivos de telefonia celular, uma vez que estes têm se

popularizado em larga escala. Neste contexto, o presente trabalho, ao propor o

desenvolvimento de um aplicativo lúdico para o ensino de inglês através de

dispositivos móveis, apresenta a possibilidade de levar educação e cultura a uma

grande quantidade de indivíduos.

O presente estudo inicia com um capítulo introdutório abordando a

problemática em questão, objetivos, justificativa, bem como a metodologia empregada.

Os aspectos conceituais são tratados nos capítulos seguintes, nos quais uma atividade

lúdica para solucionar o problema abordado é identificada no capítulo dois e os

aspectos da tecnologia e do processo de desenvolvimento empregados na solução são

apresentados no capítulo três. A modelagem da solução computacional, detalhando a

análise e o projeto do sistema informatizado, é abordada no quarto capítulo. A

implementação do sistema é detalhada no quinto capítulo e os testes do aplicativo são

comentados no sexto capítulo. As considerações finais são apresentadas no capítulo

sete, incluindo idéias para outros aplicativos destinados a dispositivos móveis na área

da informática no ensino de inglês.

1.2 Descrição do problema

Uma das maiores dificuldades no aprendizado do idioma inglês é a

memorização das formas e significados dos verbos irregulares, exigindo dedicação e

prática por parte do estudante daquele idioma. Desta forma, este trabalho aborda a

problemática de como estimular estudantes do idioma inglês na tarefa de memorização

da lista dos verbos irregulares em suas três formas (infinitivo, passado e particípio),

bem como seus correspondentes significados.

1.3 Justificativa

A aprendizagem da língua mãe ocorre de forma natural e espontânea durante

os primeiros anos de vida de uma pessoa, época em que os pais encorajam seus filhos,

3deliberadamente, a falar e a responder à fala, corrigem seus erros e aumentam seu

vocabulário (LANGUAGE, 1994). Paralelamente, alguns lingüistas suportam a teoria

de que os seres humanos são geneticamente preparados para aprender idiomas nas

idades entre um e seis anos (LEARNING, 1994), sendo a aprendizagem dificultada à

medida que a idade avança.

No tocante ao processo de aprendizagem, a mente humana, embora ainda não

totalmente compreendida pela ciência atual, apresenta certas características notórias, a

exemplo do fato de que as atividades realizadas com interesse são mais facilmente e

profundamente assimiladas. Neste ínterim, atividades lúdicas adequadamente

elaboradas e dirigidas oferecem vantagens no sentido de despertar o interesse do

participante, cumprindo a função de facilitador da aprendizagem. Segundo

LEIGUARDA (2001), as pessoas tendem a recordar músicas, cantigas e comerciais

com mais facilidade do que os assuntos ensinados na escola, porque normalmente

lembram melhor o que consideram mais relevante e, neste contexto, jogos, solução de

problemas e outras atividades que ativam diferentes aspectos da memória deveriam ser

utilizados como estratégia principal de aprendizado.

Por outro lado, a observação empírica das linguagens atualmente utilizadas

para a comunicação humana mostra que frases são pensamentos articulados

exteriorizados e, na maioria dos idiomas, verbos expressam ações, existência ou

ocorrência (VERB, 1995). Embora possam haver circunstâncias em que a

comunicação é possível sem o uso de verbos, na maioria das situações os verbos

emprestam sentido à mensagem comunicada, o que os tornam importante objeto de

estudo para aqueles que se dedicam a aprender um idioma.

Neste contexto, PHILLIPS (2005) comenta que os estudantes do idioma

inglês enfrentam muita dificuldade para aprender os tempos verbais. O sistema de

tempos verbais do idioma inglês conta com dois tipos de verbos: os regulares, assim

chamados devido ao fato de seguirem regras específicas para a sua conjugação, e os

irregulares que, por outro lado, não estão atrelados a qualquer regra gramatical,

devendo o estudante memorizá-los, processo este que exige interesse, dedicação e

prática. Assim, propõe-se o uso de jogos para auxiliar no aprendizado de verbos

4irregulares.

Na busca por dispositivos ou mídias acessíveis a muitos estudantes do idioma

inglês, observa-se que, segundo MATTOS (2005), atualmente a presença de

dispositivos móveis é superior à de computadores PC em todo o mundo. LEAL

([2005]) enfatiza que as operadoras de telefonia oferecem no Brasil uma grande

variedade de telefones celulares com capacidade para aplicativos informatizados.

Ainda, PAVETITS (2005) comenta que, dentre os vários serviços oferecidos

pelas operadoras de telefonia celular, os usuários exibem preferência pelos jogos,

respondendo estes por 40% de todos os serviços baixados nas redes das operadoras. E, no

tocante ao perfil dos usuários de serviços de telefonia móvel, uma pesquisa do Data Folha

(CLASSE C E JOVENS, [2006]) mostra que o crescimento da posse de telefones

celulares foi mais expressivo entre os segmentos mais populares, alcançando 27% entre

2003 e fevereiro de 2006, e os jovens de 16 a 25 anos, atingindo 31% no mesmo período.

Os fatos acima e as idéias expostas indicam que o desenvolvimento de um

aplicativo lúdico para celulares, com a finalidade de possibilitar aos estudantes do

idioma inglês a prática e a memorização dos verbos irregulares, vem a colaborar com o

seu aprendizado e tem condições de se tornar acessível a muitos estudantes.

1.4 Objetivo geral

O objetivo deste trabalho é a implementação de uma atividade lúdica voltada

para a tecnologia de dispositivos celulares, com a finalidade de estimular estudantes do

idioma inglês na memorização e prática dos verbos irregulares.

1.5 Objetivos específicos

A relação abaixo enumera os objetivos específicos do presente trabalho:

a) Identificar uma atividade lúdica para apoio ao aprendizado dos verbos

irregulares do idioma inglês;

b) Disponibilizar um aplicativo lúdico capaz de operar em dispositivos

celulares.

51.6 Metodologia

O presente estudo iniciou com o desenvolvimento do projeto do trabalho no

primeiro capítulo, abordando a problemática em questão, objetivos, justificativa e a

metodologia empregada.

O levantamento bibliográfico foi realizado durante todo o desenvolvimento

do trabalho e foi feito através de livros, artigos publicados em eventos e periódicos,

além de material coletado na Internet.

Foram realizados estudos objetivando identificar atividades lúdicas utilizadas

no ensino de inglês com a finalidade de eleger uma atividade adequada para o

aplicativo proposto. Estes estudos estão documentados no capítulo dois.

Com o objetivo de conhecer a arquitetura da plataforma Java Micro Edition,

bem como as características do método ágil XP (eXtreme Programming) para o

desenvolvimento de sistemas, o capítulo três descreve estudos realizados verificando a

viabilidade de empregar tais recursos na solução proposta.

Posteriormente, foi realizada a modelagem da solução computacional, na

qual foram detalhados os artefatos utilizados para a análise e para o projeto do sistema

informatizado.

A fase de implementação, posterior à modelagem da solução, foi dividida em

três aspectos, sendo eles: os aspectos estruturais, a persistência de dados e os aspectos

visuais. Para o desenvolvimento do sistema, foi utilizado o ambiente de

desenvolvimento integrado NetBeans, devido ao fato de ser esta uma ferramenta

gratuita e de haver à disposição vasta documentação e tutoriais para seu uso. Foram

também realizados testes para verificar e validar todas as funcionalidades previstas

para o sistema.

As considerações finais foram apresentadas no capítulo sete, abordando as

experiências adquiridas, sugestões de melhorias para o aplicativo implementado

durante o trabalho, bem como apresentando idéias para outros aplicativos para

dispositivos móveis na área da informática no ensino de inglês.

2 ATIVIDADES LÚDICAS E O ENSINO DE IDIOMAS

Ainda que, segundo LETHABY (2002), ninguém saiba exatamente como se

aprende um idioma, existem várias atividades que auxiliam o processo de ensino-

aprendizagem. As atividades lúdicas são um exemplo que, conforme comentam

WRIGHT, BETTERIDGE e BUCKBY (1996), são reconhecidamente apreciadas por

jovens e adultos.

O presente capítulo aborda a utilização de atividades lúdicas com objetivo

educacional, especialmente no ensino de idiomas.

2.1 Atividades lúdicas na educação

Segundo LUDIC (1995), a palavra lúdico se refere a jogo ou brincadeira e,

conforme GAME (1995), a palavra jogo se refere a atividade que oferece

entretenimento ou diversão.

Atividades lúdicas, devido às suas características inerentes envolvendo

circunstâncias prazerosas e estimulantes, podem ser dirigidas para o ensino e a prática

de diversos assuntos e situações, uma vez que não oferecem restrições quanto à faixa

etária dos participantes.

Duas das vantagens do uso de jogos na educação incluem o fato de que estes

chamam a atenção dos estudantes para o foco a ser aprendido ou praticado e podem

simular situações reais, permitindo a tais circunstâncias existir e serem manipuladas

sem o ônus e/ou o risco das situações reais (GROS, 2003).

Atividades lúdicas têm sido utilizadas na educação e no treinamento em

diversos contextos e com variados objetivos. Ainda, jogos podem ser utilizados para

ambientar grupos de estudantes, propiciar interação entre grupos heterogêneos, bem

como internalizar conhecimentos adquiridos.

72.2 Jogos no ensino de idiomas

O aprendizado de um idioma é um trabalho difícil. Deve-se fazer um esforço para entender, repetir corretamente, utilizar a linguagem já absorvida e para utilizar toda a linguagem conhecida em conversas e em produções escritas. O esforço é exigido a todo o momento e deve ser mantido por um longo período. Os jogos ajudam e encorajam muitos estudantes a manter o interesse e o trabalho (WRIGHT, BETTERIDGE e BUCKBY, 1996, p. 1).

Jogos, uma das modalidades de atividades lúdicas que envolve competição e

vontade de superação, ajudam professores a criar contextos nos quais a linguagem

adquire significado e, uma vez que os estudantes fazem questão de participar, devem

entender o que os outros dizem ou escrevem e devem ser capazes de se fazer entender.

Muitos jogos propiciam a mesma intensidade de prática dos exercícios

convencionais, oferecendo qualidade. Neste contexto, a contribuição dos exercícios

está no uso freqüente da linguagem durante um período limitado de tempo, o que é

possível em muitos tipos de jogos. Adicionalmente, WRIGHT, BETTERIDGE e

BUCKBY (1996, p. 1) comentam que, “fazendo a linguagem transmitir informações e

opinião, os jogos oferecem a característica chave dos exercícios incluindo a

oportunidade de sentir o trabalho da linguagem como comunicação ativa”.

A idéia de incluir significados ou contextos no aprendizado de um idioma

tem sido utilizada há alguns anos, o que oferece aos estudantes a oportunidade de

expressar sensações e sentimentos de forma mais natural e espontânea, auxiliando na

fixação do conhecimento absorvido.

WRIGHT, BETTERIDGE e BUCKBY (1996, p. 1) mencionam, ainda, que

“se é aceito que os jogos podem oferecer prática intensa e significativa da linguagem,

então devem ser referidos como peça central no repertório de um professor. Assim,

eles não são para uso apenas em dias chuvosos ou no final do semestre!”

2.3 Jogos no ensino de inglês

O ensino do idioma inglês tem se beneficiado muito com o uso de atividades

lúdicas em todos os níveis de aprendizado, especialmente quando estas simulam

situações reais em ambientes distantes do convívio constante com a linguagem e a

cultura de povos de fala inglesa.

8Jogos podem oferecer prática para todas as habilidades envolvidas na

transmissão e aquisição do conhecimento do idioma inglês, nomeadamente, leitura,

escrita, escuta e fala; em todos os estágios de ensino/aprendizado, os quais sejam,

apresentação, repetição, reordenação e livre uso da linguagem; bem como para

diversos tipos de situações de comunicação. Desta forma, atividades lúdicas cooperam

concretamente no aprendizado, na fixação e na construção da fluência da língua

inglesa.

Alguns tipos de jogos educativos utilizados no ensino de inglês são listados a

seguir (LEE, 1965) e (GAMES, [2007?]):

• Jogos orais - estes jogos fazem uso do postulado que reza que um idioma

pode ser aprendido a partir do uso verbal do próprio idioma. Alguns jogos

orais incluem, entre outros: perguntas de identificação e/ou localização de

objetos e lugares, em que os alunos devem responder corretamente a

perguntas preparadas pelo professor ou por outro grupo de alunos; “faça o

que você ouviu”; “o que estou fazendo?” e suas modalidades “o que eu

fiz?” e “o que vou fazer?”; “correntes”, em que os alunos devem

completar frases ou elaborar frases completas com finalidade específica.

• Jogos de pronúncia - alguns exemplos são: “igual ou diferente?”, em que

os alunos devem julgar se duas frases faladas pelo professor ou outro

grupo de alunos possuem mesmo sentido ou são diferentes; “qual é qual?”,

em que os alunos devem ser capazes de distinguir palavras com pronúncia

muito similar; “trocadilhos”, em que os alunos devem ser capazes de

pronunciar frases corretamente.

• Jogos de escrita e de leitura - exemplos incluem: “comandos”, em que os

alunos devem obedecer instruções dispostas em cartões contendo frases,

comandos ou imagens; “associação”, que abrange um conjunto de

possibilidades onde os alunos devem ser capazes de associar imagens a

substantivos, perguntas a respostas, partes de frases com seus

complementos etc..

• Jogos de ortografia - abrangem um conjunto de atividades que visam

9testar a corretude das palavras ou frases escritas ou soletradas pelos

alunos. Alguns exemplos incluem: “escreva o que você vê” e “escreva o

que você ouve”, que contam com várias modalidades; “descreva o que

você conhece”, que é uma extensão dos anteriores; “soletre o que você

ouve”, similar aos anteriores, mas não envolve a habilidade de escrita.

2.4 Jogos de palavras no ensino de idiomas

MACCALLUM (1980) comenta que, quando considerada a importância da

competência comunicativa no idioma estudado, um dos principais objetivos no

domínio de um idioma, bem como a necessidade de uso espontâneo e criativo da

linguagem, salienta-se o papel significativo dos jogos de palavras para atingir tais

objetivos.

Segundo MACCALLUM (1980), algumas das vantagens do uso de jogos de

palavras no ensino de idiomas incluem:

• Concentração da atenção do estudante em estruturas, padrões gramaticais

e vocabulário específicos;

• Capacidade de operar como reforço, revisão ou enriquecimento;

• Possibilidade de serem utilizados em qualquer situação de ensino de

idioma e com qualquer área de habilidade;

• Fonte de informações imediatas ao professor;

• Garantia de máxima participação por parte do estudante.

Os jogos de palavras no ensino de idiomas envolvem as habilidades de

leitura e escrita, separadamente ou em conjunto, e podem ser elaborados de diversos

modos. Alguns jogos educativos com palavras são listados a seguir (LEE, 1965) e

(GAMES, [2007?]):

• Jogos com flash-cards - estes jogos utilizam cartões contendo palavras,

comandos ou frases curtas. Podem ser utilizados de diversas maneiras: os

alunos podem formar comandos ou frases a partir do conteúdo de um

flash-card para que outros alunos realizem o que é solicitado; formar

10frases que contenham o conteúdo do flash-card com o intuito de elaborar

uma história; elaborar frases respeitando uma estrutura definida pelo

professor; ou simplesmente pronunciar o conteúdo do flash-card

corretamente.

• Jogos de associação - em essência, estes jogos podem ser utilizados em

grupos de alunos ou individualmente. Frases ou expressões devem ser

associadas a imagens ou vice-versa, ou ainda, palavras, frases ou

expressões devem ser associadas a palavras, frases ou expressões

correspondentes no âmbito da estrutura ou conteúdo estudado, a exemplo

do jogo de memória.

• Jogos de rimas ou canções - grupos de alunos aprendem rimas ou canções

simples e devem ser capazes de citá-las ou cantá-las observando pronúncia

e entonação corretas.

• Jogos de escrita - existem vários jogos nesta categoria, a exemplo dos

jogos: “complete a frase”, o qual pode conter frases com lacunas ou

inícios de frases para ser completadas; o “jogo da escada”, em que cada

aluno deve escrever uma palavra cuja letra inicial seja a mesma letra final

da última palavra escrita; “encontre os objetos”, em que cada aluno deve

localizar objetos ocultos, em um limite de tempo definido, e escrever

exatamente onde estão, sem divulgar aos demais estudantes.

• Outros jogos de palavras - abrangem diversos outros jogos de palavras

que não se encaixam nas categorias acima, a exemplo dos jogos: “frases

vivas”, no qual cada aluno possui um cartão contendo uma palavra ou

expressão e os jogadores devem se colocar em pé na posição necessária

para formar uma frase corretamente; “bingo de palavras”, em que cada

aluno possui um cartão contendo diversas palavras e o professor, ou outro

aluno, lê palavras as quais devem ser reconhecidas e marcadas pelos

alunos que contêm os cartões até que um dos estudantes tenha marcado

todas as palavras de seu cartão; “jogo das compras”, em que os estudantes

simulam possuírem lojas utilizando cartões contendo nomes dos produtos,

11suas características e preços.

2.5 Conclusão

GRAMIGNA (1997, p. 1) comenta que “vivemos numa época de

transformações que exige uma profunda revisão de paradigmas e a adoção de novos

conceitos e metodologias. (...) O prazer, a alegria, o lúdico, o entretenimento predispõe

o espírito à aceitação, motivam o gosto de aprender.”

A associação de atividades lúdicas com o ensino de idiomas tem se mostrado

vantajosa, uma vez que estas atraem a atenção do estudante e propiciam aprendizado

ou prática de forma espontânea e recreativa. Ainda, a motivação envolvida no uso de

jogos pode aguçar o interesse do estudante para o assunto objeto da atividade.

A pesquisa e o estudo que deram origem ao presente capítulo possibilitaram

a identificação de uma atividade lúdica apropriada para a implementação da solução

para o problema proposto. A atividade em questão é um jogo de memória, que se

enquadra entre os jogos de leitura e escrita, na modalidade de jogo de palavras, os

quais cumprem um papel significativo na construção da competência comunicativa do

estudante.

Estando a atividade lúdica claramente identificada, o passo seguinte

necessário para a implementação da solução é a definição do processo de

desenvolvimento e o estudo dos aspectos tecnológicos envolvidos.

3 DESENVOLVIMENTO DE SISTEMAS PARA DISPOSITIVOS MÓVEIS

O presente capítulo foca o contexto da implementação de soluções

informatizadas para dispositivos móveis, incluindo os aspectos tecnológicos, centrados

na tecnologia Java, e processos de desenvolvimento, apresentando alguns dos métodos

mais populares, porém concentrando a atenção no método ágil XP (eXtreme

Programming).

3.1 Contextualização

MATTOS (2005) comenta que, atualmente, a produção de dispositivos

móveis em o todo mundo é bem superior à de computadores pessoais. Esta afirmação

traz em si inferências que incluem aumento da demanda por desenvolvedores de

sistemas informatizados para tais equipamentos e a popularização de dispositivos

móveis.

LI e KNUDSEN (2005, p. 10) comentam que dispositivos móveis são “um

amplo conjunto que cobre praticamente tudo o que for menor do que uma cesta de

pães. (...) uma seleção diversa de hardware (...)”.

Embora os dispositivos móveis incluam aparelhos celulares, PDAs (Personal

Digital Assistants), smart phones2, microcomputadores e outros dispositivos

conectados, o presente estudo foca apenas os aparelhos celulares, devido a sua

popularidade e abrangência.

Uma vez que os dispositivos móveis ainda não são totalmente equivalentes

aos computadores pessoais, apresentando limitações no tocante ao espaço para

armazenamento de informações e aplicações e à capacidade de processamento, o

2 Smart phones são telefones inteligentes, dispositivos manuais que integram as funcionalidades de um telefone celular e um PDA ou outro dispositivo de informação (SMARTPHONE, 2006).

13desenvolvimento de sistemas para tais dispositivos exige conhecimento e tecnologia

específicos.

3.2 Aspectos da tecnologia

A principal ferramenta utilizada para o desenvolvimento de sistemas para

dispositivos móveis é a plataforma JME (Java Micro Edition) e a tecnologia de

desenvolvimento Java é uma das mais completas opções entre as ferramentas

oferecidas aos desenvolvedores de software (MATTOS, 2005).

Uma das principais vantagens do uso de JME para o desenvolvimento de

sistemas é que uma solução desenvolvida com esta plataforma não se restringe a

determinados fabricantes ou modelos de equipamentos, podendo a solução ser

executada em qualquer dispositivo em que o fabricante tenha instalado uma máquina

virtual Java.

3.2.1 A tecnologia Java e a plataforma Java Micro Edition

A tecnologia Java abrange um conjunto de recursos para o desenvolvimento

de sistemas informatizados baseados nos conceitos de orientação a objetos e de

interpretação de código. O desenvolvimento de sistemas tenta imitar a natureza no

tocante às características e funcionalidades de objetos reais. A interpretação de código,

por sua vez, tem como principal característica, permitir a utilização de programas em

qualquer dispositivo que contenha uma máquina virtual da mesma plataforma.

Entre os recursos da tecnologia Java, os principais são: a máquina virtual,

cuja principal funcionalidade é a interpretação de comandos Java para que o sistema

operacional do dispositivo possa entendê-los e executá-los; a linguagem de

programação Java utilizada pelos desenvolvedores de sistemas; e o ambiente de

desenvolvimento conhecido como JDK (Java Development Kit), que permite a escrita

de programas em Java, sua verificação e validação, incluindo diversos recursos

organizados na forma de APIs (Application Programming Interfaces).

A tecnologia Java está categorizada em três edições, cada uma contendo

características e funcionalidades específicas para uma área da computação, conforme

14indicado na Figura 1:

• Java Standard Edition (JSE): desenvolvida para a execução de programas

em estações de trabalho e computadores pessoais simples, como os

comumente encontrados no mercado;

• Java Enterprise Edition (JEE): destinada a sistemas baseados em

servidores, a exemplo de ambientes em rede, como as redes virtuais

privadas, as intranets e a Internet;

• Java Micro Edition (JME): projetada para operar em dispositivos com

limitações de recursos de memória, vídeo e processamento, a exemplo dos

PDAs, controles remotos, aparelhos celulares, entre outros.

FIGURA 1 - Resumo da tecnologia Java e suas diferentes edições.(FONTE: JAVA, 2006)

Além das três edições apresentadas, Java oferece uma plataforma

especificamente desenvolvida para cartões inteligentes, denominados Java Cards.

Considerando JME a edição Java apropriada para o desenvolvimento da

solução proposta neste trabalho, uma vez que o sistema resultante deve operar no

maior número possível de dispositivos móveis, o foco tecnológico do presente estudo

15está voltado para esta plataforma.

Devido ao fato de que a tecnologia Java Micro Edition abrange uma grande

diversidade de hardware, ela é dividida em configurações, perfis e APIs opcionais (LI

e KNUDSEN, 2005).

CARNIEL e TEIXEIRA (2005) comentam que as configurações JME

fornecem os serviços básicos para que as aplicações possam ser executadas, incluindo

sistemas de comunicação, segurança interna da máquina virtual e acoplamento com o

dispositivo. MATTOS (2005) divide tais configurações em duas categorias

caracterizadas da seguinte forma:

• Connected Device Configuration (CDC), utilizada em dispositivos que

possuem capacidade razoável de processamento e de memória, bem como

conexão rápida com a Internet, tais como set-top boxes3, Internet TV,

vídeo-fones com Internet, comunicadores sem fio, sistemas de

entretenimento e sistemas de telemetria para automóveis;

• Connected Limited Device Configuration (CLDC), utilizada em

dispositivos com processamento relativamente fraco, pouca memória e

conectividade intermitente de baixa velocidade, a exemplo dos aparelhos

celulares, PDA e pagers. Esta configuração conta com duas versões: 1.0,

implementada na maioria dos equipamentos, e 1.1, mais completa que a

versão anterior, incluindo melhorias como o suporte a tipos de dados de

ponto flutuante.

Perfis são um conjunto de APIs padronizadas que, combinadas com uma

configuração, fornecem todas as funcionalidades necessárias para que as aplicações

possam ser executadas em uma determinada família de dispositivos (CARNIEL e

TEIXEIRA, 2005).

Embora existam vários tipos de perfis, dois merecem destaque devido a sua

popularidade: o MIDP (Mobile Information Device Profile), desenvolvido para

aparelhos celulares e telefones inteligentes, e o PDAP (Personal Digital Assistant

Profile), projetado para uso em PDAs.

3 Set-top boxes são aparelhos para controle de TV por assinatura.

16O perfil MIDP conta com duas versões: a 1.0, atualmente disponibilizada em

todos os aparelhos celulares, e a 2.0, já presente em vários aparelhos no mundo e

incluindo suporte multimídia, API para interface de usuário para jogos e suporte a

conexão segura, além de todos os recursos da versão anterior.

O presente trabalho foca a utilização da tecnologia JME com a configuração

CLDC 1.0 e o perfil MIDP 1.0, conforme esquema exibido na Figura 2, de forma que

o sistema desenvolvido possa ser executado no maior número possível de aparelhos

celulares.

FIGURA 2 - Esquema da tecnologia JME.(FONTE: GRASIA!, 2004)

3.3 Processos de desenvolvimento

BRAUDE (2005, p. 21) comenta que “Os principais desafios para o

desenvolvimento de um software útil são a complexidade de código e a tendência de

mudança dos objetivos de projeto enquanto eles estão em construção”.

A fim de produzir sistemas com qualidade e que atendam às necessidades de

seus usuários, muitas pesquisas e experimentos têm sido realizados no tocante ao

processo pelo qual os softwares são implementados, implantados e adaptados ou

corrigidos, resultando nas cinco fases principais sucintamente apresentadas a seguir

17(BRAUDE, 2005):

• Análise: fase em que as necessidades do usuário são estudadas, com o

objetivo de compreender o que deve ser implementado e, em

conseqüência, quais as funcionalidades do sistema;

• Projeto: fase em que as partes do sistema e sua inter-relação são

especificadas em detalhes, com o objetivo de determinar como o sistema

deve ser desenvolvido;

• Implementação: esta fase está associada à codificação, ou seja, a escrita

dos programas que integram um sistema informatizado;

• Testes: fase onde a aplicação é verificada por meio do uso de dados de

teste, a fim de minimizar a ocorrência de erros;

• Manutenção: nesta fase são realizados reparos e melhorias no sistema,

bem como sua adaptação a novas necessidades.

É relevante observar que, embora existam várias etapas envolvidas no

processo de desenvolvimento de um software, estas se encaixam nas cinco fases

abrangentes acima. Ainda, estas cinco fases não ocorrem necessariamente em ordem e

podem mesclar-se, dependendo das características do sistema a ser desenvolvido e/ou

do modelo de desenvolvimento adotado.

Existem vários métodos de desenvolvimento de sistemas, os quais organizam

as várias atividades envolvidas no processo e documentam seus diversos componentes.

Alguns dos métodos mais citados na literatura estão listados a seguir:

• Cascata: este método determina que o desenvolvimento do software deve

ser realizado de forma linear, seguindo necessariamente as etapas de

estudo de viabilidade, análise, projeto, implementação, testes e

manutenção nesta ordem (WATERFALL, 2002);

• Prototipação: método baseado na implementação de protótipos do

sistema. Cada protótipo é desenvolvido passando pelas etapas de análise,

projeto, implementação e testes e, posteriormente, validado pelo usuário

do sistema. Após cada validação, o protótipo é corrigido ou adaptado e

18incrementado, recebendo mais funcionalidades de forma a gerar novo

protótipo. Cada novo protótipo está mais próximo da versão final do

sistema (SOFTWARE, 2004);

• Espiral: este método é baseado em ciclos evolutivos. Cada ciclo

representa uma fase do desenvolvimento e é dividido em definição de

objetivos, avaliação e redução de riscos, desenvolvimento e teste, e

planejamento para a próxima fase (SPIRAL, 2002);

• Processo Unificado (PU): método fortemente associado à notação UML

(Unified Modelling Language) e conta com as fases de concepção,

elaboração, construção e transição. A fase de concepção abrange o estudo

de viabilidade e uma parte da análise de requisitos. A fase de elaboração

abrange a maior parte da análise de requisitos, a análise de domínio e o

projeto. A fase de construção corresponde à programação e aos testes. A

fase de transição consiste na instalação e na manutenção do sistema

(WAZLAWICK, 2004);

• Métodos ágeis: são um conjunto de métodos leves para pequenas e médias

equipes de desenvolvedores. Tais métodos são orientados à simplicidade,

rapidez e eficiência e incluem a valorização dos indivíduos, interações

através de processos e ferramentas, documentação compreensiva,

colaboração dos usuários, entre outros. Entre os métodos ágeis, estão o

Scrum, o Crystal, o Feature Driven Development, o Adaptive Software

Development e, com maior destaque, a XP (eXtreme Programming)

(MARTIN, 2002).

3.3.1 eXtreme Programming (XP)

Segundo BECK (2004), o método ágil XP, ou programação extrema, é

baseado em práticas simples e conta com quatro valores: comunicação, simplicidade,

feedback e coragem; um conjunto de princípios; e quatro atividades básicas:

codificação, testes, interação constante com o usuário e projeto.

Os princípios ou práticas da XP, enumerados por BECK (2004), estão

19listados a seguir:

• Planejamento: definição do escopo da nova versão por meio da

combinação de prioridades e estimativas técnicas;

• Pequenas versões: o sistema é entregue em pequenas versões para que o

usuário possa se beneficiar do sistema tão logo quanto possível;

• Metáfora: a equipe se comunica em termos de uma metáfora a respeito do

sistema como um todo;

• Projeto simples: o sistema deve ser projetado da forma mais simples

possível, removendo e evitando complexidades desnecessárias;

• Testes: os desenvolvedores efetuam testes de forma contínua e ao longo de

todo o processo de desenvolvimento do sistema;

• Refatoração: os desenvolvedores reestruturam o sistema sem modificar

seu comportamento, a fim de remover e evitar duplicidades, melhorar a

comunicação, simplificar e acrescentar flexibilidade;

• Programação em pares: todo o processo de codificação é efetuado por

meio de pares de programadores trabalhando em um único computador;

• Propriedade coletiva: qualquer desenvolvedor pode modificar qualquer

parte codificada do sistema a qualquer momento;

• Integração contínua: o sistema é integrado e reconstruído diversas vezes

ao dia, cada vez que uma tarefa é finalizada;

• Carga horária de 40 horas: a equipe não trabalha mais de quarenta horas

semanais;

• Cliente disponível: um usuário real é incluído na equipe, disponível em

período integral para solucionar as dúvidas;

• Padrões de codificação: desenvolvedores escrevem os códigos de

programação, seguindo regras de modo a enfatizar a comunicação por

meio da codificação.

O método ágil XP se mostrou apropriado para o desenvolvimento do sistema

computacional do presente trabalho, uma vez que este método é indicado para equipes

pequenas e médias e visa a simplicidade e a qualidade. Porém, devido a uma das

20características inerentes ao Trabalho de Conclusão do Curso de Sistemas de

Informação, da Universidade do Planalto Catarinense, pela qual os estudos devem ser

desenvolvidos por apenas um acadêmico, a prática da programação em pares não é

realizada. Desta forma, o processo de desenvolvimento do sistema computacional do

presente trabalho é categorizado como um método ágil baseado na eXtreme

Programming.

3.4 Conclusão

Se analisarmos os aparelhos celulares e os serviços oferecidos por eles desde a década de noventa, percebemos nitidamente a evolução tecnológica ocorrida neste mercado. Constantemente somos surpreendidos com o surgimento de novas funcionalidades que buscam facilitar as nossas atividades cotidianas e oferecer novos meios de entretenimento. (EQUIPE, 2005, p. 72)

Uma análise superficial da citação acima confirma que os aparelhos celulares

foram bem aceitos e têm se incorporado à vida diária das pessoas na forma de

companheiros prestadores de serviços. Ainda, pode-se inferir a partir da mesma citação

que os usuários de tais dispositivos vêem com bons olhos as novas funcionalidades que

aos poucos são acrescentadas aos aparelhos.

A implementação da solução proposta no presente trabalho, utilizando a

tecnologia Java Micro Edition e o método ágil de desenvolvimento eXtreme

Programming, vem a se enquadrar na realidade atual do mercado, oferecendo

portabilidade e qualidade. Ainda, a proposta da execução da solução informatizada em

aparelhos celulares leva o estudo e a prática do idioma Inglês a uma vasta gama de

estudantes e interessados.

A definição do método de desenvolvimento da solução e a escolha da

tecnologia são o fundamento para a implementação do software proposto. A

mencionada implementação toma forma inicial com a análise e o projeto do sistema

informatizado, temas abordados no próximo capítulo.

4 ANÁLISE E PROJETO DO SISTEMA

A qualidade de software é o resultado de diversas práticas e, entre estas, está

o uso de um processo sistemático, a exemplo da metodologia XP (eXtreme

Programming) selecionada para o desenvolvimento do aplicativo proposto no presente

trabalho.

Neste ínterim, o presente capítulo aborda as fases de análise e projeto do

aplicativo lúdico, incluindo o enredo do jogo, explanações a respeito dos artefatos

utilizados e a apresentação dos artefatos em si.

4.1 Enredo do jogo

O aplicativo lúdico proposto é do tipo jogo de memória, envolvendo a lista

de verbos irregulares em inglês, composta pelas formas verbais infinitivo, ou forma

base, passado e particípio passado, além do correspondente significado em português.

As combinações para o jogo ocorrem em pares, envolvendo as possibilidades

e os níveis descritos abaixo, os quais servem para fins de nivelamento de dificuldade:

• português e infinitivo: combinação de menor nível de dificuldade;

• infinitivo e passado: combinação com nível de dificuldade médio; e

• passado e particípio: combinação de maior nível de dificuldade.

Outra forma de nivelamento de dificuldade levada em conta é a freqüência

com que os verbos irregulares são utilizados em inglês, classificando os verbos de

maior freqüência como verbos básicos, os de freqüência média como verbos

intermediários e os demais como verbos avançados.

Os níveis de dificuldade envolvendo as formas verbais e a freqüência de

ocorrência dos verbos são definidos por especialista na área do ensino de inglês.

A combinação dos nivelamentos de dificuldade expostos nos parágrafos

22anteriores gera os seguintes níveis para o jogo:

• Nível 1: verbos básicos em português e no infinitivo;

• Nível 2: verbos básicos no infinitivo e no passado;

• Nível 3: verbos básicos no passado e no particípio;

• Nível 4: verbos intermediários em português e no infinitivo;

• Nível 5: verbos intermediários no infinitivo e no passado;

• Nível 6: verbos intermediários no passado e no particípio;

• Nível 7: verbos avançados em português e no infinitivo;

• Nível 8: verbos avançados no infinitivo e no passado;

• Nível 9: verbos avançados no passado e no particípio.

Durante o andamento do jogo, são exibidas três telas consecutivas para cada

nível de jogo, totalizando assim, vinte e sete telas exibidas, respeitando a ordem

crescente de dificuldade exposta acima.

A tela de jogo mostra oito retângulos. Cada retângulo oculta uma palavra

escolhida aleatoriamente dentre o grupo das palavras que fazem parte do nível corrente

do jogo. Para jogar, o jogador deve selecionar um dos retângulos e esta ação exibe a

palavra que o respectivo retângulo ocultava. Em seguida, o jogador deve selecionar

outro retângulo. Se ambas as palavras formam um par correto, respeitando o nível do

jogo, estas permanecem exibidas na tela; caso contrário, são ocultadas após alguns

segundos.

A pontuação é calculada considerando o número de vezes que o jogador

cometeu erros ao tentar localizar um par de palavras válidas. A contagem de pontos

inicia com 80 pontos para cada tela de jogo e, para cada erro, ou seja, para cada duas

palavras selecionadas sem formar um par válido, são descontados 8 pontos. Ao

encontrar todos os pares de uma tela, os pontos são registrados e o jogo passa à tela

seguinte.

O registro da pontuação total ocorre em dois momentos: ao final do jogo, o

que se dá quando todos os pares de todos os níveis foram encontrados, ou quando o

jogador sai do jogo. Caso a pontuação total seja menor do que zero, o valor registrado

23é zero.

Quando um jogo é encerrado antes de exibidas todas as telas de todos os

níveis, existe a possibilidade de continuação do mesmo jogo. Neste caso, são exibidos

o nível corrente e a pontuação alcançada, porém não são registradas informações na

relação de pontuações.

Após o término do jogo, o que pode ocorrer quando todas as telas de todos os

níveis foram exibidas, surge a tela de pontuação, que permite ao jogador inserir seu

nome. Em seguida, é exibida uma lista contendo as últimas cinco pontuações

registradas.

4.2 Artefatos aplicados

Artefatos são textos, gráficos, diagramas e quadros desenvolvidos com o

objetivo de documentar detalhes relativos a cada etapa do processo de

desenvolvimento de um software, além de servir de guia para a análise, o projeto, a

implementação, os testes e a manutenção do sistema (WAZLAWICK, 2004).

A análise é a fase do processo de desenvolvimento de software em que a

investigação do problema é enfatizada com o objetivo de produzir uma compreensão

profunda sobre o sistema (WAZLAWICK, 2004).

Na fase de análise, foram utilizados os seguintes artefatos:

• Sumário executivo

Documento de texto, em formato livre, que descreve a visão geral do

sistema;

• Histórias de usuário

Documentos redigidos pelo usuário ou cliente, normalmente formatados

em pequenos quadros, contendo, cada um, a descrição de uma

funcionalidade do sistema;

• Definição de requisitos

Quadros que organizam e exibem as diversas funcionalidades do sistema.

“A fase de projeto enfatiza a proposta de uma solução que atenda aos

24requisitos da análise.” (WAZLAWICK, 2004, p. 22).

Na fase de projeto, foram utilizados os seguintes artefatos:

• Diagrama de classes

Diagrama que organiza e exibe o conjunto de classes, seus atributos,

métodos e associações, contendo toda a lógica do sistema de informação;

• Diagrama de estados

“(...) indica quais são as janelas que compõe o sistema e quais eventos

permitem ao usuário navegar de uma para outra.” (WAZLAWICK, 2004,

p. 259).

4.3 Sumário executivo

Propõe-se o desenvolvimento de um jogo de memória para apoio ao

aprendizado da lista de verbos irregulares em inglês que opere em aparelhos celulares.

O jogo deve abranger as formas verbais infinitivo, ou forma base, passado e particípio

passado, em Inglês, bem como o significado em Português, para cada verbo utilizado.

O jogo deve, ainda, contar com níveis de dificuldade estabelecidos com base nos pares

de correspondência português-infinitivo, infinitivo-passado e passado-particípio, e na

freqüência de uso dos verbos. Pode-se classificar a freqüência de uso dos verbos em

verbos básicos, para os mais utilizados na comunicação, verbos intermediários, para

aqueles com uso menos freqüente, e verbos avançados, para os menos utilizados. Ao

término do jogo, deve ser possível registrar no dispositivo a pontuação obtida pelo

jogador e seu nome. Os últimos cinco registros de pontuações devem ser mantidos.

4.4 Histórias de usuário

Em virtude do presente sistema não haver sido requisitado por usuários, as

histórias de usuário foram descritas pelo próprio desenvolvedor a fim de detalhar e

organizar os aspectos funcionais do aplicativo.

25Os Quadros 1 a 6 exibem as histórias de usuário relativas ao sistema

proposto.

QUADRO 1 - História de usuário HU01, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU01 VERSÃO: 1

NOME: Tela de apresentação

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

O jogo deve conter uma tela de apresentação que deve ser exibida como primeira tela antes do usuário ser direcionado à tela principal.

QUADRO 2 - História de usuário HU02, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU02 VERSÃO: 1

NOME: Tela inicial

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

O jogo deve conter uma tela inicial com opções de menu em inglês para ajuda, para iniciar novo jogo, para continuar jogo em andamento (se houver informações relativas a jogo já iniciado) e para exibir as pontuações.

QUADRO 3 - História de usuário HU03, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU03 VERSÃO: 1

NOME: Tela de jogo

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

A tela de jogo deve conter oito retângulos cada um contendo uma palavra oculta.Ao selecionar um retângulo, a palavra oculta neste é exibida.Um segundo retângulo deve ser selecionado. Se a palavra oculta no segundo retângulo corresponder

à palavra do primeiro retângulo selecionado, segundo as regras definidas para o jogo, ambas permanecem na tela. Caso contrário, ambos os retângulos ocultam as palavras novamente após um breve lapso de tempo.

26

QUADRO 4 - História de usuário HU04, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU04 VERSÃO: 1

NOME: Pontuação

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

Para cada tela de jogo, a pontuação deve partir de um valor e descontar os erros do jogador.A pontuação total é formada pela soma dos pontos alcançados em cada tela.Caso a pontuação total seja menor do que zero, seu valor deve ser considerado zero.

QUADRO 5 - História de usuário HU05, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU05 VERSÃO: 1

NOME: Tela de fim de jogo

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

A tela de fim de jogo deve surgir em qualquer situação em que o jogador sai do jogo e deve conter a pontuação atingida pelo jogador e uma lista com as últimas cinco maiores pontuações.

Se o jogador finalizou o jogo, o que ocorre ao vencer todos os níveis, a tela de fim de jogo deve adicionalmente exibir mensagem a respeito.

QUADRO 6 - História de usuário HU06, versão 1.JOGO DE MEMÓRIA PARA APARELHOS CELULARES PARA

APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS

REFERÊNCIA: HU06 VERSÃO: 1

NOME: Tela de ajuda

USUÁRIO: Daniel FUNÇÃO: Desenvolvedor

DATA: 07/09/2006 ESFORÇO: 1

A tela de ajuda deve conter explanação do funcionamento do jogo, dos níveis, da pontuação e de como jogar.

274.5 Definição de requisitos

A partir das histórias de usuário documentadas no item anterior, foram

definidos os requisitos detalhados a seguir.

4.5.1 Requisitos funcionais e não-funcionais

Requisitos funcionais se referem às operações que constituem as

funcionalidades do sistema, já os requisitos não-funcionais estão associados a

restrições colocadas sobre como o sistema deve realizar seus requisitos funcionais

(WAZLAWICK, 2004).

Os Quadros 7 a 15 documentam os requisitos funcionais e não-funcionais

identificados para o presente sistema, indicando as correspondentes histórias de

usuário.

QUADRO 7 - Requisito funcional F1.F1 Exibir tela de apresentação HU: HU01 versão 1

Descrição: O sistema deve mostrar uma tela de apresentação antes da tela inicial.

Requisitos não-funcionais

Nome Restrição

NF1.1 Tempo de exibição A tela de apresentação deve ser exibida durante um período máximo de 5 segundos.

NF1.2 Conteúdo O conteúdo da tela de apresentação deve incluir imagem ou logo do jogo bem como logo da empresa ou nome do desenvolvedor.

QUADRO 8 - Requisito funcional F2.F2 Exibir tela inicial HU: HU02 versão 1

Descrição: O sistema deve exibir uma tela inicial.

Requisitos não-funcionais

Nome Restrição

NF2.1 Conteúdo

O conteúdo da tela inicial deve incluir menu em inglês com opções para ajuda, iniciar novo jogo, continuar jogo em andamento (a partir de informações gravadas de jogo anterior não finalizado) e listar pontuações registradas.

28QUADRO 9 - Requisito funcional F3.

F3 Exibir tela de jogo HU: HU03 versão 1

Descrição: O sistema deve mostrar uma tela para o jogo ao estilo de jogo de memória.

Requisitos não-funcionais

Nome Restrição

NF3.1 Conteúdo A tela de jogo deve conter oito retângulos, cada um contendo uma palavra oculta. As palavras ocultas são distribuídas aleatoriamente.

NF3.2 Ciclo de vidaA tela de jogo é exibida quando da seleção por parte do jogador da opção de menu para iniciar o jogo na tela inicial e até que este selecione a opção para sair ou todos os níveis de jogo tenham sido finalizados.

QUADRO 10 - Requisito funcional F4.F4 Permitir jogadas HU: HU03 versão 1

Descrição: O jogo deve operar como jogo de memória ocultando pares de palavras.

Requisitos não-funcionais

Nome Restrição

NF4.1 Jogada

Uma jogada corresponde à seleção de dois retângulos. Com a seleção, os retângulos passam a exibir suas palavras ocultas. Caso as palavras correspondam a um par correto, ambas permanecem exibidas na tela. Caso contrário, as palavras são ocultadas novamente após cerca de cinco segundos.

QUADRO 11 - Requisito funcional F5.F5 Controlar níveis de jogo HU: HU03 versão 1

Descrição: O jogo deve avançar em níveis de dificuldade cada vez maiores.

Requisitos não-funcionais

Nome Restrição

NF5.1 Níveis de dificuldade Os níveis de dificuldade estão definidos no item 4.1 que estabelece o enredo do jogo.

NF5.2 Avanço dos níveis de dificuldade

O avanço dos níveis de dificuldade segue a ordem estabelecida no item 4.1.

QUADRO 12 - Requisito funcional F6.F6 Calcular pontuações HU: HU04 versão 1

Descrição: O sistema deve calcular a pontuação do jogo.

Requisitos não-funcionais

Nome Restrição

NF6.1 Cálculo de pontuação O cálculo da pontuação segue a determinação estabelecida no item 4.1 que trata do enredo do jogo.

QUADRO 13 - Requisito funcional F7.

29F7 Manter registro de pontuações HU: HU04 versão 1

Descrição: O sistema deve manter registro de pontuações atingidas pelos jogadores que terminaram o jogo.

Requisitos não-funcionais

Nome Restrição

NF7.1 Informações do registro de pontuação

O registro de pontuação deve incluir o nome do jogador e os pontos alcançados.

NF7.2 Registros mantidos O sistema deve manter registro das últimas cinco maiores pontuações.

QUADRO 14 - Requisito funcional F8.F8 Exibir tela de fim de jogo HU: HU05 versão 1

Descrição: O sistema deve exibir tela de fim de jogo.

Requisitos não-funcionais

Nome Restrição

NF8.1 Conteúdo

A tela de fim de jogo deve conter a pontuação atingida pelo jogador e uma lista com as últimas cinco pontuações em ordem decrescente.Caso o jogador tenha finalizado todos os níveis do jogo, a tela de fim de jogo deve adicionalmente exibir mensagem a respeito.

NF8.2 Encerramento do jogoO jogo pode ser encerrado de duas formas: quando o jogador seleciona a opção de menu finalizar durante o jogo, ou quando todos os níveis do jogo foram finalizados.

QUADRO 15 - Requisito funcional F9.F9 Exibir tela de fim de jogo HU: HU06 versão 1

Descrição: O sistema deve exibir tela de ajuda.

Requisitos não-funcionais

Nome Restrição

NF9.1 ConteúdoA tela ajuda deve conter explicações a respeito do funcionamento do jogo, dos níveis de dificuldade, da pontuação e detalhes práticos de como jogar.

NF9.2 Acesso O acesso à tela de ajuda deve se dar por meio de opção de menu na tela inicial.

4.5.2 Requisitos suplementares

Requisitos suplementares estão associados às funcionalidades que são gerais

para o sistema (WAZLAWICK, 2004).

O Quadro 16 enumera os requisitos suplementares do sistema proposto.

30

QUADRO 16 - Requisitos suplementares.Nome Restrição

S1 Lista de verbos irregularesDevido a restrições de espaço para armazenamento de informações nos dispositivos celulares, serão utilizados apenas os verbos irregulares listados no Apêndice I.

S2 Tecnologia

Com a finalidade de disponibilizar o aplicativo para o maior número possível de aparelhos celulares, deve-se utilizar a tecnologia Java Micro Edition, configuração CLDC 1.0 e perfil MIDP 1.0 para o desenvolvimento do sistema.

S3 Idioma

Considerando o contexto educacional do aplicativo, os menus, títulos de janelas e comandos devem estar no idioma inglês e o conteúdo das telas deve estar no idioma português. Exceção é feita para a tela de jogo, a qual contemplará os idiomas inglês e português conforme o nível de jogo.

4.6 Diagrama de classes

A Figura 3 exibe o diagrama das classes necessárias para a implementação

do aplicativo.

São desenvolvidas quatro classes: MemoBoxCanvas, VerbMemoryMIDlet,

MemoryCard e GameEngine.

A classe MemoBoxCanvas estende a classe Canvas. A classe

VerbMemoryMIDlet estende a classe MIDlet, implementa a interface

CommandListener e é composta pela classe MemoBoxCanvas. As classes MIDlet e

Canvas e a interface CommandListener fazem parte da plataforma de desenvolvimento

Java Micro Edition.

A classe VerbMemoryMIDlet contém todas as telas que trocam informações

com o usuário, exceto a tela de jogo, a qual é desenvolvida na classe

MemoBoxCanvas.

A classe MemoryCard representa os cartões, ou retângulos, que fazem parte

das telas de jogo e contêm informações para seu desenho na tela, palavra oculta e

condição da correta associação de sua palavra oculta.

A classe GameEngine é responsável pelo controle geral do jogo bem como

pela persistência de informações. Além de atributos e métodos instanciáveis, esta

classe contém alguns métodos estáticos, os quais são acessados diretamente pela classe

VerbMemory.

31

FIGURA 3 - Diagrama de classes.

324.7 Diagrama de estados

A Figura 4 mostra o diagrama de estados do aplicativo e esclarece que o jogo

conta com uma tela de apresentação, uma tela inicial, uma tela de ajuda, uma tela de

fim de jogo que solicita o nome do jogador, uma tela contendo a lista das últimas cinco

pontuações registradas e uma tela de jogo.

FIGURA 4 - Diagrama de estados.

4.8 Conclusão

A análise de um sistema serve de base para o seu projeto, uma vez que esta

etapa tem o objetivo de propiciar o entendimento do problema. O projeto, por sua vez,

é a base para o desenvolvimento da solução. Neste contexto, o presente capítulo

apresenta os fundamentos para o desenvolvimento do aplicativo lúdico proposto.

33As fases de implementação e testes do processo de desenvolvimento do

sistema objeto do presente trabalho, apresentadas no próximo capítulo, estão

intimamente relacionadas com os resultados obtidos na análise realizada, bem como

com o projeto definido no presente capítulo.

5 IMPLEMENTAÇÃO DO APLICATIVO

A implementação do aplicativo proposto no presente estudo envolve o

conhecimento das características específicas da tecnologia utilizada, bem como a

familiarização com recursos que diferem dos disponibilizados para o desenvolvimento

de soluções desktop e web.

Desta forma, a fim de auxiliar no processo de familiarização com a

tecnologia, o desenvolvimento da solução segue a seguinte ordem: primeiramente, as

telas de interface com codificação em alto nível são implementadas; em seguida, a tela

de jogo, que requer codificação em baixo nível, é desenvolvida; e, por fim, a lógica de

jogo e a persistência de informações são implementadas em paralelo.

O presente capítulo apresenta as informações mencionadas acima, exibindo

figuras contendo as telas do aplicativo, quadros contendo trechos de código-fonte e

explicações detalhadas do processo de desenvolvimento.

5.1 Características de implementações Java Micro Edition

A implementação de aplicativos para aparelhos celulares utilizando a

plataforma JME (Java Micro Edition) possui características inerentes às limitações dos

dispositivos físicos (hardware) a que se destinam os aplicativos, tais como baixa

capacidade de processamento e pouco espaço para armazenamento. Desta forma, o

desenvolvimento da solução proposta no presente trabalho segue as diretrizes

comentadas por LI e KNUDSEN (2005), MATTOS (2005) e ELOI JÚNIOR (2007),

que resultam nos itens abaixo:

• O aplicativo possui a menor quantidade possível de objetos;

• Os objetos possuem a menor quantidade possível de atributos e métodos;

• Laços de repetição, variáveis e objetos estáticos são utilizados com

35cautela.

Ainda, devido ao tamanho reduzido das telas dos aparelhos celulares,

conforme comenta MUCHOW (2004), as mensagens e os textos são curtos, claros e

precisos.

5.2 Implementação das telas do aplicativo

O ambiente de desenvolvimento NetBeans, versão 5.0, utilizado para a

implementação do aplicativo oferece facilidades gráficas para a codificação de

interfaces de usuário, respeitando as limitações mencionadas no item anterior. Uma

das facilidades é a elaboração de um diagrama de fluxo para o aplicativo, a exemplo da

Figura 5, com a vantagem de que, ao incluir componentes de interface e suas

dependências, a codificação correspondente é gerada automaticamente.

FIGURA 5 - Diagrama de fluxo gerado no NetBeans 5.0.

A implementação de componentes de interface utilizando as facilidades

gráficas do ambiente NetBeans é suficiente para muitas das necessidades de uma

aplicação. As Figuras 6, 7 e 8 mostram a tela de boas-vindas (Figura 6a), a tela

36principal (Figura 6b), a tela de ajuda (Figura 7a), a tela de pontuações (Figura 7b) e a

tela de fim de jogo (Figura 8). Estas telas são desenvolvidas com base nas facilidades

de recursos gráficos citados anteriormente e suas imagens são geradas pelo simulador

de dispositivos móveis do ambiente NetBeans.

(a) (b)FIGURA 6 - Tela de boas-vindas (a) e tela principal (b).

O simulador do ambiente NetBeans exibe um dispositivo genérico com tela

de 240 pixels de largura por 320 pixels de altura. Porém, as telas dos aparelhos

celulares podem ser de tamanho bastante reduzido quando comparadas ao dispositivo

exibido no simulador.

A tela de boas-vindas do aplicativo exibe uma imagem no formato PNG

(Portable Network Graphics) fixa, em tons de cinza, que é incluída no aplicativo e

referenciada de forma a ocupar o local desejado.

A título de exemplo de codificação Java Micro Edition, o Quadro 17 exibe

um trecho do código utilizado para capturar a ação de comandos exibidos na tela de

interface com o usuário.

37

(a) (b)FIGURA 7 - Tela de ajuda (a) e tela de pontuações (b).

O trecho de exemplo mostra o método commandAction que é invocado

sempre que um comando exibido na tela do aplicativo é selecionado. Este método

recebe como parâmetros um objeto Command, que representa o comando selecionado,

e um objeto Displayable, que representa o componente visual exibido quando da

seleção do comando.

Com base nas informações do comando selecionado e do objeto visual

exibido, códigos condicionais são utilizados para determinar ações a tomar. No

exemplo do Quadro 17, o código condicional verifica se o objeto Displayable é a tela

de boas-vindas, referenciada como formWelcome, e se o objeto Command é a opção

Next, referenciada como cmdNext. Caso positivo, a tela principal é obtida por meio do

método get_formMain() e exibida utilizando-se para isso o método

setCurrent(Displayable) do objeto Display capturado por meio do método

getDisplay().

38

FIGURA 8 - Tela de fim de jogo.

QUADRO 17 - Fragmento de código para capturar e tratar a seleção de comandos.123456789101112

public void commandAction(Command command, Displayable displayable) {

if (displayable == formWelcome) { if (command == cmdNext) {

getDisplay().setCurrent(get_formMain());

} } ...}

5.2.1 Tela de jogo

A tela de jogo requer maior controle dos componentes de interface com o

usuário como, por exemplo, o posicionamento exato, a alteração de estado de apenas

alguns componentes e a gerência de atributos pela implementação do aplicativo e não

pela máquina virtual do dispositivo. Essas características exigem objetos diferentes dos

utilizados pelas facilidades gráficas disponibilizadas pelo ambiente NetBeans. Desta

forma, a tela de jogo é desenvolvida por meio da extensão da classe Canvas, que é

39parte integrante da máquina virtual Java Micro Edition e permite maior controle da

tela do dispositivo.

A extensão da classe Canvas permite que cada componente visual seja

criado, posicionado e desenhado por meio de instruções detalhadas codificadas pelo

desenvolvedor.

A Figura 9 mostra a visão em alto nível da codificação da classe

MemoBoxCanvas, que estende a classe Canvas e é responsável pelo desenho da tela de

jogo e de seus componentes visuais, bem como pela captura e tratamento da seleção de

comandos.

Na classe MemoBoxCanvas, o método paint(Graphics) efetua o desenho da

tela de jogo, o método buildDrawCards(Graphics) é responsável pela construção dos

objetos que representam os cartões de memória e pelo seu desenho na tela, o método

keyPressed(int) captura e trata o pressionamento de qualquer tecla no dispositivo, o

método getLevelText() traz informações textuais a respeito do próximo nível de jogo,

os métodos privados de navegação são encarregados de efetuar a navegação visual

entre os cartões de memória na tela de jogo e o método select() captura e trata a

seleção de um cartão de memória.

As Figuras 10 e 11 mostram, respectivamente, a tela de jogo em quatro

estados: estado inicial (Figura 10a), durante o jogo (Figura 10b), tela completada com

êxito (Figura 11a) e exibição de informações de jogo (Figura 11b).

O estado inicial da tela de jogo exibe oito cartões de memória. Por padrão, o

primeiro cartão da primeira fila recebe o foco e, durante o jogo, os cartões

selecionados exibem as palavras anteriormente ocultas. Se o par de palavras

selecionadas tem correspondência, este permanece visualizado na tela. Caso contrário,

as palavras nos cartões são novamente ocultas.

Quando uma tela de jogo é completada com êxito, esta exibe as palavras de

todos os cartões de memória e, após após alguns segundos, a mesma tela exibe as

informações de jogo atuais, isto é, o nível atual e a pontuação atingida até o momento.

40

FIGURA 9 - Esquema da codificação da classe MemoBoxCanvas em alto nível.

(a) (b)FIGURA 10 - Tela de jogo inicial (a) e tela durante o jogo (b).

41

(a) (b)FIGURA 11 - Tela de jogo completa (a) e tela exibindo informações de jogo (b).

5.3 Implementação da lógica do aplicativo

A lógica do aplicativo, isto é, as regras do jogo, incluem a construção e

seleção de cartões de memória, a exibição de palavras, a verificação dos pares

selecionados, a contabilização de erros e acertos, o avanço tela após tela e nível após

nível e a persistência de informações. Estas operações são efetuadas pela classe

GameEngine, cuja codificação é apresentada em visão de alto nível na Figura 12.

Além do método construtor, responsável pela instanciação inicial de alguns

atributos da classe, e dos métodos get e set, que permitem acesso aos atributos desta, a

classe GameEngine possui 11 métodos operacionais:

• selectPairs(MemoryCard[]) é responsável pela seleção e apresentação

aleatória de pares de verbos irregulares conforme o nível corrente de jogo;

• checkPair(MemoryCard[], int, int) verifica se um par de palavras está

corretamente associado;

• goNextScreen(MemoryCard[]) providencia o avanço do jogo para a

próxima tela, ajustando o nível de jogo sempre que necessário;

• finishGame() realiza o encerramento do jogo persistindo as informações

42necessárias;

• saveStatus() é responsável pela persistência da situação corrente de jogo

para que possa haver a continuação do mesmo;

• canContinue() é um método estático utilizado para verificar se existe a

possibilidade de continuação do jogo;

• getLevelPoints() é um método estático que retorna o nível e a pontuação

correntes;

• cancelPreviousGame() é um método estático que cancela informações de

jogo para não haver a possibilidade de continuação do mesmo;

• registerScore(String) é um método estático que efetua a persistência do

nome do jogador e de sua pontuação;

FIGURA 12 - Esquema da codificação da classe GameEngine em alto nível.

43

• getScores() é um método estático que retorna os nomes dos últimos cinco

melhores jogadores e suas respectivas pontuações;

• saveScores(String[]) é um método estático que efetua a persistência dos

nomes dos últimos cinco melhores jogadores e suas respectivas

pontuações.

5.3.1 Persistência das informações

A persistência das informações é realizada por meio do uso de métodos da

classe RecordStore, que é parte integrante da máquina virtual Java Micro Edition e

atua de modo bastante simplificado, quando comparada a recursos de bases de dados.

A classe RecordStore opera com coleções de registros na forma de array de

bytes e possui recursos para armazenar, recuperar, remover, atualizar e ordenar

registros, entre outros.

O Quadro 18 mostra um exemplo de codificação da recuperação de

informações persistidas. No exemplo, o método getLevelPoints() retorna um array

contendo dois objetos do tipo String representando o nível e a pontuação persistidos.

Na linha 9, o método openRecordStore(String, boolean) abre uma coleção de registros

com o nome passado pelo parâmetro String. O parâmetro boolean do mesmo método

informa ao RecordStore se uma coleção de registros deve ser criada caso não haja

coleção com o nome informado. As linhas 20 e 21 mostram a recuperação de registros,

sua transformação em objetos String e inclusão no array que retorna como resultado

do método getLevelPoints(). Ainda, as linhas 31 e 32 se encarregam de ajustar o nível

de jogo para 1, correspondente à primeira posição no array de String, e a pontuação

para 0, correspondente à segunda posição no array de String, caso a coleção de

registros com o nome informado não seja localizada.

No aplicativo, as informações sujeitas à persistência se dividem em dois

tipos: informações persistidas temporariamente e informações persistidas

permanentemente. As informações com persistência temporária são o nível corrente de

jogo e a pontuação atingida, que servem para possibilitar a continuação do jogo. Estas

44informações são armazenadas sempre que um nível de jogo é finalizado, o que ocorre

após serem completadas corretamente três telas de jogo de um mesmo nível. As

informações com persistência permanente são o nome do jogador e sua pontuação, e

são utilizadas para exibir a lista dos últimos cinco melhores jogadores em termos de

pontos atingidos. Estas informações são armazenadas sempre que o jogo é finalizado

por iniciativa do jogador ou quando todos os níveis foram corretamente completados.

QUADRO 18 - Fragmento de código para a recuperação de informações.12345678910111213141516171819202122

public static String[] getLevelPoints() { String[] result = new String[ 2 ]; RecordStore rs = null; try { rs = RecordStore.openRecordStore( "GameStatus", false ); } catch ( RecordStoreException ex ) { rs = null; } if ( rs != null ) { try { result[ 0 ] = new String( rs.getRecord( 1 ) ); result[ 1 ] = new String( rs.getRecord( 2 ) ); rs.closeRecordStore(); } catch ( Exception ex ) { result = null; } } else { result[ 0 ] = "1"; result[ 1 ] = "0"; } return result;}

5.4 Documentação da implementação

A implementação de um aplicativo pode ocorrer de diversas maneiras,

seguindo padrões pré-estabelecidos, costumes praticados pelo desenvolvedor ou uma

mescla destes. Assim, a documentação da implementação serve de base para orientar o

próprio desenvolvedor, ou outros desenvolvedores que venham a ter contato com a

implementação, quanto aos passos seguidos para a codificação do aplicativo de forma

a auxiliar a sua manutenção, modificação ou extensão.

O aplicativo está documentado de duas formas: comentários para o

entendimento da codificação e documentação para a geração de API (Application

45Programming Interfaces ou Interfaces de Programação de Aplicativos).

5.4.1 Comentários de codificação

Os comentários de codificação são normalmente curtos e objetivos e visam

esclarecer funcionalidades ou trechos de código-fonte. Estes comentários são escritos

no próprio código-fonte. A plataforma Java ignora comentários, de forma que estes

não influenciam a aplicação em si.

As linhas 1 e 2 do Quadro 19 mostram um exemplo de comentário de

codificação em Java.

QUADRO 19 - Trecho de código-fonte com comentário de codificação.12345

// Se o nome do jogador for nulo ou vazio,// registra nome como "Anônimo".if ( name == null || name.length() == 0 ) { name = "Anônimo";}

5.4.2 Documentação para API

A documentação para API é normalmente mais extensa que os comentários,

incluindo detalhes a respeito das funcionalidades de classes, métodos e atributos bem

como informações a respeito de parâmetros e retornos de métodos. Este tipo de

documentação serve para a geração de documentos de fácil acesso e utilização, os

quais podem ser distribuídos ou publicados separadamente do código-fonte.

A plataforma Java possibilita a escrita da documentação no próprio código-

fonte. Uma ferramenta da máquina virtual Java, conhecida como Javadoc, é utilizada

para extrair as informações e organizá-las na forma de documentos HTML (HyperText

Markup Language). Os documentos HTML são dispostos de forma a possibilitar fácil

navegação entre eles.

As linhas 1 a 13 do Quadro 20 mostram exemplo de documentação de

código-fonte para API em Java.

QUADRO 20 - Trecho de código-fonte com documentação de codificação.

461234567891011121314151617

/** * Verifica se o par é válido e ajusta os cartões para * indicar sua situação. * * @param memoryCard Vetor de objetos da classe * MemoryCard. * @param firstWordShown Inteiro indicando a posição da * primeira palavra a verificar. * @param secondWordShown Inteiro indicando a posição da * segunda palavra a verificar. * @return Boolean indicando se o par de * palavras está correto. */public boolean checkPair( MemoryCard[] memoryCards, int firstWordShown, int secondWordShown ) { ...}

5.5 Conclusão

A implementação da solução permite colocar em prática o estudo, a análise e

o projeto do aplicativo proposto, fazendo surgir necessidades reais para a aplicação do

conhecimento.

Neste contexto, devido à escolha da versão 1.0 do perfil MIDP (Mobile

Information Device Profile) para o desenvolvimento da solução, com a finalidade de

possibilitar que o aplicativo opere numa maior quantidade de aparelhos celulares, faz-

se necessário o estudo prático da classe Canvas, integrante da plataforma Java Micro

Edition. Esta classe requer a codificação de detalhes dos objetos de interface com o

usuário, bem como da captura de ações. Por outro lado, a versão 2.0 do MIDP oferece

Customs Items e Game API que são facilidades gráficas para os mesmos objetos e

ações.

Ainda, como característica inerente à plataforma Java Micro Edition para a

persistência de informações, a classe RecordStore tem codificação e lógica de

funcionamento distintos das bases de dados utilizadas em sistemas desktop e web,

exigindo mais estudos e experimentações por parte do desenvolvedor.

Diversos testes e verificações foram realizados durante todo o processo de

desenvolvimento do aplicativo e, após a finalização da implementação, ocorreram os

47testes de validação. O próximo capítulo aborda detalhes a respeito da metodologia de

testes e da sua realização.

6 TESTES DO APLICATIVO

O presente capítulo aborda os testes de verificação realizados no aplicativo

durante o processo de implementação e apresenta informações a respeito de testes de

validação realizados, comentando os resultado obtidos.

6.1 Testes de validação

A realização de testes, essenciais para aplicativos de qualquer porte, envolve

diversas verificações tais como sintaxe, semântica, lógica, aspectos visuais, bem como

a validação das funcionalidades requeridas (BRAUDE, 2005).

Os testes de verificação do aplicativo são realizados com base na técnica de

desenvolvimento orientado a testes, ou TDD (Test-Driven Development), em que cada

bloco de código é testado em todas as suas funcionalidades logo após a codificação

(TELES, [2006]). O uso desta técnica “... é adotada em muitos processos ágeis de

desenvolvimento, como o Extreme Programming (XP)” (TELES, 2006, p. 47) no qual

se baseia o desenvolvimento do aplicativo objeto do presente trabalho.

Os testes de validação são elaborados de forma a possibilitar a avaliação

tecnológica e pedagógica do aplicativo por parte de usuários voluntários.

A natureza pedagógica do aplicativo suscita dois tipos de testes de validação:

a validação tecnológica, inerente ao próprio aplicativo, e a validação pedagógica,

ligada a seu objetivo principal que envolve o apoio ao ensino de inglês.

A validação tecnológica foi realizada por alunos e professores do Curso de

Sistemas de Informação da UNIPLAC – Universidade do Planalto Catarinense, localizada

em Lages, S.C. A validação pedagógica foi realizada pela diretora e professores de uma

instituição de ensino de inglês no mesmo município. Em ambos os casos, as validações

ocorreram por meio do uso do aplicativo e respostas a questionários.

49Com o propósito de facilitar o processo de validação, elaborou-se um

website com as seguintes características:

• Hospedagem no computador servidor da Coordenação do Curso de

Sistemas de Informação da UNIPLAC – Universidade do Planalto

Catarinense;

• Desenvolvimento com tecnologia a Java Enterprise Edition versão 1.4;

• Disponibilização pelo aplicativo servidor Apache Tomcat versão 5.5.20;

• Página principal contendo informações sobre o trabalho de conclusão de

curso, o aplicativo, requisitos mínimos e instruções de instalação;

• Página de download com acesso ao aplicativo e instruções para instalação

via computador PC bem como instruções para instalação opcional

diretamente no dispositivo móvel do usuário;

• Contabilização de downloads realizados – o responsável pelo trabalho de

conclusão de curso recebe um e-mail informativo cada vez que é realizado

o download do aplicativo;

• Página de acesso às pesquisas de validação, que exige identificação do

usuário e contém informações a respeito das pesquisas;

• Página para a pesquisa pedagógica – disponível apenas após a

identificação do usuário;

• Página para a pesquisa tecnológica – disponível apenas após a

identificação do usuário;

• Página de contato com formulário e endereço de e-mail;

• Envio de mensagens via e-mail para o responsável pelo trabalho de

conclusão de curso e cópia para o remetente. Esta funcionalidade está

disponível para as mensagens enviadas via formulário de contatos e para

as respostas da pesquisa enviadas pelo usuário.

Os questionários e o aplicativo foram disponibilizados para o público validar

e indicar sugestões por um período de três meses compreendido entre março e maio de

2007. Paralelamente, a aplicação foi divulgada a alunos, professores e comunidade

externa à Universidade; porém, o retorno foi muito aquém do esperado. Por outro lado,

50os questionários respondidos apresentaram diversas sugestões para a melhoria do

aplicativo bem como para pesquisas futuras.

Os testes de validação ocorreram em vários modelos de aparelhos celulares das

marcas Nokia, Samsung e Motorola. Alguns destes modelos ofereciam suporte à versão 1.0

do perfil JME MIDP (Java Micro Edition Mobile Information Device Profile), que é mais

limitado, e outros suportavam a versão 2.0 deste perfil, que oferece mais recursos.

6.1.1 Validação pedagógica

O objetivo da validação pedagógica é avaliar o quanto o aplicativo apóia o

ensino dos verbos irregulares em inglês e quão estimulante é o jogo.

A validação pedagógica do aplicativo conta com o apoio de um questionário

contendo sete perguntas objetivas e um espaço para sugestões, conforme observado no

Apêndice II.

O questionário foi inteiramente desenvolvido com o acompanhamento da

diretora de uma instituição de ensino de inglês.

Os resultados expostos na Tabela 1 indicam que, de um modo geral, o

aplicativo desenvolvido cumpre com o aspecto pedagógico de seu objetivo, qual seja o

apoio ao ensino de inglês.

TABELA 1 - Resultado da pesquisa de validação pedagógica

Perguntas / Opções de respostas Muito Bastante Indiferente Pouco MuitoPouco

Quanto você aprendeu jogando? 33,33 % 50,00 % 16,67 %

Você acha que este jogo ajuda na memorização? 33,34 % 66,67 %

Você acha que os verbos são muito repetidos durante o jogo? 16,66 % 33,34 % 16,66 % 33,34 %

O tempo que as palavras permanecem na tela durante o jogo é apropriado? 50,00 % 50,00 %

A dificuldade dos verbos selecionados está de acordo com os níveis? 66,68 % 16,66 % 16,66 %

Você acha que aprender através de jogos facilita o aprendizado? 33,33 % 66,67 %

Você sente que este jogo incentiva a jogar mais? 33,33 % 50,00 % 16,67 %

516.1.2 Validação tecnológica

O objetivo da validação tecnológica é avaliar o quanto o aplicativo cumpre

com as funcionalidades propostas, sua facilidade de uso e o comprometimento de

espaço no dispositivo.

A validação tecnológica do aplicativo conta com o apoio de um questionário

contendo sete perguntas objetivas e um espaço para sugestões, conforme observado no

Apêndice III.

O questionário foi desenvolvido com a supervisão de dois professores

universitários da área de Informática.

Conforme poder ser visto na Tabela 2, a solução implementada é

tecnologicamente viável, cumprindo assim com o objetivo de disponibilizar um

aplicativo capaz de operar em aparelhos celulares.

TABELA 2 - Resultado da pesquisa de validação tecnológica

Perguntas / Opções de respostas Muito Bastante Indiferente Pouco MuitoPouco

O espaço de 20KB utilizado pelo aplicativo compromete o espaço total disponível no seu dispositivo móvel?

14,28 % 14,28 % 71,44 %

O tempo de carregamento do aplicativo é longo? 28,57 % 28,57 % 48,86 %

As instruções de jogo são claras? 14,28 % 71,44 % 14,28 %

A disposição das opções (novo jogo, ajuda, finalizar, pontuações, etc.) facilitam a operação do aplicativo?

28,57 % 48,86 % 28,57 %

O tamanho da fonte das palavras visualizadas durante o jogo está satisfatório?

42,86 % 57,14 %

A navegação e a seleção durante o jogo estão satisfatórias? 28,57 % 57,15 % 14,28 %

O acompanhamento dos resultados durante e ao final do jogo está claro? 57,14 % 48,86 %

6.2 Conclusão

Embora o retorno das pesquisas de validação tenha sido aquém do esperado,

diversas sugestões surgiram durante o processo de validação da solução. Muitas destas

sugestões foram registradas para pesquisas futuras, uma vez que fugiam do escopo

52tecnológico do aplicativo, e várias outras foram de fato implementadas.

As informações obtidas e as observações efetuadas no decorrer do processo

de desenvolvimento do aplicativo permitem a formulação de um conjunto de idéias

para a extensão ou a adaptação da solução, assunto abordado no próximo capítulo.

7 CONSIDERAÇÕES FINAIS

Tendo surgido a partir de uma constatação prática, a de que os aparelhos

celulares têm se difundido, tornando-se acessíveis a diversas classes de usuários, e têm

alcançado capacidades computacionais que permitem várias funcionalidades, a

proposta do presente trabalho apresenta um potencial concreto para a difusão de

recursos educacionais atingindo várias classes sociais.

O desenvolvimento da solução envolveu estudos sobre o ensino de idiomas

aliado a atividades lúdicas, visando identificar uma atividade elegível para o aplicativo;

pesquisas sobre a implementação de sistemas computacionais para dispositivos

móveis, incluindo abordagens a respeito dos aspectos tecnológicos e de processo de

desenvolvimento de software, com o objetivo de definir a tecnologia e o processo de

desenvolvimento que melhor de adaptam às necessidades da solução; a elaboração da

análise e do projeto do sistema, possibilitando organizar, planejar e projetar a solução;

bem como estudos práticos voltados para a codificação e os testes, com o intuito de

implementar, verificar e validar o aplicativo.

Devido ao fato de existirem diferenças significativas entre os diversos

modelos de aparelhos celulares no tocante às funcionalidades disponibilizadas,

buscou-se utilizar apenas os recursos mínimos oferecidos pela tecnologia JME (Java

Micro Edition) comuns a todos os dispositivos que a suportam, os quais, conforme

estudos documentados no presente trabalho, perfazem a maioria dos tipos de

dispositivos móveis. Assim, a solução desenvolvida cumpre com os objetivos

propostos de identificar uma atividade lúdica para apoio ao aprendizado de inglês e

disponibilizá-la na forma de um aplicativo capaz de operar na maior variedade possível

de dispositivos celulares.

Alguns aspectos importantes no desenvolvimento de aplicativos para

54aparelhos celulares observados durante a implementação da solução incluem:

capacidades reduzidas nos dispositivos para processamento e armazenamento de

dados; limitações de tamanho da área visual; e limitações para a entrada e a saída de

dados. Os citados aspectos tornam o desenvolvimento de aplicativos para pequenos

dispositivos um processo diferente das implementações para desktop e web, o

suficiente para exigir do desenvolvedor estudos aprofundados de suas características e

recursos.

A proposta do presente trabalho não tem a intenção de ser considerada um

marco no desenvolvimento de aplicativos educacionais para aparelhos celulares; ao

contrário, quer demonstrar a possibilidade de aliar o lúdico à educação e aos

dispositivos móveis.

A solução desenvolvida mostrou que é possível conseguir, por meio de um

aplicativo que opera em aparelhos celulares, resultados pedagógicos similares aos

obtidos nas atividades lúdicas utilizadas em salas de aula. Com relação ao recurso

lúdico proposto, ao simular um jogo de memória, este atingiu o objetivo pedagógico de

auxiliar os estudantes na memorização da lista de verbos irregulares em inglês.

Futuras pesquisas e/ou extensões do presente trabalho poderiam incluir

recursos como os disponibilizados pelas versões 2.0 e 3.0 do perfil JME MIDP

(Mobile Information Device Profile), tais como: o uso de cores; a inclusão de recursos

de áudio; o uso de animações como, por exemplo, na inicialização do aplicativo e

durante o jogo, quando um cartão de memória é selecionado, fazendo-o virar para

exibir seu conteúdo; e a utilização do recurso de vibração do aparelho celular.

Ademais, trabalhos futuros podem incluir a criação de uma versão apropriada para

dispositivos móveis com teclado tipo QWERTY, como PDAs (Personal Digital

Assistants) e SmartPhones, os quais possuem mais recursos computacionais e de

interfaces com o usuário, e pesquisas mais aprofundadas podem considerar a criação

de versões do aplicativo para séries específicas de dispositivos móveis levando em

conta recursos especialmente disponibilizados pelos seus fabricantes.

Outrossim, uma vez que o desenvolvimento do aplicativo foi realizado

segundo conceitos de orientação a objetos, o software pode ser facilmente adaptado

55para o treino e/ou ensino de outros assuntos, desde que mantendo as funcionalidades

de um jogo de memória. Desta forma, tópicos gramaticais, conceituais, fonéticos,

ortográficos, etc., provenientes das áreas de línguas, literatura, matemática, história,

geografia, biologia, física e química, para citar algumas, podem se beneficiar do

aplicativo lúdico disponibilizado no presente trabalho.

REFERÊNCIAS BIBLIOGRÁFICAS

BECK, K. Programação Extrema (XP) Explicada: acolha as mudanças. Porto Alegre: Bookman, 2004. 182 p.

BRAUDE, E. Projeto de Software: da programação à arquitetura: uma abordagem baseada em Java. Porto Alegre: Bookman, 2005. 619 p.

CARNIEL, J.; TEIXEIRA, C. Introdução ao J2ME. Web Mobile. Curitiba: Neofício, ano I. p. 11-12, fev./mar. 2005.

CLASSE C E JOVENS lideram posse de celular em São Paulo. Cidade Biz. [fev. 2006]. Crescimento da posse de aparelhos celulares em São Paulo. Disponível em: <http://cidadebiz.oi.com.br/noticias/noticia.php?artigo_id=34946>. Acessado em: 07 mai. 2006.

EQUIPE Webmobile. Entrevista: Marcelo Nunes de Carvalho. Web Mobile. Curitiba: Neofício, ano I. p. 72-74, fev./mar. 2005.

GAME. In: The American Heritage Dictionary of the English Language. 3. ed. Cambridge, USA: The Learning Company, 1995.

GAMES to Teach English Learners. International Teacher Training Organization. Guadalajara, Mexico: ITTO, [2007?]. Artigo sobre o uso de jogos para o ensino de inglês incluindo exemplos. Disponível em: <http://www.teflcertificatecourses.com/tefl-articles/games-teach-english-learners.html>. Acessado em: 25 mar. 2007.

GRAMIGNA, M. R. M. Jogos de empresa e técnicas vivenciais. São Paulo: Makron Books, 1997. 216 p.

GRASIA!. J2ME-grasia!: MIDP. Apresenta a arquitetura MIDP de Java Micro Edition. Universidade Complutense de Madrid. Departamento de Sistemas Informáticos y Programación. Madrid, Espanha: grasia!, [2004?]. Disponível em: <http://grasia.fdi.ucm.es/j2me/_J2METech/MIDP.html>. Acessado em: 22 jul. 2006.

GROS, B. The Impact of Digital Games in Education. First Monday - Peer-Reviewed Journal of the Internet. Chicago, USA: First Monday, v. 8, n. 7, jul. 2003. Disponível em: <http://www.firstmonday.org/issues/issue8_7/xyzgros/index.html>. Acessado em: 29 jul. 2006.

57JAVA Licensee Support from Sun. Santa Clara, USA: Sun Microsystems, 2006. Informações ao licenciado Java da Sun. Disponível em: <http://www.sun.com/software /jpe/ls/index.xml>. Acessado em: 22 jul. 2006.

JÚNIOR, ELOI. Otimização de Aplicações Java ME. Web Mobile. Curitiba: Neofício, 12. ed. ano 2. p. 28-36, 2007.

LANGUAGE. In: The New Encyclopaedia Britannica: Macropaedia. 15. ed. Chicago, USA: Encyclopaedia Britannica, v. 22, p. 563, 1994.

LEAL, M. Começando com Java Wireless. Java Magazine. Curitiba: Neofício, 18. ed., ano III. p. 16-17, [2005].

LEARNING and Cognition, Human: Language. In: The New Encyclopaedia Britannica: Macropaedia. 15. ed. Chicago, USA: Encyclopaedia Britannica, v. 22, p. 883, 1994.

LEE, W. R. Language-Teaching Games and Contests. London, UK: Oxford University Press, 1965. 166 p.

LEIGUARDA, A. Making it memorable. English Teaching Professional. 20. ed. London, UK: Modern English Publishing, p. 48-50, jul. 2001.

LETHABY, C. Skyline 4: Teacher's Guide. Oxford, UK: Macmillan Education, 2002.

LI, S.; KNUDSEN, J. Beginning J2ME: From Novice to Professional. 3. ed. Berkeley, USA: Apress, 2005.

LUDIC. In: The American Heritage Dictionary of the English Language. 3. ed. Cambridge, USA: The Learning Company, 1995.

MACCALLUM, G. P. 101 word games: for students of english as a second or foreign language. Oxford, UK: Oxford University, 1980. 162 p.

MARTIN, R. C. Agile Processes. Illinois, EUA: Agile Alliance, 2002. Disponível em: <http://www.objectmentor.com/resources/articles/agileProcess.pdf>. Acessado em: 4 jan. 2007.

MATTOS, E. T. Programação Java para Wireless: Aprenda a Desenvolver Sistemas em J2ME! São Paulo: Digerati, 2005. 125 p.

MUCHOW, J. W. Core J2ME: tecnologia & MIDP. São Paulo: Pearson Education, 2004. 588 p.

PAVETITS, L. Conexão em Movimento. Web Mobile. Curitiba: Neofício, ano I. p. 4-7, fev./mar. 2005.

PHILLIPS, A. Presenting tenses 1. English Teaching Professional. 37. ed. London, UK: Modern English Publishing, p. 18-20, mar. 2005.

58SHERRON, G. T.; BOETTCHER, J. V. Distance Learning: The Shift to Interactivity. Cause Professional Paper Series. Boulder, USA: Cause, n. 17, 1997. Disponível em: <http://www.educause.edu/ir/library/pdf/pub3017.pdf>. Acessado em: 29 jul. 2006.

SMARTPHONE. In: Wikipedia: The Free Encyclopedia. St. Peterburg, USA: Wikimedia Foundation, 2006. Disponível em: <http://en.wikipedia.org/wiki/Smartphone>. Acessado em: 25 mai. 2006.

SOFTWARE Prototyping. In: Wikipedia: The Free Encyclopedia. St. Peterburg, USA: Wikimedia Foundation, 2004. Disponível em: <http://en.wikipedia.org/wiki/ Software_Prototyping>. Acessado em: 4 jan. 2007.

SPIRAL Model. In: Wikipedia: The Free Encyclopedia. St. Peterburg, USA: Wikimedia Foundation, 2002. Disponível em: <http://en.wikipedia.org/wiki/ Spiral_model>. Acessado em: 4 jan. 2007.

TELES, V. M. Test-Driven Development: Dos Testes à Implementação, Passo a Passo e sem Receios. Java Magazine. Curitiba: Neofício, 32. ed., ano IV. p. 46-57, [2006].

VERB. In: The American Heritage Dictionary of the English Language. 3. ed. Cambridge, USA: The Learning Company, 1995.

VERISIGN Brasil. Uma Nova Era nas Telecomunicações. White Paper. São Paulo: Verisign Brasil. p. 10-13. 2006.

WAZLAWICK, R. S. Análise e Projeto de Sistemas de Informação Orientados a Objetos. Rio de Janeiro: Elsevier/Campus, 2004.

WATERFALL Model. In: Wikipedia: The Free Encyclopedia. St. Peterburg, USA: Wikimedia Foundation, 2002. Disponível em: <http://en.wikipedia.org/wiki/ Waterfall_model>. Acessado em: 4 jan. 2007.

WRIGHT, A.; BETTERIDGE, D.; BUCKBY, M. Games for language learning. 2. ed. New York, USA: Cambridge University, 1996. 212 p.

BIBLIOGRAFIA COMPLEMENTAR

AGILE Alliance. Informações sobre processos ágeis de desenvolvimento de software. 2006. Disponível em: <http://www.agilealliance.org/>. Acessado em: 22 jul. 2006.

AMBLER, S. W. Modelagem ágil: práticas eficazes para a programação extrema e o processo unificado. Porto Alegre: Bookman, 2004. 351 p.

CRYSTAL, D. English as a Global Language. Cambridge, UK: Cambridge University Press, 1997.

GUJ: Notícias, tutoriais, e o maior fórum brasileiro sobre Java. Disponível em: <http://www.guj.com.br/>. Acessado em: 04 nov. 2006.

HOW to Write Doc Comments for the Javadoc Tool. Sun Developer Network (SDN). Santa Clara, USA: Sun Microsystems, 2006. Tutorial sobre o uso da ferramenta de documentação Javadoc. Disponível em: <http://java.sun.com/j2se/javadoc/writing doccomments/index.html>. Acessado em: 11 dez. 2006.

JAVA.NET: The Source for Java Technology Collaboration. Santa Clara, USA: Sun Microsystems, 2006. Tutoriais, exemplos, projetos e informações sobre Java. Disponível em: <http://www.java. net/>. Acessado em: 11 nov. 2006.

MOBILITY Device Matrix. Sun Developer Network (SDN). Santa Clara, USA: Sun Microsystems, 2006. Tabela de dispositivos móveis e características tecnológicas. <http://developers.sun.com/techtopics/mobility/device/device>. Acessado em: 21 jun. 2006.

NETBEANS IDE Tutorials, Guides, and Articles. Santa Clara, USA: Sun Microsystems, [2006]. Tutoriais, guias e artigos sobre a ferramenta de desenvolvimento NetBeans 5.0. Disponível em: <http://www.netbeans.org/kb/50/ index.html>. Acessado em: 11 nov. 2006.

OXFORD, R.; SHEARIN, J. Language Learning Motivation: Expanding the Theoretical Framework. Modern Language Journal, v. 78, n. 1, p. 12-28, 1994.

PFLEEGER, S. L. Engenharia de Software: Teoria e Prática. 2. ed. São Paulo: Prentice Hall, 2004. 535 p.

POLLOCK, C. W. Communicate What You Mean: A Concise Advanced Grammar. 2. ed. Upper Saddle River, USA: Prentice-Hall, 1997. 311 p.

60PORTALJAVA.COM. Brasil, 2005. Tutoriais, artigos e fóruns sobre Java. Disponível em: <http://www.portaljava.com/>. Acessado em: 02 dez. 2006.

RAMON, H. S. Acesso remoto a horários de ônibus: Uma abordagem de acesso a dispositivos móveis utilizando J2ME e MIDP. 2004. 157 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) - Departamento de Informática e Estatística, Universidade Federal de Santa Catarina, Florianópolis.

SHIN, S. Java Passion. 2006. Cursos, palestras, tutoriais e exercícios sobre Java. Disponível em: <http://www.javapassion.com>. Acessado em: 11 nov. 2006.

SOMMERVILLE, I. Engenharia de Software. 6. ed. São Paulo: Addison Wesley, 2003. 592 p.

THE JAVA ME Platform: the Most Ubiquitous Application Platform for Mobile Devices. Sun Developer Network (SDN). Santa Clara, USA: Sun Microsystems, 2006. Informações sobre a plataforma Java Micro Edition. <http://java.sun.com/javame/ index.jsp>. Acessado em: 04 nov. 2006.

WELLS, J. D. Extreme Programming: A Gentle Introduction. Informações sobre o processo ágil de desenvolvimento de software XP (Extreme Programming). 2006. Disponível em: <http://www.extremeprogramming.org/>. Acessado em: 22 jul. 2006.

APÊNDICES

APÊNDICE I – VERBOS IRREGULARES UTILIZADOS.................................. 62APÊNDICE II – QUESTIONÁRIO DE VALIDAÇÃO PEDAGÓGICA.............. 65APÊNDICE III – QUESTIONÁRIO DE VALIDAÇÃO TECNOLÓGICA......... 66APÊNDICE IV – UM APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS ATRAVÉS DE DISPOSITIVOS MÓVEIS......... 67

APÊNDICE I – VERBOS IRREGULARES UTILIZADOS

Conforme requisito suplementar S1, constante no Quadro 17 mencionado no

item 4.5.2, seguem abaixo os verbos irregulares em inglês utilizados no aplicativo,

incluindo as formas verbais infinitivo, passado e particípio, bem como o

correspondente significado em português. Ao todo, foram utilizados setenta e oito

verbos irregulares, distribuídos em igual quantidade entre os níveis básico,

intermediário e avançado, conforme indicado nos Quadros 21, 22 e 23,

respectivamente.

As tarefas de seleção dos verbos irregulares, definição dos níveis básico,

intermediário e avançado, e distribuição dos verbos nos níveis, contaram com o apoio

da diretora de uma instituição de ensino de inglês.

QUADRO 21 - Verbos irregulares do nível básico.Português Infinitivo Passado Particípio

ser/estar be was/were been

comprar buy bought bought

vir come came come

cortar cut cut cut

fazer do did done

beber drink drank drunk

dirigir drive drove driven

comer eat ate eaten

dar give gave given

ir go went gone

ter have had had

ouvir hear heard heard

manter keep kept kept

perder lose lost lost

colocar put put put

ler read read read

63correr run ran run

ver see saw seen

vender sell sold sold

sentar sit sat sat

dormir sleep slept slept

falar speak spoke spoken

gastar spend spent spent

levar take took taken

ensinar teach taught taught

escrever write wrote written

QUADRO 22 - Verbos irregulares do nível intermediário.Português Infinitivo Passado Particípio

tornar-se become became become

quebrar break broke broken

trazer bring brought brought

construir build built built

custar cost cost cost

lutar fight fought fought

encontrar find found found

voar fly flew flown

esquecer forget forgot forgotten

conseguir get got gotten

crescer grow grew grown

manter hold held held

emprestar lend lent lent

fazer make made made

encontrar meet met met

pagar pay paid paid

soar ring rang rang

dizer say said said

enviar send sent sent

definir set set set

suportar stand stood stood

roubar steal stole stolen

nadar swim swam swum

contar tell told told

pensar think thought thought

vencer win won won

64QUADRO 23 - Verbos irregulares do nível avançado.

Português Infinitivo Passado Particípio

começar begin began begun

morder bite bit bitten

soprar blow blew blown

pegar catch caught caught

escolher choose chose chosen

cair fall fell fallen

sentir feel felt felt

perdoar forgive forgave forgiven

machucar hurt hurt hurt

saber know knew known

deitar lay laid laid

partir leave left left

deixar let let let

acender light lit lit

desistir quit quit quit

andar de ride rode ridden

disparar shoot shot shot

mostrar show showed shown

afundar sink sank sunk

fincar stick stuck stuck

varrer sweep swept swept

rasgar tear tore torn

lançar throw threw thrown

perturbar upset upset upset

acordar wake woke woken

usar wear wore worn

APÊNDICE II – QUESTIONÁRIO DE VALIDAÇÃO PEDAGÓGICA

Conforme mencionado no item 6.1.1, segue abaixo o questionário utilizado

para a validação pedagógica do aplicativo.

Por favor, marque apenas uma alternativa para os itens 1 a 7.

1. Quanto você aprendeu jogando?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

2. Você acha que este jogo ajuda na memorização?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

3. Você acha que os verbos são muito repetidos durante o jogo?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

4. O tempo que as palavras permanecem na tela durante o jogo é apropriado?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

5. A dificuldade dos verbos selecionados está de acordo com os níveis?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

6. Você acha que aprender através de jogos facilita o aprendizado?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

7. Você sente que este jogo incentiva a jogar mais?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

8. Sugestões:

___________________________________________________________

___________________________________________________________

___________________________________________________________

APÊNDICE III – QUESTIONÁRIO DE VALIDAÇÃO TECNOLÓGICA

Conforme mencionado no item 6.1.2, segue abaixo o questionário utilizado

para a validação tecnológica do aplicativo.

Por favor, marque apenas uma alternativa para os itens 1 a 7.

1. O espaço de 20KB utilizado pelo aplicativo compromete o espaço total

disponível no seu dispositivo móvel?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

2. O tempo de carregamento do aplicativo é longo?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

3. As instruções de jogo são claras?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

4. A disposição das opções (novo jogo, ajuda, finalizar, pontuações, etc.) facilitam

a operação do aplicativo?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

5. O tamanho da fonte das palavras visualizadas durante o jogo está satisfatório?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

6. A navegação e a seleção durante o jogo estão satisfatórias?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

7. O acompanhamento dos resultados durante e ao final do jogo está claro?

( ) Muito ( ) Bastante ( ) Indiferente ( ) Pouco ( ) Muito pouco

8. Sugestões:

___________________________________________________________

___________________________________________________________

___________________________________________________________

APÊNDICE IV – UM APLICATIVO LÚDICO PARA APOIO AO ENSINO

DE INGLÊS ATRAVÉS DE DISPOSITIVOS MÓVEIS

Daniel D'Ávila Mombach, Sabrina Bet, Angelo Augusto Frozza

Universidade do Planalto Catarinense (UNIPLAC)Caixa Postal 525 – 88.509-900 – Lages – SC – Brasil

{danielddm,sabrina,frozza}@uniplac.net

Abstract. Distance learning has been intensified along the last few decades and, most recently, it has been allied to the facilities offered by Informatics. The same way, the use of mobile technology has been intensified, bringing up the practicability of having a device capable of various useful services at hand. Additionally, mobile devices, such as cell phones and smart phones, have reached levels of technologic development allowing for uncountable computational functionalities. Thus, this work proposes the implementation of a ludic application, to help English learning, able to operate on a vast range of mobile phones and, for that, the Java Micro Edition development platform is used.Resumo. O ensino à distância tem se intensificado nas últimas décadas e, mais recentemente, tem se aliado às facilidades oferecidas pela informática. Da mesma forma, a utilização da tecnologia móvel tem se intensificado, trazendo consigo a praticidade de se ter à mão um dispositivo capaz de prestar vários serviços úteis. Adicionalmente, dispositivos móveis, como os aparelhos celulares e os telefones inteligentes, têm atingido níveis de desenvolvimento tecnológico que possibilitam inúmeras funcionalidades computacionais. Assim, o presente trabalho propõe a implementação de um aplicativo lúdico para apoio ao ensino de inglês, capaz de operar em uma vasta gama de aparelhos celulares, sendo utilizada para isto a plataforma de desenvolvimento Java Micro Edition.

1. IntroduçãoO fenômeno da globalização suscita, entre outros aspectos, a necessidade de padronizações em várias áreas e, neste contexto, a língua inglesa tem se firmado como uma linguagem de comunicação internacional de facto o que embasa a importância do domínio deste idioma (Crystal, 1997).

O processo de aprendizagem de um idioma envolve diversas atividades, variados recursos e uma boa dose de interesse dos sujeitos envolvidos. Dentre as atividades educacionais, os jogos representam um importante papel devido a sua principal característica, qual seja a concentração quase sempre espontânea dos esforços dos estudantes (Games, 2007).

68Outro fenômeno contemporâneo relevante vem a ser a proliferação de dispositivos

móveis passíveis de processamento de informações, a exemplo dos aparelhos celulares, os quais têm apresentado melhoria significativa nas suas capacidades de processamento e armazenamento de dados (Equipe, 2005). Os aparelhos celulares têm alcançado níveis tecnológicos que permitem aliar a informática à educação com vantagens, tendo em vista seu baixo custo e sua praticidade de uso.

Neste ínterim, o presente trabalho propõe a implementação de uma atividade lúdica capaz de operar na maior variedade possível de aparelhos celulares, com a finalidade de estimular estudantes do idioma inglês na memorização e na prática dos verbos irregulares visto que, segundo Phillips (2005), estes estudantes enfrentam muita dificuldade para aprender os tempos verbais.

Este artigo está organizado em seis seções que abordam desde a contextualização do lúdico no ensino de idiomas até os resultados alcançados e propostas para pesquisas futuras.

2. Atividades Lúdicas no Ensino de IdiomasSegundo Lethaby (2002), ninguém sabe exatamente como se aprende um idioma, entretanto, existem várias atividades que auxiliam o processo de ensino-aprendizagem. Neste contexto, as atividades lúdicas são exemplos que, conforme comentam Wright, Betteridge e Buckby (1996), são reconhecidamente apreciadas por jovens e adultos.

Atividades lúdicas, devido às suas características inerentes envolvendo circunstâncias prazerosas e estimulantes, podem ser dirigidas para o ensino e a prática de diversos assuntos e situações, uma vez que não oferecem restrições quanto à faixa etária dos participantes. Estas atividades têm sido utilizadas na educação e no treinamento em diversos contextos e com variados objetivos. Ainda, jogos podem ser utilizados para ambientar grupos de estudantes, propiciar interação entre grupos heterogêneos, bem como internalizar conhecimentos adquiridos.

Os jogos são uma das modalidades de atividades lúdicas que envolve competição e vontade de superação. Na área do ensino de idiomas, ajudam professores a criar contextos nos quais a linguagem adquire significado e, uma vez que os estudantes fazem questão de participar, devem entender o que os outros dizem ou escrevem e devem ser capazes de se fazer entender. Muitos jogos propiciam a mesma intensidade de prática dos exercícios convencionais, oferecendo qualidade. Neste contexto, a contribuição dos exercícios está no uso freqüente da linguagem durante um período limitado de tempo, o que é possível em muitos tipos de jogos. Adicionalmente, Wright, Betteridge e Buckby (1996, p. 1) comentam que, “fazendo a linguagem transmitir informações e opinião, os jogos oferecem a característica chave dos exercícios incluindo a oportunidade de sentir o trabalho da linguagem como comunicação ativa”.

O ensino do idioma inglês tem se beneficiado com o uso de atividades lúdicas em todos os níveis de aprendizado, especialmente quando estas simulam situações reais em ambientes distantes do convívio constante com a linguagem e a cultura de povos de fala inglesa.

Jogos podem oferecer prática para todas as habilidades envolvidas na transmissão e aquisição do conhecimento do idioma inglês, nomeadamente, leitura, escrita, escuta e fala; em todos os estágios de ensino/aprendizado, os quais sejam, apresentação, repetição, reordenação e livre uso da linguagem; bem como para diversos tipos de situações de comunicação. Desta forma, atividades lúdicas cooperam concretamente no aprendizado, fixação e construção da

69fluência da língua inglesa.

Alguns tipos de jogos educativos utilizados no ensino de inglês incluem (Lee, 1965; Games, 2007): jogos orais, jogos de pronúncia, jogos de ortografia e jogos de leitura e escrita.

Maccallum (1980) comenta que, quando considerada a importância da competência comunicativa no idioma estudado, um dos principais objetivos no domínio de um idioma, bem como a necessidade de uso espontâneo e criativo da linguagem, salienta-se o papel significativo dos jogos de palavras para atingir tais objetivos, os quais envolvem as habilidades de leitura e escrita, separadamente ou em conjunto, e podem ser elaborados de diversos modos.

Alguns tipos de jogos educativos com palavras são listados a seguir (Lee, 1965; Games, 2007): jogos com flash-cards, jogos de associação, jogos de rimas ou canções e jogos de escrita.

Partindo destes estudos, a atividade lúdica selecionada para a implementação da solução proposta no presente artigo é um jogo de memória, que se enquadra entre os jogos de leitura e escrita, na modalidade de jogo de palavras, os quais cumprem um papel significativo na construção da competência comunicativa do estudante.

3. Desenvolvimento de Sistemas para Dispositivos MóveisMattos (2005) comenta que, atualmente, a produção de dispositivos móveis em o todo mundo é bem superior à de computadores pessoais. Esta afirmação traz em si inferências que incluem aumento da demanda por desenvolvedores de sistemas informatizados para dispositivos móveis e a popularização de tais equipamentos.

Embora os dispositivos móveis incluam aparelhos celulares, PDAs (Personal Digital Assistants), smart phones, microcomputadores e outros dispositivos conectados, o presente estudo foca os aparelhos celulares, devido a sua popularidade e abrangência.

Uma vez que os dispositivos móveis ainda não são totalmente equivalentes aos computadores pessoais, apresentando limitações no tocante ao espaço para armazenamento de informações e aplicações e à capacidade de processamento, o desenvolvimento de sistemas para estes dispositivos exige conhecimentos e tecnologia específicos.

Uma das principais ferramentas utilizadas para o desenvolvimento de sistemas para dispositivos móveis é a plataforma JME (Java Micro Edition). A tecnologia de desenvolvimento Java é uma das mais completas opções entre as ferramentas oferecidas aos desenvolvedores de software (Mattos, 2005).

Entre as vantagens do uso de JME para o desenvolvimento de sistemas destaca-se que uma solução desenvolvida com esta plataforma não se restringe a determinados fabricantes ou modelos de equipamentos, podendo a solução ser executada em qualquer dispositivo em que o fabricante tenha instalado uma máquina virtual Java.

Os principais recursos da tecnologia Java são: a máquina virtual, cuja principal funcionalidade é a interpretação de comandos Java para que o sistema operacional do dispositivo possa entendê-los e executá-los; a linguagem de programação Java, utilizada pelos desenvolvedores de sistemas; e o ambiente de desenvolvimento, conhecido como JDK (Java Development Kit), que permite a escrita de programas em Java, sua verificação e validação, incluindo diversos recursos organizados na forma de APIs (Application Programming Interfaces).

70A Figura 1 exibe um esquema da tecnologia Java incluindo suas diferentes edições.

Cada edição contém características e funcionalidades específicas para uma área da computação.

Figura 1. Resumo da tecnologia Java e suas diferentes edições.(Fonte: Java, 2006)

Devido ao fato de que a tecnologia JME abrange uma grande diversidade de hardware, ela é dividida em configurações, perfis e APIs opcionais (Li e Knudsen, 2005).

As configurações JME fornecem os serviços básicos para que as aplicações possam ser executadas, incluindo sistemas de comunicação, segurança interna da máquina virtual e acoplamento com o dispositivo. Os perfis compõe um conjunto de APIs padronizadas que, combinadas com uma configuração, fornecem todas as funcionalidades necessárias para que as aplicações possam ser executadas em uma determinada família de dispositivos (Carniel e Teixeira, 2005).

Figura 2. Esquema da tecnologia JME.(Fonte: Grasia!, 2004)

A solução proposta no presente artigo foca a utilização da tecnologia JME com a

71configuração CLDC 1.0 (Connected Limited Device Configuration 1.0) e o perfil MIDP 1.0 (Mobile Information Device Profile 1.0), conforme esquema exibido na Figura 2, de forma que o sistema desenvolvido possa ser executado na maior variedade possível de aparelhos celulares.

4. Análise e Projeto do SistemaO aplicativo lúdico proposto é do tipo jogo de memória, envolvendo a lista de verbos irregulares em inglês, a qual é composta pelas formas verbais infinitivo, ou forma base, passado e particípio passado, além do correspondente significado em português.

São definidos nove níveis de dificuldade para o jogo, determinados a partir das formas verbais e da freqüência de ocorrência dos verbos. Os níveis e a seleção dos verbos são definidos por um especialista na área do ensino de inglês.

A tela de jogo mostra oito retângulos, cuja estrutura é indicada na Figura 3. Cada retângulo oculta uma palavra escolhida aleatoriamente dentre o grupo das palavras que fazem parte do nível corrente do jogo. Para jogar, o jogador deve selecionar um dos retângulos e esta ação exibe a palavra que o respectivo retângulo ocultava. Em seguida, o jogador deve selecionar outro retângulo. Se ambas as palavras formam um par correto, estas permanecem exibidas na tela; caso contrário, são ocultadas após alguns segundos.

Durante o andamento do jogo são exibidas três telas consecutivas para cada nível de jogo, totalizando vinte e sete telas exibidas, respeitando a ordem crescente de dificuldade definida.

Figura 3. Estrutura da tela de jogo.

A pontuação é calculada considerando o número de vezes que o jogador cometeu erros ao tentar localizar um par válido de verbos. A contagem de pontos inicia com 80 pontos para cada tela de jogo e, para cada erro, ou seja, para cada duas palavras selecionadas sem formar um par válido, são descontados 8 pontos. A pontuação mínima é zero, ou seja, apenas os 10 primeiros erros são registrados. Ao encontrar todos os pares de uma tela, os pontos são registrados e o jogo passa à tela seguinte.

O registro da pontuação total ocorre em dois momentos: ao final do jogo, o que se dá quando todos os pares de todos os níveis foram encontrados, ou quando o jogador decide abandonar o jogo. Caso a pontuação total seja menor do que zero, o valor registrado é zero.

Quando um jogo é encerrado antes de exibidas todas as telas de todos os níveis, existe a possibilidade de continuação do mesmo jogo. Neste caso, são exibidos o nível corrente e a pontuação alcançada, porém não são registradas informações na relação das melhores

72pontuações.

O desenvolvimento do aplicativo transcorreu com base no método ágil XP (eXtreme Programming) uma vez que este método é indicado para equipes pequenas e médias, visando a simplicidade e a qualidade (Beck, 2004). Ademais, o citado método prevê as cinco fases principais para o desenvolvimento de aplicativos (Braude, 2005), quais sejam: análise, projeto, implementação, testes e manutenção.

5. Implementação do AplicativoA implementação do aplicativo proposto envolveu o conhecimento das características específicas da tecnologia utilizada, bem como a familiarização com recursos que diferem dos disponibilizados para o desenvolvimento de soluções desktop e web. Desta forma, a fim de auxiliar no processo de familiarização com a tecnologia, o desenvolvimento da solução seguiu a seguinte ordem: primeiramente, as telas de interface com codificação em alto nível foram implementadas; em seguida, a tela de jogo, que requer codificação em baixo nível, foi desenvolvida; e, por fim, a lógica de jogo e a persistência de informações foram implementadas em paralelo.

O desenvolvimento de aplicativos para aparelhos celulares utilizando a plataforma Java Micro Edition possui características inerentes às limitações dos dispositivos físicos (hardware) a que se destinam, tais como baixa capacidade de processamento e pouco espaço para armazenamento. Assim, o desenvolvimento da solução seguiu as seguintes diretrizes, comentadas por Li e Knudsen (2005), Mattos (2005) e Júnior (2007): o aplicativo possui a menor quantidade possível de objetos; os objetos possuem a menor quantidade possível de atributos e métodos; e laços de repetição, variáveis e objetos estáticos são utilizados com cautela. Ainda, devido ao tamanho reduzido das telas dos aparelhos celulares, conforme comenta Muchow (2004), as mensagens e os textos são curtos, claros e precisos.

Figura 4. Diagrama de fluxo gerado no NetBeans 5.0.

Para o desenvolvimento do sistema, foi utilizado o ambiente de desenvolvimento integrado NetBeans, versão 5.0, devido ao fato de ser esta uma ferramenta gratuita que oferece facilidades gráficas para a codificação de interfaces de usuário, e de haver à disposição vasta documentação e tutoriais para seu uso.

73A Figura 4 exibe o diagrama de fluxo para o aplicativo, elaborado no NetBeans. A

principal vantagem da elaboração deste diagrama está em que, ao incluir componentes de interface e suas dependências, a codificação correspondente é gerada automaticamente.

A implementação de componentes de interface utilizando as facilidades gráficas do ambiente NetBeans é suficiente para muitas das necessidades de uma aplicação. A tela de boas-vindas, a tela principal, a tela de ajuda, a tela de pontuações e a tela de fim de jogo são desenvolvidas com base nas facilidades de recursos gráficos do ambiente NetBeans.

A tela de jogo requer maior controle dos componentes de interface com o usuário, como por exemplo, posicionamento exato, alteração de estado de apenas alguns componentes e gerência de atributos a partir da implementação do aplicativo e não pela máquina virtual do dispositivo. Essas características exigem objetos diferentes dos utilizados pelas facilidades gráficas disponibilizadas pelo ambiente NetBeans. Desta forma, a tela de jogo foi desenvolvida por meio de extensão da classe Canvas, que é parte integrante da máquina virtual Java Micro Edition e permite maior controle da tela do dispositivo.

A Figura 5 exibe imagens da tela de jogo em duas situações: estado inicial (Figura 5a) e durante um jogo (Figura 5b). As imagens foram capturadas a partir do simulador do ambiente NetBeans. O simulador exibe um dispositivo móvel genérico com tela de 320 pixels de altura por 240 pixels de largura; porém, as telas dos aparelhos celulares podem ter tamanho bastante reduzido quando comparadas ao dispositivo exibido no simulador.

(a) (b)

Figura 5. Tela de jogo inicial (a) e tela durante o jogo (b).

A lógica do aplicativo, isto é, as regras do jogo, incluem a construção e seleção de cartões de memória, a exibição de palavras, a verificação dos pares selecionados, a contabilização de erros e acertos, o avanço tela após tela e nível após nível e a persistência de informações. Para estas operações, foi desenvolvida a classe GameEngine.

Algumas informações do aplicativo estão sujeitas à persistência. Tais informações são dividas em dois tipos: informações persistidas temporariamente e informações persistidas permanentemente. As informações com persistência temporária são o nível corrente de jogo e a pontuação atingida, que servem para possibilitar a continuação do jogo. Estas informações são armazenadas sempre que um nível de jogo é finalizado, o que ocorre após serem completadas corretamente três telas de jogo de um mesmo nível. As informações com persistência permanente são o nome do jogador e sua pontuação, e estas são utilizadas para

74exibir a lista dos últimos cinco melhores jogadores em termos de pontos atingidos. Todas as operações de persistência fazem uso dos recursos da classe RecordStore, que é parte integrante da máquina virtual Java para dispositivos móveis.

Uma vez que a implementação de um aplicativo pode ocorrer de diversas maneiras, seguindo padrões pré-estabelecidos, costumes praticados pelo desenvolvedor ou uma mescla destes, se faz necessária a documentação da implementação, que serve de base para orientar o próprio desenvolvedor, ou outros desenvolvedores que venham a ter contato com a implementação, quanto aos passos seguidos para a codificação do aplicativo de forma a auxiliar a sua manutenção, modificação ou extensão. Assim, a documentação do aplicativo ocorre de duas formas: comentários para o entendimento da codificação e documentação para a geração de API.

Os comentários de codificação, escritos no próprio código-fonte, são curtos e objetivos e visam esclarecer funcionalidades ou trechos de código-fonte. A documentação para API é mais extensa que os comentários e inclui detalhes a respeito das funcionalidades de classes, métodos e atributos, bem como informações a respeito de parâmetros e retornos de métodos. Uma ferramenta da máquina virtual Java conhecida como Javadoc é utilizada para extrair as informações para a geração da documentação para API e organizá-las na forma de documentos HTML (HyperText Markup Language) de fácil acesso e navegação.

5.1. Testes do AplicativoO aplicativo foi submetido a testes de verificação realizados com base na técnica de desenvolvimento orientado a testes, ou TDD (Test-Driven Development), em que cada bloco de código foi testado em todas as suas funcionalidades logo após a codificação. O uso desta técnica “... é adotada em muitos processos ágeis de desenvolvimento, como o Extreme Programming (XP)” (Teles, 2006, p. 47).

Ainda, a natureza do aplicativo suscita dois tipos de testes de validação: a validação tecnológica, inerente ao próprio aplicativo, e a validação pedagógica, ligada a seu objetivo principal que envolve o apoio ao ensino de inglês. A validação tecnológica foi realizada por alunos e professores do Curso de Sistemas de Informação da UNIPLAC – Universidade do Planalto Catarinense, localizada em Lages, S.C. A validação pedagógica foi realizada pela diretora e professores de uma instituição de ensino de inglês no mesmo município. Em ambos os casos, as validações ocorreram por meio do uso do aplicativo e de respostas a questionários publicados em um website desenvolvido para este fim.

Os testes foram realizados no simulador de dispositivos móveis do ambiente de desenvolvimento NetBeans e em vários modelos de aparelhos celulares das marcas Nokia, Samsung e Motorola. Alguns destes modelos ofereciam suporte ao perfil JME MIDP 1.0, que é mais limitado, e outros suportavam o perfil JME MIDP 2.0, que oferece mais recursos.

5.2. ValidaçãoAs respostas aos questionários das validações pedagógica e tecnológica foram contabilizadas e transformadas em valores percentuais para auxiliar no seu entendimento.

Os resultados expostos na Tabela 1 indicam que, de um modo geral, o aplicativo desenvolvido cumpre com o aspecto pedagógico de seu objetivo, qual é o apoio ao ensino de inglês.

Diversas sugestões surgiram durante o processo de validação da solução e, embora

75muitas destas tenham sido registradas para pesquisas futuras, uma vez que fugiam do escopo tecnológico do aplicativo, várias outras foram de fato implementadas.

Tabela 1. Resultado da pesquisa de validação pedagógica

Perguntas / Opções de resposta Muito Bastante Indiferente Pouco MuitoPouco

Quanto você aprendeu jogando? 33,33 % 50,00 % 16,67 %

Você acha que este jogo ajuda na memorização? 33,34 % 66,67 %

Você acha que os verbos são muito repetidos durante o jogo? 16,66 % 33,34 % 16,66 % 33,34 %

O tempo que as palavras permanecem na tela durante o jogo é apropriado? 50,00 % 50,00 %

A dificuldade dos verbos selecionados está de acordo com os níveis? 66,68 % 16,66 % 16,66 %

Você acha que aprender através de jogos facilita o aprendizado? 33,33 % 66,67 %

Você sente que este jogo incentiva a jogar mais? 33,33 % 50,00 % 16,67 %

Conforme a Tabela 2, a solução implementada é tecnologicamente viável, cumprindo assim com o objetivo de disponibilizar um aplicativo capaz de operar em aparelhos celulares.

Tabela 2. Resultado da pesquisa de validação tecnológica

Perguntas / Opções de resposta Muito Bastante Indiferente Pouco MuitoPouco

O espaço de 20KB utilizado pelo aplicativo compromete o espaço total disponível no seu dispositivo móvel?

14,28 % 14,28 % 71,44 %

O tempo de carregamento do aplicativo é longo? 28,57 % 28,57 % 48,86 %

As instruções de jogo são claras? 14,28 % 71,44 % 14,28 %

A disposição das opções (novo jogo, ajuda, finalizar, pontuações, etc.) facilitam a operação do aplicativo?

28,57 % 48,86 % 28,57 %

O tamanho da fonte das palavras visualizadas durante o jogo está satisfatório?

42,86 % 57,14 %

A navegação e a seleção durante o jogo estão satisfatórias? 28,57 % 57,15 % 14,28 %

O acompanhamento dos resultados durante e ao final do jogo está claro? 57,14 % 48,86 %

As pesquisas de validação indicaram alguns pontos negativos, cujos índices estão destacados nas Tabelas 1 e 2. Os pontos negativos identificados estão sendo tratados a fim de melhorar o aplicativo desenvolvido.

766. Considerações FinaisO desenvolvimento do aplicativo lúdico para aparelhos celulares aqui proposto, com a finalidade de possibilitar aos estudantes do idioma inglês a prática e a memorização dos verbos irregulares, vem a colaborar com o seu aprendizado e tem condições de se tornar acessível a muitos estudantes.

Algumas dificuldades surgiram durante a implementação da solução, uma vez que o desenvolvimento de aplicativos para dispositivos móveis apresenta características bastante diferentes das implementações para sistemas desktop ou web; porém, a principal dificuldade no desenvolvimento do aplicativo é inerente aos equipamentos aos quais se destina, nomeadamente o tamanho de suas telas, o que requer informações textuais breves e claras em títulos, comandos, menus e conteúdos.

A solução desenvolvida tem caráter genérico, no sentido em que utiliza apenas recursos mínimos de implementação a fim de cumprir com o objetivo de se tornar operacional na maior variedade possível de aparelhos celulares e, devido a este fato, vários recursos foram deliberadamente desconsiderados. Tais recursos incluem a aplicação de cores, animações, sons, vibração e maior exploração de imagens. Trabalhos futuros podem considerar os citados recursos, prevendo o desenvolvimento de aplicativos adaptados para variadas séries de dispositivos celulares e incluindo funcionalidades e facilidades específicas de cada fabricante.

Além dos recursos citados, pesquisas podem ser desenvolvidas no que se refere ao uso dos perfis Java Micro Edition MIDP 2.0 e MIDP 3.0, os quais oferecem diversas funcionalidades e facilidades, bem como o desenvolvimento para dispositivos com teclado alfanumérico tipo QWERTY semelhantes aos teclados encontrados em computadores pessoais.

ReferênciasBeck, K. (2004) “Programação Extrema (XP) Explicada”: acolha as mudanças. Porto Alegre,

Bookman, 182 p.Braude, E. (2005) “Projeto de Software”: da programação à arquitetura: uma abordagem

baseada em Java. Porto Alegre, Bookman, 619 p.

Carniel, J.; Teixeira, C. (2005) Introdução ao J2ME. “Web Mobile”. Curitiba, Neofício, ano I, p. 11-12, fev./mar.

Crystal, D. (1997) English as a Global Language. Cambridge, UK, Cambridge University Press.

Equipe Webmobile (2005). Entrevista: Marcelo Nunes de Carvalho. “Web Mobile”. Curitiba, Neofício, ano I, p. 72-74, fev./mar.

Games to Teach English Learners. (2007?) “International Teacher Training Organization”. Guadalajara, Mexico, ITTO. Disponível em: <http://www.teflcertificatecourses.com/tefl-articles/games-teach-english-learners.html>. Acessado em: 25 mar. 2007.

Grasia!. (2004?) “J2ME-grasia!: MIDP”. Universidade Complutense de Madrid. Disponível em: <http://grasia.fdi.ucm.es/ j2me/_J2METech/MIDP.html>. Acessado em: 22 jul. 2006.

Java Licensee Support from Sun. (2006) Santa Clara, USA: Sun Microsystems. Disponível em: <http://www.sun.com/software/jpe/ls/index.xml>. Acessado em: 22 jul. 2006.

77Júnior, Eloi. (2007) Otimização de Aplicações Java ME. “Web Mobile”. Curitiba, Neofício,

12. ed, Ano 2, p. 28-36.

Lee, W. R. (1965) “Language-Teaching Games and Contests”. London, UK, Oxford University Press, 166 p.

Lethaby, C. (2002) “Skyline 4: Teacher's Guide”. Oxford, UK, Macmillan Education.

Li, S.; Knudsen, J. (2005) “Beginning J2ME”: From Novice to Professional. 3. ed. Berkeley, USA, Apress.

Maccallum, G. P. (1980) “101 word games”: for students of english as a second or foreign language. Oxford, UK, Oxford University, 162 p.

Mattos, E. T. (2005) “Programação Java para Wireless”: Aprenda a Desenvolver Sistemas em J2ME! São Paulo, Digerati, 125 p.

Muchow, J. W. (2004) Core J2ME: tecnologia & MIDP. São Paulo, Pearson Education, 588 p.

Phillips, A. (2005) Presenting tenses 1. “English Teaching Professional”. 37. ed, London, UK, Modern English Publishing, p. 18-20, mar.

Teles, V. M. (2006) Test-Driven Development: Dos Testes à Implementação, Passo a Passo e sem Receios. “Java Magazine”. Curitiba, Neofício, 32. ed., ano IV, p. 46-57.

Wright, A.; Betteridge, D.; Buckby, M. (1996) “Games for language learning”. 2. ed. New York, USA, Cambridge University, 212 p.