UnB - Universidade de Brasilia
FGA - Faculdade do Gama
OO - Orientação por Objetos
Prof. André Luiz Peron Martins Lanna
Euller Júlio da Silva | Kaiky Dourado Mendes de Sousa | Pedro Henrique Martins Silva | Tiago Antunes Balieiro |
231026714 | 231035277 | 231029270 | 231011838 |
Desenvolver um sistema de cadastro e gerenciamento de alunos, professores, disciplinas e turmas para a Universidade de Brasília (UnB). O sistema é desenvolvido em Java e utiliza a interface gráfica Swing para facilitar a interação com o usuário.
- Gerenciamento das informações dos alunos, incluindo matrícula, nome e dados pessoais.
- Funcionalidades para adicionar, buscar, atualizar e remover alunos.
- Registro e atualização dos dados dos professores, como matrícula, nome e áreas de atuação.
- Funcionalidades para adicionar, buscar, atualizar e remover professores.
- Adição e manutenção das disciplinas oferecidas pela universidade.
- Armazena informações como código da disciplina e nome.
- Funcionalidades para adicionar, buscar, atualizar e remover disciplinas.
- Associação de alunos e professores às turmas.
- Definição da capacidade da turma e matrícula de alunos em turmas específicas.
- Funcionalidades para cadastrar, buscar, atualizar, remover turmas e imprimir lista de presença.
O sistema implementa várias exceções personalizadas para garantir a integridade dos dados e a consistência das operações:
- CampoEmBrancoException: Lançada quando um campo obrigatório (nome, código, horário) está vazio durante o cadastro ou atualização.
- DisciplinaNaoAtribuidaException: Lançada quando uma turma não tem uma disciplina ou professor associado.
- NumeroIncorretoAlunosException: Lançada quando o número de alunos matriculados não corresponde ao esperado.
- NumeroMaximoAlunosException: Lançada quando a tentativa de adicionar um aluno excede a capacidade máxima da turma.
- Cadastro de Turmas: Permite associar uma turma a uma disciplina e a um professor, além de definir a quantidade de vagas e matricular alunos.
- Atualização de Turmas: Permite alterar informações da turma, como nome, código, horário e quantidade de vagas. O sistema verifica se as alterações são válidas, atualiza a lista de alunos se necessário e garante que a capacidade da turma não seja excedida.
- Remoção de Alunos e Turmas: Permite a remoção de alunos de uma turma e a exclusão de turmas do sistema.
- Impressão de Lista de Presença: Gera uma lista de presença para uma turma específica, exibindo o código da turma, o nome da disciplina, o nome do professor e os alunos matriculados.
- UML (Linguagem de Modelagem Unificada): Utilizada para modelar a estrutura e os processos do sistema, garantindo uma organização clara e a integridade do projeto.
- Trello: Utilizado para o gerenciamento de tarefas e acompanhamento do progresso do desenvolvimento.
- Lucidchart: Utilizado para a criação de diagramas e visualização dos processos e fluxos de dados.
Desenvolvida em Swing, a interface gráfica proporciona uma interação intuitiva com o sistema, permitindo realizar operações através de menus e diálogos.
- Gerenciamento Dinâmico de Vagas: Aumentar ou diminuir a quantidade de vagas nas turmas exige uma gestão eficiente do array de alunos, garantindo que o sistema não quebre ao adicionar ou remover alunos.
- Validação de Dados: Implementação de verificações rigorosas para garantir que todos os dados estejam corretos e que as operações sejam realizadas de forma consistente.
-
Cadastro de Alunos
-
Cadastro de Professores
-
Cadastro de Disciplinas
-
Cadastro de Turmas
-
Print da Lista de Presença
-
Implementação de Exceções
-
Uso dos conceitos de OO:
-
Encapsulamento
-
Herança
-
Polimorfismo
-
Certifique-se de ter uma versão do Java atualizada e o OpenJDK. Sugiro que caso tenha instalado a versão Java 1.8, desinstale-a e instale uma nova versão com o JDK para evitar instabilidades. Segue o link para instalar a versão mais recente Java/jdk:
-
Para executar o projeto é bem simples, basta instalar o arquivo
TPOO.jar
na sua máquina e executá-lo. -
Outra forma é executar o arquivo pelo terminal entrando no diretório em que o arquivo .jar se encontra:
cd C:\Caminho\Para\O\Diretório
substitua
C:\Caminho\Para\O\Diretório
pelo caminho real onde o arquivoTPOO.jar
está. Agora use o comandojava -jar TPOO.jar
para executar o arquivo.jar
.java -jar TPOO.jar
- Certifique-se de ter uma versão atualizada do Java. Você pode instalar o OpenJDK, que é uma versão open-source do JDK. Para instalar a versão mais recente do OpenJDK, você pode usar o seguinte comando no terminal:
Substitua
sudo apt update sudo apt install openjdk-17-jdk
openjdk-17-jdk
pelo número da versão desejada, se necessário. Certifique-se de verificar a versão recomendada para o seu projeto. - Instale e execute o arquivo
TPOO.jar
. - Outra forma é executar o arquivo pelo terminal entrando no diretório em que o arquivo .jar se encontra:
Substitua
cd /caminho/para/o/diretório
/caminho/para/o/diretório
pelo caminho real onde o arquivoTPOO.jar
está. Agora use o comandojava -jar TPOO.jar
para executar o arquivo.jar
.Certifique-se de que o arquivojava -jar TPOO.jar
TPOO.jar
tenha permissões de execução. Se necessário, ajuste as permissões com:chmod +x TPOO.jar
Tela específica de cada cadastro | Tela dos CRUDs | Tela de preenchimento de dados | Tela de sucesso ao cadastrar |
Tela específica de cada cadastro | Tela dos CRUDs | Tela de preenchimento de dados | Tela de sucesso ao pesquisar |
Tela específica de cada cadastro | Tela dos CRUDs | Tela de preenchimento de dados | Tela de sucesso ao atualizar |
Tela específica de cada cadastro | Tela dos CRUDs | Tela de preenchimento de dados | Tela de sucesso ao remover |
Tela específica de cada cadastro | Tela dos CRUDs | Tela de preenchimento de dados | Tela de sucesso ao imprimir lista de presença |
Foi acordado entre os membros da equipe que a modelagem do projeto seria realizada utilizando o Trello. Esta ferramenta foi escolhida para minimizar eventuais erros estruturais e para orientar nosso desenvolvimento. Além disso, o quadro do Trello foi atualizado conforme as necessidades do projeto ao longo do seu desenvolvimento. Confira o quadro do Trello desenvolvido na imagem 1 a seguir.
Imagem 1: Quadro de Gerenciamento de Projeto no Trello
Ref.: autoria própria. (Desenvolvido em Trello)
Como foi definido no cenário, foi acordado entre os membros a modelagem do projeto utilizando a Linguagem de Modelagem Unificada (UML) para a minimalização de eventuais erros estruturais, além de guiar nosso desenvolvimento. Somado a isso, vale ressaltar que o artefato Diagrama de Classes UML desenvolvido foi atualizado conforme a necessidade durante o desenvolvimento do projeto. Confira o artefato UML desenvolvido na imagem 2 a seguir.
Imagem 2: artefato Diagrama de Classes UML
Ref.: autoria própria. (Desenvolvido em Lucidchart)