Documentação do Sistema Mobile Fitness 1.0

Propaganda
Documentação do Sistema
Mobile Fitness 1.0
Autores: Bernardo Giori
Estevão Mognatto
Mirella Antunes
Pedro Gazolla
Viçosa – MG
Fevereiro – 2007
Índice
1. Introdução e Motivação .................................................................................................. 3
2. Documentação do sistema .............................................................................................. 4
2.1 Requisitos Funcionais ............................................................................................... 4
2.2 Decisões de Projeto................................................................................................... 6
2.3 Diagramas ................................................................................................................. 8
2.3.1 Diagramas de classes ......................................................................................... 8
2.3.2 Modelo Conceitual........................................................................................... 10
2.3.3 Diagrama de Interface...................................................................................... 11
3. Descrição das tecnologias utilizadas............................................................................. 13
3.1 Ferramentas de desenvolvimento............................................................................ 13
3.1.1 Celulares .......................................................................................................... 13
3.1.2 NetBeans .......................................................................................................... 13
3.1.3 Tomcat ............................................................................................................. 14
3.1.4 J2ME Wireless Toolkit .................................................................................... 14
3.1.5 MySQL ............................................................................................................ 14
3.2 Tecnologias utilizadas............................................................................................. 15
3.2.1 J2ME................................................................................................................ 15
3.2.2 J2SE ................................................................................................................. 15
3.2.3 Webservice....................................................................................................... 16
3.2.4 WAP................................................................................................................. 17
3.3 Protocolos de Comunicação.................................................................................... 17
3.3.1 Wi-Fi ................................................................................................................ 17
4. Descrição do funcionamento do Sistema...................................................................... 18
4.1 Tela de Login .......................................................................................................... 18
4.2 Tela Principal .......................................................................................................... 19
4.3 Tela de Consulta a Atletas ...................................................................................... 20
4.4 Tela de Seleção de Atleta........................................................................................ 20
4.5 Tela de Consulta a Fichas de Exercícios ................................................................ 21
4.6 Tela de Consulta de Exercícios............................................................................... 22
4.7 Tela de Cadastro de Exercícios............................................................................... 23
4.8 Tela de Consulta a Fichas de Medidas.................................................................... 24
4.9 Tela de Cadastro de Medidas.................................................................................. 24
5. Dificuldades encontradas .............................................................................................. 25
6. Bibliografia ................................................................................................................... 26
1. Introdução e Motivação
Atualmente, há uma grande procura pela prática de atividades físicas. Porém, a falta de
orientação especializada e adequada aos objetivos e limitações de cada pessoa acaba por
conduzi-las à prática de exercícios sem nenhum tipo de avaliação, pondo em risco a sua
saúde, principalmente, àqueles com mais de 35 anos que apresentam fatores de risco
cardiovasculares. Isso faz da avaliação física um componente indispensável para a
elaboração de um correto e eficiente programa de exercícios.
Uma avaliação bem feita é aquela em que se utiliza critérios e protocolos bem
selecionados, fornecendo dados quantitativos e qualitativos que indique, através de
análises e comparações, a real situação em que se encontra o avaliado.
Além disso, as avaliações devem ser periódicas e sucessivas, permitindo uma
comparação para que possamos acompanhar o progresso do avaliado com precisão,
sabendo se houve evolução positiva ou negativa. Dessa forma, é possível reciclar o
programa de treinamento e estabelecer novas metas.
Na maioria das vezes esta tarefa é realizada anotando-se os dados em papel para
posteriormente serem passados para algum sistema ou banco de dados. Porém, essa
técnica pode causar uma base de dados errada, uma vez que a pessoa que passa os dados
para o meio digital pode não a ser a mesma que anotou estes dados. Além disso,
realizando-se esta atividade desta forma são necessárias duas etapas, o que atrasa o
processo.
Devido a essas deficiências, nossa idéia foi desenvolver um aplicativo para celular
para facilitar o trabalho de instrutores em academias de ginásticas. Neste aplicativo, os
instrutores poderiam fazer a coleta dos dados e ao mesmo tempo passá-los para um banco
de dados evitando assim os erros e a segunda parte do processo anterior.
Além disso, nosso aplicativo também auxiliria no processo de confecção da ficha
de exercícios dos alunos. Essa atividade nas academias é feita pelo instrtutor que
determina os exercícios a serem realizados por cada aluno, baseando-se em sua avaliação
física, anotando os exercícios em uma ficha de papel. Muitas vezes essas fichas se
perdem e é necessário fazer outra ficha. Porém, como não se tem nenhum registro da
ficha anterior, isso acaba prejudicando o aluno além de ter um custo maior para as
academias.
Com o aplicativo desenvolvido os instrutores economizariam tempo, evitariam
erros, tudo isso proporcionado pela mobilidade do aplicativo. Nos próximos tópicos serão
apresentadas as características do sistema, como plataformas, tecnologias, requisitos,
diagramas, interfaces, etc.
2. Documentação do sistema
2.1 Requisitos Funcionais
Figura 1 – Diagrama de casos de usos
Visualizar Atletas
O sistema deverá possuir uma funcionalidade que possa permitir ao instrutor visualizar
todos os atletas da academia.
Criar ficha de exercícios
O sistema deve possibiltar que o instrutor cadastre uma ficha de exercícios para um
determinado atleta.
Visualizar fichas de exercícios
O sistema deverá ter a função de visualizar todas as fichas de exercícios cadastradas para
um determinado atleta.
Remover fichas de exercícios
O sistema deverá ser capaz de remover qualquer ficha de exercícios.
Visualizar exercicios de uma ficha de exercicios
O sistema deve ter a função de visualização dos exercícios cadastrados para uma
determinada ficha de exercícios.
Cadastrar exercicios para uma ficha de exercícios
O sistema deverá possibiltar o cadastro dos exercícios que farão parte de uma ficha de
exercícios de um determinado atleta.
Remover exercicios de uma ficha de exercícios
O sistema deve ter a capacidade para remoção de qualquer exercício de uma fich ade
exercícios.
Visualizar fichas de medidas de um atleta
O sistema deverá possuir a funcionalidade de visualizar as fichas de medidas de um
determinado atleta.
Criar uma ficha de medidas para um atleta
Poderão ser criadas fichas de medidas para um determinado atleta.
Remover uma ficha de medidas
Qualquer ficha de medidas poderá ser removida do sistema.
Cadastrar medidas em uma ficha de medidas
As medidas dos atletas poderão ser cadastradas em uma ficha de medidas.
Visualizar medidas de uma ficha de medidas
O sistema deverá possibilitar a visualização das medidas dos atletas cadastradas em uma
determinada ficha de medidas.
2.2 Decisões de Projeto
A principal decisão tomada para o desenvolvimento do sistema foi a arquitetura
em multi-camadas. Este tipo de arquitetura possibilita que a camada de apresentação do
software seja independente da camada de controle de regras de negócios e que essa seja
independente da camada de armazenamento dos dados. Dessa forma, é possível construir
um software inteiro sem se preocupar se o armazenamento de dados será em arquivos
simples, xml ou bancos de dados relacionais. Além disso, softwares construídos dessa
forma tornam-se mais manuteníveis pois impedem que uma mudança em uma parte do
software seja propagada para todo ele. Esta decisão foi importante pois possibilitou que o
sistema fosse feito em paralelo pelos membros do grupo o que agilizou o
desenvolvimento.
Por todas essas vantagens o sistema foi dividido em 7 camadas, como pode ser
visto na figura abaixo.
Figura 2 – Arquitetura do sistema
Camada de Interface (Telas J2ME)– é a camada responsável por toda a parte visual do
sistema. È onde são desenvolvidas as telas e os relacionamentos entre elas.
Camada Delegates (Service Locator)– é a camada responsável por fazer a comunicação
entre a interface e o webservice. É nessa camada que acontece a chamada aos métodos
disponibilizados pelo webservice.
Camada Webservice – é o próprio webservice construído para disponibilizar as
funcionalidades do sistema através de um servidor de aplicações.
Camada Controller – é a camada responsável por fazer uma fachada entre o webservice
e a camada de negócio. O que esta camada faz é receber uma requisição do webservice e
passar essa requisição a camada de negócio, devolvendo para o webservice a resposta
obida.
Camada Business – é a camada reponsável por fazer a persistência dos dados. Esta
camada lida diretamente com o banco de dados.
Camada DTO – essa camada foi construída para encapsular os dados e tornar mais fácil
a transferência destes entre as diversas camadas. Basicamente, a única camada que lida
diretamente com o objeto de negócio é a Business, todas as outras acessam estes objetos
através de seus DTO’s que significa Data Transfering Object. Nessa camada também
acontece a serialização e desserialização dos dados, uma vez que o pacote J2ME não
possui a classe Serializable do java que faz este papel.
Camada de Banco de Dados – é o próprio banco de dados utilizado para o
armazeamento dos dados.
Além disso, o sistema foi desenvolvido utilizando padrões de codificação, que
torna o código mais legível e manutenível.
Foram utilizados padrões de projeto como o Abstract Factory, que possibilita a
criação de uma família de objetos de forma abstrata.
Também foi decidido tornar o sistema o mais robusto possível. Dessa forma,
todas as falhas são tratadas incluindo inconsistências geradas por operações realizadas em
paralelo por diversos instrutor sobre uma mesma entidade. Quando algum erro acontece
uma mensagem é exibida para o instrutor.
2.3 Diagramas
2.3.1 Diagramas de classes
Figura 3 - Diagrama de classes da camada Delegates
Figura 4 – Diagrama de classes da camada Controller
Figura 5 – Diagrama de classes da camada DTO
Figura 6 – Diagrama de classes da camada Business
2.3.2 Modelo Conceitual
Figura 7 – Modelo Conceitual do Banco de Dados
2.3.3 Diagrama de Interface
Este diagrama é produzido pelo próprio NetBeans e mostra o um diagram de estados
entra as telas que compõem a interface do sistema. Mais adiante essas telas poderão ser
visualizadas.
Figura 8 – Diagrama de Interface
WSErroForm – é a tela onde aparace uma mensagem quando não é possível encontrar o
webservice ou acontece algum erro na comunicação com esse.
LoginForm - é a tela de login do sistema.
LoginErroForm - é a tela onde aparece mensagem de erro quando usuário e/ou senha
são inválidos.
MenuOpcoesForm – é a tela principal do sistema que mostra as opções de consulta a
atletas , fichas de exercícios ou fichas de medidas. Se selecionada alguma das duas
últimas opções, esta tela leva a tela SelecionarAtletasForm.
AtletasForm - é a tela onde os atletas do sistema podem ser listados.
SelecionarAtletasForm - é a tela onde deve-se selecionar o atleta desejado para seguir
para a consulta de fichas de exercícios ou de medidas.
FichasMedidasForm - é a tela onde podem ser visualizadas as fichas de medidas de um
determinado atleta. Se a opção Abrir é direcionado para a tela AbrirFichaMedidaForm.
FichasMedidasErroForm – é a tela em que aparece mensagem de erro quando algum
erro ocorre ao abrir, remover ou adicionar fichas de medidas.
AbrirFichaMedidaForm – tela onde são mostradas as medidas cadastradas para uma
determinada ficha de medidas.
CadastroMedidasForm – tela onde medidas são cadastradas para uma nova ficha de
medidas.
CadastroMedidasErroForm – tela de advertência por algum erro no cadastro de
medidas, como por exemplo a inclusão de uma caracter num campo numérico.
FichasExercíciosForm – é a tela onde podem ser visualizadas as fichas de exercícios de
um determinado atleta. Se a opção Abrir é direcionado para a tela
AbrirFichaExercícioForm.
FichasExercíciosErroForm - é a tela em que aparece mensagem de erro quando algum
erro ocorre ao abrir, remover ou adicionar fichas de exercícios.
AbrirFichaExercícioForm – tela onde são listados os exercícios cadastrados para uma
ficha de exercícios. Se a opção Adicionar for selecionada a tela AdicionarExercicioForm
é aberta.
AdicionarExercícioForm – tela onde pode ser adicionado um novo exercício à ficha.
AdicionarExercícioErroForm – tela de alerta quando algum erro acontece ao adicionar
um exercício, por exemplo se o instrutor esqueceu de editar algum campo necessário.
3. Descrição das tecnologias utilizadas
3.1 Ferramentas de desenvolvimento
3.1.1 Celulares
Os celulares são divididos segundo o protocolo de comunicação utilizado. A
primeira geração de celulares (1G) possuía comunicação analógica e não permitia a
transmissão de dados digitais. É uma tecnologia em desuso.
A segunda geração de celulares (2G) usa comunicação digital e é atualmente a
tecnologia mais usada no país. Celulares 2G permitem, além da comunicação por voz,
transmissão de dados digitais a baixa velocidade (14,4 Kbps), acesso a internet (WAP) e
envio de mensagens SMS. Os protocolos mais utilizados são o TDMA (Time Divison
Multiple Access), CDMA (Code-Division Multiple Access) e GSM. Esses protocolos
permitem uma taxa de transmissão de cerca de 10 Kbps.
Algumas extensões desses protocolos permitem taxas de transmissão da ordem de
algumas dezenas de Kbps. É o caso do CDMA 1xRTT, com taxa de transmissão de 144
kbps (adotada, por exemplo, pela Vivo), e do GPRS, extensão do GSM, com conexão
permanente e taxa de transmissão da ordem de 50 kbps (adotada pela TIM). Esses
protocolos são conhecidos como geração 2,5G e estão começando a ser implantados no
país.
Há ainda uma terceira geração de celulares (3G), com taxas de transmissão ainda
maiores, da ordem de centenas de kbps. O protocolo mais famoso é o EDGE, a terceira
geração do GSM.
O celulare foi escolhido como portador do nosso sistema por ser um aparelho de
fácil acesso que não incluiria gastos em excesso para as academias.
3.1.2 NetBeans
O open-source NetBeans, feito 100% em Java, é um dos mais tradicionais IDEs
de desenvolvimento. A versão utilizada no trabalho foi a 5.5. Esse IDE apresenta uma
tradicional interface com o desenvolvedor, com uso de menus, barras de ferramentas e
outros componentes UI-interfaces, além de editores para aplicações visuais ou WEB /
J2EE, com suporte a XML/ DTDs /Schemas. Sempre lembrando, que devido a sua
natureza 100% Java, é um IDE multi-plataforma. Observando mais diretamente as
qualidades do NetBeans, podemos citar:
• Suporte a linguagens Java, C, C++;
• Depurador de Servlets;
• Suporte a EJBs e Web Services;
• Suporte ao framework ANT e servidor TOMCAT;
• http Monitor para Monitoramento de aplicações WEB;
Com uma grande aceitação junto aos desenvolvedores Java, também possui vários
módulos de expansão, semelhantes aos conhecidos plugins do Eclipse, seu concorrente
direto. Para a realização do trabalho foi utilizado o módulo Mobility Pack. Esse módulo é
usado para desenvolver aplicativos para dispositivos compatíveis com CLDC (Connected
Limited Device Configuration) 1.0 ou 1.1 e MIDP (Mobile Information Device Profile)
1.0 ou 2.0. Entre suas ferramentas está o Visual Mobile Designer para desenvolvimento e
protótipos rápidos: apenas arrastando e soltando são criadas telas de espera, tabelas e
telas de abertura na tela. Além disso, este pacote disponibiliza um simulador onde os
aplicativos podem ser testados como num celular.
3.1.3 Tomcat
O Tomcat é um servidor de aplicações Java para web. É distribuído como
software livre e desenvolvido como código aberto dentro do conceituado projeto Apache
Jakarta e oficialmente endossado pela Sun como a Implementação de Referência (RI)
para as tecnologias Java Servlet e JavaServer Pages (JSP). O Tomcat é robusto e eficiente
o suficiente para ser utilizado mesmo em um ambiente de produção.
Tecnicamente o Tomcat é um container Web, cobrindo parte da especificação
J2EE com tecnologias como Servlet e JSP, e tecnologias de apoio relacionadas como
Realms e segurança, JNDI Resources e JDBC DataSources. O Tomcat tem a capacidade
de atuar também como servidor web/HTTP, ou pode funcionar integrado a um servidor
web dedicado como o Apache httpd ou o Microsoft IIS.
O NetBeans já possui o Tomcat embutido e este foi utilizado no sistema para
hospedar o webservice que oferece os serviços para a aplicação.
3.1.4 J2ME Wireless Toolkit
O J2ME Wireless Toolkit é uma ferramenta avançada para desenvolver as
aplicações wireless que são baseadas CLDC e MIDP, e projetado para funcionar em
telefones celulares, nos assistentes digitais pessoais, e em outros dispositivos móveis
pequenos. O toolkit inclui os ambientes da simulação, otimização do desempenho,
documentação, e os exemplos que os colaboradores necessitam para desenvolver
aplicações wireless eficientes e bem sucedidas.
Para o sistema em questão o toolkit foi utilizado utilizado para gerar os stubs
(classes que simulam os serviços oferecidos pelo Web Service) para que a camada
Delegates pudesse acessar a camada Controller via Web service.
3.1.5 MySQL
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza
a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada)
como interface. É atualmente um dos bancos de dados mais populares, com mais de 4
milhões de instalações pelo mundo.
Algumas características do MySQL são:
•
•
•
Portabilidade (suporta praticamente qualquer plataforma atual)
Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface
para diversas linguagens de programação, como Delphi, Java, C/C++, Python,
Perl, PHP e Ruby)
Excelente desempenho e estabilidade
•
•
•
Pouco exigente quanto a recursos de hardware
Fácil de usar
É um Software Livre (característica mais importante no nosso caso).
A versão do MySQL utilizda no projeto foi 5.0.
3.2 Tecnologias utilizadas
3.2.1 J2ME
O J2ME (Java 2 Micro Edition) é o ambiente de desenvolvimento para
dispositivos móveis ou portáteis, como telefones celulares e palmtops. Como a linguagem
Java já era conhecida e a adaptação ao J2ME não é complicada, logo surgiram diversos
tipos de aplicativos para tais dispositivos, como jogos e agendas eletrônicas. As empresas
saíram ganhando com isso porque, desde que seus dispositivos tenham uma JVM (Java
Virtual Machine - Máquina Virtual Java), é possível, com poucas modificações,
implementar os aplicativos em qualquer aparelho, sendo o único limite a capacidade do
hardware.
A plataforma J2ME contém configurações e bibliotecas trabalhadas especialmente
para a atuação em dispositivos portáteis. Assim, o desenvolvedor tem maior facilidade
para lidar com as limitações de processamento e memória, por exemplo. Um exemplo
disso é a configuração chamada CLDC (Connected Limited Device Configuration),
destinada a dispositivos com recursos de hardware bastante limitados, como
processadores de 16 bits e memórias com 512 KB de capacidade. Essa configuração
contém uma JVM e um conjunto básico de bibliotecas que permite o funcionamento da
aplicação Java em dispositivos com tais características.
O J2ME no sistema foi utilizado para o desenvolvimento das interfaces.
3.2.2 J2SE
O J2SE ou Java SE é a ferramenta necessária para o desenvolvimento de
aplicações em Java. Ela contém todo o ambiente necessário para a criação e execução de
aplicações Java, incluíndo a máquina virtual Java (JVM), o compilador Java, as APIs do
Java e outras ferramentas utilitárias.
O J2SE (Java 2 Standard Edition) é o ambiente de desenvolvimento mais
utilizado. Isso porque seu uso é voltado a PCs e servidores, onde há bem mais
necessidade de aplicações. Além disso, pode-se dizer que essa é a plataforma principal, já
que, de uma forma ou de outra, o J2EE e o J2ME tem sua base aqui. Pode-se dizer que
esses ambientes de desenvolvimento são versões aprimoradas do J2SE para as aplicações
a que se propõem.
O J2SE foi utilizado no sistema para o desenvolvimento das camadas Controller,
Business, Delegates, DTO e o Webservice.
3.2.3 Webservice
Web service é uma solução utilizada na integração de sistemas e na comunicação
entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam
interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas
diferentes sejam compatíveis. Os Web services são componentes que permitem às
aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua
própria "linguagem", que é traduzida para uma linguagem universal, o formato XML.
Para as empresas, os Web services podem trazer agilidade para os processos e
eficiência na comunicação entre cadeias de produção ou de logística. Toda e qualquer
comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há
intervenção humana.
As bases para a construção de um Web service são os padrões XML e SOAP. O
transporte dos dados é realizado, normalmente, via protocolo HTTP (o padrão não
determina o protocolo de transporte). Os dados são transferidos no formato XML,
encapsulados pelo protocolo SOAP. Os serviços (operações, mensagens, parâmetros, etc.)
são descritos usando a linguagem WSDL (WebServices Definition Language). O
processo de publicação/pesquisa/descoberta de WebServices, quando estes são
publicados num servidor de aplicação, utiliza o protocolo UDDI (Universal Description,
Discovery and Integration).
Figura 9 – Tecnologias utilizadas por um webservice.
Para o desenvolvimento do sistema foi criado um webservice para disponibilizar
através do Tomcat todas as funcionalidades exigidas para a aplicação, exigidas pelos
requisitos funcionais.
3.2.4 WAP
WAP (Wireless Application Protocol) é o equivalente ao HTTP para telefones
celulares. O padrão WAP define uma linguagem de markup (WML) semelhante ao
HTML. Define também uma linguagem de script (WMLScript), semelhante ao
JavaScript. As páginas WAP são bastante limitadas quanto aos recursos gráficos e à
interação com o usuário. WAP possui, por exemplo, um protocolo de conexão segura,
mas não permite, entre outras coisas, o uso de cookies.
Para acessar uma página WAP, o usuário precisa de um telefone celular com um
browser WAP. Celulares com essas características são bastante comuns atualmente.
3.3 Protocolos de Comunicação
3.3.1 Wi-Fi
O Wi-Fi (Wireless Fidelity) também conhecido como WLAN (Wireless Local Area
Network), é uma tecnologia de redes locais wireless que se estendem por uma pequena
área, e que utilizam altas freqüências de ondas de rádio, ao invés de fios, para a
comunicação entre dispositivos móveis.
É uma tecnologia que, apesar de possuir pequenos alcances, permite acesso em
banda larga, e está implementada sobre o padrão IEE 802.11, que opera em freqüências
que variam entre 2,4 GHz e 5 GHz, e que fornece aos seus usuários o acesso a redes
públicas e privadas de uma forma simples e cômoda, possibilitando alta mobilidade,
flexibilidade e conveniência no acesso à informação, além da facilidade de montagem e
manutenção.
A tecnologia Wi-Fi pode ser constituída de várias formas dependendo do tipo
de rede em que ela se situa:
• Rede Local: utilização de Access-Points, que são considerados switches de
uma rede sem fio, e adaptadores Wi-Fi simples.
• Rede Metropolitana: utilização de antenas e adaptadores Wi-Fi com pigtails.
• Rede Ampla: utilização de antenas, amplificadores, adaptadores Wi-Fi com
pigtails.
A figura abaixo mostra a topologia básica de uma rede local Wi-Fi.
Figura 10: Topologia básica de uma rede local Wi-Fi
No processo de implementação de redes Wi-Fi, volta-se atenção para locais
estratégicos também chamados de Hot-Spots, que são locais freqüentados por
profissionais em viagem, como por exemplo, hotéis, aeroportos, centros de reuniões,
zonas comerciais, ou estádios de futebol, onde parece ser necessário se ter acesso à
Internet.
Outra tecnologia que poderia ter sido usada é o Bluetooth que é um padrão
proposto pelo Bluetooth SIG (Special Interest Group), um consórcio das maiores
empresas de telecomunicações e computação do mundo. O padrão opera na faixa de 2,4
GHz e tem como princípio propor uma tecnologia de baixo custo, para conectividade sem
fio. Porém, optamos por usar o Wi-Fi que pode operar a distâncias maiores entre os
aparelhos.
4. Descrição do funcionamento do Sistema
4.1 Tela de Login
Para realizar o login são necessários os seguintes passos:
1 – o instrutor digita o login
2 – o instrutor digita a senha
3 – o instrutor aperta o botão onde está indicado ok.
Figura 11 – Tela de Login
Caso a senha ou o login estiverem incorretos o sistema exibe a seguinte mensagem:
Figura 12 – Mensagem exibida quando não é possível realizar login
4.2 Tela Principal
Figura 13 – Tela Principal
Na tela principal existem 3 opções. A primeira habilita a funcionalidade de
consulta a atletas, a segunda habilita a funcionalidade de consulta a fichas de exercícios e
a terceira habilita a funcionalidade de consulta a fichas de medidas.
Para selecionar alguma das opções basta navegar pelos botões
e
,
selecionar a opção desejada com o botão
e clicar sobre o botão indicando ok.
4.3 Tela de Consulta a Atletas
Nesta tela é possível listar os atletas cadastrados no sistema. Para isto, basta
digitar o nome ou parte do nome no campo Nome que se deseja procurar e clicar sobre o
botão indicando Filtrar. Para listar todos os atletas cadastrados, basta deixar o campo
Nome em branco.
Figura 14 – Tela de Consulta a Atletas
4.4 Tela de Seleção de Atleta
Para acessar as funcionalidades de consulta a fichas de exercícios e medidas é
necessário antes selecionar o atleta que deseja-se consultar e para tanto a tela acima é
utilizada. Nesta tela o instrutor precisa digitar um nome ou parte de um nome no campo
Nome do Atleta, clicar sobre o botão indicando Menu, selecionar a opção Filtrar com os
botões
e
e finalizar clicando sobre o botão
. Logo após aparecerão os
atletas correspondentes ao nome digitado. Para selecionar o atleta e assim acessar as
funcionalidades o instrutor deverá usar novamente os botões
,
e
, e então
acessar de novo o menu e selecionar a opção Selecionar. Logo após estes passos a
funcionalidade desejada será iniciada.
Figura 15 – Tela de Seleção de Atleta
4.5 Tela de Consulta a Fichas de Exercícios
Figura 16 – Tela de Consulta a Fichas de Exercícios
A tela acima mostra todas as fichas de exercícios cadastradas para o atleta
escolhido anteriormente, como pode ser visto na parte superior da tela onde diz a
funcionalidade e o atleta escolhidos. A partir desta tela pode-se criar uma nova ficha,
editar/visualizar ou remover uma ficha.
Para editar ou visualizar uma ficha de exercícios é necessário selecionar uma
ficha com os botões
,
e
, clicar sobre o botão indicando Menu e
novamente com os botões ditos anteriormente selcionar a opção Abrir. Neste caso, a tela
abaixo será aberta a Tela de Consulta de Exercícios.
Para criar uma nova ficha basta acessar o Menu, como dito antes, e selecionar a
opção Novo. Neste caso, uma nova ficha será criada automaticamente e adicionada a lista
mostrada nesta mesma tela. Os exercícios podem ser cadastrados através da opção Abrir.
Para remover uma ficha é necessário acessar o Menu e selecionar a opção
Remover. Neste caso, a ficha será automaticamente removida juntamente com os
exercícios cadastrados para ela.
4.6 Tela de Consulta de Exercícios
Figura 17 – Tela de Consulta de Exercícios
Nesta tela podem ser removidos e adicionados exercícios de uma ficha de
exercícios. Para adicionar é necessário clicar sobre o botão indicando Menu e com os
botões
,
e
selecionar a opção Adicionar. Neste caso, a Tela de Cadastro
de Exercício será aberta.
Para remover um exercício basta acessar o Menu e selecionar a opção Remover.
Neste caso, o exercício selecionado será removido automaticamente e desaparecerá da
lista mostrada nesta tela.
4.7 Tela de Cadastro de Exercícios
Nesta tela um exercício deve ser cadastrado. Os campos necessários para o
cadastro são o Nome do Exercício, o número de Repetições, o Peso que será utilizado no
exercício, o Tipo, se o exercício fará parte da ficha A, B, C , etc. e o número de Séries
que serão realizadas. Qualquer inclusão de um caracter nos campos Repetição, Peso e
Séries é tratada exibindo-se uma mensagem indicando o erro. Da mesma forma, a
inclusão de um número no campo Tipo também faz o sistema exibir uma mensagem de
erro.
Todos os campos acima são obrigatórios e para adicionar o exercício é necessário
clicar sobre o botão indicando Adicionar. Para cancelar a operação basta clicar sobre o
botão indicando Voltar.
Figura 18 – Tela de Cadastro de Exercícios
4.8 Tela de Consulta a Fichas de Medidas
Figura 19 – Tela de Consulta a Fichas de Medidas
A partir desta tela pode-se editar/visualizar, remover ou adicionar uma ficha de
medidas para o atleta anteriormente selecionado. Para adicionar uma ficha de medidas é
necessário clicar sobre o botão indicando Menu, e com os botões
,
e
selecionar a opção de menu Novo. Dessa forma, será criada uma nova ficha
automaticamente e está será mostrada na lista desta mesma tela.
Como inicialmente são listadas todas as fichas de medidas cadastradas para o
atleta selecionado, para editar/visualizar uma das fichas é necessário selecioná-la dentre
esta lista, para isto deve-se usar os botões
,
e
. Após este passo basta
acessar o Menu e selcionar a opção Abrir. Neste caso, a Tela de Cadastro de Medidas
será aberta.
Para remover uma ficha, basta selecioná-la, como mostrado no passo anterior,
acessar o Menu e selecionar a opção Remover. Neste caso, a ficha será removida
automaticamente e retirada da lista mostrada nesta tela.
4.9 Tela de Cadastro de Medidas
Nesta tela são cadastradas as seguintes medidas Peso, Altura, Dobra Toráxica,
Dobra Abdominal, Dobra Tricipal, Dobra Supra-Ilíaca, Dobra de Coxa, Tórax, Cintura,
Abdômen, Quadril, Antebraço Direito, Antebraço Esquerdo, Braço Direito, Braço
Esquerdo, Coxa Direita, Coxa Esquerda, Panturrilha Direita e Panturrilha Esquerda.
Todos estes campos são obrigatórios e devem ser numéricos. Qualquer caracter incluso
em algum destes campos é indicado como erro pelo sistema através de uma mensagem.
Para adicionar as medidas basta clicar sobre o botão indicando Salvar. E para
cancelar a operação basta clicar sobre o botão indicando Voltar.
Figura 20 – Tela de Cadastro de Medidas
5. Dificuldades encontradas
Não foram encontradas muitas dificuldades na realização do trabalho uma vez que
as ferramentas utilizadas tem bom suporte ao tipo de aplicação desenvolvida. A
dificuldade que damos destaque é a serialização de dados.
Para a utilização do webservice construído era necessário uma forma de serializar
e desserializar os dados que estavam representados em forma de objetos. No Java
convencional existe uma classe Serializable que dá a característica de serialização às suas
sub-classes. Porém no J2ME não existe essa classe. Portanto, foi necessário criar um
pacote DTO tanto do lado cliente quando do lado servidor da aplicação, uma vez que as
classes deste pacote é que deveriam ser “transporatadas” pelo webservice. Por isso foram
criados dois métodos nas classes deste pacote, um deles responsável por serializar os
objetos, transformá-los em uma string, e outro para desserializar os objetos, transformar a
string recebida novamente em objeto. Esta deficiência do J2ME acabou dificultando e
atrasando o desenvolvimento do sistema.
Além disso, encontramos dificuldade na utilização da ferramenta disponibilizada
pelo NetBeans para o desenvolvimento de interfaces. Esta ferramenta gera um código
difícil de ser entendido e de baixa manutenibilidade. Além disso, o código gerado impede
o uso de eficientes técnicas de orientação a objeto como a herança, obrigando-nos a reptir
código em diversas telas com caracter´sticas semelhantes.
6. Bibliografia
[1]Bluetooth.org - The Official Bluetooth Membership Site., URL:
http://www.bluetooth.org, Pesquisado em 10 de fevereiro de 2007.
[2]Deitel e Deitel., Internet and Mobile Business: How To Program., 2002.
[3]Deitel e Deitel ; Java: Como Programar – 6ª Edição – São Paulo
[4]Maia, R.M.F.; Bluetooth - Promessas de uma nova tecnologia, Monografia de
Conclusão do Curso de Bacharelado em Sistemas De Informação - Faculdade Integrada
do Recife, 2003.
[5]Toso, R. F.; Andrade, C.E.; Nogueira, F.L.B., Redes sem fio IEEE 802.11., URL:
http://www.comp.ufla.br/ rtoso/docs/Wireless.pdf, Pesquisado em 10 de Fevereiro de
2007.
[6]Wap Forum., Wireless Application Protocol White Paper.,2000.
[7] Material das aulas de INF655
Download