Este projeto contém um sistema completo de gerenciamento de estudantes com classes DAO para diferentes entidades.
Usuario- Representa usuários do sistema (alunos e professores)Historico- Representa o histórico acadêmico dos alunosGradeCurso- Representa a grade de cursosSituacao- Enum para status de aprovação (APPROVED, FAILED)TipoNota- Enum para tipos de nota (D, DL, DML, ND)
UsuarioDAO- Gerencia operações CRUD para usuáriosHistoricoDAO- Gerencia operações CRUD para históricosBackDAO- Gerencia alunos do curso BackEndFrontDAO- Gerencia alunos do curso FrontEndDataDAO- Gerencia alunos do curso DataScienceMobileDAO- Gerencia alunos do curso MobileProgrammingDAO- Gerencia alunos do curso ProgrammingBasisUiDAO- Gerencia alunos do curso UI_UX
- Java 21
- Maven
-
Compilar o projeto:
mvn clean compile
-
Executar os testes das classes DAO:
mvn exec:java -Dexec.mainClass="org.example.srs.SrsApplication"Ou alternativamente:
java -cp target/classes org.example.srs.SrsApplication
O código de teste no SrsApplication.java executa:
- Inserção de usuários (alunos e professores)
- Busca de usuário por email
- Verificação de existência de usuário
- Listagem de todos os usuários
- Contagem de usuários
- Atualização de dados do usuário
- Exclusão de usuário
- Inserção de históricos acadêmicos
- Busca de históricos por email do aluno
- Busca de histórico específico por email e curso
- Atualização de situação do histórico
- Exclusão de histórico
- Teste de cada DAO específico (Back, Front, Data, Mobile, Programming, UI/UX)
- Inserção de alunos nos cursos
- Remoção de alunos dos cursos
O sistema utiliza SQLite como banco de dados. O arquivo banco.db será criado automaticamente na primeira execução.
Ao executar os testes, você verá uma saída detalhada mostrando:
- ✓ Operações bem-sucedidas
- Mensagens de erro (se houver)
- Contadores e listagens
- Status de cada operação
=== TESTE DAS CLASSES DAO ===
--- TESTE USUARIO DAO ---
1. Testando inserção de usuários...
✓ Usuário 1 inserido com ID: ALU-12345
✓ Usuário 2 inserido com ID: ALU-67890
✓ Professor inserido com ID: PRO-11111
2. Testando busca por email...
✓ Usuário encontrado: João Silva
[... mais saídas ...]
=== TODOS OS TESTES CONCLUÍDOS ===
- ✅ CRUD completo de usuários
- ✅ CRUD completo de históricos
- ✅ Inserção e remoção em cursos específicos
- ✅ Geração automática de identificadores
- ✅ Validações de dados
- ✅ Tratamento de erros
- ✅ Conexão com banco SQLite
- O banco de dados SQLite será criado automaticamente
- Todos os testes são independentes e podem ser executados múltiplas vezes
- Os dados de teste são fictícios e servem apenas para demonstração
- O sistema suporta tanto alunos quanto professores