31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# Programação Modular
|
|
## Trabalho Prático 2
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
---
|
|
|
|
### Pacote `modelo`
|
|
- Não há 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.
|
|
|
|
### 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.
|