Issue #42

0 up
0 down
Closed
sae/sae#42
Created by Vandor Rissoli (Edited )

Problema na inserção de novas matrículas de alunos de mesma matrícula em cursos diferentes no SAE

A solicitação de matrícula de alunos no curso de Java web para SAE não está realizando o processo convencional que o professor aceita ou rejeita as solicitações de Alunos. Quando um aluno é aceito pelo professor o processo está sendo realizado de maneira parcial, pois o aluno aceito em curso diferente ao que ele já faz com acompanhamento do SAE, mas em uma nova disciplina (Programação Java web para SAE) não o inclui como aluno na turma do curso.

O exemplo seria um aluno que faz o curso de Engenharia de Software na FGA e já cursou alguma disciplina que usa o SAE, quando solicita a matrícula no outro curso chamado UnB - Cursos de Extensão e usa a mesma matrícula do curso de Engenharia de Software o SAE não incluí o estudante como aluno da turma. É necessário que você primeiro crie ao menos uma aluno nesta situação em seu computador e investigue o que está acontecendo de problema. Segue uma arquivo em anexo que corresponde a um script que ajusta a base de dados do SAE para aceitar alunos de cursos diferentes com matrículas iguais como alunos, mas depois desse ajuste na tabela maiorAluno ainda continua existindo algum problema que impede o processo do professor aceitar o estudante na situação explicada acima se torne um aluno da turma (será apresentado o estudante quando o professor navegar nas opções do SAE Acadêmico >> Turma >> Visualizar (ícone azul do olhinho na frente das turmas apresentadas).

===== ATIVIDADE ==========

Expectativa de Conclusão: 08/02/2017

Prioridade: Maior

Situação: AGUARDANDO

=========================================

Crie uma simulação em seu SAE local para ficar mais fácil você reproduzir o erro explicado acima.

3 participants
  • 8baac89b4abad27ba9babbecf86d97d0?s=40&d=identicon
    Caio Nunes @caiofelipe

    Status changed to closed

    Choose File ...   File name...
    Cancel
  • 54c3dc7730b6456cd61066ea427b0c31?s=40&d=identicon
    Vandor Rissoli @vandor

    Reassigned to @kelvin705

    Choose File ...   File name...
    Cancel
  • 54c3dc7730b6456cd61066ea427b0c31?s=40&d=identicon
    Vandor Rissoli @vandor

    Status changed to reopened

    Choose File ...   File name...
    Cancel
  • 54c3dc7730b6456cd61066ea427b0c31?s=40&d=identicon
    Vandor Rissoli @vandor

    Conforme esclarecido em mail encaminhado ao Kelvin, estou lhe encaminhando a issue que originou a detecção do problema relativo a mudança da Unique na tabela maiorAluno do SAE que tem que garantir que um aluno seja único somente se matricula e o código curso formarem uma chave candidata composta entre os dois atributos que estão presentes nas tabelas maiorAluno e maiorTurma_Aluno . Nesta última tabela indicada deverá ser implementada uma chave estrangeira (FK) com a tabela maiorAluno que já tem a unique (matricula, codigoCurso - confirma na tabela se a composição dessa chave candidata (unique) está criada como matricula, codigoCurso ou o inverso codigoCurso, matricula para ser implementada corretamente na FK de maiorTurma_Aluno).

    ===== ATIVIDADE ==========

    Expectativa de Conclusão: 29/10/2017

    Prioridade: Maior

    Situação: AGUARDANDO

    =========================================

    Segue abaixo a cópia parcial do mail que reencaminha para você a análise e implementação dessa importante mudança no SAE.

    Realmente havia me esquecido disse e pedi para ele não fazer (ou refazer) de novo porque estava acertando com a FAPDF a inclusão de vocês como prestadores. Como acredito que você tenha compreendido o que deve ser efetuado vou lhe reencaminhar a issue no Git que começou esse trabalho de investigação para o problema de alunos não serem registrados no SAE quando tinham a mesma matrícula, mas estavam em cursos diferentes.

    Peço que implemente na aplicação o tratamento da de não ser mais a unique da tabela maiorAluno somente do atributo matricula e sim da matricula composta com codigoCurso. Lembro que seu banco de dados local já tem essa unique implementada, mas a aplicação está sem tal implementação. Verifique qual ação (ou ações) específicas tratam dessa situação de armazenamento e implementação e altere para nova regra que deve respeitar que é possível que um aluno seja cadastrado no SAE se a matrícula for igual (ou diferente), mas o codigoCurso ser diferente. É importante você também ter consciência de que um mesmo aluno também pode estar no mesmo curso, porém com matrículas diferentes. Isso acontece quando o aluno jubila no curso e faz vestibular de novo. Ele sendo aprovado no vestibular ele estará no mesmo curso com uma nova matrícula.

    O importante que gerará reflexões no SAE que precisa ser corrigido e atualizado pela aplicação é a regra em que o sistema tinha antes como único a matrícula como regra de negócio que garantia ou não um novo aluno no sistema. Essa regra passa ser alterada e deve incluir em todos os testes relativos a garantir essa unicidade a matrícula e o código curso.

    Se tiver dúvidas ou outras dificuldades eu peço que marquemos nossa conversa pelo Appear também na sexta-feira. Ressalto que uma vez corrigida a aplicação a tabela maiorTurma_Aluno implementará uma constraint de FK que respeitará a unique da tabela maiorAluno. Com isso o processo de solicitação no SAE fica completamente fechado novamente, ou seja, só registra um aluno na tabela maiorTurma_Aluno se existir um registro na tabela maiorAluno que confere uma matrícula e código curso (chave composta) válidos.

    Creio que com você refazendo esta implementação perdida pelo aluno poderemos fechar o principal de sua alteração na tabela maiorTurma_Aluno e abrir para os correções dos demais prestadores para fecharem também a pendência deles.

    Choose File ...   File name...
    Cancel
  • 7cde72194cd2efc67e89b13394b980af?s=40&d=identicon
    Kelvin de Assis Ferreira das neves @kelvin705

    @vandor ,

    conforme conversamos, segue o script que adiciona a constraint:

    ALTER TABLE maiorTurma_Aluno ADD CONSTRAINT maiorTurma_Aluno_maiorAluno_FK FOREIGN KEY (matricula,codigoCurso) REFERENCES maiorAluno (matricula,codigoCurso);

    Choose File ...   File name...
    Cancel
  • 54c3dc7730b6456cd61066ea427b0c31?s=40&d=identicon
    Vandor Rissoli @vandor

    A servidora SAEDES está com a base de dados ajustada para testar esta constraint. Porém, você deve corrigir os parâmetros para implementar esta restrição de integridade referencial completamente e não como está definido para ser o padrão em sua base de dados.

    Na implementação de sua base local então implemente a constraint abaixo:

    ALTER TABLE maiorTurma_Aluno ADD CONSTRAINT maiorTurma_Aluno_maiorAluno_FK FOREIGN KEY (matricula, codigoCurso) REFERENCES maiorAluno (matricula, codigoCurso) ON DELETE RESTRICT ON UPDATE RESTRICT;

    Choose File ...   File name...
    Cancel
  • 7cde72194cd2efc67e89b13394b980af?s=40&d=identicon
    Kelvin de Assis Ferreira das neves @kelvin705

    ===== ATIVIDADE ==========

    Expectativa de Conclusão: 29/08/2017 ==> 14/11/2017

    Prioridade: Maior

    Situação: CONCLUÍDA

    =========================================
    Choose File ...   File name...
    Cancel
  • 7cde72194cd2efc67e89b13394b980af?s=40&d=identicon
    Kelvin de Assis Ferreira das neves @kelvin705

    Status changed to closed

    Choose File ...   File name...
    Cancel