Trabalho Prático 2 – Estrutura do Projeto Este repositório contém o código-fonte do Trabalho Prático 2 (TP2) da disciplina de Programação Orientada a Objetos. O sistema foi desenvolvido utilizando uma linguagem orientada a objetos à escolha do grupo, com base no TP1, incorporando as melhorias e exigências do novo escopo. 📁 Estrutura do Projeto Todo o código está organizado dentro de um pacote principal com o nome definido pelo grupo. Este pacote contém a classe Programa, responsável por iniciar o sistema, além de três subpacotes principais: src/ └── nomedopacote/ ├── Programa.java ├── modelo/ ├── persistencia/ └── visao/ 📦 Pacote modelo/ Sem alterações em relação ao TP1. Contém as classes que representam as entidades do sistema. 💾 Pacote persistencia/ A classe Persistente foi transformada em uma classe genérica que trabalha com o tipo T, sendo T uma subclasse de Entidade. Todos os atributos e métodos de Persistente foram adaptados para essa nova abordagem com generics. Foi criada uma exceção personalizada lançada ao tentar buscar uma entidade por ID inexistente no banco de dados. 🖼️ Pacote visao/ A interface de linha de comando foi completamente substituída por uma interface gráfica. A aplicação agora possui: Uma janela principal com navegação para as demais janelas/painéis. Uma janela ou painel para cada entidade, contendo: Uma tabela para visualização de todos os registros. Funcionalidades para cadastrar, apagar, editar e buscar registros. Há tratamento de exceções para: Dados inválidos (ex: letras onde deveriam ser números). Buscas por ID inexistente, com exibição de mensagens apropriadas ao usuário. ✅ Requisitos de Implementação Utilização de uma linguagem orientada a objetos. Organização modular e uso de boas práticas de POO. Correção de todos os problemas identificados no TP1 (exceto na camada de visão, que foi substituída). Interface gráfica intuitiva, com navegação clara e feedback ao usuário.