Analise e Desenvolvimento de Um Sistema Computacional em Java para Controle Da Frequência Dos Alunos Da Universidade São Judas Tadeu - PDFA
Analise e Desenvolvimento de Um Sistema Computacional em Java para Controle Da Frequência Dos Alunos Da Universidade São Judas Tadeu - PDFA
TADEU
Graduação
Engenharia da computação
São Paulo
UNIVERSIDADE SÃO JUDAS
TADEU
Graduação
Engenharia da computação
São Paulo
Resumo
This project has as its central theme the creation of a computational system to call
attendance of electronic classes and has as general objective the implementation of an
RFID system (Radio-Frequency IDentification) inside the classrooms. As for the
methodology, it is a computer system project, with the implementation of RFID technology.
During the creation of the system, we were successful in the proposed operation, being
able to read the student's card with the aid of the hardware, sending the data to our data
repository and presenting it on the website created for access and visualization by the
teacher.
Keywords: System, Call, RFID.
1. Introdução
1.1 Justificativa
Para ser realizada a leitura do cartão NFC teremos que utilizar o equipamento
Arduino Uno R3 em conjunto com um módulo RFID-RC522, um CI (Circuito Integrado)
capaz de ler e escrever em “cartões de proximidade”, assim enviado os dados para o
repositório de dados e apresentando eles no software desenvolvido que o professor terá
todo o controle de presença de suas turmas.
Ele possui como uma de suas características ser open-source, significando que
seus usuários ao utilizá-lo não terão que solicitar permissão por parte de seus autores
para realizar alterações.
3.4 Buzzer
O Buzzer é um componente eletrônico capaz de converter correntes elétricas em ondas
sonoras, servindo para alertar por meio de sons algum acontecimento.
Utilizamos o Buzzer em nosso sistema para a emissão de aviso sonoro assim que o
módulo RFID RC522 detectar a leitura do cartão RFID.
3.5 SQL
SQL é uma linguagem padrão para manipulação de registros armazenados em um banco
de dados do tipo relacional, assim possuindo capacidade de inserir, deletar, consultar e alterar as
informações contidas no banco de dados.
O Banco de dados relacional são bancos que armazenam suas informações em estruturas
semelhantes a tabelas, permitindo desta forma que o usuário possa criar relações entre suas
tabelas, otimizando assim o gerenciamento dos dados armazenados.
Utilizamos a linguagem SQL na codificação do nosso repositório de dados, assim
possibilitando a criação das tabelas para a armazenagens dos dados.
3.6 MySQL
O MySQL é uma ferramenta open-source, a qual tem como função o desenvolvimento de
bancos de dados, permitindo assim a manipulação dos dados armazenados podendo definir
relações entre cada tabela.
Ela tem como principais características o alto desempenho e a velocidade, além de
disponibilizar ao usuário recursos como a verificação alto hospedada e criptografia de senhas.
Utilizamo-lo em nosso projeto para a criação de cinco tabelas, sendo elas: tabela
professor, tabela aluno, tabela matéria, tabela de aulas e tabela frequência. Cada uma destas
tabelas possui informações diferentes, porém foi possível criar uma relação entre elas por conta
da utilização de uma chave estrangeira, com exceção da tabela frequência.
3.7 C++
C++ é uma linguagem de programação compilada orientada a objetos para o
desenvolvimento de aplicações que demandam performance, sem necessariamente dificultar o
entendimento do código.
As características desta linguagem permitem que ela seja considerada uma linguagem
tanto de baixo quanto de alto nível, isso se dá pelas bibliotecas e funções que ela possui,
permitindo que sistemas desenvolvidos nessa linguagem sejam de alto desempenho, seguros e
estáveis.
Utilizamos a linguagem de programação C++ na codificação do Arduino Uno R3, assim
possibilitando a execução dos componentes eletrônicos com as ações desejada descritas no
código.
3.9 Java
O Java é uma linguagem de programação baseada em classes e orientado a objetos,
possui grande foco em segurança, alta performance e portabilidade. o Java possui uma sintaxe
semelhante as linguagens de programação C e C++, possuindo uma extensa biblioteca de rotinas
e APIs junto com um gerenciamento automático de memória.
A caracteristica que mais se destaca desta linguagem seria sua portabilidade, pois
programas em JAVA são compilados para um Bytecode, que é executado por uma máquina
virtual, permitindo assim que esse programa após sua criação seja executado por outras
plataformas que possuam suporte para esta linguagem.
Para o desenvolvimento do sistema computacional utilizamos a linguagem de
programação Java para codificar toda parte de interface.
3.10 Java
O netbeans IDE é um ambiente de desenvolvimento open-source, o qual oferece
ferramentas para auxiliar nas importantes fases de codificação e testes, tendo um editor de
código, depurador, compilador, além disso, com ele é possível acessar terminais e executar
scripts. Possui conjunto de bibliotecas e APIs, além de possuir o recurso GUI Builder, o qual tem
como função a criação de designs, posionando os espaços alinhados dos componentes na
interface junto com seus respectivos códigos de forma automatica, deixando para o usuário a
função de conecta-los como preferir.
Utilizamos o Netbeans IDE em nosso sistema computacional como ambiente de
desenvolvimento para codificação da linguágem de programação Java, assim possíbilitando a
criação das telas do programa.
Agora iniciamos a programação do hardware na Arduino IDE para que, após conectados,
todos os componentes funcionem corretamente. Na programação, foi necessário a utilização da
biblioteca MFRC522 para que o Arduino Uno R3 se conectasse com o módulo RFID-RC522.
Figura 3 – Parte do código desenvolvido da programação do Arduino Uno R3
Para que a aplicação tenha conexão com o repositório de dados, criamos uma classe
titulada ConexaoDAO.java. Na classe, configuramos qual o ip em que o repositório se encontra, a
porta que está sendo usada na conexão, o usuário e a senha de acesso. Após isso, nós
executamos o método de conexão chamado DriverManager.getConnection que tem como função,
estabelecer a conexão com nosso repositório de dados.
A tela de início é a primeira tela que o usuário irá visualizar. Nesta tela, temos no menu
superior, os botões de: “Início”, “Turmas”, “Aulas”, “Alunos”, “Lista de presença” e “Sair”.
⎯ Início: Redireciona o usuário para a tela inicial;
⎯ Turmas: Redireciona o usuário para a tela de turmas;
⎯ Aulas: Redireciona o usuário para a tela de aulas;
⎯ Alunos: Redireciona o usuário para a tela de alunos;
⎯ Lista de presença: Redireciona o usuário para a tela de presença;
⎯ Sair: Redireciona o usuário para a tela de Login.
O menu superior é igual em todas as telas, exceto a de login.
Dentro da tela inicial, todas as turmas e alunos cadastrados para que o usuário possa
visualizar. Ao clicar em uma turma e apertar o botão selecionar, as informações da turma irão
aparecer nas caixas de texto abaixo, apenas no modo de visualização, e os alunos serão filtrados
para apenas os alunos daquela turma.
Ao clicar em “gerenciar” no menu de Turmas, o usuário será redirecionado para a página
de turmas, com as informações da turma selecionada.
Ao clicar em “gerenciar” no menu de Alunos, o usuário será redirecionado para a página de
alunos, com as informações do aluno selecionado.
ANDREI, L. Qual a Diferença Entre SQL e MySQL?. Hostinger, 16, julho/2021. Disponível
em: < https://www.hostinger.com.br/tutoriais/entenda-diferenca-entre-sql-e-mysql>. Acesso em: 09
abr. 2022.
NOLETO, C. C++: o que é, porque usar e quais as diferenças com C. Canaltech, 13,
outubro/2021. Disponível em: <https://blog.betrybe.com/linguagem-de-programacao/cpp/>.
Acesso em: 02 abr. 2022.
MARTINAZZO, C.A., TRENTIN, D. S., FERRARI, D., PIAIA, M.M. Arduino: Uma
Tecnologia No Ensino De Física. PERSPECTIVA, Erechim. v. 38, n.143, p. 21-30,
setembro/2014. Disponível em:
<https://essentiaeditora.iff.edu.br/index.php/vertices/article/view/1809-2667.20090002/6>. Acesso
em: 20 abr. 2022.
MELO, D. O que é Java? [Guia para iniciantes]. Tecnoblog, 2021. Disponível em:
<https://tecnoblog.net/responde/o-que-e-java-guia-para-iniciantes/>. Acesso em: 08 abr.2022.