Trabalho da disciplina de Paradigmas de Programação
O sistema tem por objetivo auxiliar o aluno no seu pedido de quebra de barreira, verificar a situação do aluno e gerar um arquivo texto com o pedido de quebra e seus dados.
- Java 11
- Gerar .jar a ser executado com o comando java -jar
- Modularização e Padronização: MVC
Requisitos:
- Importar CSV com informações do aluno (exibir)
- Importar CSV com as disciplinas, disponibilidade no semestre, grade curricular (exibir)
- Listar matérias cursadas e matérias do curso (exibir)
- Apresentar tabela com as matérias cursadas por período e matérias pendentes (exibir)
- Apresentar dados de aprovação do último período (% de aprovação + quantas matérias reprovou por falta)
- Mostrar ao aluno conj. de disciplinas ofertadas no semestre que não foram cursadas neste semestre, ordenadas por período
- Possibilitar que o aluno selecione um conj. de disciplinas que ele deseja cursar (podendo escolher a prioridade delas)
- O sistema deve calcular o número de disciplinas sugerido pelas regras aprovadas em colegiado e mostrar resultado.
- O sistema deve permitir salvar os dados do pedido em um arquivo (podendo editar depois)
- Ao clicar em enviar, o sistema deve gerar um arquivo texto contendo todos os dados do pedido.
Tela inicial:
- Opções:
- Solicitar quebra de pré-requisito (TelaSolicitacao)
- Exibir minhas informações (TelaInfoAluno)
TelaSolicitacao:
- De acordo com o pdf quebra-barreira-requisito1
- Opções:
- Selecionar disciplinas que ele deseja cursar
- Cálculo do núm. de disciplinas sugeridos pelas regras do colegiado
- Salvar dados do pedido
- Enviar (gerar arquivo .txt com os dados do pedido)
TelaInfoAluno:
- Opções para o usuário:
- Listar disciplinas ofertadas esse semestre que não foram cursadas
- Matérias cursadas x Matérias do curso (Listar)
- Matérias cursadas x pendentes (por período)
- Dados de aprovação: % Aprovação | num. de reprov. por falta
Regras para quebra de pré-requisito:
- IRA >= 0,8, todos os pedidos de matrícula serão aceitos
- 3 matrículas para desempenho ruim (caso C)
- 5 matrículas para desempenho bom (caso A)
- 4 matrículas para casos intermediários (caso B)
- Não conceder quebra para de CI212 para CI215
- Proibido quebra para optativas.
- Maximizada matrícula nos períodos mais próximos ao início do curso
- Obrigatória a matrícula na maior quantidade possível de disciplinas dentro da barreira.
Casos:
A: Aprovação em mais de 2/3 das disciplinas do sem. anterior
B: 1/2 de aprovação no sem. anterior
C > 1/2 aprovação no sem. anterior
Comandos:
- Criar o projeto (não é necessário):
mvn archetype:generate
- Compilar
mvn compile
- Executar
mvn exec:java
- Redirecionar telas com SWING: [video aqui](https://www.youtube.com/watch?v=pO1SNvqk6sg)