From 998c8674d8737e115ee02d315548b925cf8acf2e Mon Sep 17 00:00:00 2001 From: emerson Date: Sun, 6 Jul 2025 23:03:24 -0300 Subject: [PATCH] Update README.md --- README.md | 75 ++++++++++++++++++------------------------------------- 1 file changed, 24 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index 7ca3b4c..a299d9e 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,30 @@ -Trabalho Prático 2 – Estrutura do Projeto +# Programação Modular +## Trabalho Prático 2 -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 do programa deve estar organizado em um pacote cujo nome fica à escolha do grupo. +Dentro desse pacote deve ficar uma classe chamada `Programa`, que possui o método `main` e inicializa o programa. -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: +Dentro do pacote também deve haver mais **3 pacotes**: `modelo`, `persistencia` e `visao`. +O código pode ser implementado em qualquer linguagem orientada a objetos. +Todos os problemas do TP1 devem ser corrigidos para o TP2, **exceto na camada de visão**, que será substituída por completo. -src/ -└── nomedopacote/ - ├── Programa.java - ├── modelo/ - ├── persistencia/ - └── visao/ +--- -📦 Pacote modelo/ +### Pacote `modelo` +- Não há alterações em relação ao TP1. - Sem alterações em relação ao TP1. +### Pacote `persistencia` +- A classe `Persistente` deve ser alterada para virar uma **classe genérica**, que trabalha com o tipo `T`, que deve ser uma filha de `Entidade`. +- Todos os atributos e métodos da classe `Persistente` devem se ajustar para trabalhar com o tipo `T`. +- Deve ser criada uma **classe de Exceção própria** que é lançada quando houver buscas por entidades no banco de dados com ID inexistente. - 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. \ No newline at end of file +### Pacote `visao` +- A interface com o usuário por meio de **linha de comando** do sistema deve ser substituída por uma **interface gráfica**. +- Deve haver uma **janela principal** e uma ou mais **janelas/painéis** para cada entidade. + - A partir da janela principal deve ser possível navegar até as demais janelas/painéis. +- O painel/janela de cada entidade deve possuir: + - Uma **tabela** que permite visualizar todos os dados existentes da entidade. + - Um painel ou janela para **cadastrar**, **apagar**, **editar** e **buscar** registros. +- O programa deve realizar tratamentos de exceção para: + - Dados digitados incorretamente (por exemplo, letras onde devem haver apenas números). + - Buscas por ID inexistentes.