aplicativo lÚdico para apoio ao ensino de inglÊs …frozza/2011.2/bsi10/bsi10-pesquisaem... ·...
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.
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.