A PLICATIVO ANDROID DE ACOMPANHAMENTO DE TREINOS DE ...dsc.inf.furb.br › arquivos › tccs ›...
Transcript of A PLICATIVO ANDROID DE ACOMPANHAMENTO DE TREINOS DE ...dsc.inf.furb.br › arquivos › tccs ›...
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO
APLICATIVO ANDROID DE ACOMPANHAMENTO DE
TREINOS DE USUÁRIOS DE ACADEMIAS
RAMON VALENTIM DA SILVA
BLUMENAU 2014
2014/2-14
RAMON VALENTIM DA SILVA
APLICATIVO ANROID DE ACOMPANHAMENTO DE
TREINOS DE USUÁRIOS DE ACADEMIAS
Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Sistemas de Informação— Bacharelado.
Prof. Mauro Marcelo Mattos, Doutor - Orientador
BLUMENAU 2014
2014/2-14
APLICATIVO ANDROID DE ACOMPANHAMENTO DE
TREINOS DE USUÁRIOS DE ACADEMIAS
Por
RAMON VALENTIM DA SILVA
Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:
______________________________________________________ Presidente: Prof. Mauro Marcelo Mattos, Doutor – Orientador, FURB
______________________________________________________ Membro: Prof. Wilson Pedro Carli, Mestre – FURB
______________________________________________________ Membro: Prof. Aurélio Faustino Hoppe, Mestre – FURB
Blumenau, 04 de dezembro de 2014.
Dedico este trabalho aos familiares, amigos, professores e a todos que torceram, acreditaram e contribuíram diretamente na realização deste.
AGRADECIMENTOS
A Deus, pelo seu imenso amor e graça.
À minha família, pelo incentivo, apoio e compreensão nos momentos difíceis.
Ao meu orientador, professor Mauro Marcelo Mattos, por ter acreditado, apoiado e
contribuído para a conclusão deste trabalho.
Aos professores do Departamento de Sistemas e Computação da Universidade
Regional de Blumenau por suas contribuições durante os semestres letivos.
A minha noiva, Evelyn Brueckheimer, pelo incentivo e compreensão durante o
desenvolvimento deste trabalho.
Aos meus amigos Ricardo Tomelin e Bárbara Dias Pereira, pelo incentivo, sugestões,
ensinamentos e por todas as contribuições que foram de grande importância na conclusão
deste trabalho.
Seja persistente. Supere obstáculos diariamente. O mundo costuma ser cruel com aqueles que desistem.
Jufras Menhal
RESUMO
O presente trabalho apresenta um aplicativo desenvolvido através da Interface de
Desenvolvimento Integrado (IDE) Delphi XE5 e do banco de dados SQLite para o sistema
operacional Android, que tem como objetivo possibilitar a um personal trainer o
acompanhamento do desenvolvimento de alunos e a prescrição de planos de treino
personalizados através de um dispositivo móvel. Além destas ferramentas, para o
desenvolvimento do aplicativo também foi utilizada a linguagem de programação PHP e o
banco de dados MySQL para manipulação dos dados no webservice. O aplicativo possui dois
tipos de usuários que tem acesso a diferentes funcionalidades: o personal trainer e o aluno. O
aplicativo proporciona ao personal trainer desenvolver planos de treino e disponibilizá-los
para download do aluno. Ao aluno, o aplicativo possibilita o download de treinos
disponibilizados, registro de treinos e registro de medidas. Além disso, o personal trainer
pode analisar o desenvolvimento do aluno através de relatórios gráficos baseados nos
registros de medidas do mesmo. Como resultado, obteve-se um aplicativo funcional que
possibilita a comunicação entre o personal trainer e o aluno sem que haja a necessidade de
contato físico e que, desta forma, permita um acompanhamento do desenvolvimento e
controle dos treinamentos do aluno de forma remota. Além disso, a IDE Delphi XE5 mostrou-
se adequada para o desenvolvimento de aplicativos para o sistema operacional Android.
Palavras-chave: Avaliação física. Acompanhamento do desenvolvimento. Delphi XE5.
ABSTRACT
This work presents an application developed with the Integrated Development Interface (IDE)
Delphi XE5 and the SQLite database for Android OS which aims to enable the trainer to
monitor the development of students and the prescription of personalized training plans via
mobile devices. In addition to these tools, PHP programming language and the MySQL
database for data handling in web service were also adopted for the application's
development. The application has two types of actors that have access to different features:
the personal trainer and the student. The application provides the personal trainer actor the
possibility to develop training plans and make them available for download for the student. To
the student actor, the app provides the download of available workouts, and also previous
workout and measurement records. Furthermore, the personal trainer can analyze the student's
development through graphical reports based on his records of measurements. As result, there
was obtained a functional application that allows communication between the personal trainer
and the student without physical contact and allow monitoring of the development and control
of remotely student training. Besides this, the Delphi IDE XE5 proved to be adequate for
applications development for the Android operating system.
Key-words: Physical evaluation. Monitoring of development. Delphi XE5.
LISTA DE FIGURAS
Figura 1 - Lista de Compiladores do Delphi XE5 ................................................................. 19
Figura 2 - Avaliação Física Sistema Academia.Net .............................................................. 21
Figura 3 - Criação do Plano de Treino Aplicativo FitSync .................................................... 22
Figura 4 - Criação da Ficha de treino Aplicativo FitX .......................................................... 23
Figura 5 - Registro das Medidas do Usuário Aplicativo FitX ................................................ 23
Figura 6 - Diagrama de Casos de Uso................................................................................... 29
Figura 7 - Diagrama de Atividades do Processo de Confecção de Planos de Treino .............. 31
Figura 8 - Diagrama de Atividades do Processo de Cadastro das Medidas do Usuário .......... 32
Figura 9 - Diagrama de Atividades dos Processos de Disponibilização e Download ............. 33
Figura 10 - Modelo de Entidade de Relacionamento (MER) – Base de Dados Interna .......... 34
Figura 11 - Modelo de Entidade de Relacionamento (MER) – Base de Dados Externa ......... 35
Figura 12 - Acesso ao arquivo e criação da base de dados no SQLite ................................... 37
Figura 13 - Criação das tabelas “Equipamento” e “Exercicio” .............................................. 37
Figura 14 - Instância da biblioteca NuSOAP e criação do webservice ................................... 38
Figura 15 - Tela de Boas Vindas do Aplicativo .................................................................... 40
Figura 16 - Cadastro de Usuário (Preenchido) ...................................................................... 41
Figura 17 - Código executado pelo Delphi para validar e-mail existente ............................... 42
Figura 18 - Código executado em PHP para validar e-mail existente .................................... 42
Figura 19 - Código executado pelo Delphi para inserir usuário na base externa .................... 43
Figura 20 - Código executado em PHP para inserir usuário na base externa ......................... 44
Figura 21 - Tela de Login (Preenchida) ................................................................................ 44
Figura 22 - Tela de Recuperação de Senha ........................................................................... 45
Figura 23 - E-mail de Recuperação de Senha ....................................................................... 45
Figura 24 - Menu do Aplicativo ........................................................................................... 46
Figura 25 - Telas do processo de cadastro do registro de medidas ........................................ 47
Figura 26 - Telas do processo de cadastro de equipamentos ................................................. 48
Figura 27 - Telas do processo de cadastro de exercícios ....................................................... 49
Figura 28 - Telas do processo de cadastro de planos de treino .............................................. 50
Figura 29 - Telas do processo de cadastro de exercícios de um plano de treino ..................... 51
Figura 30 - Tela de Exportação ............................................................................................ 51
Figura 31 - Código no Delphi responsável pela exportação do que foi selecionado ............... 52
Figura 32 - Código executado pelo Delphi para inserir equipamento na base externa............ 53
Figura 33 - Código executado em PHP para inserir equipamento na base externa ................. 53
Figura 34 - Código executado pelo Delphi para inserir exercício na base externa ................. 54
Figura 35 - Código executado em PHP para inserir exercício na base externa ....................... 54
Figura 36 - Código executado pelo Delphi para inserir plano de treino na base externa ........ 55
Figura 37 - Código executado em PHP para inserir plano de treino na base externa .............. 55
Figura 38 - Código executado pelo Delphi para inserir exercícios do plano na base externa.. 56
Figura 39 - Código executado em PHP para inserir exercícios do plano na base externa ....... 56
Figura 40 - Telas do processo de Registro de Treinos ........................................................... 57
Figura 41 - Processo de Consulta de Treinos Registrados ..................................................... 58
Figura 42 - Tela de Exportação de Registros de Medidas ..................................................... 58
Figura 43 - Processo de Importação de Medidas ................................................................... 59
Figura 44 - Código executado pelo Delphi para importar os registros de medidas ................. 60
Figura 45 - Código executado em PHP para retornar as medidas disponibilizadas ................ 61
Figura 46 - Processo de acompanhamento gráfico do desenvolvimento do aluno .................. 62
Figura 47 - Tela de Acompanhamento do Desenvolvimento ................................................. 62
LISTA DE QUADROS
Quadro 1 - Requisitos Funcionais ......................................................................................... 27
Quadro 2 - Requisitos Não Funcionais ................................................................................. 28
Quadro 3 - Comparativo aplicativo desenvolvido x trabalhos correlatos ............................... 63
Quadro 4 - Detalhamento do caso de uso "UC05 - Manter planos de treino" ........................ 70
Quadro 5 - Detalhamento do caso de uso "UC06 - Manter medidas" .................................... 71
Quadro 6 - Detalhamento do caso de uso "UC08 - Disponibilizar treino cadastrado" ............ 72
Quadro 7 - Detalhamento do caso de uso "UC09 - Fazer download de treino previamente
cadastrado" ........................................................................................................ 72
Quadro 8 - Detalhamento do caso de uso "UC10 - Emitir relatório com resultado da análise de
desenvolvimento do aluno" ................................................................................ 73
Quadro 9 - Detalhamento do caso de uso "UC11 - Disponibilizar as medidas do aluno" ....... 73
Quadro 10 - Detalhamento do caso de uso "UC12 - Fazer download das medidas do aluno" 74
Quadro 11 - Tabela “equipamento” ...................................................................................... 75
Quadro 12 - Tabela “exercício” ............................................................................................ 75
Quadro 13 - Tabela “planos_treino” ..................................................................................... 75
Quadro 14 - Tabela "exercicios_treino" ................................................................................ 76
Quadro 15 - Tabela "medidas" ............................................................................................. 76
Quadro 16 - Tabela "registro_treino".................................................................................... 77
Quadro 17 - Tabela "itens_registro" ..................................................................................... 78
Quadro 18 - Tabela "usuario" ............................................................................................... 78
Quadro 19 - Tabela "equipamento_web" .............................................................................. 79
Quadro 20 - Tabela “exercicio_web”.................................................................................... 79
Quadro 21 - Tabela "planos_treino_web" ............................................................................. 79
Quadro 22 - Tabela "exercicios_treino_web" ....................................................................... 80
Quadro 23 - Tabela "medidas_web" ..................................................................................... 80
Quadro 24 - Tabela "usuario_web"....................................................................................... 81
LISTA DE SIGLAS
ANSI – American National Standards Institute
API – Application Programming Interface
CONFEF – Conselho Federal de Educação Física
CPU – Central Processing Unit
DDL – Data Definition Language
DLL – Dynamic Link Library
DML – Data Manipulation Language
EA – Enterprise Architect
GPU – Graphics Processing Unit
IDE – Integrated Development Environment
IMC – Índice de Massa Corporal
MER – Modelo de Entidade Relacionamento
PC – Personal Computer
PDA – Personal Digital Assistant
RAD – Rapid Application Development
RCQ – Relação Cintura Quadril
SGBD – Sistema de Gerenciamento de Banco de Dados
SQL – Structured Query Language
TCC – Trabalho de Conclusão de Curso
WSDL – Web Services Description Language
SUMÁRIO
1 INTRODUÇÃO ............................................................................................................. 12
1.1 OBJETIVOS DO TRABALHO..................................................................................... 13
1.2 ESTRUTURA DO TRABALHO .................................................................................. 13
2 FUNDAMENTAÇÃO TEÓRICA................................................................................. 15
2.1 EXERCÍCIOS FÍSICOS................................................................................................ 15
2.2 AVALIAÇÃO FÍSICA ................................................................................................. 15
2.3 DELPHI XE5 PARA ANDROID .................................................................................. 18
2.4 TRABALHOS CORRELATOS .................................................................................... 20
3 DESENVOLVIMENTO DO APLICATIVO................................................................ 25
3.1 LEVANTAMENTO DE INFORMAÇÕES ................................................................... 25
3.2 ESPECIFICAÇÃO ........................................................................................................ 26
3.2.1 Requisitos Funcionais .................................................................................................. 27
3.2.2 Requisitos Não Funcionais .......................................................................................... 28
3.2.3 Diagrama de Casos de uso ........................................................................................... 28
3.2.4 Diagrama de Atividades .............................................................................................. 30
3.2.5 Modelo de Entidade e Relacionamento (MER) ............................................................ 33
3.3 IMPLEMENTAÇÃO .................................................................................................... 36
3.3.1 Técnicas e ferramentas utilizadas................................................................................. 36
3.3.1.1 Banco de Dados SQLite ............................................................................................ 37
3.3.1.2 Biblioteca NuSOAP .................................................................................................. 38
3.3.2 Operacionalidade da Implementação ........................................................................... 39
3.4 RESULTADOS E DISCUSSÕES ................................................................................. 63
4 CONCLUSÕES ............................................................................................................. 65
4.1 EXTENSÕES ............................................................................................................... 66
REFERÊNCIAS ................................................................................................................. 67
APÊNDICE A – Descrição dos Casos de Uso.................................................................... 70
APÊNDICE B – Descrição do Dicionário de Dados.......................................................... 75
12
1 INTRODUÇÃO
Segundo Cunha (2007), a procura pelo corpo ideal vem se tornando umas das maiores
buscas de parte da sociedade, principalmente dos praticantes de atividades físicas. As pessoas
estão procurando cada vez mais, meios de alcançar este patamar corporal, utilizando diversos
métodos que dizem facilitar esta tarefa. Conseguir obter um corpo “perfeito” é visto como uma forma de alcançar sucesso, e uma das melhores formas de exercer um poder de atração sobre o sexo oposto. Simultaneamente, propaga-se a ideia de que quem apresenta um corpo magro e saudável é alguém capaz de exercer um elevado autocontrolo [sic], o que é tido como um atributo essencial para a obtenção de sucesso social. (PINHEIRO, 2012).
Ainda segundo Pinheiro (2012), é esta maneira de pensar que mais estimula a procura
da obtenção deste "corpo ideal" pelas pessoas através das atividades físicas. Graças a esta
procura excessiva, o mercado de personal trainers cresce muito atualmente. Segundo Lubisco
(2005, apud CONSELHO FEDERAL DE EDUCAÇÃO FÍSICA, 2014), esse crescimento tem
sido impulsionado principalmente pelo fato de que, cada vez mais, as pessoas desejam um
profissional confiável a seu alcance, que seja capaz de desenvolver um treinamento
personalizado que traga bons resultados.
No entanto, segundo Social Swimex (2013), a falta de tempo devido a fatores como o
dia-a-dia acelerado dos alunos e o trânsito das cidades, faz com que, conseguir manter um
treinamento e um acompanhamento de forma contínua não seja uma tarefa muito simples.
Além disso, o personal trainer também fica exposto as dificuldades de mobilidade urbana. O
deslocamento do local de treino de um aluno ao local de treino de outro aluno consome muito
tempo e acaba limitando a sua capacidade de atendimento.
Uma das ferramentas que podem auxiliar e facilitar o processo de acompanhamento do
personal trainer e na execução de exercícios pelos alunos, principalmente em locais fora da
academia, são os dispositivos móveis (MATSUURA, 2013). Segundo Santana (2011), "os
dispositivos computacionais móveis são aqueles que podem ser facilmente movidos
fisicamente ou que se mantenham funcional mesmo em movimento."
Com o suporte desses dispositivos móveis, o aluno tem a liberdade de executar seus
exercícios onde julgar mais conveniente, não necessariamente na academia que normalmente
frequenta desde que o local escolhido tenha os equipamentos necessários para a execução dos
exercícios propostos. Além disso, com o auxílio dos dispositivos móveis, o usuário ainda
poderá manter o acompanhamento de seu desenvolvimento e a troca de informações com seu
13
personal trainer mesmo estando longe dele.
Com base nisto, identificou-se a possibilidade de desenvolver um aplicativo que
auxilie nesta interação entre o aluno e o personal trainer através de dispositivos móveis, de
modo a possibilitar que os treinos prescritos pelo personal trainer cheguem ao aluno de forma
rápida e segura. Além disto, vislumbra-se a possibilidade de que o próprio aluno cadastre as
suas medidas e possibilite que o personal trainer faça o acompanhamento do
desenvolvimento do aluno e promova ajustes nos treinos à medida que for necessário.
No entanto, vale ressaltar que o acompanhamento do personal trainer continua sendo
importante. O aplicativo visa facilitar a comunicação entre o mesmo e o aluno, porém
tratando de aspectos como a postura e a execução correta de novos exercícios, o
acompanhamento dele é fundamental.
11..11 OOBBJJEETTIIVVOOSS DDOO TTRRAABBAALLHHOO
O objetivo geral deste trabalho é apresentar o desenvolvimento de um aplicativo no
ambiente de desenvolvimento integrado Delphi XE5 para dispositivos Android que possibilite
que um personal trainer acompanhe o desenvolvimento e oriente os seus alunos.
Os objetivos específicos do trabalho proposto são:
a) disponibilizar uma aplicação móvel que permita a execução de planos de treinos e
o registro de medidas;
b) disponibilizar um servidor externo para manipulação de planos de treinos e
registros de medidas;
c) disponibilizar um servidor que permita o acompanhamento do desenvolvimento do
usuário à distância;
d) disponibilizar um relatório gráfico de acompanhamento do desenvolvimento do
aluno para o personal trainer;
11..22 EESSTTRRUUTTUURRAA DDOO TTRRAABBAALLHHOO
No primeiro capítulo tem-se a introdução ao tema principal deste trabalho com a
14
apresentação da justificativa e dos objetivos.
No segundo capítulo apresenta-se a fundamentação teórica pesquisada sobre
Exercícios Físicos, Avaliação Física, Delphi XE5 para Android e Trabalhos Correlatos.
O terceiro capítulo apresenta o desenvolvimento do aplicativo, iniciando-se com o
levantamento de informações, tendo na sequência a especificação, implementação e por fim
resultados e discussões.
No quarto capítulo têm-se as conclusões deste trabalho bem como se apresentam
sugestões para trabalhos futuros.
15
2 FUNDAMENTAÇÃO TEÓRICA
Neste capítulo serão apresentados os aspectos teóricos necessários para um melhor
entendimento do trabalho, tais como exercícios físicos, avaliação física e sua importância no
desenvolvimento físico do usuário, Delphi XE5 para Android, além de trabalhos correlatos.
22..11 EEXXEERRCCÍÍCCIIOOSS FFÍÍSSIICCOOSS
Segundo Ribeiro (2009), um exercício físico é qualquer atividade que trabalhe com a
aptidão física em geral do praticante e que tenha como objetivo a melhora da saúde. Além
disso, sabe-se que existem diversas outras razões para a prática de exercícios físicos, como o
reforço de musculaturas, reforço do sistema cardiorrespiratório e cardiovascular, perda de
peso e ganho de massa muscular.
Segundo Soares (2014), a prática de exercícios físicos regularmente, inclusive por
indivíduos já adultos ou mesmo na terceira idade, traz benefícios que vão além do ganho de
massa muscular, perda de peso e prevenção de doenças cardiorrespiratórias e
cardiovasculares. Principalmente em idades mais avançadas, o exercício físico tem um papel
fundamental na prevenção de doenças neurológicas, como o Alzheimer.
No entanto, para a prática de qualquer exercício físico, desde os mais simples como
uma caminhada até os mais complexos, como a musculação, é recomendado um
acompanhamento profissional. Com o acompanhamento de um profissional de educação
física, as chances de alcançar seus objetivos com saúde e sem se machucar ao realizar o
exercício físico aumentam, pois através de avaliações físicas, ele é capaz de identificar as
limitações e os pontos positivos que devem ser explorados no aluno (ZUNINO, 2014).
22..22 AAVVAALLIIAAÇÇÃÃOO FFÍÍSSIICCAA
A busca por um corpo saudável e com boa forma está principalmente relacionada com
boa alimentação e prática de exercícios físicos. Contudo, para que as evoluções obtidas ao
16
longo do tempo possam ser observadas, são necessários parâmetros, como por exemplo, as
medidas do atleta. Sendo assim, é muito importante que o aluno seja avaliado através de uma
avaliação física antes de qualquer tipo de exercício físico. Dessa forma, é possível determinar
a condição física do indivíduo e obter os parâmetros necessários para verificar a curto, médio
e longo prazo as dificuldades ou avanços do mesmo (SARTI, 2014).
Ainda segundo Sarti (2014), a avaliação física também é responsável pela boa
evolução do indivíduo em seu treinamento. Quanto maior o número de dados e informações
que o personal trainer tiver coletado sobre seu aluno, mais bem planejado, adequado e
personalizado será o cronograma de exercícios, visto que com essas informações em mãos, o
personal trainer consegue sugerir ao seu aluno os exercícios que melhor possam explorar os
pontos fortes e minimizar as deficiências do mesmo.
Calenzani (2014) afirma que a avaliação física também expressa as limitações do aluno
que devem ser trabalhadas, como condicionamento físico e resistência. Além disso, a
avaliação permite identificar possíveis fatores de risco para o desenvolvimento de doenças
cardiovasculares, como alteração no colesterol, alteração do açúcar no sangue, sedentarismo,
dentre outros.
Ainda segundo Calenzani (2014), a avaliação física pode auxiliar o personal trainer a
estabelecer metas para o aluno baseado nas limitações do mesmo. Caso estas metas não
estejam sendo cumpridas, cabe ao personal trainer avaliar o treinamento e verificar se existe
alguma limitação que não foi prevista e analisar a necessidade de um novo treinamento.
Os principais itens para uma boa avaliação física, de acordo com Calenzani (2014) são:
a) anamnese (entrevista);
b) altura;
c) peso;
d) Índice de Massa Corpórea (IMC);
e) Relação Cintura x Quadril (RCQ);
f) percentual de gordura;
g) percentual de massa magra;
h) circunferências;
i) teste ergométrico.
17
O acompanhamento do desenvolvimento físico do aluno deve ser feito principalmente
através da análise das avaliações físicas feitas durante determinado período. Este
acompanhamento é muito importante, pois ele proporciona ao profissional de educação física
as informações necessárias para se desenvolver um bom programa de trabalho físico que
proporcione os melhores resultados (FERNANDES FILHO, 2003).
Segundo Muniz (2013), este programa de trabalho físico, além de bem elaborado deve
dar prazer ao aluno. É natural que o aluno abandone um exercício ou o faça de maneira
incorreta quando esta atividade não lhe dá prazer. Desta forma, elaborando um treino baseado
em todas as informações retiradas na avaliação física junto aos parâmetros pessoais, é
possível fornecer um treino prazeroso ao usuário, fazendo com que os resultados tendam a ser
muito melhores e os objetivos pretendidos sejam alcançados de forma mais fácil.
Ainda segundo Muniz (2013), para que uma avaliação seja considerada bem
executada, ela deve conter critérios, protocolos e aspectos bem definidos, que forneçam dados
quantitativos que possibilitem comparações e análises. Tão importante quanto à primeira
avaliação são as avaliações periódicas, que apresentam ao longo do tempo o desenvolvimento
do aluno.
De acordo com Costa (1998), esta avaliação deve ser realizada a cada três meses para
que o profissional de educação física possa analisar os impactos do trabalho físico no corpo da
pessoa durante curtos períodos e recomendar novas prescrições de treinamento se ele julgar
necessário. [...] 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. (MUNIZ, 2013).
Apesar da importância desta avaliação das condições físicas para a saúde e para a
análise do desenvolvimento do aluno, o Conselho Federal de Educação Física (CONFEF) não
obriga as academias a fazê-lo. Desta maneira, cabe as academias aderir ou não a este método
de trabalho. No entanto, segundo Sarti (2014), justamente pelo tamanho da importância que
estas avaliações físicas têm, em grande parte das academias, elas se tornaram obrigatórias e
pré-requisitos para o início das atividades. Em muitos casos, o valor desta avaliação já está
incluído no valor da mensalidade.
18
22..33 DDEELLPPHHII XXEE55 PPAARRAA AANNDDRROOIIDD
O ambiente de programação Delphi é uma ferramenta do tipo Rapid Application
Development (RAD) que foi lançada em 1994 pela Borland International com o objetivo de
ser uma linguagem para desenvolvimento no ambiente Windows. Originalmente, a linguagem
de programação Object Pascal foi escolhida para ser utilizada neste ambiente (LEITE, 2005,
p. 7).
O Object Pascal, derivado do antigo Pascal (linguagem amplamente difundida pela
empresa Borland International) é uma linguagem orientada a objetos, que permite o uso de
recursos do Windows (via Application Programming Interface, API), que aceita a
manipulação de banco de dados de diversos formatos e que possibilita, entre outras
funcionalidades, o uso de bibliotecas criadas em C/C++ (através de Dynamic Link Library,
DLL) e a geração de executáveis de forma nativa (LEITE, 2005, p. 8). Ninguém programa computadores na linguagem de programação Delphi, simplesmente pelo fato de não existir uma linguagem de programação chamada Delphi, como infelizmente muitos profissionais afirmam. Na verdade, programa-se um computador utilizando a linguagem Object Pascal, que é a denominação para a linguagem Pascal Orientada a Objetos, existente desde a versão 5.5 do ambiente de programação Turbo Pascal, lançado em 1989 pela própria empresa Borland. (MANZANO; MENDES, 2004, p. 19).
Ainda de acordo com Manzano e Mendes (2004, p. 19), a palavra Delphi, serve apenas
para identificar o ambiente integrado de programação que é constituído por uma Integrated
Development Environment (IDE) e pelo compilador da linguagem de programação Object
Pascal.
Uma das mais recentes versões do ambiente de desenvolvimento Delphi, (atualmente
comercializado pela empresa Embarcadero), trouxe como grande diferencial o suporte nativo
ao desenvolvimento para dispositivos móveis Android (além do já existente suporte para o
sistema operacional iOS). O surgimento deste suporte nativo foi influenciado pelo fato de
hoje o sistema operacional Android ser o mais difundido e utilizado em meio ao contexto dos
dispositivos móveis (KAWATA, 2013).
No entanto, este tipo de desenvolvimento já existia desde versões anteriores a versão
XE2, porem restrito à construção de aplicativos somente para a plataforma iOS. Já no
lançamento do mesmo, se esperava um eventual suporte para a plataforma Android, porém o
mesmo veio a existir somente na versão XE5 (KAWATA, 2013).
Cumprindo com o objetivo de se manter atualizado com as tendências do mercado, a
19
versão XE5 do Delphi trouxe o suporte nativo ao desenvolvimento de aplicações móveis
Android. Essa nova versão veio com a proposta de uma solução que se mostra a mesma que já
é utilizada para desenvolvimento para o Windows, utilizando a mesma linguagem, a mesma
sintaxe e componentes já conhecidos, porém, executando em Android (KAWATA, 2013).
Esse método de desenvolvimento só é possível porque o Delphi XE5 utiliza um
framework de desenvolvimento único chamado Firemonkey. Este método trabalha a partir de
uma base de código única e da forma de programar habitual, podendo ser compilado para
diversas plataformas. As aplicações desenvolvidas com este framework constituem-se
efetivamente em soluções nativas, totalmente livres de scripts e de qualquer outra tecnologia
que sirva de intermediário, resultando em um aplicativo que tenha um grande coeficiente de
aproveitamento do uso da parte gráfica (Graphics Processing Unit, GPU), de processamento
(Central Processing Unit, CPU), de serviços e também dos sensores do dispositivo
(hardware) (KAWATA, 2014).
A compilação para diversos sistemas operacionais é possível porque o Delphi XE5
conta com 6 compiladores diferentes. Os três primeiros, DCC32 (para Windows 32 bits),
DCC64 (para Windows 64 bits) e o DCCOSX (para Mac OS X), já existem desde versões
anteriores ao Delphi XE3. Na versão Delphi XE4 com o advento do suporte nativo ao sistema
operacional iOS, surgiram dois novos compiladores, o DCCIOSARM (para dispositivos iOS)
e o DCCIOS32 (para simuladores iOS). A partir da versão XE5, para possibilitar o advento do
suporte nativo para o sistema operacional Android, foi criado um novo compilador, o
DCCAARM. Este compilador é responsável por traduzir o código desenvolvido de maneira
que o mesmo se torne compatível com o sistema operacional Android (KAWATA, 2014).
A Figura 1 apresenta como a lista de compiladores aparece no Delphi XE5. Basta
clicar duas vezes sobre um item dessa lista e compilar o aplicativo que o Delphi gerará um
arquivo pronto para ser executado no sistema operacional selecionado. É importante ressaltar
que nesta lista aparecem somente 4 compiladores que estão configurados na IDE em questão,
podendo existir ainda outros dois, o compilador para Mac OS X e compilador para Windows
64 bits. Figura 1 - Lista de Compiladores do Delphi XE5
Todas estas novas tecnologias servem para demonstrar a principal intenção da
20
Embarcadero, que é a de prover um software que possibilite o desenvolvimento de aplicativos
para diversas plataformas (Windows, Mac OS X, iOS e Android) e atenda múltiplos
dispositivos (PCs, Smartphones e Tablets) trabalhando a partir de uma mesma base de código
e de conhecimento (KAWATA, 2013).
22..44 TTRRAABBAALLHHOOSS CCOORRRREELLAATTOOSS
Pode-se citar como trabalhos correlatos os sistemas Academia.Net (SECULLUM
SOFTWARES, 2014), FitSync (FITSYNC CORPORATION, 2014) e FitX (FUZE, 2012). Os
três sistemas foram desenvolvidos com o intuito de alcançar, além de outros objetivos, o
controle de treinamentos, controle das avaliações físicas e acompanhamento do
desenvolvimento do aluno.
O Academia.Net foi desenvolvido pela empresa Secullum Softwares, especializada em
sistemas para academias. Desenvolvido principalmente para o ambiente desktop e utilizando
as linguagens de programação VB.NET e ASP.NET em conjunto com o banco de dados SQL
Server Express 2005, ele tem como principal objetivo o controle da gestão de academias,
incluindo também conceitos de acompanhamento de treinamentos e avaliações físicas
(SECULLUM SOFTWARES, 2014).
O sistema fornece diversas funcionalidades que auxiliam o controle da gestão da
academia e principalmente, que auxiliam o trabalho do professor. Entre os itens de auxílio ao
professor, estão o cadastro e controle de treinamentos e o registro das avaliações físicas
(Figura 2) feitas pelo usuário. O registro dessas informações no sistema é de grande
importância para o acompanhamento do desenvolvimento do aluno, pois desta forma, o
professor tem acesso a todo o histórico do mesmo em somente um local (SECULLUM
SOFTWARES, 2014).
21
Figura 2 - Avaliação Física Sistema Academia.Net
Fonte: Secullum Softwares (2014).
Além do sistema desktop, o Academia.Net disponibiliza ainda um módulo web. Este
módulo possibilita ao aluno e ao professor o acesso às avaliações e treinos através de qualquer
dispositivo que tenha acesso à internet, desde computadores até smartphones (SECULLUM
SOFTWARES, 2014).
O FitSync é um sistema que foi desenvolvido pela empresa FitSync Corporation,
também especializada em sistemas para academias. Desenvolvido principalmente para ser
utilizado em plataformas web (podendo ser utilizado também em dispositivos móveis), ele
tem como principal objetivo a minimização da utilização de papel nos processos de
desenvolvimento e análise de planos de treino (FITSYNC CORPORATION, 2014).
Este sistema pode ser utilizado em qualquer dispositivo que tenha acesso a internet
(como Personal Digital Assistant (PDA), smartphones, tablets, computadores) e oferece ao
personal trainer a possibilidade de criar (Figura 3) e disponibilizar na web um plano de treino
para seus alunos. Além disso, o sistema permite que o aluno faça o download do plano de
treino disponibilizado pelo personal trainer em seu dispositivo e que transfira os resultados
do seu treinamento para a web, para que o personal trainer possa analisá-los através de
gráficos que o sistema gera (FITSYNC CORPORATION, 2014).
22
Figura 3 - Criação do Plano de Treino Aplicativo FitSync
Fonte: FitSync Corporation (2014).
Apesar da necessidade do acesso à internet, o FitSync não depende de uma conexão
constante para seu uso nos dispositivos móveis. É necessário que o usuário esteja conectado
somente quando for efetuar alguma transferência ou download na web. Nos outros momentos,
o sistema permite que a manipulação e análise (por meio de gráficos) dos treinos sejam
realizados de maneira off-line. No entanto, se o acesso ao sistema estiver sendo realizado pelo
site, a necessidade de acesso à internet é obrigatória.
O FitX é um aplicativo desenvolvido pela empresa Fuze, especializada no
desenvolvimento de aplicativos corporativos para Android e iOS. Este aplicativo foi
desenvolvido utilizando a linguagem de programação Objective-C em conjunto com o banco
de dados SQLite e tem como objetivo principal, substituir o uso das “Fichas de Treino” nas
academias e permitir que o usuário acompanhe o seu desenvolvimento através de gráficos
detalhados no dispositivo móvel (FUZE, 2012).
O FitX possibilita que o usuário crie sua própria ficha de treino (Figura 4), contendo
seus exercícios e as informações necessárias para execução de cada exercício, como por
exemplo, a quantidade de séries, repetições, tempo de descanso e intensidade. Além disso, o
aplicativo permite o compartilhamento de uma ficha de treino com outros usuários que
utilizem o mesmo aplicativo (FUZE, 2012).
23
Figura 4 - Criação da Ficha de treino Aplicativo FitX
Fonte: Fuze (2012).
Outra funcionalidade que o FitX traz, é a possibilidade de o usuário fazer o registro de
suas medidas (Figura 5). Com base nestas medidas, o aplicativo proporciona o
acompanhamento da evolução delas através de gráficos detalhados (FUZE, 2012).
Figura 5 - Registro das Medidas do Usuário Aplicativo FitX
Fonte: Fuze (2012).
O aplicativo permite ainda que o usuário personalize os exercícios cadastrados no
sistema, adicionando vídeos e observações para facilitar a execução dos mesmos. Além disso,
24
o aplicativo conta com cronômetro, geração de arquivos com extensão PDF com a ficha
técnica, calendário e diversas outras funcionalidades (FUZE, 2012).
25
3 DESENVOLVIMENTO DO APLICATIVO
Neste capítulo são apresentadas as particularidades do aplicativo através das seções
levantamento de informações, especificação e implementação. Além disso, também são
mostrados os resultados obtidos com o desenvolvimento do aplicativo e uma discussão sobre
os mesmos.
33..11 LLEEVVAANNTTAAMMEENNTTOO DDEE IINNFFOORRMMAAÇÇÕÕEESS
O aplicativo Moving foi desenvolvido com a intenção de permitir o controle de treinos
e acompanhar o desenvolvimento físico de usuários de academias utilizando dispositivos
móveis. Sendo assim, o aplicativo desenvolvido tem como principal foco facilitar o processo
de troca de informações entre o aluno e o personal trainer, permitindo agora que este
processo possa ser feito via dispositivos móveis e não somente por meios físicos.
Para melhor organização, o aplicativo disponibiliza dois tipos de usuários que têm
acesso a diferentes funcionalidades do sistema, o personal trainer e o aluno. O personal
trainer é o responsável por fazer os cadastros de configuração do sistema, como o cadastro de
equipamentos e o cadastro dos exercícios. Além desses cadastros, o personal trainer também
tem acesso ao cadastro de planos de treino, pois é ele o responsável por definir qual sequência
de exercícios cada aluno deve fazer. Ao finalizar o planejamento dos treinos do aluno, o
personal trainer pode disponibilizá-los para o download do mesmo.
O aplicativo ainda possibilita usuários do tipo aluno. Esse usuário pode fazer o
download dos treinos que o personal trainer preparou e disponibilizou para ele. Desta forma,
o aluno pode visualizar e manipular os seus planos de treino sem a necessidade de estar
conectado à internet em todos os momentos. Além disso, o aluno pode fazer o cadastro de
suas medidas periodicamente para que o sistema faça a análise do seu desenvolvimento. As
medidas cadastradas podem ser disponibilizadas para o personal trainer para que ele possa
fazer uma análise gráfica e definir ajustes nos planos de treino se julgar necessário.
Para que o uso do aplicativo não seja completamente dependente do acesso à internet,
a conexão com a mesma é necessária somente em três situações, no registro do usuário, na
26
disponibilização de informações para um futuro download e no próprio download dessas
informações, independente do tipo de usuário.
Por fim, o aplicativo permite registrar os treinos realizados e disponibiliza uma
consulta que demonstra a frequência da execução dos exercícios e qual o treino executado.
Desta maneira, o aplicativo disponibiliza ao personal trainer as informações necessárias que
permitam à ele avaliar o desempenho e os resultados obtidos do seu aluno.
Para o desenvolvimento da aplicação foi necessária a utilização das seguintes
ferramentas:
a) IDE Delphi XE5 para a codificação do aplicativo;
b) banco de dados SQLite para armazenar as informações inseridas na base local;
c) servidor web com suporte ao banco de dados MySQL para armazenar as
informações inseridas na base externa;
d) SQLite Expert Personal 3 para manipulação das tabelas e das informações da base
local;
e) MySQL Front para manipulação das tabelas e informações da base externa;
f) servidor web com suporte à linguagem PHP para o desenvolvimento do webservice
responsável pela manutenção das informações na base externa;
g) Sparx Systems Enterprise Architect para modelagem de diagramas;
h) MySQL Workbench para criação do Modelo de Entidade e Relacionamento
(MER).
33..22 EESSPPEECCIIFFIICCAAÇÇÃÃOO
Esta seção apresenta a especificação do sistema, contemplando os requisitos funcionais
e requisitos não funcionais, diagrama de casos de uso, diagrama de atividades e o modelo de
entidade e relacionamento, sendo que a descrição dos principais casos de uso está no
Apêndice A. Para a criação do diagrama de caso de uso e diagrama de atividades foi utilizada
a ferramenta Enterprise Architect (EA) e, para a criação do Modelo de Entidade e
Relacionamento (MER), utilizou-se o MySQL Workbench.
27
33..22..11 RReeqquuiissiittooss FFuunncciioonnaaiiss
O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua
rastreabilidade, ou seja, a vinculação com o(s) caso(s) de uso associado(s). Quadro 1 - Requisitos Funcionais
Requisitos Funcionais Caso de Uso
RF01: O sistema deverá permitir ao usuário efetuar o login. UC01
RF02: O sistema deverá permitir ao usuário trocar a senha do login. UC02
RF03: O sistema deverá permitir ao personal trainer manter
equipamentos.
UC03
RF04: O sistema deverá permitir ao personal trainer manter
exercícios.
UC04
RF05: O sistema deverá permitir ao personal trainer manter planos de
treinos.
UC05
RF06: O sistema deverá permitir ao aluno manter as suas medidas. UC06
RF07: O sistema deverá permitir o registro do treino realizado pelo
aluno.
UC07
RF08: O sistema deverá permitir ao personal trainer, disponibilizar
para posterior download um treino cadastrado.
UC08
RF09: O sistema deverá permitir ao aluno, fazer o download de um
treino previamente disponibilizado pelo personal trainer.
UC09
RF10: O sistema deverá permitir ao usuário a emissão de relatório
gráfico com os resultados da análise de desenvolvimento do aluno.
UC10
RF11: O sistema deverá permitir ao aluno, disponibilizar para
download as suas medidas cadastradas para que o personal trainer faça
a análise do seu desenvolvimento.
UC11
RF12: O sistema deverá permitir ao personal trainer, fazer o download
das medidas do aluno para efetuar a análise do desenvolvimento do
mesmo.
UC12
RF13: O sistema deverá permitir ao aluno a emissão de relatório com a
frequência e o treino realizado do aluno na academia.
UC13
RF14: O sistema deverá permitir ao usuário manter usuários. UC14
28
33..22..22 RReeqquuiissiittooss NNããoo FFuunncciioonnaaiiss
O Quadro 2 apresenta os requisitos não funcionais previstos para o sistema. Quadro 2 - Requisitos Não Funcionais
Requisitos Não Funcionais
RNF01: O sistema será desenvolvido no ambiente de desenvolvimento integrado Delphi
XE5.
RNF02: O sistema deverá ser executado na plataforma Android.
RNF03: O sistema deverá utilizar o banco de dados SQLite para registro das
informações em base interna.
RNF04: O sistema deverá se comunicar com um servidor web com suporte ao banco de
dados MySQL e linguagem de programação PHP para efetuar as
disponibilizações/downloads.
33..22..33 DDiiaaggrraammaa ddee CCaassooss ddee uussoo
Esta subseção apresenta o diagrama de caso de uso necessário para o entendimento do
funcionamento do aplicativo, sendo que as descrições de cada caso de uso estão no Apêndice
A.
Na Figura 6, apresenta-se o diagrama de casos de uso do aplicativo.
29
Figura 6 - Diagrama de Casos de Uso
Como apresentado na Figura 6, este diagrama demonstra os 3 atores envolvidos no
sistema: o “Usuário”, que corresponde a qualquer usuário no momento em que ainda não
efetuou o acesso ao sistema, com apenas as funcionalidades básicas relacionadas ao acesso
disponíveis à ele. O “Aluno’, que além de herdar as funcionalidade do “Usuário”, pode
efetuar todas as ações relacionadas ao registro e disponibilização de medidas, download dos
planos de treino disponibilizados e posterior registro dos treinamentos e acompanhamento do
desenvolvimento físico. E por fim, o “Personal Trainer”, que também herda as
funcionalidade do “Usuário” e pode efetuar todas as ações relacionadas ao registro e
disponibilização de planos de treino e download dos registros de medidas do aluno e
acompanhamento do desenvolvimento do mesmo.
30
33..22..44 DDiiaaggrraammaa ddee AAttiivviiddaaddeess
Esta subseção apresenta os diagramas de atividades necessários para o entendimento
dos principais processos do sistema. A Figura 7, apresenta as atividades executadas pelo
personal trainer, pelo sistema e pelo webservice no processo de confecção dos planos de
treino. Inicialmente o sistema verifica se já existe algum usuário cadastrado na base (caso não
exista, proporciona ao usuário uma tela para efetuar o cadastro antes da tela de login) e
disponibiliza a tela de login para o mesmo entrar no sistema. Após a realização do login no
aplicativo com um usuário do tipo “Personal Trainer”, o sistema disponibiliza para o usuário
o menu de opções.
Na sequência, iniciam-se os cadastros. O usuário seleciona a opção correspondente ao
cadastro de equipamentos e ao abrir a tela, efetua o cadastro de todos os equipamentos que
serão utilizados no seu plano de treino. A seguir, o usuário volta ao menu e seleciona a opção
correspondente ao cadastro de exercícios e ao abrir a tela, efetua o cadastro de todos os
exercícios que serão utilizados no seu plano de treino. Por fim, o usuário volta ao menu
novamente e seleciona a opção do cadastro de planos de treino. Neste cadastro, além de
registrar os planos de treino, o usuário deve selecionar quais exercícios farão parte do mesmo.
31
Figura 7 - Diagrama de Atividades do Processo de Confecção de Planos de Treino
A Figura 8, apresenta as atividades executadas pelo aluno, pelo sistema e pelo
webservice no processo de registro das medidas do usuário. Inicialmente o sistema verifica se
já existe algum usuário cadastrado na base (caso não exista, proporciona ao usuário uma tela
para efetuar o cadastro antes da tela de login) e disponibiliza a tela de login para o mesmo
entrar no sistema. Após a efetuação do login no aplicativo com um usuário do tipo “Aluno”, o
sistema disponibiliza para o usuário o menu de opções.
Na sequência, iniciam-se os cadastros. O usuário seleciona a opção correspondente ao
cadastro de medidas e ao abrir a tela, efetua o cadastro das suas medidas para posterior
32
análise. Após este momento, se o aluno desejar, ele já pode visualizar um relatório gráfico do
seu desenvolvimento, acessando no menu principal a opção correspondente ao
“Acompanhamento de Desenvolvimento”. Figura 8 - Diagrama de Atividades do Processo de Cadastro das Medidas do Usuário
A Figura 9, apresenta as atividades executadas pelo aluno, pelo personal trainer, pelo
sistema e pelo webservice no processo de disponibilização e download de informações. Para
este processo, é necessário que o usuário já esteja logado no sistema.
Inicialmente o sistema verifica se o usuário logado é do tipo “Personal Trainer” ou do
tipo “Aluno”. Na sequência, no menu principal, o usuário deve selecionar se deseja
disponibilizar ou fazer o download de alguma informação. Caso a opção desejada seja a
disponibilização de informação, o usuário deverá selecionar na tela quais itens deseja exportar
para a base externa (se for um aluno, deverá selecionar quais registros de medida deseja
exportar. No caso de ser um personal trainer, o mesmo deverá selecionar quais planos de
treino deseja exportar).
No entanto, caso a opção desejada seja o download de informação, o usuário só precisa
33
selecionar a opção de “Importação” no menu principal que todas as informações disponíveis
para ele na base externa serão importadas (no caso de um aluno, serão importados todos os
planos de treino disponíveis para o mesmo. No caso de um personal trainer, todos os
registros de medidas disponibilizados pelo(s) aluno(s), serão importados). Figura 9 - Diagrama de Atividades dos Processos de Disponibilização e Download
33..22..55 MMooddeelloo ddee EEnnttiiddaaddee ee RReellaacciioonnaammeennttoo ((MMEERR))
A Figura 10 define um diagrama de entidade e relacionamento que contém todas as
entidades que serão persistidas no banco de dados interno. O dicionário de dados das mesmas
está sendo detalhado no Apêndice B.
34
Figura 10 - Modelo de Entidade de Relacionamento (MER) – Base de Dados Interna
A seguir é apresentada uma breve descrição das entidades criadas na base interna para
o desenvolvimento do sistema:
a) equipamento: entidade que armazena os equipamentos utilizados em cada
exercício;
b) exercicio: entidade que armazena os exercícios que serão utilizados nos planos de
treino;
c) exercicios_treino: entidade que relaciona um plano de treino a seus exercícios. Ela
contém ainda, informações como intensidade, tempo de execução e/ou quantidade
de repetições de cada exercício;
d) itens_registro: entidade que armazena os exercícios de cada plano de treino
registrado na tabela registro_treino;
e) medidas: entidade que armazena todas as medidas e informações do usuário
necessárias para efetuar a análise de desenvolvimento;
f) planos_treino: entidade que armazena os planos de treino;
35
g) registro_treino: entidade que armazena o histórico de execução de planos de
treino. Guarda as principais informações do treino realizado para utilização na
consulta deste histórico;
h) usuario: entidade que armazena o usuário do aplicativo.
A Figura 11 define um modelo de entidade e relacionamento que contém todas as
entidades que serão persistidas no banco de dados externo. O dicionário de dados das mesmas
está sendo detalhado no Apêndice B. Figura 11 - Modelo de Entidade de Relacionamento (MER) – Base de Dados Externa
A seguir é apresentada uma breve descrição das entidades criadas na base externa para
36
o desenvolvimento do sistema:
a) equipamento_web: entidade que armazena os equipamentos que serão utilizados
em cada exercício e que foram disponibilizados ao aluno pelo personal trainer;
b) exercicio_web: entidade que armazena os exercícios que serão utilizados nos
planos de treino e que foram disponibilizados ao aluno pelo personal trainer;
c) exercicios_treino_web: entidade que relaciona um plano de treino disponibilizado
ao aluno pelo personal trainer a seus exercícios na base de dados externa;
d) medidas_web: entidade que armazena todas as medidas e informações do usuário
que foram disponibilizadas ao personal trainer pelo aluno. Com base nestas
informações, o personal trainer pode efetuar a análise gráfica de desenvolvimento
do aluno;
e) plano_treino_web: entidade que armazena os planos de treino que foram
disponibilizados ao aluno pelo personal trainer;
f) usuario_web: entidade que armazena todos os usuários do aplicativo. Sempre que
um novo usuário é cadastrado, seus dados são replicados nesta entidade.
33..33 IIMMPPLLEEMMEENNTTAAÇÇÃÃOO
A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da
implementação.
33..33..11 TTééccnniiccaass ee ffeerrrraammeennttaass uuttiilliizzaaddaass
Para o desenvolvimento do aplicativo para a plataforma Android foi utilizada a IDE
Delphi XE5 para codificação do mesmo, o banco de dados SQLite para persistência dos dados
na base local (nativo no Android), o banco de dados MySQL para persistência dos dados na
base externa e a linguagem de programação PHP em conjunto com a biblioteca NuSOAP para
manipulação dos dados persistidos na base externa alocada no servidor.
37
3.3.1.1 Banco de Dados SQLite
Segundo Gonçalves (2014), o SQLite é uma biblioteca gratuita, multiplataforma, com
boa performance, de fácil "instalação" e que foi desenvolvida em C padrão (American
National Standards Institute, ANSI). O SQLite permite aos desenvolvedores armazenar e
manipular dados de suas aplicações através de instruções na linguagem de consulta
estruturada (Structured Query Language, SQL). Esta ferramenta pode ser integrada a
programas de diferentes linguagens e atualmente, já vem nativa com alguns sistemas
operacionais para dispositivos móveis, como o Android.
Ainda segundo Gonçalves (2014), na prática, o SQLite tem um funcionamento muito
semelhante à um sistema gerenciador de banco de dados (SGBD). Ele é capaz de criar um
arquivo no disco (podendo este ser composto por diversas tabelas), ler e escrever diretamente
sobre este arquivo, utilizando comandos do tipo Data Definition Language (DDL) e Data
Manipulation Language (DML), como em qualquer SGBD.
A Figura 12 apresenta a função “movingBeforeConnect” que é executada antes de o
aplicativo se conectar com a base de dados interna. Nesta função, o aplicativo verifica se
existe um arquivo de base de dados criado. Caso não exista, o aplicativo cria esse arquivo e
parametriza o caminho dele no componente de conexão para possibilitar a conexão entre o
aplicativo e o arquivo criado. Figura 12 - Acesso ao arquivo e criação da base de dados no SQLite
A Figura 13 apresenta como o Delphi, através de comandos DDL, cria as tabelas
“Equipamento” e “Exercicio” no arquivo criado pela conexão com o SQLite.
Figura 13 - Criação das tabelas “Equipamento” e “Exercicio”
38
No entanto, segundo Silva (2014), apesar de suportar a maior parte dos comandos
SQL92, o SQLite tem algumas restrições que podem restringir o desenvolvimento. Como por
exemplo, o fato de existir somente quatro tipos de dados: Integer, Real, Text e Blob.
Além disso, ainda segundo Silva (2014), o SQLite possui algumas restrições bem
importantes, que são:
a) não oferece suporte a instrução "Delete" em múltiplas tabelas;
b) não oferece suporte à Foreign Key;
c) não oferece suporte ao desenvolvimento de Triggers;
d) o suporte ao comando "Alter Table" é restrito somente à algumas funcionalidades
mais utilizadas;
e) não oferece suporte aos comandos "Right Join" e "Full Outer Join";
f) não oferece suporte aos comandos "Grant" e "Revoke".
Em contrapartida, segundo Luzzi (2013), apesar de todas estas restrições, por ser um
banco autocontido, com um tamanho bem compacto, que já tem suporte nativo no sistema
operacional Android e que funciona sem a necessidade de grandes e complexas instalações, o
SQLite se torna uma ótima escolha para aplicações que prezam pelo desempenho,
disponibilidade de memória e principalmente, por praticidade de uso.
3.3.1.2 Biblioteca NuSOAP
Segundo Gomes (2009), o NuSOAP é uma biblioteca livre totalmente desenvolvida em
PHP que pode se comunicar com qualquer linguagem de programação na perspectiva do
cliente utilizando a arquitetura cliente-servidor. A sua grande vantagem em relação à outras
bibliotecas em PHP é o fato de que ela não necessita de nenhuma extensão especial do PHP
para funcionar.
Ainda segundo Gomes (2009), o uso desta biblioteca é bastante simples, bastando
descompactar o pacote de arquivos dela no servidor e instanciá-la no arquivo PHP que desta
forma, o webservice já estará criado.
A Figura 14 apresenta o código responsável por instanciar a biblioteca NuSOAP na
classe PHP do webservice e criar o mesmo. Figura 14 - Instância da biblioteca NuSOAP e criação do webservice
39
Além disso, segundo Jarouche (2013), outra vantagem dessa biblioteca é o fato da
mesma já gerar código em formato Web Services Description Language (WSDL). Graças ao
código gerado neste formato, a comunicação entre o webservice e a linguagem escolhida para
manipular o mesmo fica mais simples.
33..33..22 OOppeerraacciioonnaalliiddaaddee ddaa IImmpplleemmeennttaaççããoo
Nesta subseção são apresentadas as principais funcionalidades do aplicativo, assim
como alguns trechos de código fonte de rotinas envolvidas nestas funcionalidades. Para
facilitar o entendimento das mesmas, elas serão descritas com base em um cenário fictício
com as seguintes características:
a) um usuário que se cadastrará no sistema com o tipo aluno e com o nome “Aluno
1”;
b) um usuário já cadastrado com o tipo personal trainer, denominado “Professor 1”;
c) o usuário “Professor 1” cria um plano de treino para o aluno e disponibiliza para
ele;
d) o usuário “Aluno 1” registra as suas medidas no sistema;
e) o aluno efetua o download do plano de treino disponibilizado pelo personal trainer
e faz os registro de sua execução a medida que ele for se exercitando;
f) após um mês, o usuário “Aluno 1” faz novamente o registro das suas medidas no
sistema e desta vez, disponibiliza ao personal trainer o registro anterior e o
registro atual;
g) o personal trainer efetua o download dos registros de medidas e faz o
comparativo, verificando a evolução do aluno e avaliando a necessidade de troca
de plano de treino.
Inicialmente será apresentado o sistema do ponto de vista do usuário “Aluno 1”. Ao
entrar no aplicativo, a tela inicial de boas-vindas é apresentada. A Figura 15 apresenta a tela
de “Boas Vindas” do aplicativo. Esta tela aparece somente se ao inicializar o aplicativo não
existir nenhum usuário cadastrado na base local, caso já exista usuário cadastrado, o
aplicativo redireciona o usuário para a tela de login.
40
Figura 15 - Tela de Boas Vindas do Aplicativo
Ao clicar em qualquer local da tela, o aluno é direcionado para a tela de cadastro de
usuários, onde deverá efetuar o seu cadastro. Nesta tela o aluno informa os dados referentes a
sua conta e seleciona as opções de configuração da mesma. Nestas opções, o usuário pode
selecionar se deseja uma conta com funcionalidades de "Personal Trainer" ou com
funcionalidades de "Aluno". Além disso, o aplicativo ainda disponibiliza a opção de
preenchimento automático das informações de login e senha ao entrar no sistema e de
exclusão do usuário. Após o cadastro do usuário, o mesmo é redirecionado para a tela de
login. A Figura 16 apresenta a tela de cadastro de usuário com as informações do aluno já
preenchidas.
41
Figura 16 - Cadastro de Usuário (Preenchido)
Pode-se observar na imagem que a opção “Personal Trainer” não está selecionada, o
que caracteriza que este usuário é um aluno. Ao clicar no botão salvar, o sistema acessa a base
de dados externa e verifica se o e-mail informado já foi cadastrado. Para validar se já existe o
e-mail cadastrado, o aplicativo chama função “email_ja_cadastrado” que é apresentada na
Figura 17. Esta função, instancia a classe “usuario” do web service e informa à ela qual o e-
mail que está sendo utilizado para poder passar de parâmetro para a chamada da função
“existe_usuario”, executada no servidor web pelo web service. Além disso, esta função trata o
resultado do retorno do web service e retorna “True” caso o email já exista.
42
Figura 17 - Código executado pelo Delphi para validar e-mail existente
A Figura 18 apresenta a função “existe_usuario”, executada no servidor web pelo web
service e que retorna para o aplicativo se já existe um registro cadastrado na base de dados
externa com o e-mail parametrizado, efetuando esta busca através de um comando do tipo
“Select”. Figura 18 - Código executado em PHP para validar e-mail existente
43
Caso não ocorra nenhuma crítica, o sistema insere o aluno na base de dados local e
replica este registro na base de dados externa. A Figura 19 apresenta a função
“insere_usuario_web”, que instancia e parametriza a classe “usuário” do web service com as
informações do novo usuário e que chama a função “criar_usuario” do web service que
efetivamente insere o novo registro na base de dados externa.
Figura 19 - Código executado pelo Delphi para inserir usuário na base externa
A Figura 20 apresenta a função “criar_usuario”, executada no servidor web pelo web
service e que é responsável por executar um comando do tipo “Insert” com as informações
que foram parametrizadas pelo código no Delphi para efetivamente incluir o novo usuário na
base externa.
44
Figura 20 - Código executado em PHP para inserir usuário na base externa
Após o cadastro do usuário, o aluno será direcionado para tela de login, onde poderá
acessar o aplicativo com o seu usuário recém cadastrado. A Figura 21 apresenta a tela de login
do aplicativo com as informações preenchidas e prontas para acessar o aplicativo. Nesta tela,
além de fazer login na sua conta, caso o usuário não lembre sua senha, ele pode acessar a
opção de recuperação da mesma através do botão “Lembrar Senha” localizado na parte
inferior da tela. Após efetuar o login corretamente, o usuário é direcionado para o menu do
aplicativo.
Figura 21 - Tela de Login (Preenchida)
A Figura 22 apresenta a tela de recuperação de senha. Caso o usuário digite
45
corretamente o endereço de e-mail da sua conta, o mesmo receberá uma mensagem em sua
caixa de e-mail informando o seu login e a sua nova senha. Figura 22 - Tela de Recuperação de Senha
A Figura 23 demonstra o e-mail recebido pelo usuário com as informações de sua
conta. Figura 23 - E-mail de Recuperação de Senha
Após acessar o aplicativo, o aluno será direcionado para a tela de menu. Nesta tela, ele
poderá acessar todas as opções do aplicativo. Para efetuar a ação desejada, basta o usuário
46
clicar no ícone correspondente à ela que o sistema irá redirecioná-lo para a tela responsável
pela ação. A Figura 24 apresenta a tela de menu do aplicativo. Figura 24 - Menu do Aplicativo
Nesta tela, seguindo o cenário criado, o aluno deve acessar a opção de registro de
“Medidas do Usuário” e efetuar o seu primeiro registro. A Figura 25 apresenta as telas do
processo de cadastro do registro de medidas. A tela à esquerda da Figura 25 apresenta a opção
que o aluno deverá selecionar para acessar o cadastro de registro de medidas. A tela
posicionada no centro da Figura 25 apresenta a tela inicial do cadastro de registros de
medidas. Nesta tela, todos os registros de medidas já cadastrados ficam disponíveis para
alteração. Ao clicar para incluir um novo registro, o aluno será direcionado para a tela
localizada à direita da Figura 25, que é responsável pela manipulação dos dados dos registros
de medidas. Nesta tela, o usuário fará a inclusão de suas medidas preenchendo todos os
campos obrigatórios e selecionando a opção “Confirmar”.
47
Figura 25 - Telas do processo de cadastro do registro de medidas
A partir de agora, para facilitar o entendimento, o sistema será apresentado do ponto de
vista do personal trainer até que seja necessária novamente a intervenção do aluno para a
continuação dos processos do cenário proposto. Partindo do princípio de que já existe um
usuário do tipo personal trainer e o mesmo já está logado no aplicativo, o personal trainer irá
neste momento, criar os equipamentos e exercícios utilizados no plano de treino que será
desenvolvido para o aluno.
Na tela do menu principal do aplicativo, seguindo o cenário criado, o personal trainer
deve acessar a opção de registro de “Equipamento”. A Figura 26 apresenta as telas do
processo de cadastro de equipamentos. A tela à esquerda da Figura 26 apresenta a opção que o
personal trainer deverá selecionar para acessar o cadastro de equipamentos. A tela
posicionada no centro da Figura 26 representa a tela inicial do cadastro de equipamentos.
Nesta tela, todos os equipamentos já cadastrados ficam disponíveis para alteração. Ao clicar
para incluir um novo registro, o personal trainer será direcionado para a tela localizada à
direita da Figura 26, que é responsável pela manipulação dos dados dos equipamentos. Nesta
tela, o personal trainer fará a inclusão dos equipamentos utilizados nos exercícios dos planos
de treino preenchendo todos os campos obrigatórios e selecionando a opção “Confirmar” para
cada registro.
48
Figura 26 - Telas do processo de cadastro de equipamentos
Após o registro dos equipamentos, seguindo o cenário criado, o personal trainer deve
acessar a opção de registro de “Exercício” no menu principal. A Figura 27 apresenta as telas
do processo de cadastro de exercícios. A tela à esquerda da Figura 27 apresenta a opção que o
personal trainer deverá selecionar para acessar o cadastro de exercícios. A tela posicionada
no centro da Figura 27 representa a tela inicial do cadastro de exercícios. Nesta tela, todos os
exercícios já cadastrados ficam disponíveis para alteração. Ao clicar para incluir um novo
registro, o personal trainer será direcionado para a tela localizada à direita da Figura 27, que é
responsável pela manipulação dos dados dos exercícios. Nesta tela, o personal trainer fará a
inclusão dos exercícios utilizados nos planos de treino preenchendo todos os campos
obrigatórios e selecionando a opção “Confirmar” para cada registro.
49
Figura 27 - Telas do processo de cadastro de exercícios
Após o registro dos equipamentos e dos exercícios, seguindo o cenário criado, o
personal trainer deve acessar a opção de registro de “Plano de Treino” no menu principal. A
Figura 28 apresenta as telas do processo de criação de um plano de treino. A tela à esquerda
da Figura 28 apresenta a opção que o personal trainer deverá selecionar para acessar o
cadastro de planos de treino. A tela posicionada no centro da Figura 28 representa a tela
inicial do cadastro de planos de treino. Nesta tela, todos os planos de treino já cadastrados
ficam disponíveis para alteração. Ao clicar para incluir um novo registro, o personal trainer
será direcionado para a tela localizada à direita da Figura 28, que é responsável pela
manipulação dos dados dos planos de treino. Nesta tela, o personal trainer fará a inclusão dos
planos de treino preenchendo todos os campos obrigatórios e selecionando a opção
“Confirmar” para cada registro.
50
Figura 28 - Telas do processo de cadastro de planos de treino
Após o desenvolvimento do plano de treino, seguindo o cenário criado, o personal
trainer deve acessar a opção “Exercícios”, localizada na tela de registro de planos de treino,
para incluir os exercícios do plano de treino cadastrado. A Figura 29 apresenta as telas do
processo de inclusão de exercícios do plano de treino. A tela à esquerda da Figura 29
apresenta a opção que o personal trainer deverá selecionar para acessar o cadastro de
exercícios de planos de treino. A tela posicionada no centro da Figura 29 representa a tela
inicial do cadastro de exercícios de planos de treino. Nesta tela, todos os exercícios do plano
de treino já cadastrados ficam disponíveis para alteração. Ao clicar para incluir um novo
registro, o personal trainer será direcionado para a tela localizada à direita da Figura 29, que é
responsável pela manipulação dos dados dos exercícios dos planos de treino. Nesta tela, o
personal trainer fará a inclusão dos exercícios do plano de treino preenchendo todos os
campos obrigatórios e selecionando a opção “Confirmar” para cada registro.
51
Figura 29 - Telas do processo de cadastro de exercícios de um plano de treino
Após o desenvolvimento do plano de treino, o personal trainer pode disponibilizá-lo
para que o aluno possa fazer o download. A Figura 30 apresenta a tela de exportação do plano
de treino. Ao clicar no botão “Executa”, o aplicativo seleciona todas as informações que
devem ser exportadas de acordo com o que o personal trainer selecionou e envia para a base
externa.
Figura 30 - Tela de Exportação
A Figura 31 apresenta o código no Delphi responsável por exportar somente o que foi
52
selecionado pelo personal trainer para a base externa. Nesta fração de código, é apresentado a
lógica utilizada para exportar somente o que foi selecionado pelo personal trainer.
Primeiramente o aplicativo varre todos os planos de treino disponíveis verificando em cada
um se ele foi selecionado. Caso tenha sido, o sistema chama a função “cria_treino”, que é
responsável por parametrizar a classe do web service e registrar na base de dados externa o
plano de treino selecionado. Após isso, o sistema verifica quais exercícios estão relacionados
ao plano de treino recém incluído e para cada um, chama a função “cria_exercicios_treino”
que relaciona os exercícios (que já foram incluídos na base de dados externa anteriormente)
com o plano de treino recém incluído.
Figura 31 - Código no Delphi responsável pela exportação do que foi selecionado
A Figura 32 apresenta a função “cria_equipamento”, que instancia e parametriza a
classe “equipamento” do web service com as informações do equipamento que está sendo
exportado e chama a função “criar_equipamento” do web service que efetivamente insere o
novo registro na base de dados externa.
53
Figura 32 - Código executado pelo Delphi para inserir equipamento na base externa
A Figura 33 apresenta a função “criar_equipamento”, executada no servidor web pelo
web service e que é responsável por executar um comando do tipo “Insert” com as
informações que foram parametrizada pelo código no Delphi para efetivamente incluir o novo
equipamento na base externa. Figura 33 - Código executado em PHP para inserir equipamento na base externa
A Figura 34 apresenta a função “cria_exercicio”, que instancia e parametriza a classe
“exercicio” do web service com as informações do novo exercício que está sendo exportado e
chama a função “criar_exercicio” do web service que efetivamente insere o novo registro na
base de dados externa.
54
Figura 34 - Código executado pelo Delphi para inserir exercício na base externa
A Figura 35 apresenta a função “criar_exercicio”, executada no servidor web pelo web
service e que é responsável por executar um comando do tipo “Insert” com as informações
que foram parametrizada pelo código no Delphi para efetivamente incluir o novo exercício na
base externa. Figura 35 - Código executado em PHP para inserir exercício na base externa
A Figura 36 apresenta a função “cria_treino”, que instancia e parametriza a classe
“plano_treino” do web service com as informações do novo plano de treino que está sendo
exportado e chama a função “criar_plano_treino” do web service que efetivamente insere o
novo registro na base de dados externa.
55
Figura 36 - Código executado pelo Delphi para inserir plano de treino na base externa
A Figura 37 apresenta a função “criar_plano_treino”, executada no servidor web pelo
web service e que é responsável por executar um comando do tipo “Insert” com as
informações que foram parametrizada pelo código no Delphi para efetivamente incluir o novo
plano de treino na base externa. Figura 37 - Código executado em PHP para inserir plano de treino na base externa
A Figura 38 apresenta a função “cria_exercicio_treino”, que instancia e parametriza a
classe “exercicios_treino” do web service com as informações do novo exercício do plano de
treino que está sendo exportado e chama a função “criar_exercicios_treino” do web service
que efetivamente insere o novo registro na base de dados externa.
56
Figura 38 - Código executado pelo Delphi para inserir exercícios do plano na base externa
A Figura 39 apresenta a função “criar_exercicios_treino”, executada no servidor web
pelo web service e que é responsável por executar um comando do tipo “Insert” com as
informações que foram parametrizada pelo código no Delphi para efetivamente incluir o novo
relacionamento entre um plano de treino e um exercício na base externa. Figura 39 - Código executado em PHP para inserir exercícios do plano na base externa
57
Após o término da exportação, o aluno já pode fazer o download do treino em seu
celular. A partir deste momento, o cenário volta a ser apresentado partindo do ponto de vista
do aluno.
Para efetuar o download do treino disponibilizado pelo personal trainer, o aluno deve
ir até o menu principal e clicar na opção de importação. Clicando nesta opção, todas as
informações disponíveis para ele são importadas para o dispositivo.
Após a importação, o aluno pode iniciar o registro dos seus treinos acessando a opção
“Registro de Treinos” no menu principal e selecionado o treino desejado. Após o
carregamento do plano de treino, o aluno deve eliminar (efetuando um clique no exercício na
tela do aplicativo) cada exercício que já foi executado. Ao término dos exercícios, o usuário
deverá efetuar o fechamento do treino para efetivar o registro do mesmo na base de dados,
conforme é apresentado na Figura 40. Figura 40 - Telas do processo de Registro de Treinos
Após o registro de seus treinos, o aplicativo proporciona ao aluno a opção do mesmo
consultar a frequência e qual treino foi realizado em cada dia através do botão localizado na
parte superior direita da tela de registro de treinos. Após efetuar a consulta, caso o usuário
queira verificar qual treino foi realizado naquele dia, basta o mesmo clicar sobre o registro. A
Figura 41 apresenta as telas do processo de consulta de treinos registrados.
58
Figura 41 - Processo de Consulta de Treinos Registrados
Seguindo o cenário criado, após um mês efetuando os treinos, o usuário deve
novamente efetuar o registro de suas medidas e exportar para o personal trainer o antigo
registro de suas medidas e o atual, para que o mesmo possa efetuar a comparação. A Figura
42 apresenta a tela de exportação de medidas, que funciona seguindo os mesmos princípios da
exportação de planos de treino explicada anteriormente, onde o usuário seleciona os registros
que deseja disponibilizar e clica no botão “Executa”. Figura 42 - Tela de Exportação de Registros de Medidas
59
Após o término da exportação, o personal trainer poderá efetuar o download das
informações disponibilizadas pelo aluno. Para isso, ele precisa somente acessar o menu do
aplicativo e clicar no botão referente a importação que o aplicativo irá importar tudo o que
estiver disponível para ele, como apresenta a Figura 43. Figura 43 - Processo de Importação de Medidas
A Figura 44 apresenta a fração de código responsável pela importação dos registros de
medidas de usuários disponíveis para o personal trainer. Primeiramente o sistema instancia a
classe “usuario” do web service e preenche o código do personal trainer que está fazendo a
importação. Com a classe “usuario” preenchida, ele chama a função “retorna_medidas”,
executada no servidor web pelo web service que é responsável por retornar todos os registros
de medidas disponíveis para aquele personal trainer. Após a função “retorna_medidas”
retornar a lista de registros de medidas disponíveis para o personal trainer, o sistema varre
esta lista incluindo cada registro dela na base de dados interna.
60
Figura 44 - Código executado pelo Delphi para importar os registros de medidas
A Figura 45 apresenta a função “retorna_medidas” executada no servidor web pelo
web service e que é responsável por executar um comando do tipo “Select” filtrando somente
os registros do personal trainer parametrizado e retornar uma lista contendo todos os registros
resultantes desse comando.
61
Figura 45 - Código executado em PHP para retornar as medidas disponibilizadas
Com os registros de medida do usuário disponíveis, o personal trainer pode gerar o
relatório gráfico do desenvolvimento do aluno e avaliar o desenvolvimento do mesmo. A
Figura 46 apresenta o processo de geração do acompanhamento gráfico do desenvolvimento
do aluno. A tela à esquerda da Figura 46 representa a tela onde o usuário selecionará qual
aspecto deseja analisar e quais registros de medida deseja comparar. A tela localizada à direita
da Figura 46 apresenta o resultado gráfico da comparação.
62
Figura 46 - Processo de acompanhamento gráfico do desenvolvimento do aluno
Além do comparativo gráfico, o usuário pode ainda efetuar um comparativo completo
(de todos os aspectos) entre dois registros de medidas através da opção “Acompanhamento”
localizada no menu principal, que apresentará um comparativo de todos os aspectos dos
registros selecionados em forma textual, conforme apresenta a Figura 47.
Figura 47 - Tela de Acompanhamento do Desenvolvimento
63
33..44 RREESSUULLTTAADDOOSS EE DDIISSCCUUSSSSÕÕEESS
Este trabalho teve como objetivo o desenvolvimento de um aplicativo para o sistema
operacional Android que visa proporcionar o acompanhamento, por parte de um personal
trainer, de treinos de usuários de academias e de seus respectivos desenvolvimentos físicos.
Conforme demonstrado ao longo do texto, todos os objetivos propostos foram alcançados.
O conjunto de ferramentas utilizadas: IDE Delphi XE5, linguagem de programação
PHP em conjunto com a biblioteca NuSOAP e os bancos de dados MySQL e SQLite,
mostrou-se adequado para o desenvolvimento deste aplicativo.
Quanto aos trabalhos correlatos, apesar de tratarem do mesmo segmento, os sistemas
apresentados trabalham de formas diferentes. O aplicativo tem como objetivo promover a
comunicação entre o aluno e o personal trainer utilizando um dispositivo móvel. Através
desta comunicação, entre outras funções, é feito o controle e troca dos treinos do aluno e o
acompanhamento do desenvolvimento do mesmo por parte do personal trainer.
O Quadro 3 apresenta um comparativo entre o aplicativo Moving e os trabalhos
correlatos. Quadro 3 - Comparativo aplicativo desenvolvido x trabalhos correlatos
Nome do sistema Moving Academia.Net FitX FitSync
Tecnologias utilizada no desenvolvimento
Delphi XE5 e PHP
VB.NET e ASP.NET
Objective-C Desconhecido
Banco de Dados SQLite e MySQL
SQL Server Express 2005
SQLite Desconhecido
Suporte para o ambiente desktop.
Não Sim Não Não
Suporte para o ambiente web.
Não Sim Não Sim
Suporte para dispositivos móveis.
Sim Não Sim Sim
Comunicação personal trainer x aluno.
Sim Sim Não Sim
Prescrição de treinos pelo personal trainer.
Sim Sim Não Sim
Registro de treinamentos.
Sim Não Não Não
Registro de medidas.
Sim Sim Sim Sim
64
Acompanhamento do desenvolvimento do aluno.
Sim Sim Sim Sim
Acompanhamento Gráfico
Sim Sim Sim Sim
Como mostrado no Quadro 3, o FitSync e o FitX possuem funções semelhantes.
Ambos foram desenvolvidos para funcionar em dispositivos móveis, porém, entre os dois, o
FitSync é o que mais assemelha-se ao aplicativo Moving, pois ele permite a criação e troca de
treinos e resultados entre o professor e o aluno através do próprio dispositivo móvel e o FitX
não possui esta funcionalidade. Desta forma, o FitX funciona basicamente como uma ficha
eletrônica de treinos. Ele não possibilita que o professor disponibilize o treino para seu aluno.
No entanto, permite ao aluno um controle total de seu treino e acompanhamento dos
resultados por meio de relatórios baseados nos registro das medidas feitos periodicamente
pelo próprio aluno.
Entre os trabalhos correlatos que foram descritos, o único que não possui versão para
dispositivos móveis é o Academia.Net. Este é composto por dois módulos: o desktop e o web.
No módulo desktop, ele dispõe de funções capazes de auxiliar a gestão de academias, desde a
parte de relacionamento com o aluno até a parte de controle de treinos e acompanhamento de
usuário. No módulo web, ele possibilita que o usuário consiga visualizar os treinos que o
professor construiu e os resultados de suas avaliações físicas através de qualquer dispositivo
conectado à internet.
Desta forma, pode-se observar que os sistemas FitX e Academia.Net, apesar de
possibilitarem o controle de treinamentos e o acompanhamento físico, não foram planejados
pensando efetivamente na comunicação entre o personal trainer e o aluno através de
dispositivos móveis. No entanto, o aplicativo FitSync já tem essa proposta, o que o torna
muito semelhante ao aplicativo Moving, com apenas uma ressalva: o aplicativo Moving,
possui entre suas funcionalidades o controle dos treinamentos efetuados durante um
determinado período, funcionalidade que o FitSync não possui.
65
4 CONCLUSÕES
De acordo com Social Swimex (2013), o dia-a-dia acelerado dos aluno e do personal
trainer e o intenso trânsito nas grandes cidades são fatores substanciais que tornam mais
complexo o processo de manter um plano de treino corretamente. Em busca de proporcionar
uma melhor experiência na troca de informações entre o personal trainer e seus alunos, foi
proposto o desenvolvimento de um aplicativo para o sistema operacional Android que tem
como objetivo mediar essa comunicação entre os envolvidos sem que haja necessidade da
presença física de ambos em um mesmo local.
O aplicativo que foi desenvolvido cumpriu com todos os objetivos que foram
propostos no início do projeto. O mesmo permite que o personal trainer faça o controle dos
treinos de seus alunos através do uso de um dispositivo móvel munido do sistema operacional
Android. Além disso, o aplicativo possibilita que o personal trainer faça o acompanhamento
do desenvolvimento de seus alunos através de relatórios gráficos baseados nas medidas
disponibilizadas pelos mesmos.
Observou-se também que para o lançamento desse aplicativo como um produto
comercial, serão necessários alguns ajustes. Estes ajustes deverão ser feitos principalmente no
que tange o layout do aplicativo, que não foi tratado como um dos focos deste trabalho e que
por isso, não estava incluso nos objetivos propostos. Além disso, antes de um eventual
lançamento do aplicativo como um produto comercial, se torna necessário um teste extensivo
com grande número de usuários interagindo em um mesmo momento com o objetivo de
verificar possíveis problemas de performance.
No que se trata às tecnologias utilizadas, as mesmas mostraram-se apropriadas e
viáveis para a criação deste aplicativo. Apesar de algumas limitações relacionadas a
performance e tamanho do arquivo executável gerado, a IDE Delphi XE5 apresentou-se como
uma boa solução para o desenvolvimento de aplicativos para o sistema operacional Android,
principalmente para desenvolvedores já ambientados com esta ferramenta.
Além da IDE Delphi XE5, o processo de desenvolvimento do aplicativo exigiu ainda o
estudo e aprendizagem de novas tecnologias, como a linguagem de programação PHP e a
biblioteca NuSOAP. Em conjunto a essas tecnologias, foram utilizados ainda os bancos de
dados MySQL e SQLite, responsáveis pelo armazenamento das informações do aplicativo na
base externa e local, respectivamente.
Ao término do desenvolvimento deste projeto, conclui-se que com o auxílio de
66
ferramentas capazes e com ideias bem definidas, podem surgir diversos projetos que poderão
solucionar inúmeras dificuldades da vida das pessoas. Além disso, graças aos desafios que
surgiram e foram superados, foram adquiridos diversos novos conhecimentos, principalmente
em se tratando de tecnologias que foram utilizadas e que não eram de conhecimento do autor.
44..11 EEXXTTEENNSSÕÕEESS
Para continuidade do presente trabalho, sugere-se:
a) permitir a conversa entre o personal trainer e o aluno através da criação de um chat
no aplicativo;
b) possibilitar mais de um usuário no mesmo dispositivo móvel, para situações em que
duas pessoas utilizam de um mesmo dispositivo para efetuar seu treinamento e
acompanhamento;
c) tornar a parte visual do aplicativo mais atrativa, tornando-o desta forma mais
comercial;
d) criar um módulo web para facilitar o gerenciamento de vários alunos por parte do
personal trainer;
e) adicionar plano de metas a serem alcançadas.
67
REFERÊNCIAS
CALENZANI, João P. A importância da avaliação e reavaliação física. Rio de Janeiro, [2014?]. Disponível em: <https://www.corpoperfeito.com.br/artigo/visualizacaoartigo.aspx?idartigo=103>. Acesso em: 14 out. 2014.
CONSELHO FEDERAL DE EDUCAÇÃO FÍSICA. Perguntas e respostas. Rio de Janeiro, [2014?]. Disponível em: <http://www.confef.org.br/extra/conteudo/default.asp?id=523>. Acesso em: 14 out. 2014.
COSTA, Marcelo G. Ginástica localizada para grupos heterogêneos. Rio de Janeiro: Sprint, 1998.
CUNHA, Fabio A. A busca do “Corpo Perfeito”. São Paulo, 2007. Disponível em: <http://www.fcunha.com.br/artigo/A%20busca%20do%20corpo%20perfeito.htm>. Acesso em: 05 nov. 2014.
FERNANDES FILHO, José. A prática da avaliação física. 2 ed. Rio de Janeiro: Shape, 2003.
FITSYNC CORPORATION. FitSync. Washington, 2014. Disponível em: <http://www.fitsync.com>. Acesso em: 23 out. 2014.
FUZE. FitX. João Pessoa, 2012. Disponível em: <http://pt.fuze.cc/fitx/>. Acesso em: 23 out. 2014.
GOMES, Fabiano. Como usar o NuSOAP para criar um web service. [S.l.], 2009. Disponível em: <http://fgomesaraujo.blogspot.com.br/2009/05/como-usar-o-nusoap-para-criar-um-web.html>. Acesso em: 16 out. 2014.
GONÇALVES, Eduardo C. SQLite, Muito Prazer! [S.l.], [2014?]. Disponível em: <http://www.devmedia.com.br/sqlite-muito-prazer/7100>. Acesso em: 16 out. 2014.
JAROUCHE, Rodrigo. Utilizando NuSOAP PHP: Criando (Utilizando registro de Classes) e consumindo web services. Santo André, 2013. Disponível em: <http://rodrigojarouche.blogspot.com.br/2013/04/utilizando-nusoap-php-criandoutilizando.html>. Acesso em: 16 out. 2014.
KAWATA, Fabricio H. Desenvolvimento Android no Delphi. [S.l.], 2013. Disponível em: <http://www.devmedia.com.br/desenvolvimento-android-no-delphi/29711>. Acesso em: 15 out. 2014.
KAWATA, Fabricio H. Novidades do Delphi XE5. [S.l.], [2014?]. Disponível em: <http://www.devmedia.com.br/novidades-do-delphi-xe5/29707>. Acesso em: 15 out. 2014.
68
LEITE, Mário. Programação Básica e Prática com Delphi. Rio de Janeiro: LTC Editora, 2005.
LUZZI, Luciano. Android - Persistência de Dados Usando SQLite. São Paulo, 2013. Disponível em: <http://www.mobiltec.com.br/blog/index.php/android-persistencia-de-dados-usando-sqlite/>. Acesso em: 16 out. 2014.
MANZANO, José A. N. G.; MENDES, Sandro S. V. Estudo Dirigido de Delphi 8. São Paulo: Editora Érica Ltda, 2004.
MATSUURA, Sérgio. Smartphones e tablets viram personal trainers virtuais. Rio de Janeiro, 2013. Disponível em: <http://oglobo.globo.com/sociedade/tecnologia/smartphones-tablets-viram-personal-trainers-virtuais-9024006>. Acesso em: 13 out. 2014.
MUNIZ, Marcos. A importância da avaliação física. Belo Horizonte, 2013. Disponível em: <http://www.wallstreetfitness.com.br/fique_por_dentro/artigo/8/a-importancia-da-avaliacao-fisica/>. Acesso em: 14 out. 2014.
PINHEIRO, Maria C. B. Atividade física e a procura do “Corpo Ideal.”. [S.l.], 2012. Disponível em: <http://barometro.com.pt/archives/806>. Acesso em: 13 out. 2014.
RIBEIRO, Martinho. Definição de Exercício Físico. [S.l.], 2009. Disponível em: <http://exerciciofisicoduodifusao.blogspot.com.br/2009/03/definicao-de-exercicio-fisico.html>. Acesso em: 14 out. 2014.
SANTANA, Otávio G. Dispositivos móveis e telefone para 2011. [S.l.], [2011?]. Disponível em: < http://www.devmedia.com.br/dispositivos-moveis-e-telefonia-para-2011/21157>. Acesso em: 13 out. 2014.
SARTI, Simone. Como deve ser feita uma avaliação física? [S.l.], [2014?]. Disponível em: <http://www2.uol.com.br/vyaestelar/avaliacao_fisica.htm>. Acesso em: 14 out. 2014.
SECULLUM SOFTWARES. Academia.Net. Campo Bom, [2014?]. Disponível em: <https://www.secullum.com.br/secullum-academia-net>. Acesso em: 23 out. 2014.
SILVA, Rafael F. SQLite - O Pequeno Notável. [S.l.], [2014?]. Disponível em: <http://www.devmedia.com.br/sqlite-o-pequeno-notavel/7249>. Acesso em: 16 out. 2014.
SOARES, Vilhena. Praticar exercícios físicos regularmente traz benefícios mesmo se você começar tarde. Minas Gerais, 2014. Disponível em: <http://sites.uai.com.br/app/noticia/saudeplena/noticias/2014/04/04/noticia_saudeplena,148108/praticar-exercicios-fisicos-regularmente-traz-beneficios-mesmo-se-voce.shtml>. Acesso em: 14 out. 2014.
SOCIAL SWIMEX. 3 motivos para frequentar a academia. Curitiba, 2013. Disponível em: <http://www.swimex.com.br/blog/saude/3-motivos-para-frequentar-academia/#more-165>. Acesso em: 13 out. 2014.
69
ZUNINO, Fernanda. A importância da orientação profissional na prática de exercícios de Pilates. [S.l.], [2014?]. Disponível em: <http://www.educacaofisica.com.br/index.php/fitness/canais-fitness/pilates/4200-a-importancia-da-orientacao-profissional-na-pratica-de-exercicios-de-pilates>. Acesso em: 14 out. 2014.
70
APÊNDICE A – Descrição dos Casos de Uso
Este Apêndice apresenta a descrição dos principais casos de uso descritos na seção de
especificação deste trabalho. No Quadro 4 tem-se o detalhamento do caso de uso “Manter
planos de treino”.
Quadro 4 - Detalhamento do caso de uso "UC05 - Manter planos de treino" UC05 - Manter planos de treino Permite que o personal trainer faça a inclusão, alteração e exclusão de planos de treino que poderão ser exportados para o aluno. Ator: Personal Trainer. Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “personal trainer”. Pré-Condição: Os equipamentos e exercícios utilizados no plano de treino devem estar cadastrados. Pós Condição: Usuário inseriu, alterou ou excluiu algum plano de treino. Fluxo Principal
1. Sistema demonstra os planos de treino cadastrados; 2. Usuário escolhe se quer inserir, alterar ou excluir um plano de treino.
Fluxo Alternativo
1. Campo obrigatório não preenchido; 2. Mensagem de alerta informando que algum campo obrigatório não foi preenchido é
mostrada. Cenário Inclusão
1. Sistema demonstra os planos de treino cadastrado; 2. Usuário clica na opção de inclusão de novo plano de treino; 3. Sistema apresenta a tela de cadastro de plano de treino; 4. Usuário digita todos os campos obrigatórios (Descrição, Nível); 5. Usuário salva o plano de treino; 6. Sistema insere na base de dados o plano de treino digitado; 7. Usuário seleciona os exercícios que farão parte daquele plano de treino e preenche
orientações ao aluno em cada exercício; 8. Usuário salva cada exercício com suas respectivas orientações; 9. Sistema insere na base de dados os exercícios com suas respectivas orientações.
Cenário Alteração
1. Sistema demonstra os planos de treino cadastrados; 2. Usuário seleciona um plano de treino para alteração; 3. Sistema apresenta a tela de cadastro de plano de treino com os campos preenchidos
referentes ao item que o usuário selecionou; 4. Usuário altera as informações que deseja (Descrição, Nível); 5. Usuário salva as alterações; 6. Sistema efetua as alterações feitas pelo usuário na base de dados.
71
Cenário Exclusão 1. Sistema demonstra os planos de treino cadastrados; 2. Usuário seleciona um plano de treino para exclusão; 3. Sistema apresenta a tela de cadastro de plano de treino com os campos preenchidos
referentes ao item que o usuário selecionou; 4. Usuário clica no botão para excluir o registro; 5. Sistema exclui o plano de treino selecionado e seus exercícios (com as respectivas
orientações) da base de dados.
No Quadro 5 apresenta-se o detalhamento do caso de uso “UC06 - Manter Medidas”. Quadro 5 - Detalhamento do caso de uso "UC06 - Manter medidas"
UC06 - Manter medidas Permite que o aluno faça a inclusão, alteração e exclusão de registros de medidas que poderão ser exportados para o personal trainer. Ator: Aluno Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “aluno”. Pós-Condição: Usuário inseriu, alterou ou excluiu algum registro de medidas. Fluxo Principal
1. Sistema demonstra os registros de medidas cadastrados; 2. Usuário escolhe se quer inserir, alterar ou excluir um registro de medidas.
Fluxo Alternativo
1. Campo obrigatório não preenchido; 2. Mensagem de alerta informando que algum campo obrigatório não foi preenchido é
mostrada. Cenário Inclusão
1. Sistema demonstra os registros de medidas cadastrados; 2. Usuário clica na opção de inclusão de novo registro de medidas; 3. Sistema apresenta a tela de cadastro de registro de medidas; 4. Usuário digita todos os campos obrigatórios (Data de Medição, Altura (m), Peso (kg),
Sexo, Circunferência Cintura (cm), Circunferência Quadril (cm), Circunferência Pescoço (cm), Circunferência Ombro (cm), Circunferência Peitoral (cm), Circunferência Braço Dir. (cm), Circunferência Braço Esq. (cm), Circunferência Coxa Dir. (cm), Circunferência Coxa Esq. (cm));
5. Usuário salva o registro de medidas; 6. Sistema insere na base de dados o registro de medidas digitado.
Cenário Alteração
1. Sistema demonstra os registros de medidas cadastrados; 2. Usuário seleciona um registro de medidas para alteração; 3. Sistema apresenta a tela de cadastro de registro de medidas com os campos
preenchidos referentes ao item que o usuário selecionou; 4. Usuário altera as informações que deseja (Data de Medição, Altura (m), Peso (kg),
Sexo, Circunferência Cintura (cm), Circunferência Quadril (cm), Circunferência Pescoço (cm), Circunferência Ombro (cm), Circunferência Peitoral (cm),
72
Circunferência Braço Dir. (cm), Circunferência Braço Esq. (cm), Circunferência Coxa Dir. (cm), Circunferência Coxa Esq. (cm));
5. Sistema efetua as alterações feitas pelo usuário na base de dados. Cenário Exclusão
1. Sistema demonstra os registros de medidas cadastrados; 2. Usuário seleciona um registro de medidas para exclusão; 3. Sistema apresenta a tela de cadastro de registro de medidas com os campos
preenchidos referentes ao item que o usuário selecionou; 4. Usuário clica no botão para excluir o registro; 5. Sistema exclui o registro selecionado da base de dados.
No Quadro 6 demonstra-se o detalhamento do caso de uso “Disponibilizar treino
cadastrado”.
Quadro 6 - Detalhamento do caso de uso "UC08 - Disponibilizar treino cadastrado" UC08 - Disponibilizar treino cadastrado Permite ao personal trainer disponibilizar um plano de treino que foi cadastrado para que o aluno tenha acesso à ele. Ator: Personal Trainer. Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “personal trainer”. Pós-Condição: Os planos de treino selecionados estão disponíveis para download do aluno. Fluxo Principal
1. Sistema demonstra os planos de treino já cadastrados; 2. Usuário seleciona para qual aluno ele deseja disponibilizar os planos de treino; 3. Usuário seleciona quais planos de treino ele deseja disponibilizar para o download do
aluno; 4. Usuário clica no botão para efetuar a disponibilização; 5. Sistema registra na base de dados externa as planos de treino que foram selecionados
pelo usuário. Fluxo Alternativo
1. Sistema não consegue obter conexão com a internet. 2. Mensagem de erro é mostrada.
No Quadro 7 tem-se o detalhamento do caso de uso “Fazer download de treino
previamente cadastrado”.
Quadro 7 - Detalhamento do caso de uso "UC09 - Fazer download de treino previamente cadastrado" UC09 - Fazer download de treino previamente disponibilizado Permite ao aluno fazer o download de um plano de treino que foi disponibilizado pelo personal trainer. Ator: Aluno Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “aluno”.
73
Pós-Condição: Os planos de treino disponíveis para o aluno foram importados para a base de dados local. Fluxo Principal
1. Usuário clica no botão de importação dos planos de treino disponíveis para ele; 2. O sistema busca na base de dados externa se existem planos de treino disponíveis
para o aluno em questão; 3. Sistema insere todos os planos de treino disponíveis para o aluno e seus respectivos
exercícios e equipamentos na base local. Fluxo Alternativo
1. Sistema não consegue obter conexão com a internet. 2. Mensagem de erro é mostrada.
No Quadro 8 apresenta-se o detalhamento do caso de uso “Emitir relatório com
resultado da análise de desenvolvimento do aluno”.
Quadro 8 - Detalhamento do caso de uso "UC10 - Emitir relatório com resultado da análise de desenvolvimento do aluno"
UC10 - Emitir relatório com resultado da análise de desenvolvimento do aluno Permite ao usuário gerar um relatório com a análise do desenvolvimento do aluno. Ator: Aluno / Personal Trainer Pré-Condição: O usuário deve estar logado. Pós-Condição: O relatório de análise de desenvolvimento foi gerado. Fluxo Principal
1. Usuário seleciona quais registros de medida deseja comparar; 2. Usuário clica no botão para efetuar a análise de desenvolvimento; 3. Usuário escolhe um aspecto físico para analisar graficamente; 4. Sistema gera um relatório que demonstra graficamente o desenvolvimento naquele
aspecto. Fluxo Alternativo
1. Campo obrigatório não foi selecionado; 2. Mensagem de alerta informando que algum campo obrigatório não foi selecionado é
mostrada.
No Quadro 9 demonstra-se o detalhamento do caso de uso “Disponibilizar as medidas
do aluno”. Quadro 9 - Detalhamento do caso de uso "UC11 - Disponibilizar as medidas do aluno"
UC11 - Disponibilizar as medidas do aluno Permite ao aluno disponibilizar para download as suas medidas cadastradas para que o personal trainer faça a análise do seu desenvolvimento. Ator: Aluno Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “aluno”.
74
Pós-Condição: Os registros de medida selecionados estão disponíveis para download do personal trainer. Fluxo Principal
1. Sistema demonstra os registros de medidas já cadastrados; 2. Usuário seleciona para qual personal trainer será disponibilizado os registros de
medidas; 3. Usuário seleciona quais registros de medidas ele deseja disponibilizar para o
download do personal trainer; 4. Usuário clica no botão para efetuar a disponibilização; 5. Sistema registra na base de dados externa as registros de medidas que foram
selecionados pelo usuário. Fluxo Alternativo
6. Sistema não consegue obter conexão com a internet. 7. Mensagem de erro é mostrada.
No Quadro 10 tem-se o detalhamento do caso de uso “Fazer download das medidas do
aluno”. Quadro 10 - Detalhamento do caso de uso "UC12 - Fazer download das medidas do aluno"
UC12 - Fazer download das medidas do aluno Permite ao personal trainer, fazer o download das medidas do aluno para efetuar a análise do desenvolvimento do mesmo. Ator: Personal Trainer Pré-Condição: O usuário deve estar logado. Pré-Condição: O usuário deve ser do tipo “personal trainer”. Pós-Condição: Os registros de medida disponíveis para o personal trainer foram importados para a base de dados local. Fluxo Principal
1. Usuário clica no botão de importação dos registros de medidas disponíveis para ele; 2. O sistema busca na base de dados externa se existem registros de medidas disponíveis
para o personal trainer em questão; 3. Sistema insere todos os registros de medidas disponíveis para o personal trainer na
base local. Fluxo Alternativo
4. Sistema não consegue obter conexão com a internet. 5. Mensagem de erro é mostrada.
75
APÊNDICE B – Descrição do Dicionário de Dados
Este Apêndice apresenta a descrição das tabelas do banco de dados apresentadas na
seção de especificação deste trabalho. Os tipos de dados utilizados nos atributos são:
a) integer: para variáveis com valores numéricos inteiros;
b) varchar: para variáveis com caracteres alfanuméricos com tamanho variável;
c) char: para variáveis com caracteres alfanuméricos com tamanho fixo;
d) float: para variáveis com valores numéricos.
No Quadro 11 tem-se o dicionário de dados da tabela “equipamento”. Quadro 11 - Tabela “equipamento”
Entidade: Equipamento
Descrição: Entidade responsável por armazenar os equipamentos na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEQP Código do equipamento Integer 6 Sim Sim
NOMEQP Nome do Equipamento Varchar 100 Não Sim
No Quadro 12 apresenta-se o dicionário de dados da tabela “exercicio”. Quadro 12 - Tabela “exercício”
Entidade: Exercicio
Descrição: Entidade responsável por armazenar os exercícios na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEXE Código do Exercício Integer 6 Sim Sim
NOMEXE Nome do Exercício Varchar 70 Não Sim
DESEXE Descrição do Exercício Varchar 200 Não Não
CODEQP Código do Equipamento Integer 6 Não Sim
No Quadro 13 demonstra-se o dicionário de dados da tabela “planos_treino”. Quadro 13 - Tabela “planos_treino”
Entidade: Planos_treino
Descrição: Entidade responsável por armazenar os planos de treino na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
76
CODTRN Código do Plano de Treino Integer 6 Sim Sim
DESTRN Descrição do Plano de Treino Varchar 100 Não Sim
NIVTRN Nível do Plano de Treino Char 1 Não Sim
DATCRI Data de Criação do Plano de
Treino
Varchar 10 Não Sim
No Quadro 14 tem-se o dicionário de dados da tabela “exercicios_treino”. Quadro 14 - Tabela "exercicios_treino"
Entidade: Exercicios_treino
Descrição: Entidade responsável por armazenar os exercícios de cada plano de treino
na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEXT Código do Exercício do Plano
de Treino
Integer 6 Sim Sim
CODEXE Código do Exercício Integer 6 Não Sim
CODTRN Código do Treino Integer 6 Não Sim
TIPEXE Tipo de Exercício Char 1 Não Sim
QTDSRI Quantidade de Séries Integer 10 Não Não
QTDRPT Quantidade de Repetições Integer 10 Não Não
QTDTMP Quantidade de Tempo Integer 10 Não Não
INTEXE Intensidade do Exercício Char 1 Não Sim
OBSEXT Observações Varchar 200 Não Não
No Quadro 15 apresenta-se o dicionário de dados da tabela “medidas”. Quadro 15 - Tabela "medidas"
Entidade: Medidas
Descrição: Entidade responsável por armazenar os registros de medidas na base local.
Campo Descrição Tipo Tamnho Chave Primária
Not Null
CODMDU Código do Registro de
Medidas
Integer 6 Sim Sim
DATMDU Data da Medição Varchar 10 Não Sim
ALTUSU Altura do Usuário Float 16,2 Não Sim
PSOUSU Peso do Usuário Float 16,2 Não Sim
77
CRFCIN Circunferência da Cintura Float 16,2 Não Sim
CRFQDR Circunferência do Quadril Float 16,2 Não Sim
CRFPSC Circunferência do Pescoço Float 16,2 Não Sim
CRFOMB Circunferência do Ombro Float 16,2 Não Sim
CRFPEI Circunferência do Peito Float 16,2 Não Sim
CRFBRCD Circunferência do Braço
Direito
Float 16,2 Não Sim
CRFBRCE Circunferência do Braço
Esquerdo
Float 16,2 Não Sim
CRFCOXD Circunferência da Coxa
Direita
Float 16,2 Não Sim
CRFCOXE Circunferência da Coxa
Esquerda
Float 16,2 Não Sim
SEXUSU Sexo do Usuário Char 1 Não Sim
ABRUSU Abreviatura do Nome do
Usuário (Utilizado na
Exportação)
Varchar 100 Não Não
No Quadro 16 demonstra-se o dicionário de dados da tabela “registro_treino”. Quadro 16 - Tabela "registro_treino"
Entidade: Registro_treino
Descrição: Entidade responsável por armazenar os registros do histórico dos treinos
executados na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODREG Código do Registro de
Execução de Treino
Integer 6 Sim Sim
DATREG Data do Registro de
Execução de Treino
Float 24,8 Não Sim
INDCPT Indica se o Treino foi
Realizado Completamente
Char 1 Não Sim
DESTRN Descrição do Treino Varchar 100 Não Sim
NIVTRN Nível do Treino Char 1 Não Sim
78
No Quadro 17 tem-se o dicionário de dados da tabela “itens_registro”.
Quadro 17 - Tabela "itens_registro" Entidade: Itens_registro
Descrição: Entidade responsável por armazenar os exercícios de cada registros dos
treinos executados na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODITR Código do Item do Registro Integer 6 Sim Sim
CODREG Código do Registro de
Execução de Treino
Integer 6 Não Sim
TIPEXE Tipo do Exercício Char 1 Não Sim
NOMEXE Nome do Exercício Varchar 70 Não Sim
QTDSRI Quantidade de Séries Integer 10 Não Não
QTDRPT Quantidade de Repetições Integer 10 Não Não
QTDTMP Quantidade de Tempo Integer 10 Não Não
No Quadro 18 apresenta-se o dicionário de dados da tabela “usuario”. Quadro 18 - Tabela "usuario"
Entidade: Usuario
Descrição: Entidade responsável por armazenar o usuário na base local.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODUSU Código do Usuário Integer 6 Sim Sim
NOMUSU Nome do Usuário Varchar 70 Não Sim
LOGUSU Login do Usuário Varchar 50 Não Sim
SENUSU1 Senha do Usuário Varchar 50 Não Sim
SENUSU2 Confirmação de Senha Varchar 50 Não Sim
EMLUSU E-mail do usuário Varchar 100 Não Sim
PRCAUT Indica Preenchimento
Automático
Char 1 Não Sim
INDPRS Indica Usuário Personal
Trainer
Char 1 Não Sim
79
No Quadro 19 demonstra-se o dicionário de dados da tabela “equipamento_web”.
Quadro 19 - Tabela "equipamento_web" Entidade: Equipamento_web
Descrição: Entidade responsável por armazenar os equipamentos na base externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEQP Código do Equipamento Integer 6 Sim Sim
NOMEQP Nome do Equipamento Varchar 100 Não Sim
CODUSU Código do Usuário Integer 6 Sim Sim
No Quadro 20 tem-se o dicionário de dados da tabela “exercicio_web”.
Quadro 20 - Tabela “exercicio_web” Entidade: Exercicio_web
Descrição: Entidade responsável por armazenar os exercícios na base externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEXE Código do Exercício Integer 6 Sim Sim
NOMEXE Nome do Exercício Varchar 70 Não Sim
DESEXE Descrição do Exercício Varchar 200 Não Não
CODEQP Código do Equipamento Integer 6 Não Sim
CODUSU Código do Usuário Integer 6 Sim Sim
No Quadro 21 apresenta-se o dicionário de dados da tabela “planos_treino_web”. Quadro 21 - Tabela "planos_treino_web"
Entidade: Planos_treino_web
Descrição: Entidade responsável por armazenar os planos de treino na base externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODTRN Código do Plano de Treino Integer 6 Sim Sim
DESTRN Descrição do Plano de Treino Varchar 100 Não Sim
NIVTRN Nível do Plano de Treino Char 1 Não Sim
DATCRI Data de Criação do Plano de
Treino
Varchar 10 Não Sim
CODUSU Código do Usuário Integer 6 Sim Sim
80
No Quadro 22 demonstra-se o dicionário de dados da tabela “exercícios_treino_web”.
Quadro 22 - Tabela "exercicios_treino_web" Entidade: Exercicios_treino_web
Descrição: Entidade responsável por armazenar os exercícios dos planos de treino na
base externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODEXT Código do Exercício do Plano
de Treino
Integer 6 Sim Sim
CODTRN Código do Treino Integer 6 Não Sim
CODEXE Código do Exercício Integer 6 Não Sim
TIPEXE Tipo de Exercício Char 1 Não Sim
QTDSRI Quantidade de Séries Integer 10 Não Não
QTDRPT Quantidade de Repetições Integer 10 Não Não
QTDTMP Quantidade de Tempo Integer 10 Não Não
INTEXE Intensidade do Exercício Char 1 Não Sim
OBSEXT Observações Varchar 200 Não Não
CODUSU Código do Usuário Integer 6 Sim Sim
No Quadro 23 tem-se o dicionário de dados da tabela “medidas_web”. Quadro 23 - Tabela "medidas_web"
Entidade: Medidas_web
Descrição: Entidade responsável por armazenar os registros de medidas na base
externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODMDU Código do Registro de
Medidas
Integer 6 Sim Sim
DATMDU Data da Medição Varchar 10 Não Sim
ALTUSU Altura do Usuário Varchar 16 Não Sim
PSOUSU Peso do Usuário Varchar 16 Não Sim
CRFCIN Circunferência da Cintura Varchar 16 Não Sim
CRFQDR Circunferência do Quadril Varchar 16 Não Sim
CRFPSC Circunferência do Pescoço Varchar 16 Não Sim
CRFOMB Circunferência do Ombro Varchar 16 Não Sim
81
CRFPEI Circunferência do Peito Varchar 16 Não Sim
CRFBRCD Circunferência do Braço
Direito
Varchar 16 Não Sim
CRFBRCE Circunferência do Braço
Esquerdo
Varchar 16 Não Sim
CRFCOXD Circunferência da Coxa
Direita
Varchar 16 Não Sim
CRFCOXE Circunferência da Coxa
Esquerda
Varchar 16 Não Sim
SEXUSU Sexo do Usuário Char 1 Não Sim
CODUSU Código do Usuário Integer 6 Sim Sim
ABRUSU Abreviatura do Nome do
Usuário (Utilizado na
Importação)
Varchar 100 Não Não
CODPRS Código do Personal Trainer Integer 6 Sim Sim
No Quadro 24 apresenta-se o dicionário de dados da tabela “usuario_web”. Quadro 24 - Tabela "usuario_web"
Entidade: Usuario_web
Descrição: Entidade responsável por armazenar os usuários na base externa.
Campo Descrição Tipo Tamanho Chave Primária
Not Null
CODUSU Código do Usuário Integer 6 Sim Sim
NOMUSU Nome do Usuário Varchar 70 Não Sim
LOGUSU Login do Usuário Varchar 50 Não Sim
SENUSU1 Senha do Usuário Varchar 50 Não Sim
SENUSU2 Confirmação de Senha Varchar 50 Não Sim
EMLUSU E-mail do Usuário Varchar 100 Não Sim
PRCAUT Indica Preenchimento
Automático
Char 1 Não Sim
INDPRS Indica Usuário Personal
Trainer
Char 1 Não Sim