| 
				
					
						
							 | 
			||
|---|---|---|
| assets | ||
| modelo | ||
| persistencia | ||
| visao | ||
| .gitignore | ||
| README.md | ||
| main.py | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	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 
Persistentedeve ser alterada para virar uma classe genérica, que trabalha com o tipoT, que deve ser uma filha deEntidade. - Todos os atributos e métodos da classe 
Persistentedevem se ajustar para trabalhar com o tipoT. - 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.