Buscar

TCC ALCIONE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MINISTÉRIO DA EDUCAÇÃO 
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
INSTITUTO FEDERAL FARROUPILHA - CAMPUS SÃO VICENTE DO SUL 
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
 
 
 
 
 
 
 
 
 
DESTAQUE: SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA 
ACADEMIA DE GINÁSTICA 
 
 
 
 
 
 
TRABALHO DE CONCLUSÃO DE CURSO 
 
 
 
 
 
 
 
 
 
Alcione Rosa de Morais 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
São Vicente do Sul, RS, Brasil 
2012 
DESTAQUE: SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA 
ACADEMIA DE GINÁSTICA 
 
 
Por 
 
 
Alcione Rosa de Morais 
 
 
 
Trabalho de Conclusão de Curso apresentado como requisito para obtenção do título de 
Tecnólogo em Análise e Desenvolvimento de Sistemas do Instituto Federal Farroupilha- 
Campus São Vicente do Sul 
 
 
 
 
 
Orientador: Éric Tadiello Beltrão 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
São Vicente do Sul, RS, Brasil 
2012 
MINISTÉRIO DA EDUCAÇÃO 
SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA 
INSTITUTO FEDERAL FARROUPILHA - CAMPUS SÃO VICENTE DO SUL 
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
 
 
A comissão examinadora, abaixo assinada, 
Aprova a Monografia. 
 
 
 
DESTAQUE: SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA 
ACADEMIA DE GINÁSTICA 
 
 
Elaborado por 
Alcione Rosa de Morais 
 
 
Como requisito parcial da obtenção do título de Tecnólogo em Análise e 
Desenvolvimento de Sistemas 
 
 
COMISSÃO EXAMINADORA: 
 
 
 
____________________________ 
Éric Tadiello Beltrão 
(Orientador) 
 
 
 
____________________________ 
Eliana Zen 
(IFET-SVS) 
 
 
____________________________ 
Fabieli de Conti 
(IFET-SVS) 
 
 
 
 
 
São Vicente do Sul, 16 de julho de 2012 
RESUMO 
 
 
DESTAQUE: SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA 
ACADEMIA DE GINÁSTICA 
 
 
 
Autor: Alcione Rosa de Morais 
 
Orientador: Éric Tadiello Beltrão 
 
Data e Local da Defesa: São Vicente do Sul, 16 de julho de 2012. 
 
 
Este trabalho tem por objetivo explicar os métodos e as tecnologias utilizadas para 
elaboração de um sistema para academias de ginástica de pequeno e médio porte. 
Gerenciando e informatizando os dados de seus clientes, ajudando aos profissionais 
da mesma em suas tarefas diárias, utilizando a tecnologia para oferecer um serviço com 
maior rapidez e eficiência. Com base na análise do sistema, previamente realizada pela 
acadêmica Eliandra Trombini Naressi, deu-se início ao desenvolvimento do software. Foi 
utilizado o banco de dados MySQL, a IDE NetBeans com a linguagem de programação Java. 
No decorrer deste documento, será explicado com maiores detalhes como foi 
desenvolvido o software Destaque. 
 
Palavras-Chave: Codificação, Academia de ginástica, Software. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ABSTRACT 
 
 
This work aims to explain the methods and technologies used for developing a 
system to small and medium sized gyms. 
Managing and computerizing the data from its customers, helping professionals in 
their daily tasks, using the technology to offer a faster and more efficiently service. Based on 
system analysis previously performed by graduate student Eliandra Trombini Naressi, has 
been started create the software. We used the MySQL database, the NetBeans IDE with Java 
programming language. 
Throughout this document we will be explaining in more detail how the software 
DESTAQUE was developed. 
 
Keywords: Coding, GYM, Software. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LISTA DE FIGURAS 
 
 
Figura 1 – O processo em espiral, visão abstrata (Fonte Videira, 2000) ..................... 14 
Figura 2 – Classe e atributos ..................................................................................... 17 
Figura 3 – Objetos .................................................................................................... 18 
Figura 4 – Método consultar CPF .............................................................................. 18 
Figura 5 – Herança .................................................................................................... 19 
Figura 6 – Der do banco de dados que mostrar apenas as tabelas. ........................... 26 
Figura 7 – Tela login .................................................................................................. 30 
Figura 8 – Protótipo da tela de administração do sistema ........................................ 31 
Figura 9 – Protótipo da tela cadastro de administrador. ........................................... 32 
Figura 10 – Protótipo da tela cadastro de cliente ...................................................... 32 
Figura 11 – Controle de questionários e atividades do cliente. ................................. 33 
Figura 12 – Manter Anamnese. ................................................................................. 34 
Figura 13 – Manter questionário dependência do cigarro. ........................................ 35 
Figura 14 – Manter Parq. .......................................................................................... 36 
Figura 15 – Manter questionário risco cardíaco. ....................................................... 36 
Figura 16 – Manter Avaliação Relação Cintura/ Quadril. ........................................... 37 
Figura 17 – Manter Avaliação Composição Corpora. ................................................. 38 
Figura 18 – Manter Atividades do Cliente. ................................................................ 39 
Figura 19 – Tela de Acesso do Cliente. ...................................................................... 40 
Figura 20 – Tela Controle de Atividades. ................................................................... 41 
Figura 21 – Avaliação composição corporal. ............................................................. 42 
Figura 22 – Relatório das atividades. ........................................................................ 43 
Figura 23 – Relatório e gráfico Cintura/ Quadril. ....................................................... 44 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LISTA DE SIGLAS 
 
 
DER – Diagrama Entidade-Relacionamento 
IFF – Instituto Federal Farroupilha 
SGI – Sistema de Gerenciamento Informação 
TI – Tecnologia da Informação 
UML – Unified Modeling Language 
MySQL – My Structured Query Language 
SQL – Structured Query Language 
DBA – Administradores de Banco de Dados 
BD – Banco de Dados 
Parq – Physical Activity Readiness Questionnarie 
GPL – General public License 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SUMÁRIO 
 
1 INTRODUÇÃO ................................................................................................................10 
1.1 Motivação .............................................................................................................11 
1.2 Justificativas ..........................................................................................................11 
1.3 Objetivo Geral .......................................................................................................12 
1.4 Objetivos Específicos .............................................................................................12 
2 METODOLOGIA APLICADA PARA IMPLEMENTAÇÃO DO SOFTWARE .............................13 
2.1 Modelo Interativo ou Espiral .................................................................................13 
3 TIPO DE PROGRAMAÇÃO E LINGUAGEM UTILIZADA NO SOFTWARE ............................16 
3.1 Programação estruturada ......................................................................................163.2 Programação Orientada a Objetos ........................................................................16 
3.3 Linguagem de programação JAVA .........................................................................19 
4 FERRAMENTAS ..............................................................................................................21 
4.1 NetBeans ...............................................................................................................21 
4.2 Mysql .....................................................................................................................21 
4.3 VertrigoServ ..........................................................................................................22 
4.4 SQLyog...................................................................................................................22 
4.5 MySQL WorkBench 5.2 ..........................................................................................22 
4.6 IReport ..................................................................................................................22 
5 BANCO DE DADOS .........................................................................................................24 
5.1 O Structured Query Language – SQL ......................................................................24 
5.2 Estrutura do banco de dados .................................................................................25 
6 DESENVOLVIMENTO DO SOFTWARE .............................................................................27 
6.1 Como foi programado o sistema............................................................................27 
6.1.1 ClienteBean ......................................................................................................27 
6.1.2 ClienteView ......................................................................................................29 
6.2 Módulo Usuário .....................................................................................................30 
6.3 Módulo Administrador ..........................................................................................31 
6.3.1 Manter dados pessoais do administrador.........................................................32 
6.3.2 Manter dados pessoais do cliente ....................................................................32 
6.3.3 Manter questionário e avaliações do cliente ....................................................33 
6.3.3.1 Manter Questionário Anamnese................................................................34 
6.3.3.2 Manter questionário dependência do cigarro ............................................35 
6.3.3.3 Manter questionário parq..........................................................................35 
6.3.3.4 Manter questionário risco cardíaco ...........................................................36 
6.3.3.5 Manter avaliação relação cintura/ quadril .................................................37 
6.3.3.6 Manter avaliação composição corporal .....................................................37 
6.3.4 Manter atividades do cliente ............................................................................38 
6.4 Módulo Cliente ......................................................................................................39 
6.4.1 Marcar atividades realizadas ............................................................................40 
6.4.2 Gráfico da composição corporal .......................................................................41 
6.4.3 Relatório das atividades ...................................................................................42 
6.4.4 Relatório e gráfico Cintura/ Quadril..................................................................43 
7 CONCLUSÃO ..................................................................................................................45 
REFERÊNCIAS BIBLIOGRÁFICAS ............................................................................................46 
ANEXOS................................................................................................................................48 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1 INTRODUÇÃO 
 
