====== Especificação funcional: Notas ====== ===== Resumo ===== O módulo de notas permite ao usuário gerenciar as avaliações e as notas dos alunos. ===== Descrição ===== O módulo de notas permite ao usuário registrar as avaliações aplicadas em cada período letivo e as notas dos alunos nessas avaliações. Além disso, esse módulo também é responsável pelo cálculo das notas finais do aluno no período letivo. Para as disciplinas que não validam notas, o sistema deve exibir uma mensagem ao usuário informando que ele não pode registrar notas para aquela disciplina. ==== Funcionalidades ==== === Avaliações e recuperações === Para registrar as notas dos alunos, é necessário que antes as avaliações do período letivo sejam definidas. As avaliações devem ser criadas no momento da geração do arquivo de diários, e seus tipos e quantidade são definidos pelo modelo de diário de cada município. Um período letivo pode ter os seguintes tipos de avaliação: * **Avaliação**: Uma avaliação normal, na qual o usuário poderá informar as notas dos alunos; * **Resultado**: Uma avaliação cujas notas serão calculadas automaticamente pelo sistema. Antes de registrar as notas dos alunos, o usuário deverá definir os dados de aplicação da avaliação para que o sistema possa identificar quais avaliações já foram aplicadas e tenha informações suficientes para realizar a validação das notas do aluno. O usuário deve ser capaz de alterar as seguintes informações de uma avaliação: * Data de aplicação; * Descrição da avaliação (deve ser sempre diferente da descrição da recuperação, quando houver); * Valor da avaliação. Para garantir que o usuário registre as datas de aplicação das avaliações corretamente, o sistema deverá impedir que uma data de aplicação seja definida fora dos limites (data inicial e final) do período letivo. Para isso, o sistema só deverá permitir que o usuário altere os dados de aplicação das avaliações após definir as datas inicial e final do período letivo. O sistema deve também impedir que a soma dos valores das avaliações ultrapasse o peso do período letivo. De acordo com as definições do município, uma avaliação poderá ou não ter uma recuperação vinculada. Essa recuperação também deve ser criada durante a geração do arquivo de diários e pode existir para cada avaliação ou apenas para algumas avaliações (geralmente para avaliações do tipo "resultado") específicas. O sistema não deve permitir que o próprio usuário inclua ou exclua avaliações ou recuperações: uma vez estabelecido um modelo de diário para o município, todos os arquivos de diário serão gerados com a mesma quantidade de avaliações e recuperações. O sistema deve disponibilizar uma opção para que o usuário possa excluir todos os dados de aplicação de uma avaliação e, junto com eles, todas as notas lançadas para aquela avaliação. Não é permitido lançar notas, ou fazer qualquer tipo de alteração quando o periodo letivo já estiver sido importado. === Lançamento de notas === Antes de lançar as notas dos alunos, o sistema deve obrigar que o usuário defina os dados de execução da avaliação para a qual ele deseja registrar as notas. Esses dados consistem em: * //Data de aplicação//: Uma data válida, dentro dos limites do período letivo, na qual a avaliação será aplicada. O sistema deve verificar se existe ao menos uma aula cadastrada para a mesma data (aba frequências) e, caso contrário, deve impedir que a data seja definida; * //Descrição//: Texto que será exibido no cabeçalho da coluna onde as notas da avaliação serão registradas; * //Valor (pontos)//: Valor da avaliação em pontos. Esse valor não deve ser maior do que o peso do período letivo ou fazer com que a soma dos valores de todas as avaliações ultrapassem o peso total do período letivo. * //Dados da recuperação//: Caso a avaliação possua uma recuperação, a data de aplicação da recuperação também deve ser informada, seguindo os mesmos critérios da data da avaliação. Se a forma de cálculo da nota final da avaliação for //soma//, também deve ser permitido que um valor diferente seja atribuído à recuperação. Uma vez definidos esses dados, o sistema deverá liberar o lançamento de notas apenas para a avaliação que teve seus dados de aplicação definidos. A validação e formatação das notas deve obedecer aos seguintes critérios: * Se o período letivo for avaliado por conceitos, o sistema deverá exibir uma lista com os conceitos vinculados ao curso para que o usuário selecione um dos conceitos disponíveis; * Se o período letivo for avaliado por média, o usuário poderá digitar o valor da nota do aluno. Essa nota não deve ultrapassar o valor da avaliação (definido nos dados de aplicação da avaliação) nem poderá conter um valor negativo; * O sistema deve limitar a quantidade de casa decimais, de acordo com a definição do município. O sistema deve também, ao liberar a digitação de notas, verificar se o aluno pode ou não ter suas notas definidas para a avaliação, com base na sua data de matrícula, data de movimento, no tipo de movimento e na data de aplicação da avaliação. Caso o aluno não estiver apto a frequentar aulas na data em que a avaliação foi ministrada, independente do motivo, o sistema deverá anular a nota e não permitir que o usuário informe nota alguma para esse aluno, nessa avaliação. === Cálculo de resultados === == Nota final de uma avaliação com recuperação == O cálculo da nota final de uma avaliação só deverá ser realizado quando o aluno tiver uma nota de recuperação: quando ele não tiver, sua nota deve permanecer a mesma que foi lançada na avaliação. Quando uma avaliação possuir uma recuperação associada, o sistema deverá estabelecer qual é a nota final do aluno naquela avaliação. O sistema deve oferecer as seguintes opções para o cálculo da nota final, quando a forma de avaliação do período letivo for //média//: * **Soma**: a nota final será composta pela soma da nota da avaliação com a nota da recuperação; * **Média**: a nota final será composta pela média entre a nota da avaliação e da recuperação (apenas quando existir uma nota de recuperação. Quando a nota da recuperação for nula, a nota da avaliação será considerada como nota final); * **Maior**: a nota final será composta pela maior nota entre a nota da avaliação e da recuperação; * **Última**: a nota final será composta pela última nota do aluno (apenas quando existir uma nota de recuperação. Quando a nota da recuperação for nula, a nota da avaliação será considerada como nota final). Quando a forma de avaliação do período letivo for //conceito//, o sistema deverá considerar sempre o conceito atribuído à recuperação, independente do valor informado como nota da avaliação. O critério para o cálculo da nota final das avaliações é definido para cada uma das avaliações do diário, durante a geração do arquivo de diários, e não poderá ser modificado pelo usuário. O sistema deve permitir que as avaliações de um mesmo período letivo tenham critérios diferentes, de acordo com as definições do município. == Notas de avaliação do tipo "resultado" == As notas das avaliações do tipo "resultado" devem ser calculadas automaticamente pelo sistema sempre que uma nota de avaliação for registrada ou alterada. O sistema deve permitir que os resultados sejam calculados por soma, quando cada nota final de cada avaliação deve ser somada para compor o resultado, ou por média, quando o sistema deve calcular a nota média entre as notas finais de todas as avaliações lançadas. Nesse caso (resultado por média), o sistema deve considerar apenas as avaliações que tem os dados de aplicação preenchidos para calcular o resultado do aluno. == Notas vazias e notas zero == O sistema deve diferenciar as notas vazias ou nulas das notas em que o aluno não conseguiu nenhum ponto (nota zero): quando o usuário informar o valor zero, o sistema deverá computar a nota como uma nota válida, onde o aluno não conseguiu nenhuma pontuação. Quando o usuário deixar o campo de nota em branco, o sistema deve considerar que não existe nota para o aluno naquela avaliação (o aluno não realizou uma prova de recuperação, por exemplo). As notas calculadas automaticamente pelo sistema devem obedecer o mesmo critério: se todas as notas do aluno nas avaliações anteriores forem vazias ou nulas, a nota resultante também será nula. Se ao menos uma das notas anteriores tiver o valor zero, a nota resultante será zero. **Resultados possíveis** ^ Avaliação ^ Recuperação ^ Resultado ^ | - | - | - | | | | - | | - | | - | | | - | - | | - | 0,0 | 0,0 | | 0,0 | - | 0,0 | | | 0,0 | 0,0 | | 0,0 | | 0,0 | == Destaque de notas abaixo da média == Quando um período letivo é avaliado por média, as notas das avaliações do tipo "resultado" que ficarem abaixo da média devem ser exibidas em destaque, na cor vermelha. A média de cada período letivo deve ser estabelecida no arquivo de diários durante a sua geração. === Aplicação das regras de arredondamento === O sistema deve aplicar as regras de arredondamento contidas no arquivo de diários de forma cumulativa, de acordo com os seguintes níveis: * Nunca: nenhuma regra de arredondamento deve ser aplicada; * Ano letivo: as regras de arredondamento devem ser aplicadas nos resultados finais do aluno, ao final do ano letivo; * Período letivo: as regras de arredondamento devem ser aplicadas nos resultados finais do aluno em cada período letivo e também nos resultados finais do ano letivo; * Avaliação: as regras de arredondamento devem ser aplicadas em cada nota de avaliação, nos resultados dos períodos letivos e também nos resultados do ano letivo. A definição do nível de aplicação das regras de arredondamento deve ser realizada na geração do arquivo de diários e não poderá ser alterada pelo usuário. ===== Pontos de verificação ===== ==== Avaliações e recuperações ==== * O sistema não deve permitir que o usuário inclua, exclua ou altere a ordem das avaliações e recuperações; * O sistema deve permitir que o usuário informe os dados de aplicação da avaliação: Data de aplicação, descrição e valor (pontos); * Caso a avaliação tenha uma recuperação, o sistema deve exigir que o usuário informe a data de aplicação da recuperação; * O sistema não deve permitir que a descrição da avaliação seja igual a descrição da recuperação; * O sistema não deve permitir que os dados da avaliação sejam modificados caso a avaliação seja do tipo "resultado"; * O sistema só deve permitir que o valor de uma recuperação seja alterado quando a forma de cálculo da nota final for "soma"; * A soma do valor da avaliação com o valor da recuperação nunca pode ultrapassar o peso do período letivo (apenas quando a forma de cálculo da nota final for "soma"); * O sistema deve garantir que a soma dos valores de todas as avaliações não ultrapassem o peso do período letivo; * Tanto a data de aplicação da avaliação quanto da recuperação devem estar dentro dos limites do período letivo; * O sistema deve permitir que os dados de aplicação de uma avaliação sejam excluídos, junto com as notas de todos os alunos para a avaliação; * Ao definir a data de aplicação de uma avaliação ou recuperação, o sistema deve anular/desanular a nota dos alunos para aquela avaliação de acordo com seu movimento e data de matrícula; * O sistema não deve exibir a grade de notas quando a disciplina está configurada para não validar notas. ==== Lançamento de notas ==== * O sistema não deve permitir o lançamento de notas sem antes conhecer as datas de início e término do período letivo; * O sistema não deve permitir o lançamento de notas quando a nota de um aluno foi anulada (traço); * O sistema não deve permitir o lançamento de notas maiores que o valor de uma avaliação ou recuperação; * O sistema deve garantir que a soma das notas não ultrapasse o peso do período letivo; * O sistema deve garantir que a nota seja um número real válido maior ou igual a zero (quando o período letivo for avaliado por média); * O sistema deve garantir que a nota seja um conceito válido (quando o período letivo for avaliado por conceito); * O sistema não deve permitir a alteração de notas de uma avaliação do tipo "Resultado"; * O sistema deve recalcular as notas de avaliações do tipo "Resultado" sempre que uma nota do aluno for lançada/alterada/excluída; * Quando os resultados dos alunos forem calculados pela soma dos pontos, a soma das notas dos alunos não pode ultrapassar o peso do período letivo. ==== Formato e exibição ==== * O sistema deve exibir as notas com a quantidade de casas decimais especificada no arquivo de diários; * O sistema deve garantir que o valor das avaliações utilize a mesma quantidade de casas decimais que as notas das avaliações; * O sistema deve exibir as notas de avaliações do tipo "resultado" em vermelho quando estas estiverem abaixo da média do período letivo; * O sistema deve arredondar as notas de acordo com as regras e nível de arredondamento definidos no arquivo de diários. ===== Observações ===== Nenhuma. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~