Update README.md
This commit is contained in:
parent
cccfa257d6
commit
998c8674d8
75
README.md
75
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.
|
||||
### 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.
|
||||
|
|
Loading…
Reference in New Issue