====== Especificação funcional: Atualização dos diários ====== ===== Resumo ===== A atualização dos diários sincroniza os dados dos diários com os dados advindos do School desktop. ===== Descrição ===== Os usuários do Diário Eletrônico não devem possuir controle absoluto sobre as informações de um diário. Algumas operações, como a inclusão de novos alunos na turma, por exemplo, devem ser sempre realizadas pela secretaria da escola primeiro, para só depois serem propagadas para os diários dos professores. Para limitar as capacidades dos professores e, ao mesmo tempo, manter os diários atualizados, é necessário que exista um processo controlado de atualização de cada diário existente no sistema. A atualização do diário deve ser realizada automaticamente, sempre que um dado relevante for alterado no School desktop. Como o School desktop sincroniza suas informações com o School web periodicamente, a atualização deve se dar através de um serviço, que estará sempre em execução, monitorando a mudança de informações que impactam nos dados dos diários já existentes e realizando as alterações necessárias nesses diários de forma transparente aos usuários. Algumas mudanças, entretanto, não poderão ser realizadas automaticamente pelo serviço de atualização. Quando as alterações gerarem perda de dados (exemplos: exclusão de um período letivo, mudanças profundas na estrutura de séries e disciplinas, mudança de formas de avaliação, etc), ao invés de atualizar o diário, o sistema deverá impedir que o professor faça qualquer alteração nesse diário e deverá alertá-lo para que salve as informações (imprima ou faça o download do arquivo de diário) para que, posteriormente, o diário possa ser excluído e um novo diário possa ser gerado, já construído de acordo com a nova estrutura necessária. Esse processo de exclusão e recriação do diário deverá ser executado manualmente, pelo usuário responsável pela gestão dos diários na escola. O diário irá exibir o motivo do bloqueio para facilitar na tomada de decisão, além disso, caso a alteração que gerou o bloqueio do diário for revertida, o diário deverá ser desbloqueado automaticamente. ==== Informações que devem ser monitoradas ==== === Professor === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | Vínculo do professor com a disciplina. |Quando um professor for desvinculado de uma disciplina, o sistema deve desvincular esse professor do diário da turma/disciplina em questão, fazendo com que ele (o professor) não possa mais acessar esse diário.\\ Quando um professor for vinculado a uma disciplina, o sistema deve desvincular o professor antigo, se existir, e vincular o novo professor ao diário da turma/disciplina em questão.\\ | === Curso === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | A quantidade de casas decimais das notas foi modificada para um valor menor do que foi configurado inicialmente para o diário. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O peso do ano letivo foi modificado para um valor menor do que o atual. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O tipo de ensino do curso foi modificado. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O nome do curso foi alterado | Caso o diário possua ficha descritiva ele deve ser bloqueado, ao contrário nenhuma alteração deverá ser feita. | === Série === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | A fórmula da média ou o critério de definição da média final foram modificados. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O módulo da série foi modificado. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | A série foi excluída. | Todos os diários da série devem ser excluídos. | === Turma === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | A turma foi excluída. | Todos os diários da turma devem ser excluídos. | === Disciplina === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | O critério de aprovação da disciplina foi alterado | Se o critério de aprovação foi desativado, o sistema deve excluir as informações de notas, conceitos ou dados das fichas descritivas dessa disciplina. Caso ele tenha sido ativado, o sistema deve gerar os dados necessários para que o usuário possa registrar notas, conceitos ou preencher a ficha descritiva dos alunos para essa disciplina.| | Os itens da disciplina foram alterados. | Novos itens devem ser incluídos no diário da disciplina.\\ Itens modificados devem ser atualizados no diário da disciplina.\\ Itens excluídos devem ser removidos do diário da disciplina, juntamente com os conceitos desse item, de todos os alunos. | | A disciplina teve sua classificação alterada (Individual, conjunta, ...). | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | A disciplina foi excluída. | Todos os diários da disciplina devem ser excluídos. | === Período letivo === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | Os conceitos do período letivo foram incluídos, excluídos ou alterados. | Novos conceitos devem ser incluídos no diário da disciplina.\\ Conceitos modificados devem ser atualizados no diário da disciplina.\\ Conceitos excluídos devem ser removidos do diário da disciplina.\\ As notas de todos os alunos devem ser atualizadas de acordo com as modificações dos conceitos. | | O período letivo teve seu peso alterado. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O período letivo teve sua forma de avaliação alterada. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | O período letivo não foi encontrado no arquivo de atualizações. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | | A quantidade de períodos letivos é diferente da quantidade de períodos letivos do diário. | Essa atualização não deve ser processada. O diário deve ser bloqueado. | === Aluno === |<100% 38% 62%>| ^ Descrição ^ Ações a serem executadas ^ | Um novo aluno foi incluído na turma. | Inclusão do aluno na lista de alunos.\\ Reprocessamento dos movimentos do aluno. | | Um aluno foi excluído da turma. | Exclusão do aluno na lista de alunos.\\ Exclusão dos dados biométricos do aluno.\\ Exclusão das notas do aluno.\\ Exclusão das frequências do aluno.\\ Exclusão dos itens da ficha descritiva. | | Os movimentos de um aluno foram modificados. | Verificação e mudança de faltas, notas, itens da ficha descritiva e dados biométricos com base nas movimentações do aluno (anular ou desanular). | | A ordem do aluno foi modificada. | Alteração da ordem do aluno nas listas de alunos do diário. | ===== Observações ===== Todos os dados que o diário precisa para funcionar são salvos nas suas respectivas tabelas no banco de dados, no entanto, para o caso das movimentações dos alunos(tabalunosturmas) existe uma regra para salvar somente as movimentações necessárias, isso foi feito para evitar que todas as movimentações dos alunos fossem salvas. * Alunos com mais de duas movimentações; * Alunos com data de matrícula superior a data de início do ano letivo.