Com o mercado tão competitivo, a necessidade de criar ferramentas para auxiliar no dia 
a dia torna-se cada vez mais importante, e um software quando bem projetado com 
objetivos sólidos tem um grande valor, pois se pode utilizar dele para fazer as tarefas com 
maior rapidez e praticidade. 
A partir dessa ideia decidiu-se criar um software para as academias de ginástica de 
pequeno e médio porte, que estão, em sua maioria, sem o auxílio da área da Tecnologia da 
Informação, devido a alguns fatores como: a falta de pessoas especializadas na área, o baixo 
poder aquisitivo, os altos preços dos softwares existentes no mercado. 
As academias acabam usando, muitas vezes, anotações em papel, o que torna lenta e 
trabalhosa essa atividade, tanto para o profissional da academia como para o seu cliente. 
Tudo isso motivou a realização deste trabalho para colocar o software Destaque no 
mercado, como uma nova opção para as academias que precisam de um software, e não 
possuem condições financeiras para pagar altos valores por um sistema. 
Para um melhor entendimento, o presente trabalho está dividido em capítulos, que 
serão descritos a seguir: 
A metodologia utilizada para desenvolver o sistema foi o modelo espiral, porque se 
buscou programar, testar e implementar o software, juntamente com o profissional da 
academia, para poder ter a certeza de que o programa desenvolvido atendia as necessidades 
da academia, e caso não atendesse, procurou-se identificar os possíveis erros de 
desenvolvimento, e assim saná-los, sucessivamente, até se chegar a real necessidade do 
usuário. 
Com a evolução da tecnologia surgiram algumas técnicas de programação e 
linguagem de programação, cada uma com suas características específicas, no software 
produzido foi utilizado o Java, por já ter sido estudado durante o curso. 
Quando se desenvolve um software é preciso que se leve em conta uma série de 
fatores, dos quais se pode citar: as ferramentas utilizadas para cria-lo possuem um papel 
importante, pois dependendo das ferramentas pode-se ganhar ou perder tempo no 
desenvolvimento do mesmo. 
11 
 
O banco de dados exerce uma função importante, pois é nele que ficam armazenadas 
as informações cadastradas pelo usuário no software, a seguir, no documento serão 
explicados alguns conceitos para mostrar como foi criado o banco de dados. 
Também busca-se explicar como foram criadas as telas do software, desde os layouts 
das classes até os seus códigos. 
 
 
1.1 Motivação 
A grande maioria das academias de pequeno porte não possui software que atenda 
suas necessidades, pelo fato de que os softwares presentes no mercado custam muito caro, 
o que inviabiliza a aquisição dos mesmos, pelas academias de ginástica. A falta de softwares 
com preços mais acessíveis faz com que os profissionais responsáveis pelas academias 
passem por algumas dificuldades devido a fatores como: 
· dificuldade de controle de seus clientes; 
· os exercícios são prescritos através de ficha, gerando um grande acúmulo de papéis, 
e consequentemente, uma desorganização relevante; 
· falta de um histórico de cada cliente; 
· falta de acesso do cliente a um histórico de suas atividades; 
· dificuldade em comparar o avanço ou não, de um cliente em específico. 
Aconteceu o contato com um profissional de uma academia, da cidade de São 
Vicente do Sul, para poder identificar as afirmativas feitas acima. 
 
 
1.2 Justificativas 
O softwarebusca gerenciar e solucionar problemas como a perda de fichas de clientes, a 
perda de dados de avaliações, e com isso traz benefícios como: 
· O controle sobre os clientes; 
· diminui a dificuldade de gerar o histórico de cada cliente;
12 
 
 
· histórico de avaliações; 
· os clientes terão acesso às suas atividades; 
· poderão ser feitas comparações de avaliações de acordo com a data; 
· geração de gráficos com vários comparativos; 
· acesso ao histórico do cliente. 
 
 
1.3 Objetivo Geral 
Desenvolver um software para academias de ginástica, para gerenciar as atividades 
realizadas pelos seus alunos. Com o passar do tempo, também será possível criar o histórico 
das atividades do aluno, e a partir desse histórico, há a possibilidade de gerar gráficos de 
desempenho de suas avaliações. 
 
 
1.4 Objetivos Específicos 
· Programar um sistema capaz de gerenciar toda uma série de Questionários e 
Avaliações; 
· fazer para esse programa uma interface amigável para facilitar o trabalho de pessoas 
leigas em computação; 
· configurar um banco de dados suficientemente simples, e de fácil acesso, para que se 
possam fazer pesquisas eficientes nele, de acordo com a necessidade do usuário; 
· tratar de forma adequada os dados coletados para geração de relatórios 
estruturados e de fácil entendimento. 
13 
 
 
2 METODOLOGIA APLICADA PARA IMPLEMENTAÇÃO DO 
SOFTWARE 
 
Segundo (Geraldo Xexéo, 2007), desenvolver um software “é um processo de 
transformação de uma necessidade do cliente em uma sequência de produtos de software 
(análise, projeto, protótipo, manuais) que tem em seu fim um programa de computador”. 
Essas transformações são imperfeitas, problemas de comunicação entre o usuário e o 
desenvolvedor, e falhas nas técnicas utilizadas pelo desenvolvedor para garantir que 
nenhuma informação fique perdida ou inserida de forma incorreta no sistema. 
Para garantir que o sistema faça o que o usuário deseja, foram utilizadas duas 
técnicas: verificação e validação. Verificar significa analisar se o produto de uma fase do 
processo de desenvolvimento está de acordo com sua especificação. Já Validar significa 
analisar se o produto de uma fase do processo de desenvolvimento está de acordo com as 
expectativas do cliente. 
Para o desenvolvimento do software, decidiu-se usar o modelo espiral, pois esta 
metodologia prega pelo desenvolvimento, teste e implantação, no qual o software é testado 
pelo cliente, e assim, possíveis erros são identificados e corrigidos. Conforme pode-se 
observar na figura 1. 
 
 
2.1 Modelo Interativo ou Espiral 
O modelo em espiral foi proposto por Boehm (1988), como forma de integrar os 
diversos modelos existentes na época, eliminando suas dificuldades e explorando seus 
pontos fortes. Este modelo foi desenvolvido para abranger as melhores características tanto 
do ciclo de vida clássico como da prototipação, acrescentando, ao mesmo tempo, um novo 
elemento à análise de riscos, que falta nesses paradigmas. 
Variações do modelo espiral consideram entre três a seis tarefas ou seletores da 
espiral, que podem ser: 
· comunicação com o cliente e planejamento; 
· análise de risco; 
· engenharia; 
 
14 
 
 
· construção e liberação; 
· avaliação do cliente. 
 
 
Figura 1: o processo em espiral, visão abstrata. (Fonte: Videira, 2000) 
 
Com cada interação ao redor da espiral (começando no centro e trabalhando para 
fora), versões, progressivamente, mais completas do software são construídas. 
Durante o primeiro circuito ao redor da espiral, os objetivos, alternativas e restrições 
são definidas, e riscos são identificados e analisados. Se a análise de risco indica que existem 
dúvidas nos requisitos, a prototipação pode ser usada no quadrante de engenharia para 
atender tanto o desenvolvedor como o cliente. 
Simulações e outros modelos podem ser usados depois para definir o problema e 
refinar os requisitos. 
O cliente avalia o trabalho de engenharia (quadrante de avaliação do cliente), e faz 
sugestões para modificações. Com base nas entradas do cliente, ocorre a próxima fase do 
planejamento e da análise de risco. A cada loop ao redor da espiral, o ponto culminante da 
análise de risco resulta na decisão "continuar ou não". Se os riscos forem muito altos, o 
projeto pode ser encerrado. 
No entanto, em muitos casos, o fluxo ao redor da espiral continua, com cada 
caminho movendo os desenvolvedores para fora, na direção de um modelo mais completo 
do sistema. 
15 
 
 
Segundo Videira (2000), o modelo espiral para engenharia de software pode ser 
considerado como o modelo mais realista para o desenvolvimento de grandes sistemas. Ele 
usa uma abordagem "evolucionária" para engenharia de software habilitando o 
desenvolvedor e o cliente a entender e a reagir aos riscos na evolução de cada nível. 
O mecanismo de prototipação como um mecanismo de redução, mas mais 
importante, habilita o desenvolvedor a aplicar a prototipação em qualquer estágio da 
evolução do produto. Mantém também a abordagem por etapas do modelo clássico, mas 
incorpora uma estrutura interativa que reflete de forma mais realista o mundo real. O 
modelo espiral demanda uma consideração direta dos riscos técnicos em todos os estágios 
do projeto, e se propriamente aplicado, reduziria os riscos antes que eles se tornassem 
problemáticos.
 
 
 
