aplicativo lúdico para apoio ao ensino de inglês através de

Propaganda
UNIVERSIDADE DO PLANALTO CATARINENSE
DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE SISTEMAS DE INFORMAÇÃO
(BACHARELADO)
APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS
ATRAVÉS DE DISPOSITIVOS MÓVEIS
DANIEL D'ÁVILA MOMBACH
LAGES, JULHO DE 2007
UNIVERSIDADE DO PLANALTO CATARINENSE
DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE SISTEMAS DE INFORMAÇÃO
(BACHARELADO)
APLICATIVO LÚDICO PARA APOIO AO ENSINO DE INGLÊS
ATRAVÉS DE DISPOSITIVOS MÓVEIS
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:
LAGES, JULHO DE 2007
Profª. Sabrina Bet, M.Sc.
Prof. Angelo Augusto
Frozza, M.Sc.
iii
APLICATIVO 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..................................................................................... IX
LISTA DE SIGLAS..................................................................................................... X
RESUMO................................................................................................................... XI
ABSTRACT.............................................................................................................. XII
1 INTRODUÇÃO.................................................................................................................
1.1 Apresentação............................................................................................................
1.2 Descrição do problema.............................................................................................
1.3 Justificativa..............................................................................................................
1.4 Objetivo geral...........................................................................................................
1.5 Objetivos específicos...............................................................................................
1.6 Metodologia.............................................................................................................
1
1
2
2
4
4
5
2 ATIVIDADES LÚDICAS E O ENSINO DE IDIOMAS.................................................................... 6
2.1 Atividades lúdicas na educação................................................................................ 6
2.2 Jogos no ensino de idiomas...................................................................................... 7
2.3 Jogos no ensino de inglês......................................................................................... 7
2.4 Jogos de palavras no ensino de idiomas................................................................... 9
2.5 Conclusão.............................................................................................................. 11
3 DESENVOLVIMENTO DE SISTEMAS PARA DISPOSITIVOS MÓVEIS............................................ 12
3.1 Contextualização.................................................................................................... 12
3.2 Aspectos da tecnologia........................................................................................... 13
3.2.1 A tecnologia Java e a plataforma Java Micro Edition................................................... 13
3.3 Processos de desenvolvimento............................................................................... 16
3.3.1 eXtreme Programming (XP)............................................................................................ 18
3.4 Conclusão.............................................................................................................. 20
4 ANÁLISE E PROJETO DO SISTEMA....................................................................................
4.1 Enredo do jogo.......................................................................................................
4.2 Artefatos aplicados.................................................................................................
4.3 Sumário executivo..................................................................................................
4.4 Histórias de usuário................................................................................................
4.5 Definição de requisitos...........................................................................................
21
21
23
24
24
27
4.5.1 Requisitos funcionais e não-funcionais........................................................................... 27
4.5.2 Requisitos suplementares.................................................................................................29
4.6 Diagrama de classes............................................................................................... 30
4.7 Diagrama de estados.............................................................................................. 32
4.8 Conclusão.............................................................................................................. 32
5 IMPLEMENTAÇÃO DO APLICATIVO................................................................................... 34
5.1 Características de implementações Java Micro Edition......................................... 34
5.2 Implementação das telas do aplicativo................................................................... 35
5.2.1 Tela de jogo..................................................................................................................... 38
5.3 Implementação da lógica do aplicativo.................................................................. 41
5.3.1 Persistência das informações.......................................................................................... 43
5.4 Documentação da implementação.......................................................................... 44
5.4.1 Comentários de codificação............................................................................................ 45
5.4.2 Documentação para API................................................................................................. 45
5.5 Conclusão.............................................................................................................. 46
6 TESTES DO APLICATIVO................................................................................................. 48
6.1 Testes de validação................................................................................................ 48
6.1.1 Validação pedagógica..................................................................................................... 50
6.1.2 Validação tecnológica..................................................................................................... 51
6.2 Conclusão.............................................................................................................. 51
7 CONSIDERAÇÕES FINAIS................................................................................................ 53
REFERÊNCIAS BIBLIOGRÁFICAS..................................................................... 56
BIBLIOGRAFIA COMPLEMENTAR.................................................................... 59
APÊNDICES.............................................................................................................. 61
LISTA DE ILUSTRAÇÕES
FIGURA 1 - Resumo da tecnologia Java e suas diferentes edições............................. 14
FIGURA 2 - Esquema da tecnologia JME................................................................... 16
FIGURA 3 - Diagrama de classes................................................................................ 31
FIGURA 4 - Diagrama de estados................................................................................ 32
FIGURA 5 - Diagrama de fluxo gerado no NetBeans 5.0............................................ 35
FIGURA 6 - Tela de boas-vindas (a) e tela principal (b)............................................. 36
FIGURA 7 - Tela de ajuda (a) e tela de pontuações (b)............................................... 37
FIGURA 8 - Tela de fim de jogo................................................................................. 38
FIGURA 9 - Esquema da codificação da classe MemoBoxCanvas em alto nível.........40
FIGURA 10 - Tela de jogo inicial (a) e tela durante o jogo (b).................................... 40
FIGURA 11 - Tela de jogo completa (a) e tela exibindo informações de jogo (b)....... 41
FIGURA 12 - Esquema da codificação da classe GameEngine em alto nível.............. 42
QUADRO 1 - História de usuário HU01, versão 1...................................................... 25
QUADRO 2 - História de usuário HU02, versão 1...................................................... 25
QUADRO 3 - História de usuário HU03, versão 1...................................................... 25
QUADRO 4 - História de usuário HU04, versão 1...................................................... 26
QUADRO 5 - História de usuário HU05, versão 1...................................................... 26
QUADRO 6 - História de usuário HU06, versão 1...................................................... 26
QUADRO 7 - Requisito funcional F1.......................................................................... 27
QUADRO 8 - Requisito funcional F2.......................................................................... 27
QUADRO 9 - Requisito funcional F3.......................................................................... 28
QUADRO 10 - Requisito funcional F4........................................................................ 28
QUADRO 11 - Requisito funcional F5........................................................................ 28
QUADRO 12 - Requisito funcional F6........................................................................ 28
QUADRO 13 - Requisito funcional F7........................................................................ 29
QUADRO 14 - Requisito funcional F8........................................................................ 29
QUADRO 15 - Requisito funcional F9........................................................................ 29
QUADRO 16 - Requisitos suplementares.................................................................... 30
QUADRO 17 - Fragmento de código para capturar e tratar a seleção de comandos.... 38
QUADRO 18 - Fragmento de código para a recuperação de informações................... 44
QUADRO 19 - Trecho de código-fonte com comentário de codificação..................... 45
QUADRO 20 - Trecho de código-fonte com documentação de codificação................ 46
QUADRO 21 - Verbos irregulares do nível básico...................................................... 61
QUADRO 22 - Verbos irregulares do nível intermediário........................................... 62
QUADRO 23 - Verbos irregulares do nível avançado................................................. 63
LISTA DE SIGLAS
API
CDC
CLDC
HTML
JEE
JME
JDK
JSE
JVM
KVM
MIDP
PDA
PDAP
PNG
ROM
SDK
TDD
UML
PU
UNIPLAC
XP
- Application Programming Interfaces
- Connected Device Configuration
- Connected Limited Device Configuration
- HyperText Markup Language
- Java Enterprise Edition
- Java Micro Edition
- Java Development Kit
- Java Standard Edition
- Java Virtual Machine
- Kilobyte Virtual Machine
- Mobile Information Device Profile
- Personal Digital Assistant
- Personal Digital Assistant Profile
- Portable Network Graphics
- Read Only Memory
- Software Development Kit
- Test-Driven Development
- Unified Modelling Language
- Processo Unificado
- Universidade do Planalto Catarinense
- 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).
2
A 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,
3
deliberadamente, 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
4
irregulares.
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.
5
1.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 ensinoaprendizagem. 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.
7
2.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.
8
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, 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
9
testar 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
10
frases 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,
11
suas 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).
13
desenvolvimento 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
14
indicado 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
15
está 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.
16
O 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
18
incrementado, 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
19
listados 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
20
caracterí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
22
anteriores 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
24
requisitos 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.
25
Os 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 M EMÓRIA PARA APARELHOS CELULARES PARA
APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS
VERSÃO: 1
REFERÊNCIA: HU01
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 M EMÓ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 M EMÓ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 M EMÓRIA PARA APARELHOS CELULARES PARA
APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS
VERSÃO: 1
REFERÊNCIA: HU04
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 M EMÓRIA PARA APARELHOS CELULARES PARA
APOIO AO APRENDIZADO DE VERBOS IRREGULARES EM INGLÊS
VERSÃO: 1
REFERÊNCIA: HU05
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 M EMÓ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.
27
4.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.
HU: HU01 versão 1
F1 Exibir tela de apresentação
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.
HU: HU02 versão 1
F2 Exibir tela inicial
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.
28
QUADRO 9 - Requisito funcional F3.
HU: HU03 versão 1
F3 Exibir tela de jogo
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 vida
A 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.
HU: HU03 versão 1
F4 Permitir jogadas
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.
HU: HU03 versão 1
F5 Controlar níveis de jogo
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
dificuldade
de O avanço dos níveis de dificuldade segue a ordem estabelecida no item
4.1.
QUADRO 12 - Requisito funcional F6.
HU: HU04 versão 1
F6 Calcular pontuações
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.
29
F7 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 O registro de pontuação deve incluir o nome do jogador e os pontos
pontuação
alcançados.
NF7.2 Registros mantidos
O sistema deve manter registro das últimas cinco maiores pontuações.
QUADRO 14 - Requisito funcional F8.
HU: HU05 versão 1
F8 Exibir tela de fim de jogo
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 jogo
O 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.
HU: HU06 versão 1
F9 Exibir tela de fim de jogo
Descrição: O sistema deve exibir tela de ajuda.
Requisitos não-funcionais
Nome
Restrição
NF9.1 Conteúdo
A 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 irregulares
Devido 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
VerbMemoryMIDlet
MemoBoxCanvas
estende
a
estende
classe
a
MIDlet,
classe
Canvas.
implementa
A
a
classe
interface
CommandListener e é composta pela classe MemoBoxCanvas. As classes MIDlet e
Canvas e a interface CommandListener fazem parte da plataforma de desenvolvimento
Java Micro Edition.
A classe VerbMemoryMIDlet contém todas as telas que trocam informações
com o usuário, exceto a tela de jogo, a qual é desenvolvida na classe
MemoBoxCanvas.
A classe MemoryCard representa os cartões, ou retângulos, que fazem parte
das telas de jogo e contêm informações para seu desenho na tela, palavra oculta e
condição da correta associação de sua palavra oculta.
A classe GameEngine é responsável pelo controle geral do jogo bem como
pela persistência de informações. Além de atributos e métodos instanciáveis, esta
classe contém alguns métodos estáticos, os quais são acessados diretamente pela classe
VerbMemory.
31
FIGURA 3 - Diagrama de classes.
32
4.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.
33
As 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
35
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.
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
36
principal (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.
1 public void commandAction(Command command,
2
Displayable displayable) {
3
4
if (displayable == formWelcome) {
5
if (command == cmdNext) {
6
7
getDisplay().setCurrent(get_formMain());
8
9
}
10
}
11
...
12 }
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 é
39
parte 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
42
necessá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
44
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
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.
1 public static String[] getLevelPoints() {
2
String[] result = new String[ 2 ];
3
RecordStore rs = null;
4
try {
5
rs = RecordStore.openRecordStore( "GameStatus", false );
6
} catch ( RecordStoreException ex ) {
7
rs = null;
8
}
9
if ( rs != null ) {
10
try {
11
result[ 0 ] = new String( rs.getRecord( 1 ) );
12
result[ 1 ] = new String( rs.getRecord( 2 ) );
13
rs.closeRecordStore();
14
} catch ( Exception ex ) {
15
result = null;
16
}
17
} else {
18
result[ 0 ] = "1";
19
result[ 1 ] = "0";
20
}
21
return result;
22 }
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
45
Programming 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.
1
2
3
4
5
QUADRO 19 - Trecho de código-fonte com comentário de codificação.
// 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ódigofonte. 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.
46
1 /**
2
* Verifica se o par é válido e ajusta os cartões para
3
* indicar sua situação.
4
*
5
* @param memoryCard
Vetor de objetos da classe
6
*
MemoryCard.
7
* @param firstWordShown
Inteiro indicando a posição da
8
*
primeira palavra a verificar.
9
* @param secondWordShown
Inteiro indicando a posição da
10 *
segunda palavra a verificar.
11 * @return
Boolean indicando se o par de
12 *
palavras está correto.
13 */
14 public boolean checkPair( MemoryCard[] memoryCards,
15
int firstWordShown, int secondWordShown ) {
16
...
17 }
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, fazse 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
47
testes 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.
49
Com 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,
50
os 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
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 %
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 %
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 %
33,34 %
Pouco
Muito
Pouco
16,66 %
33,34 %
16,66 %
16,67 %
51
6.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
Indiferente
Pouco
Muito
Pouco
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 %
Perguntas / Opções de respostas
Muito
Bastante
As instruções de jogo são claras?
14,28 %
71,44 %
A disposição das opções (novo jogo, ajuda,
finalizar, pontuações, etc.) facilitam a
operação do aplicativo?
28,57 %
48,86 %
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 %
O acompanhamento dos resultados durante
e ao final do jogo está claro?
57,14 %
48,86 %
14,28 %
28,57 %
14,28 %
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
52
tecnoló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
54
aparelhos 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
55
para 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/teflarticles/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.
57
JAVA 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. 47, fev./mar. 2005.
PHILLIPS, A. Presenting tenses 1. English Teaching Professional. 37. ed. London,
UK: Modern English Publishing, p. 18-20, mar. 2005.
58
SHERRON, 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.
60
PORTALJAVA.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.................................. 62
APÊNDICE II – QUESTIONÁRIO DE VALIDAÇÃO PEDAGÓGICA.............. 65
APÊNDICE III – QUESTIONÁRIO DE VALIDAÇÃO TECNOLÓGICA......... 66
APÊ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
63
correr
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
64
QUADRO 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ção
O 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).
68
Outro 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 Idiomas
Segundo 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
69
fluê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óveis
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 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).
70
A 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
71
configuraçã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 Sistema
O 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
72
pontuaçõ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 Aplicativo
A 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.
73
A 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 boasvindas, 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
74
exibir 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 Aplicativo
O 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ção
As 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
75
muitas 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
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 %
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 %
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 %
33,34 %
Pouco
Muito
Pouco
16,66 %
33,34 %
16,66 %
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
Indiferente
Pouco
Muito
Pouco
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 %
Perguntas / Opções de resposta
Muito
Bastante
As instruções de jogo são claras?
14,28 %
71,44 %
A disposição das opções (novo jogo, ajuda,
finalizar, pontuações, etc.) facilitam a
operação do aplicativo?
28,57 %
48,86 %
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 %
O acompanhamento dos resultados durante
e ao final do jogo está claro?
57,14 %
48,86 %
14,28 %
28,57 %
14,28 %
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.
76
6. Considerações Finais
O 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ências
Beck, 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/teflarticles/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.
77
Jú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.
Download