Este projeto foi desenvolvido para a disciplina de Programação Orientada a Objetos, com foco na implementação de um sistema CRUD (Create, Read, Update, Delete) para o gerenciamento de alunos de um clube de natação. A aplicação utiliza uma interface gráfica desenvolvida com Java Swing e um banco de dados MySQL para armazenamento de informações.
Eu, como secretário, desejo registrar novos alunos no sistema, fornecendo informações necessárias como nome, endereço, e-mail, turma e turno, para manter o cadastro atualizado.
- O sistema deve permitir a inserção de nome, endereço, e-mail, turma e turno.
- O sistema deve exibir uma mensagem de confirmação após o cadastro bem-sucedido.
- Os campos obrigatórios devem ser validados e não permitir o cadastro caso estejam vazios.
Eu, como secretário, desejo consultar a lista de alunos cadastrados, para visualizar suas informações detalhadas e verificar o cadastro.
- O sistema deve exibir uma tabela com todos os alunos cadastrados.
- A tabela deve conter as colunas: nome, endereço, e-mail, turma e turno.
- O sistema deve permitir a filtragem e ordenação dos registros.
Eu, como secretário, desejo atualizar as informações de um aluno, para garantir que os dados estejam corretos e atualizados.
- O sistema deve permitir selecionar um aluno na tabela e editar suas informações.
- As mudanças devem ser salvas e uma mensagem de confirmação deve ser exibida após a atualização.
Eu, como secretário, desejo remover o registro de um aluno, para excluir os dados de alunos que não fazem mais parte do clube.
- O sistema deve permitir a remoção de um aluno selecionado na tabela.
- Uma mensagem de confirmação deve ser exibida antes da remoção definitiva do aluno.
- O aluno deve ser removido do banco de dados e da tabela após a confirmação.
- Ator: Secretário
- Descrição: O secretário deve registrar novos alunos no sistema, inserindo informações como nome, endereço, e-mail, turma e turno.
- Ator: Secretário
- Descrição: O secretário pode consultar a lista de alunos cadastrados, visualizando suas informações em uma tabela.
- Ator: Secretário
- Descrição: O secretário pode atualizar os dados de um aluno, alterando informações conforme necessário.
- Ator: Secretário
- Descrição: O secretário pode remover alunos do sistema, excluindo seus registros.
-
Pacote
cadastrodaluno
:CadastroAluno.java
: Implementa a lógica de cadastro de novos alunos no sistema.
-
Pacote
conectarcombanco
:ConexaoBancoDados.java
: Responsável pela configuração e gerenciamento da conexão com o banco de dados MySQL utilizando JDBC.
-
Pacote
fichaaluno
:Alunos.java
: Representa a classe Aluno, que define o modelo dos dados de um aluno.
-
Pacote
interfaces
:DAO.java
: Interface para Data Access Object (DAO), definindo os métodos principais para interagir com o banco de dados (adicionar, atualizar, buscar, remover).
-
Pacote
janelaTabela
:JanelaTable.java
: Implementa a interface da tabela onde os dados dos alunos são exibidos.
-
Pacote
modelotabelaaluno
:AlunoTableModel.java
: Fornece o modelo para a tabela de alunos, estendendoAbstractTableModel
.
-
Pacote
principal
:Main.java
: Classe principal que inicializa o sistema e carrega a interface gráfica da aplicação.
-
Pacote
telacadastro
:TelaCadastro.java
: Implementa a interface de cadastro de novos alunos.
O sistema permite criar, visualizar, atualizar e deletar registros de alunos.
Antes de rodar o sistema, é necessário configurar o banco de dados MySQL. Siga as etapas abaixo:
Para que o Java possa se conectar ao MySQL, você precisará instalar o conector MySQL JDBC. Siga os passos abaixo:
- Baixe o conector MySQL JDBC aqui.
- Adicione o arquivo
.jar
do conector ao seu projeto Java, incluindo-o no classpath.
Execute o seguinte código SQL no MySQL para criar o banco de dados e a tabela:
-- Criação do banco de dados
CREATE DATABASE fichadosalunos;
-- Seleciona o banco de dados criado
USE fichadosalunos;
-- Criação da tabela dadosaluno
CREATE TABLE dadosaluno (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
endereco VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
turma VARCHAR(50) NOT NULL,
turno VARCHAR(50) NOT NULL
);
-- Exemplo de inserção de dados
INSERT INTO dadosaluno (nome, endereco, email, turma, turno)
VALUES ('João Silva', 'Rua das Flores, 123', '[email protected]', 'Turma A', 'Manhã');
- Java: Linguagem principal usada para implementar a lógica do sistema.
- Java Swing: Usado para criar a GUI (Graphical User Interface).
- JDBC: Conector utilizado para a comunicação com o banco de dados MySQL.
- MySQL: Sistema de banco de dados para persistir os dados dos alunos.
- POO (Programação Orientada a Objetos): Utilizado para encapsulamento de dados e separação de responsabilidades.
- DAO (Data Access Object): Implementação para isolar a lógica de acesso aos dados.
Este projeto é um exemplo de uma aplicação bem estruturada em Java com um fluxo CRUD para gerenciar o cadastro de alunos. A arquitetura modular, com separação de camadas de dados, lógica de negócios e interface gráfica, promove uma boa manutenção e extensibilidade do sistema.
- Normalização dos Dados: Implementar a normalização do banco de dados para eliminar redundâncias e melhorar a integridade dos dados. Isso pode incluir a criação de tabelas adicionais para armazenar informações relacionadas, como turmas e turnos, separando essas entidades da tabela principal de alunos.