3 TIPO DE PROGRAMAÇÃO E LINGUAGEM UTILIZADA NO 
SOFTWARE 
 
Segundo Willirich (2007), linguagem de programação pode ser definida como sendo 
um conjunto limitado de instruções associado a um conjunto de regras, que define como as 
instruções podem ser associadas, ou seja, como se podem compor os programas para a 
resolução de um determinado problema. 
As linguagens de programação são classificadas em níveis de linguagens, sendo que 
os níveis mais baixos são classificados como linguagem de máquinas, já as linguagens de alto 
nível são assim denominadas por apresentarem uma sintaxe mais próxima da linguagem 
natural. 
 
 
3.1 Programação estruturada 
Programação estruturada é uma forma de programação de computadores que 
preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: 
sequência, decisão e interação, e foi desenvolvida por Michael A. Jackson (1975). 
Para Deitel (2003, p. 60) “a programação estruturada nasceu nos anos 60, e ainda é 
bastante utilizada no mundo do desenvolvimento. O programa é quebrado em pequenos 
procedimentos, também conhecidos como funções”. Assim, é possível manter um 
aproveitamento razoável de código, e criar funções genéricas que podem ser reaproveitadas 
em projetos diferentes. 
Hoje em dia, a programação estruturada está perdendo espaço e adeptos devido ao 
surgimento da programação orientada a objetos, que será explicada a seguir. 
 
3.2 Programação Orientada a Objetos 
Conforme Deitel (2003), um dos grandes diferenciais da programação orientada a 
objetos em relação a outros paradigmas de programação está no conceito de herança, 
mecanismo através do qual definições existentes podem ser facilmente estendidas.
17 
 
Juntamente com a herança deve ser enfatizada a importância do polimorfismo, que 
permite selecionar funcionalidades que um programa irá utilizar de forma dinâmica, durante 
sua execução. 
Segundo Furlan (2001) “Um software orientado a objetos é composto por um 
conjunto de classes e objetos bem definidos que interagem entre si, de modo a gerar o 
resultado esperado, proporcionando ao programador mais produtividade no 
desenvolvimento de software em relação à programação estrutura”. 
 Deitel (2010) diz que a programação orientada a objetos é amplamente considerada 
comoum avanço significativo que pode aprimorar enormemente a produtividade do 
programador. 
Para (Kathi Seirra e Bert Bates, 2003), programação Orientação a Objetos “modela o 
mundo real com classes e instâncias. Cada classe é a estrutura de uma variável, ou seja, um 
tipo de dado. Nela, são declarados atributos e métodos que poderão ser executados ou 
acessados nas instâncias da mesma classe”. 
3.2.1 Classes 
Conforme Mattos (2007), uma classe é um tipo definido pelo usuário que possui 
especificações (características e comportamentos) que o identifiquem. De uma maneira mais 
objetiva, pode-se dizer que a classe é um molde que será usado para construir objetos que 
representem elementos da vida real. 
A seguir, na figura 2, uma classe e seus atributos utilizando a linguagem Java. 
 
Figura 2: classe e atributos. 
 
 
 
 
18 
 
3.2.2 Objetos 
Um Objeto ou instância é uma entidade cujas informações podem incluir desde suas 
características até suas atividades. A figura 3 mostra como criar um objeto através do 
comando new. 
 
Figura 3: objetos. 
 
3.2.3 Métodos 
 
Com os métodos definem-se as operações que podem ser executadas com ou sobre 
um objeto. Eles, geralmente, precisam de parâmetros para ser utilizados, e também na 
maioria das vezes, possuem um retorno que pode definir o comportamento de uma classe. 
É preciso declarar os métodos dentro do corpo da classe, ou seja, dentro do bloco de 
código da definição da classe, que é definido com abre e fecha chaves, e esse pode ser 
dividido em três partes que são: retorno, nome e parâmetro do método, e podem ser 
observados na figura 4. 
 
Figura 4: método consultar CPF. 
 
3.2.4 Herança 
 
Para desenvolver um software utilizando a linguagem Java, por exemplo, precisa-se 
trabalhar com várias classes. Muitas vezes, classes diferentes têm características comuns, 
então, ao invés de se criar uma nova classe com todas essas características, usam-se as 
características de um objeto ou classe já existente. 
19 
 
Com isso, uma classe herda as características da outra, a palavra reservada extends 
logo após a definição do nome da classe. 
Para um melhor entendimento, pode-se observar a figura 5, que contempla um 
exemplo de como aplicar herança. 
 
Figura 5: herança. 
 
3.2.5 Polimorfismo 
 
Polimorfismo abre a possibilidade de se usar o mesmo elemento de forma diferente 
no Java, através do polimorfismo é possível modificar totalmente o código de um método 
herdado de uma classe diferente, ou seja, sobrescrever o método da classe pai. 
Portanto, o polimorfismo está ligado a herança de classes. 
Um pequeno exemplo para simplificar essa característica segue abaixo: 
Classe 1 possui 2 métodos: métodoA() e métodoB(). 
Classe 2 herda a classe 1. 
Classe 2 reescreve todo o métodoA() que pertence a classe 1. 
 
3.3 Linguagem de programação JAVA 
O Java, segundo (Deitel, 2003) “surgiu em 1991 com a revolução dos 
microprocessadores, a empresa Sun Microsystems financiou um projeto que deu origem ao 
Java, que teve esse nome em homenagem a uma cidade produtora de café”. 
Atualmente, a plataforma Java já atraiu mais de 6,5 milhões de desenvolvedores de 
softwares. Ela é utilizada em todos os principais segmentos da indústria, estando presente 
em uma gama de dispositivos como computadores e celulares. 
A versatilidade, eficiência, portabilidade e segurança da plataforma, fazem dela a 
tecnologia ideal para a computação em rede. A tecnologia Java pode ser encontrada em 
laptops, datacenters, consoles de jogos, supercomputadores científicos, telefones celulares e 
até na internet. 
A tecnologia Java está presente em mais de 4,5 bilhões de dispositivos, incluindo: 
· mais de 800 milhões de PCs (fonte: Java.com); 
· 2,1 bilhões de telefones celulares e outros dispositivos portáteis (fonte: Ovum); 
20 
 
· 3,5 bilhões de cartões inteligentes; 
· além de set-top boxes, impressoras, webcams, jogos, sistemas de navegação para 
automóveis, terminais lotéricos, dispositivos médicos, guichês de pagamento de 
estacionamento, etc. 
O Java é uma linguagem de programação bastante usada em todo mundo, e está 
presente em muitos equipamentos eletrônicos. Como já tinha sido trabalhado durante o 
tecnólogo, foi decidido utilizar o Java como linguagem de programação para a 
construção do software Destaque. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 FERRAMENTAS 
Para o desenvolvimento do software foram utilizadas algumas ferramentas, cada uma 
com sua função específica como por exemplo, para codificar, gerenciar o banco de dados, 
gerar relatórios, entre outras funcionalidades. A seguir serão explicadas as ferramentas 
utilizadas neste projeto. 
 
4.1 NetBeans 
O NetBeans, originalmente chamado de XELFI, surgiu na República Tcheca em 1996, 
sendo criado por um grupo de estudantes, que em 1999 lançaram o NetBeans DeveloperX2 
com suporte a Swing, em seguida, a Sun Microsystems se interessou pelo software. O 
NetBeans se tornaria a principal ferramenta de desenvolvimento Java da Sun, que mantém a 
licença GPL(General public License) do software. 
Da versão 5 em diante, as pessoas começaram a criar seus próprios plug-ins e 
desenvolvimento de módulos de IDE. Hoje, o NetBeans encontra-se na versão 7.0, com 
grande variedade de plug-ins livres para serem utilizados. 
 
4.2 Mysql 
Com o grande avanço da internet e da área da tecnologia da informação, foi 
necessária a criação de novos softwares para armazenamento e administração de banco de 
dados. O MySQL é um desses softwares, que veio para auxiliar no desenvolvimento de 
aplicativos. 
O MySQL é um servidor e gerenciador de banco de dados (SGBD) relacional, de 
licença dupla (sendo uma delas de software livre). Ele foi projetado, inicialmente, para 
trabalhar com aplicações de pequeno e médio porte, mas hoje, atende aplicações de grande 
porte, com muito mais vantagens do que seus concorrentes. Possui todas as características 
que um banco de dados de grande porte precisa, sendo reconhecido por algumas entidades 
como o banco de dados open source com maior capacidade para concorrer com programas 
similares de código fechado, tais como: SQL Server (da Microsoft) e Oracle. 
O MySQL surgiu na década de 90, e seus criadores foram David Axmark, Allan Larsson 
e Michael, com objetivo de suprir algumas deficiências na forma de armazenar dados.
22 
 
4.3 VertrigoServ 
Para a criação e administração do banco de dados, notou-se a necessidade do uso de 
um software com interface atrativa e de fácil interação com o usuário, por isso decidiu-se 
utilizar o VertrigroServ, e também porque já havia o conhecimento dessa ferramenta. 
 O VertrigroServ é um instalador de Apache (servidor web – HTTP), MySQL (Data 
base Management System), PhpMyAdmin (ferramenta escrita em PHP para administrar as 
bases de dados MySQL), entre outros para a plataforma Windows. 
 
4.4 SQLyog 
Para controlar e ter uma melhor visualização dos dados salvos no banco de dados, na 
fase de desenvolvimento, e para os testes do software, usou-se o aplicativo SQLyog, que 
trabalha em cima do Mysql, permitindo uma maior interação gráfica com os dados que são 
gravados no banco de dados; o SQLyog é uma ferramenta disponibilizada sobre licença GNU-
GPL, e é fornecido pela empresa Norte Americana WEByoge, sendo que neste projeto foi 
utilizada a versão 6.54 do SQLyog. 
 
4.5 MySQL WorkBench 5.2 
Para a criação do banco de dados utilizou-se o MySQL WorkBench, porque ele 
permite interagir com maior facilidade, criar banco de dados, atualizar e fazer correções, 
quando necessário. 
O MySQL Workbenchoferece três áreas principais de funcionalidade: 
• Desenvolvimento de SQL: permite criar e gerenciar conexões com os servidores de 
banco de dados, e ainda executar consultas SQL aos dados. 
• Modelagem de Dados: permite criar modelos de seu esquema de banco de dados, 
graficamente, engenharia inversa e editar o banco de dados. 
• Administração do Servidor: permite administrar instâncias do servidor. 
 
4.6 IReport 
O IReport é uma ferramenta desenvolvida na linguagem Java, fácil de usar, que 
constrói relatórios para JasperReports. 
23 
 
Essa ferramenta permite ao usuário gerar relatórios complexos com imagens, 
gráficos e sub-relatórios. O IReport é integrado com o JfreeChart, uma das bibliotecas Java 
de geração de gráficos mais difundidas. Com o IReport é possível gerar relatórios em vários 
formatos, incluindo PDF, HTML, XML, XLS, CVS, entre outros. 
No desenvolvimento do software foi utilizado o plug-in do IReport acoplado ao 
NetBeans, para gerar os relatórios e os gráficos que foram necessários. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5 BANCO DE DADOS 
Segundo (Célio Cardoso Guimarães, 2000) “Um banco de dados ou base de dados 
(BD) é uma coleção de dados ou informações relacionadas entre si. Elas representam 
aspectos do mundo real com significado próprio e que desejamos armazenar para uso 
futuro”. 
Com os dados espalhados por várias e diferentes bases de dados e com o avanço 
tecnológico da informação, há a necessidade de realizar o armazenamento de uma série de 
informações que não se encontram isoladas umas das outras, ou seja, dados que se 
relacionam entre as informações a serem manipuladas. 
 
5.1 O Structured Query Language – SQL 
Para (Celso, 2002) “SQL é uma linguagem padrão para acesso e manipulação de dados 
que pode interagir com várias linguagens como PHP, ASP e JAVA e vem sempre ligado a uma 
base de dados como PostegreSQL, MS Access e SQL Server, entre outros”. 
 Neste projeto, foi utilizado SQL como linguagem para fazer interação com o JAVA e 
como base de dados. 
Abaixo listam-se algumas tarefas que podem ser realizadas com o SQL: 
· executar consultas em um banco de dados; 
· recuperar dados de um banco de dados; 
· inserir registros em um banco de dados; 
· atualizar registros em um banco de dados; 
· criar novos bancos de dados; 
· criar novas tabelas em um banco de dados; 
· criar procedimentos armazenados em um banco de dados; 
· criar exibições em um banco de dados; 
· definir permissões em tabelas, procedures e views; 
· excluir registros de um banco de dados. 
25 
 
5.2 Estrutura do banco de dados 
Após o estudo realizado, e já com os requisitos suficientes, iniciou-se a modelagem 
do banco de dados, onde se utilizou a ferramenta MySQL WorkBench, já descrita no item 
4.5. 
Os nomes do banco dados e das tabelas foram criados de acordo com o 
levantamento de informações, utilizando as palavras que melhor descreviam cada uma 
delas. Já os atributos das tabelas foram criados usando como prefixo as três primeiras letras 
de cada tabela, com o objetivo de ficar mais fácil o seu entendimento para o programador. 
Depois da criação do diagrama entidade-relacionamento do banco de dados, partiu-
se o banco de dados no MySQL, que foi o servidor de banco de dados adotado. E a 
linguagem utilizada para a criação do banco de dados no MySQL foi o SQL, que está descrito 
no item 5.1. 
O banco de dados é composto por 26 tabelas que se relacionam entre si, como pode 
ser observado na figura 2, onde é possível ver o diagrama entidade-relacionamento das 
mesmas, sendo que no anexo A, apresenta-se o Diagrama Entidade-Relacionamento com 
seus atributos dispostos, para um melhor entendimento do banco de dados, pois mostra 
como ocorrem os relacionamentos entre as tabelas. 
 
 
26 
 
 
Figura 6: Der do banco de dados que mostra apenas as tabelas. 
 
 
6 DESENVOLVIMENTO DO SOFTWARE 
O sistema utilizado para o gerenciamento de informações da academia de ginástica é 
relativamente grande, com muitas telas e funções. Algumas funcionalidades das telas e a 
programação de classes serão explicadas em seguida, para mostrar como este trabalho foi 
desenvolvido. 
O software é dividido em 3 módulos que serão descritos a seguir. 
 
6.1 Como foi programado o sistema 
O sistema foi programado utilizando orientação a objetos. Para cada classe foram 
criados dois arquivos, sendo que um é composto pelo nome da classe seguido da palavra 
Bean no final, esse arquivo contém atributos e métodos da classe, e também tem a função 
de ligar a classe de conexão com o banco de dados; e o outro arquivo é composto 
igualmente, pelo nome da classe mais a palavra View, sendo que nesse arquivo está criada 
toda a parte gráfica. A seguir, será explicado como foram criados os arquivos da classe 
cliente, que é composta pelos arquivos ClienteBean e ClienteView. 
6.1.1 ClienteBean 
Como já foi descrito acima, o arquivo ClienteBean faz parte da classe cliente. 
Primeiramente, será explicado como foi criado o arquivo, e em seguida, será apresentado o 
seu código. 
Pacote que a classe pertence. 
Primeiro foi declarado a que pacote a classe pertence, isso é realizado através da 
palavra reservada package, e serve para organizar as classes semelhantes. Pacotes, a grosso 
modo, são apenas pastas ou diretórios do sistema operacional, onde ficam armazenados os 
arquivos fonte de Java, e são essenciais para o conceito de encapsulamento, no qual são 
dados níveis de acesso às classes. 
Importação de pacotes que foram necessários para a classe. 
O Java possui vários pacotes com sub-pacotes internos, e várias classes já prontas 
para serem utilizadas. Dentre eles, podem-se determinar dois grandes pacotes: o pacote 
Java, que possui as classes padrões para o funcionamento do algoritmo; e o pacote javax, 
que possui pacotes de extensão que fornecem as classes, os objetos e mais possibilidades 
para o pacote Java.
28 
 
Para utilizar as classes contidas nos inúmeros pacotes Java, deve-se referenciar 
diretamente a classe ou importá-la. Para importar um pacote usa-se o comando import, para 
separar um pacote de seu sub-pacote, usa-se um ponto para acesso aos membros de classe. 
O asterisco (*) serve para importar todos os sub-pacotes e as classes do pacote que estão 
definidas. 
Classe 
Classe pode ser associada ao conjunto de dados (variáveis) e métodos (funções), 
onde se define o nome da classe, logo após abre e fecha chaves { }, e dentro dessas chaves 
vão as variáveis e os métodos da classe. A palavra reservada que indica a criação de uma 
classe é class, e esta classe pode ser pública ou privada. 
Classe pública 
A declaração de uma classe pública é feita pela palavra public, e o modificador public 
permite o acesso às chamadas de qualquer outra classe do programa. 
Classe privada 
A classe privada não permite o acesso a partir de outra classe. Em Java, quando uma 
determinada classe ou objeto tenta acessar um método ou variável que tenha visibilidade 
private, ocorre um erro de compilação. A declaração de uma classe privada é feita pela 
palavra reservada private. 
Atributos da classe 
Em Java, costuma-se utilizar o termo atributo, que é uma variável que pertence a 
uma classe. Como tudo que se faz em Java está contido dentro de uma classe, então se usa o 
termo atributo ao invés de variável, assim podem-se criar atributos públicos ou privados, e 
ainda definir a que tipo dado, ele pertence. 
No desenvolvimento do sistema foram adotadas, como identificador para os 
atributos, as três primeiras letras da classe e mais o nome do atributo, como se observa nocódigo que se encontra na tabela ClienteBean. 
GETS e SETS 
Os métodos get e set têm grande importância, pois se podem criar variáveis privadas, 
e com o get público dessa variável é permitido acessá-la de outro método ou de outra 
classe; já um método set público pode e deve avaliar, cuidadosamente, as tentativas para 
modificar o valor da variável. 
29 
 
Os métodos set podem ser chamados de métodos modificadores, já que, geralmente, 
alteram um valor. Enquanto os métodos get são chamados de métodos de acesso ou 
métodos de consulta. 
Métodos da classe cliente 
Os métodos que foram no arquivo ClienteBean são de grande importância, pois 
interagem com a classe que controla o acesso ao banco de dados, e também interagem com 
a classe visual do sistema, a ClienteView, que será explicada no decorrer deste documento. 
Quando se define um objeto em um programa orientado a objetos, programa-se todo o 
comportamento desse objeto em um ou mais métodos, que devem sempre ser definidos 
dentro de uma classe. 
Modificadores de Acesso 
O Java controla o acesso a atributos e métodos através do uso dos modificadores de 
acesso. São eles: 
· Public: é o menos restritivo de todos. Atributos e métodos declarados como public 
em uma classe podem ser acessados pelos métodos da própria classe, por classes 
derivadas desta, e por qualquer outra classe, em qualquer outro pacote. 
· Protected: atributos e métodos definidos como protected são acessíveis pelos 
métodos da própria classe e pelas classes derivadas. 
· Private: é o mais restritivo. Atributos e métodos declarados como private só podem 
ser acessados pelos métodos da própria classe. 
No anexo B, é possível observar parte do código do arquivo ClienteBean, que traz 
exemplos do que foi explicado durante este tópico. 
 
6.1.2 ClienteView 
O arquivo ClienteView que também pertence a classe cliente é responsável pela 
parte visual da classe, e interage com o arquivo ClienteBean e com algumas classes do 
sistema através dos seus métodos. 
O arquivo ClienteView possui vários componentes gráficos na sua estrutura: botões, 
caixas de texto, caixas de seleções, entre outros; como pode ser observado na Figura 10, que 
está mostrando a tela cadastro de cliente. 
30 
 
No anexo C, é possível acompanhar parte do código fonte, criado no arquivo 
ClienteView, que contém vários componentes Swing como: caixa de texto, caixa de seleção 
dentre outros. 
 
6.2 Módulo Usuário 
Com o banco de dados já criado, iniciou-se a programação do módulo usuário, 
usando como ferramenta IDE NetBeans e a linguagem de programação Java. O módulo 
usuário se refere à tela inicial do sistema, e nela identifica-se se é um usuário administrador 
ou um cliente que está acessando o sistema, pois conforme o usuário, o sistema direcionará 
para telas diferentes, e poderá gravar dados diferenciados. Para cada um dos usuários abre 
uma sessão no sistema, e para conseguir esse acesso ao sistema, tanto o administrador 
como o cliente, precisam estar cadastrados no sistema, por um administrador já cadastrado. 
Isso pode ser observado na figura 7. 
 
Figura 7: tela login. 
 
O módulo usuário ficou dinâmico, e realiza o teste na hora em que o usuário clica em 
acessar. Ele faz uma série de verificações como: se as caixas de texto estão em branco, se 
não está em branco, ele testa se o usuário existe, e se senha dele é valida, e se os dados 
direcionam o cliente ou o administrador para interagir com o sistema. 
 
31 
 
6.3 Módulo Administrador 
O módulo administrador é dependente do módulo usuário, pois só é possível efetuar 
o login no módulo usuário. 
O módulo administrador é o mais complexo, já que após o indivíduo ter feito o login, 
se abrirá uma tela composta por várias funcionalidades do sistema, como se vê no protótipo 
da tela de administração do sistema abaixo. 
 
 
 
Figura 8: protótipo da tela de administração do sistema. 
 
A seguir serão descritas cada uma das funções do sistema: 
· manter os dados pessoais do administrador; 
· manter os dados pessoais do cliente; 
· manter o questionário e as avaliações do cliente; 
· manter as atividades do cliente. 
 
 
 
32 
 
6.3.1 Manter dados pessoais do administrador 
O administrador tem poder de cadastrar novo, alterar e excluir os administradores, 
sendo que todas essas ações são realizadas no protótipo da tela cadastro de administrador, 
que está representada na figura 9. 
 
Figura 9: protótipo da tela cadastro de administrador. 
 
 
Figura 10: protótipo da tela cadastro de cliente. 
6.3.2 Manter dados pessoais do cliente 
O administrador tem poder de cadastrar novo, alterar e excluir os clientes, e todas 
essas ações são realizadas no protótipo da tela cadastro de cliente, que está representada na 
figura 10. Nesta tela, é muito importante preencher todos os dados, pois é criado o login e a 
33 
 
senha para o cliente poder acessar e visualizar seus dados, marcar as suas atividades e 
acompanhar os seus gráficos de desempenho. 
 
 
 
 
Figura 11: controle de questionários e atividades do cliente. 
 
6.3.3 Manter questionário e avaliações do cliente 
Na figura 11, o administrador visualiza uma tabela, onde são listados todos os 
clientes, os seus questionários e as suas atividades em uma linha individual para cada 
cliente. Os questionários, como são preenchidos só uma vez, são indicados por zero ou um: 
um se já foi preenchido e zero se ainda não foi preenchido. As atividades são feitas quase da 
mesma maneira, a única diferença é que essas atividades são preenchidas várias vezes, onde 
o zero indica que não foi preenchida, e do número um em diante, indica quantas vezes 
foram preenchidas as atividades. 
Logo abaixo da tabela, observa-se um grupo de botões, que chamam todos os 
formulários para poder manter os questionários e as atividades do cliente, mas para isso 
acontecer é preciso selecionar a linha correspondente a um cliente em específico, de cada 
vez, na tabela acima, como está exposto na figura 11. 
 
34 
 
 
Para entender melhor como funciona todo esse processo de cadastramento de 
questionários e avaliações são destacados os itens abaixo: 
· manter questionário anamnese; 
· manter questionário dependência do cigarro; 
· manter questionário parq (Physical Activity Readiness Questionnarie) 
· manter questionário risco cardíaco; 
· manter avaliação relação cintura/ quadril; 
· manter avaliação composição corporal. 
 
 
Figura 12: manter Anamnese. 
 
6.3.3.1 Manter Questionário Anamnese 
A tela do questionário anamnese, que é visto na figura 12, tem por funcionalidade 
cadastrar anamnese ou alterar uma anamnese já cadastrada pelo administrador, referente a 
um cliente específico, lembrando que é de extrema importância preencher todos os dados, 
pois o profissional da academia de ginástica usa esse questionário para se basear na 
prescrição das atividades de cada aluno da academia. 
35 
 
6.3.3.2 Manter questionário dependência do cigarro 
A tela do questionário dependência do cigarro, que pode ser observada na figura 13, 
tem por funcionalidade verificar a dependência do cigarro, também se encontra nela a 
função alterar dependência do cigarro, que serve para alterar os dados do cliente já 
cadastrado pelo administrador, lembrando que é muito importante preencher todos os 
dados nele solicitado, visto que o profissional da academia de ginástica consultará esse 
questionário para fazer a prescrição correta das atividades físicas para cada cliente da 
academia. 
 
 
Figura 13: manter questionário dependência do cigarro. 
 
6.3.3.3 Manter questionário parq 
Na tela parq que estána figura 14, existem algumas perguntas que o profissional da 
academia responde junto com o cliente, assinalando sim ou não. De acordo com as 
respostas o professor tem um parecer sobre as reais condições físicas do cliente, pois este 
questionário tem o objetivo de identificar a necessidade da avaliação clínica antes do início 
da atividade física. Caso seja identificado algum sim, é aconselhável a realização da avaliação 
médica. 
36 
 
 
 
Figura 14: manter Parq. 
 
 
Figura 15: manter questionário risco cardíaco. 
6.3.3.4 Manter questionário risco cardíaco 
O questionário do risco cardíaco (figura 15) tem o objetivo de avaliar o risco cardíaco 
dos clientes, porém não substitui uma avaliação médica. Caso o resultado apresente algum 
risco, é aconselhável que o aluno procure um médico para fazer o seu acompanhamento. 
Lembre-se de que a prevenção e o diagnóstico precoce podem salvar uma vida. 
37 
 
6.3.3.5 Manter avaliação relação cintura/ quadril 
A avaliação cintura/ quadril deve ser realizada pelo profissional da academia, que 
extrai as medidas do cliente e lança no sistema Destaque. O resultado aparece na tela 
relação cintura/ quadril que está disposta na figura 16, onde se busca identificar qual a 
situação do aluno, isto é, se ele está perto do tamanho ideal ou não. Esta avaliação é 
realizada periodicamente para verificar como está o desempenho do cliente, assim o 
profissional da academia pode aumentar ou diminuir as séries de exercícios, ou até mesmo 
cadastrar novos exercícios, fazendo um balanceamento das atividades físicas para ajudar o 
cliente a atingir, com maior rapidez, o resultado ideal. 
 
 
Figura 16: manter avaliação relação cintura/ quadril. 
 
6.3.3.6 Manter avaliação composição corporal 
A avaliação da composição corporal é de extrema importância, porque o profissional 
da academia fica ciente de algumas informações que o ajudam a definir como estão as reais 
condições físicas do cliente. A figura 17 mostra como ficou a tela. A avaliação da composição 
corporal leva em consideração algumas variantes que são: a altura, o peso, o nível de 
38 
 
condicionamento e as medidas das sete dobras, para calcular e dar o resultado da densidade 
corporal, entre outros. 
 
 
Figura 17: manter avaliação composição corporal. 
 
6.3.4 Manter atividades do cliente 
A tela manter as atividades do cliente tem grande importância, pois é nela que o 
profissional da academia de ginástica prescreve as atividades, e também pode ativar ou 
desativar as atividades do cliente. Por padrão, a atividade física é ativa, e se ele quiser 
desativar é só clicar no botão “desativar”, com isso ela não aparecerá na tela onde o cliente 
visualizará quais atividades estão listadas para ele fazer. 
Observando a tela manter atividade na figura 18, na qual há duas caixas de seleção, 
onde se deve selecionar primeiro o membro e ao defini-lo, o sistema lista seus exercícios 
respectivos. As caixas de texto: peso, repetições e séries definem essas variantes, antes de 
clicar no botão cadastrar atividade, que salva no banco de dados e adiciona em uma nova 
linha, na tabela abaixo, do botão cadastrar atividades. 
39 
 
 
 
Figura 18: manter atividades do cliente. 
 
6.4 Módulo Cliente 
O módulo cliente serve como mecanismo de comunicação entre o cliente e o 
profissional da academia, pois o cliente cadastra suas atividades e o profissional da academia 
pode consultar esses dados. 
O cliente faz o login no sistema e tem acesso ao sistema que contém alguns botões, 
onde o cliente interage com o sistema, como se observa na figura 19. 
 
40 
 
 
Figura 19: tela de acesso do cliente. 
 
O usuário também pode ver alguns gráficos, relatórios de atividades e marcar as 
atividades realizadas. 
6.4.1 Marcar atividades realizadas 
Marcar as atividades realizadas é uma das partes principais desse módulo, e também 
de todo o sistema, já que é onde o cliente marca as atividades que realizou, selecionando a 
linha da atividade e clicando em marcar atividade, como se vê na figura 20. Com isso, ele 
salva o código e a data de realização da atividade, e isso fica registrado no banco de dados, 
dentro da tabela atividade diária, que pode ser observada no anexo A. 
Na figura 20, também se pode observar na última coluna da tabela, a coluna status 
da atividade. Se o cliente clicar em marcar atividade após ter selecionado a linha e a coluna 
status da atividade mudará de “a fazer” para “feita”, com isso o cliente fica interagindo com 
sistema, podendo deixar de fazer alguma atividade, que o profissional da academia irá ficar 
sabendo para poder conversar com cliente e ter uma posição do cliente, ver se ele está 
realmente com alguma dificuldade na realização das atividades. 
 
41 
 
 
Figura 20: tela controle de atividades. 
 
6.4.2 Gráfico da composição corporal 
Para ajudar o cliente a observar e identificar o seu desempenho na academia, 
foram desenvolvidos alguns gráficos comparativos com dados do cliente, para 
verificar como está sendo seu ganho ou perda de massa muscular, e ainda poder ver 
o seu gráfico ideal, para junto com o profissional da academia, decidir quais as 
atividades ele deve fazer para alcançar o seu objetivo (figura 21). 
42 
 
 
Figura 21: avaliação composição corporal. 
 
6.4.3 Relatório das atividades 
 
No relatório de atividades, o cliente pode acompanhar seu histórico de atividades na 
academia e o seu status, que exibe sim, para as atividades que estão ativas, ou seja, as 
atividades que o aluno está realizando no momento, e ele ainda pode ver as atividades em 
que o status está não, isto é, o aluno já realizou por algum período, mas não se encontra 
ativa. Quando ele acessa a tela Controle de Atividades, que pode ser observada na figura 22, 
o aluno verá apenas as atividades que estão com status ativas, para ele realizar. 
 
43 
 
 
 
Figura 22: relatório das atividades. 
 
6.4.4 Relatório e gráfico Cintura/ Quadril 
 
O relatório e gráfico cintura/ quadril tem a função de mostrar as medidas do cliente, 
assim ele terá uma ideia de como estão suas medidas, e de acordo com as orientações 
passadas pelo profissional da academia, pode saber o que precisa melhorar. 
Na elaboração do relatório foram utilizados plug-ins do Ireport adicionada ou 
NetBeans, interagindo com Mysql através da linguagem de acesso de dados SQL mais a 
linguagem de programação Java. 
44 
 
 
Figura 23: relatório e gráfico cintura/ quadril. 
 
 
 
 
 
 
 
 
7 CONCLUSÃO 
 
O desenvolvimento do software Destaque - Sistema de Gerenciamento de 
Informações para Academia de Ginástica - foi um grande desafio, pois exigiu muito esforço e 
persistência em aprender novas tecnologias e aprofundar outras adquiridas durante o curso 
de Análise e Desenvolvimento de Sistemas. 
O presente trabalho proporcionou o real desempenho no papel de analista e 
desenvolvedor de sistemas, principalmente na função de desenvolvedor, onde foi necessário 
um estudo mais aprofundado sobre a linguagem de programação Java e a orientação a 
objetos. 
Como o sistema de gerenciamento de informações da academia de ginástica foi 
criado utilizando o modelo espiral, o programa ainda está no final de seu desenvolvimento, e 
em fase de testes para que sejam identificadas suas possíveis falhas, como requisitos que 
tenham passado despercebidos, pois como iniciantes nesta área de desenvolvimento de 
softwares, é preciso ter uma maior atenção. 
Também cabe salientar que a ajuda de profissionais ligados a academias de ginástica 
e do professor orientador foram muito importantes para o desenvolvimentodo software. 
O desenvolvimento desse sistema proporcionou um grande acréscimo de 
conhecimento, e com isso uma grande satisfação pessoal e profissional, enfim trouxe a 
certeza que todo o esforço valeu a pena. 
 
 
 
 
 
 
 
 
 
 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
ALVAREZ, M. Introduzimos para os mais leigos as bases sobre o que se assenta a 
Programação Orientada a Objetos. Último acesso em 23/10/2011. Disponível em: 
<http://www.criarweb.com/artigos/215.php> 
 
BEZERRA,E. Princípios de Análise e Projeto de Sistemas com UML. Editora Elsevier Ltda, 
2007. 
 
CLASS DECIMALFORMAT. Último acesso em 12/12/2011. Disponível em: 
http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html 
 
MATTOS, C, T. Programação de Softwares em Java. 2007. 
 
DEITEL P, J. Java: Como Programar. 8. ed. Pearson, 2010. 
 
GUIMARÃES, C, C. Fundamentos de Bancos de Dados: Modelagem, Projeto e Linguagem Sql. 
 
IREPORT. Último acesso em 01/09/2011. Disponível em: 
<http://jasperforge.org/projects/ireport> 
 
JFREECHART & IREPORT– Parte I. Último acesso em 11/02/2012. Disponível em: 
<http://www.devmedia.com.br/post-3163-JfreeChart--iReport-Parte-I.html> 
 
Métodos, explicando os tipos de métodos existentes na programação. Último acesso em 
17/10/2011. Disponível em: <http://www.devmedia.com.br/post-748-Metodos.html> 
 
MYSQL. Último acesso em 08/11/2011. Disponível em: 
<http://www.mysql.com/oem/licensing.html> 
 
NETBEANS. Último acesso em 08/11/2011. Disponível em: 
<Netbeans.org/about/history.htm> 
 
PRESSMAN, R. S. Engenharia de Software. São Paulo: Pearson Makron Books, 2007. 
 
SAIBA MAIS SOBRE A TECNOLOGIA JAVA. Último acesso em 04/11/2011. 
Disponível em: <http://www.java.com/pt_BR/about/> 
 
SOMMERVILLE, I. Engenharia de Software. 8. ed. Editora Addison Wesley Edito, 2007. 
 
SQLYOG. Último acesso em 07/09/2011. Disponível em: <www.webyog.com> 
 
WAZLAWICK R. S. Análise e projeto de sistemas de informação orientados a objetos. Rio de 
Janeiro: Campos, 2004. 
47 
 
 
XEXÉO, G. Modelagem de Sistemas de Informação: Da Análise de Requisitos ao Modelo de 
Interface. Edição: agosto/ 2007. 
 
VERTRIGO. Último acesso em 07/10/2011. Disponível em: <Vertrigo.sourceforge.net> 
 
VIDEIRA, C, A. UML Metodologias e Ferramentas. Edições Atlântico, 2001. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48 
 
 
 
 
 
 
 
ANEXOS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49 
 
 
Anexo A - Diagrama Entidade Relacionamento 
 
Figura A1: Diagrama Entidade Relacionamento, parte 1. 
 
50 
 
 
 
Figura A2: Diagrama Entidade Relacionamento, parte 2. 
 
 
 
 
 
 
51 
 
Anexo B - ClienteBean 
 
//* COMENTARIO :: PACOTE QUE CLASSE PERTENCE 
packagedestaque.Bean; 
 
//* COMENTARIO :: IMPORTS 
import com.mysql.jdbc.Connection; 
//* COMENTARIO :: OS OUTROS IMPORTS FORAM RETIRADOS PARA DIMUINUR O 
CODIGÓ 
 
//* COMENTARIO :: CLASSE 
publicclassClienteBean { 
 
//* COMENTARIO :: ATRIBUTOS DA CLASSE 
Private int cli_codigo, cli_cid_codigo, cli_sexo, cli_usu_cod; 
Private String cli_nome, cli_cpf,cli_datanascimento,cli_endereco; 
private String cli_etnia,cli_tsanguineo,cli_fatorrh,cli_telefone; 
 private Connection con; 
 private ResultSet rs; 
 private Statement comando; 
 
//******COMENTARIO :: GETS e SETERS *****// 
 public String getCli_nome() { 
 return cli_nome; 
 } 
 public String getCli_cpf() { 
returncli_cpf; 
} 
//* COMENTARIO :: OS OUTROS GETS E SETS FORAM RETIRADOS PARA DIMINUIR O 
CÓDIGO 
 
// COMENTARIO :: CHAMADA DA CLASSE QUE FAZ A CONEXÃO COM BANCO DE DADOS 
conexao c = new conexao(); 
 
52 
 
// COMENTARIO :: METODO INSERIRCLIENTE 
publicResultSetinserirCliente(){ 
ResultSetseleciona_cliente = null; 
con= (Connection) c.conectaBD(); 
 try { 
comando = (Statement) con.createStatement(); 
intresultadoPesqCli= comando.executeUpdate("INSERT INTO cliente 
(cli_usu_codigo,cli_cid_codigo,cli_nome,cli_tipo_sex_codigo,cli_cpf,cli_datanascimento,cli_endereco
,cli_etnia,cli_tsanguineo,cli_fatorrh,cli_telefone) " + 
 " VALUES(\"" + getCli_usu_cod() + "\",\"" + getCli_cid_codigo() + "\",\"" + 
getCli_nome() + "\",\"" + getCli_sexo() + "\",\"" + getCli_cpf() + "\",\"" + getCli_datanascimento() + 
"\",\"" + getCli_endereco() + "\",\"" + getCli_etnia() + "\",\"" + getCli_tsanguineo() + "\",\"" + 
getCli_fatorrh() + "\",\"" + getCli_telefone() + "\")"); 
 // FAZER \"" + cli_datanascimento + "\" 
if(resultadoPesqCli== 1) 
seleciona_cliente = comando.executeQuery("SELECT * FROM cliente WHERE cli_cpf = \"" + 
getCli_cpf() + "\""); 
seleciona_cliente.next(); 
System.out.println("Inserido com sucesso o CLIENTE " +resultadoPesqCli); 
 }catch (SQLException e){ 
System.err.println ("Erro no comando SQL de Insert do CLIENTE: " + e.getMessage()); 
 } 
 // c.desconectaBD(); 
returnseleciona_cliente; 
 } 
 
// COMENTARIO: METODO ALTERARCLIENTE 
publicvoidalterarCliente(){ 
con= (Connection) c.conectaBD(); 
try { 
 comando = (Statement) con.createStatement(); 
 comando.executeUpdate("UPDATE cliente SET " + 
"cli_usu_codigo = " + "\"" + getCli_usu_cod() + "\"," + 
 "cli_cid_codigo = " + "\"" + getCli_cid_codigo() + "\"," + 
53 
 
 "cli_nome = " + "\"" + getCli_nome() + "\"," + 
 "cli_tipo_sex_codigo = " + "\"" + getCli_sexo() + "\"," + 
 "cli_cpf = " + "\"" + getCli_cpf() + "\"," + 
 "cli_datanascimento = " + "\"" + getCli_datanascimento() + "\"," + 
 "cli_endereco = " + "\"" + getCli_endereco() + "\"," + 
 "cli_etnia = " + "\"" + getCli_etnia() + "\"," + 
 "cli_tsanguineo = " + "\"" + getCli_tsanguineo() + "\"," + 
 "cli_fatorrh = " + "\"" + getCli_fatorrh() + "\"," + 
 "cli_telefone = " + "\"" + getCli_telefone() + "\"" + 
 "WHERE cli_codigo = " + getCli_codigo()); 
 }catch (SQLException e){ 
System.err.println ("Erro no comando SQL de Update: " + e.getMessage()); 
 } 
c.desconectaBD(); 
 } 
 // comentario :: metodoexcluirCliente 
publicbooleanexcluirCliente(){ 
boolean testa=false; 
con= (Connection) c.conectaBD(); 
 try { 
 comando = (Statement) con.createStatement(); 
 int linhas = comando.executeUpdate("DELETE FROM cliente " + 
 "WHERE cli_codigo = " + getCli_codigo()); 
 if (linhas>0) 
 testa=true; 
 else 
 testa=false; 
 }catch (SQLException e){ 
System.err.println ("Erro no comando SQL de Update: " + e.getMessage()); 
} 
c.desconectaBD(); 
return testa; 
 } 
 
54 
 
 
// COMENTARIO :: METODO CONSULTARCLIENTEESPECIFICO 
publicResultSetconsultarClienteEspecifico(){ 
ResultSet res = null; 
con= (Connection) c.conectaBD(); 
 try { 
 comando = (Statement) con.createStatement(); 
res = comando.executeQuery("SELECT cli_nome, cli_codigo,(YEAR(CURDATE())-
YEAR(cli_datanascimento)) AS idade_atual , " 
 + "(SELECT (COUNT(ana_codigo)) FROM anamnese whereana_cli_codigo = 
cli_codigo ) AS anamnese," 
 + "(SELECT (COUNT(par_codigo)) FROM parqwherepar_cli_codigo = cli_codigo ) ASparq," 
+ " (SELECT (COUNT(dep_codigo)) FROM dependencia_cigarrowheredep_cli_codigo = 
cli_codigo ) AS dependencia_cigarro, " 
 + "(SELECT (COUNT(ava_codigo)) FROM 
avaliacao_risco_cardiacowhereava_cli_codigo = cli_codigo ) AS avaliacao_risco_cardiaco," 
 + " (SELECT (COUNT(rel_codigo)) FROM relacao_cintura_quadrilwherecli_codigo = 
rel_cli_codigo ) AS relacao_cintura_quadril," 
 + " (SELECT (COUNT(com_codigo)) FROM composicao_corporalwherecli_codigo = 
com_cli_codigo ) AS composicao_corporal" 
+ " FROM cliente WHERE cli_codigo = \"" + getCli_codigo() + "\""); 
 }catch (SQLException e){ 
System.err.println ("Erro no comando SQL de consulta: " + e.getMessage()); 
} 
 // c.desconectaBD(); 
return res; 
 } 
 
} 
 
// COMENTARIO :: METODO EXCLUIRCLIENTE 
publicbooleanexcluirCliente(){ 
boolean testa=false; 
55 
 
con= (Connection) c.conectaBD(); 
 try { 
 comando = (Statement) con.createStatement(); 
 int linhas = comando.executeUpdate("DELETE FROM cliente " + 
 "WHERE cli_codigo = " + getCli_codigo()); 
 if (linhas>0) 
 testa=true; 
 else 
 testa=false; 
 }catch (SQLException e){ 
System.err.println ("Erro no comando SQL de Update: " + e.getMessage()); 
} 
c.desconectaBD(); 
return testa; 
 } 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56 
 
Anexo C - ClienteView 
 
public class ClienteView extends javax.swing.JFrame { 
 CidadeBean cid = new CidadeBean(); 
 ClienteBean cli = new ClienteBean(); 
 EstadoBean est = new EstadoBean(); 
 UsuarioBean usu = new UsuarioBean(); 
TipoSexoBeantipo_sexo = new TipoSexoBean(); 
//pega data do sistema 
Date data = new Date(System.currentTimeMillis()); 
 SimpleDateFormat formataDate = new SimpleDateFormat("yyyy-MM-dd"); 
private void initComponents() { 
 bGsexo = new javax.swing.ButtonGroup(); 
 jTnome = new javax.swing.JTextField(); 
 jLabel3 = new javax.swing.JLabel(); 
 try{ 
 mascaracpf = new MaskFormatter("###.###.###-##"); 
 mascaracpf.setPlaceholderCharacter('_'); 
 } 
 catch(Exception erro) 
 { 
 JOptionPane.showMessageDialog(null,"Não foi possivel"+erro); 
 } 
 jFcpf = jFcpf = new JFormattedTextField(mascaracpf); 
 jLsexo = new javax.swing.JLabel(); 
 jCetnia = new javax.swing.JComboBox(); 
 jBfechar = new javax.swing.JButton(); 
 jTendereco = new javax.swing.JTextField(); 
 jLcidade = new javax.swing.JLabel(); 
 jCtipo_samguineo = new javax.swing.JComboBox(); 
 jCfatorrh = new javax.swing.JComboBox(); 
 try{ 
57 
 
 mascaratelefone = new MaskFormatter("(##)####-####"); 
 mascaratelefone.setPlaceholderCharacter('_'); 
 } 
 catch(Exception erro) 
{ 
JOptionPane.showMessageDialog(null,"Não foi possivel"+erro); 
 } 
jFtelefone = jFtelefone = jFtelefone = new JFormattedTextField(mascaratelefone); 
jPconfirmaSenha = new javax.swing.JPasswordField(); 
jLconfirmaSenha = new javax.swing.JLabel(); 
jDdata_nascimento = new com.toedter.calendar.JDateChooser(); 
jCsexo = new javax.swing.JComboBox(); 
 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); 
 setTitle("Cadastro de Cliente"); 
 jLabel3.setText("Cpf :"); 
 jFcpf.addActionListener(new java.awt.event.ActionListener() { 
 public void actionPerformed(java.awt.event.ActionEvent evt) { 
 jFcpfActionPerformed(evt); 
 } 
 }); 
 
// MÉTODO PARA DESABILITA O BOTÃO 
public void Opcao_tela (int op){ 
//opcao_tela 
 if(op ==1){ 
 jBsalvar.setEnabled(false); 
 }else{ 
 jBAlterar.setEnabled(false); 
 jBExcluir.setEnabled(false); 
} 
 } 
58 
 
 
// MÉTODO PARA PREENCHER O COMBO ESTADO 
publicResultSetsetComboEstado(){ 
jCestado.removeAllItems(); 
 estado = est.lista_estado(); 
try { 
 while(estado.next()){ 
 jCestado.addItem(estado.getString("est_uf")); 
 } 
 } catch (SQLException ex) { 
 Logger.getLogger(ClienteView.class.getName()).log(Level.SEVERE, null, ex); 
} 
return estado; 
 } 
 
 // MÉTODO PREENCHER O COMBO CIDADE 
publicResultSetsetComboCidade(){ 
jCcidade.removeAllItems(); 
 cidade = cid.lista_cidade(); 
try { 
 while(getCidade().next()){ 
 
 jCcidade.addItem(getCidade().getString("cid_nome")); 
 } 
 
 } catch (SQLException ex) { 
 Logger.getLogger(ClienteView.class.getName()).log(Level.SEVERE, null, ex); 
 } 
returngetCidade(); 
 } 
 
 
59 
 
// ACTIONPERFORMED 
private void jBsalvarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jBsalvarActionPerformed 
 cid.setCid_nome((String) jCcidade.getSelectedItem()); 
cid.setEstado_codigo(jCestado.getSelectedIndex()); 
filtra_cid = cid.filtra_cidade(); 
try { 
filtra_cid.first(); 
cli.setCli_cid_codigo(filtra_cid.getInt("cid_codigo")); 
} catch (SQLException ex) { 
 Logger.getLogger(ClienteView.class.getName()).log(Level.SEVERE, null, ex); 
 } 
 cli.setCli_nome(jTnome.getText()); 
//COMEÇO SEXO 
tipo_sexo.setTipo_sex_descricao((String) getjCsexo().getSelectedItem()); 
filtra_sexo = tipo_sexo.filtra_tipo_sexo(); 
try { 
filtra_sexo.first(); 
cli.setCli_sexo(filtra_sexo.getInt("tipo_sex_codigo")); 
} catch (SQLException ex) { 
 Logger.getLogger(ClienteView.class.getName()).log(Level.SEVERE, null, ex); 
} 
 //FIM SEXO 
 // INICIAL DATA 
if(jDdata_nascimento.getDate()== null){ 
JOptionPane.showMessageDialog(null, "Preencha data de nascimento!!" ); 
}else{ 
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
Stringdatanasc = sdf.format(jDdata_nascimento.getDate()); 
cli.setCli_datanascimento(datanasc); 
 } 
 // FIM DATA 
cli.setCli_cpf(jFcpf.getText()); 
ResultSet tempCpf = cli.consultarclinte_Cpf(); 
60 
 
 try { 
 if (tempCpf.next()) { 
JOptionPane.showMessageDialog(null, "Já esta cadastrado " + tempCpf.getString("cli_cpf")); 
jFcpf.setText("###.###.###-##"); 
 } else { 
 cli.setCli_endereco(jTendereco.getText()); 
cli.setCli_etnia((String) jCetnia.getSelectedItem()); 
cli.setCli_tsanguineo((String) jCtipo_samguineo.getSelectedItem()); 
cli.setCli_fatorrh((String) jCfatorrh.getSelectedItem()); 
cli.setCli_telefone(jFtelefone.getText()); 
usu.setUsu_nome(jTnome.getText()); 
usu.setUsu_login(jTlogin.getText()); 
usu.setUsu_senha(jPsenha.getText()); 
usu.setUsu_status("C"); 
usu.setUsu_datacadastro(formataDate.format(data)); 
 //INICIO DA VERIFICACAO DO LOGIN 
ResultSettemp = usu.CompararLogin(); 
if (temp.next()) { 
JOptionPane.showMessageDialog(null, "Já esta cadastrado " + temp.getString("usu_login")); 
jTlogin.setText(""); 
 } else { 
 //INICIO DO TESTA SENHA 
String senha = jPsenha.getText(); 
StringconfirmaSenha = jPconfirmaSenha.getText(); 
if (!senha.equals(confirmaSenha)) { 
JOptionPane.showMessageDialog(null, "Senhas diferentes repita por favor"); 
} else { 
 int temp2 = usu.inserirUsuario();if (temp2 != 0) { 
cli.setCli_usu_cod(temp2); 
ResultSet temp4 = cli.inserirCliente(); 
 //INICIO DA ESCOLHA DE AVALIAÇÃO 
intopcao; 
Object[] botoes = {"Sim", "Não"}; 
61 
 
opcao = JOptionPane.showOptionDialog(null, "Cliente Salvo; Deseja quantinuar preenchendo 
a Avaliacao?", "Fechar", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, 
botoes, botoes[0]); 
if (opcao == JOptionPane.YES_OPTION) { 
tela_questionariosQues = new tela_questionarios(); 
Ques.show(); 
 Ques.jLnome.setText(temp4.getString("cli_nome")); 
Ques.setNome_cliente_em_edicao(temp4.getString("cli_nome")); 
Ques.setCodigo_cliente_em_edicao(temp4.getInt("cli_codigo")); 
 Ques.setSexo_cliente_em_edicao(temp4.getInt("cli_tipo_sex_codigo")); 
dispose(); 
 //FIM DA ESCOLHA DE AVALIAÇÃO SE SIM SE NÃO 
 } 
 } 
 } 
 } //FIM DO TESTA SENHA 
 } //FIM DO VERIFICA LOGIN 
} catch (SQLException ex) { 
 Logger.getLogger(UsuarioView.class.getName()).log(Level.SEVERE, null, ex); 
} 
 }

Continue navegando