====== Especificação Funcional: Cadastro de Cursos ====== ===== Resumo ===== Esta especificação descreve os requisitos utilizados como base para o desenvolvimento do módulo de Cadastro de Cursos do software Tecsystem School e suas principais operações. ===== Descrição ===== O Cadastro de Cursos reúne todas as informações dos cursos (dados gerais, modalidade e etapa de ensino, resultados, conceitos, áreas de conhecimento, séries, modelos de históricos, regras de arredondamento e outras informações) e constitui um módulo centralizado para a realização de todas as operações relativas aos mesmos. Através deste módulo é possível incluir novos cursos, excluir um curso cadastrado, editar e visualizar os dados dos cursos cadastrados, entre outras. Ao acessar este módulo, o sistema deve exibir uma lista com os cursos já cadastrados para facilitar as operações de exclusão, edição e visualização dos dados, já que para isso é necessário indicar qual é o curso que será utilizado. Esta lista, que deve exibir os dados mais importantes de cada curso, também deve permitir a organização e o filtro dos dados por qualquer campo que esteja visível, além de permitir que o usuário oculte/exiba campos, imprima e exporte o conteúdo da lista. ==== Dados do Curso ==== Um curso deve possuir os seguintes campos: |< 100% 29% 45% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |**Dados gerais** ||||| |Nome |Nome do curso | Texto | 60 | Sim | |Calendário escolar |Calendário escolar do curso | Texto | - | Sim | |Ativo |Utilizado para identificar se o curso está ativo | Marcar/Desmarcar | - | Não | |Gerar históricos automaticamente |Utilizado para identificar se o curso gera históricos automaticamente | Marcar/Desmarcar | - | Não | |**Etapa** ||||| |Etapa |Etapa do ensino do curso | Texto | - | Sim | |Área profissional |Nome da área profissional do curso | Texto | 60 | Não | |Curso profissional |Nome do curso profissional | Texto | 200 | Não | |**Conceitos** ||||| |Conceito |Sigla ou nome do conceito do curso | Texto | 08 | Não | |Descrição |Descrição do conceito do curso | Texto | 20 | Não | |**Resultados** ||||| |Tipo do resultado |Resultado pré-definido utilizado pelo sistema | Texto | - | Sim | |Resultado final |Descrição do resultado utilizado pelo usuário | Texto | 20 | Sim | |**Áreas de conhecimento** ||||| |Área de conhecimento |Nome da área de conhecimento | Texto | 30 | Não | |Divisão da área de conhecimento |Nome da divisão da área de conhecimento | Texto | 80 | Não | |**Séries** ||||| |N° de Séries |Quantidade de séries do curso | Número | - | Sim | |Ordem |Ordem da série do curso | Texto | - | Sim | |Nome |Nome da série do curso | Texto | - | Sim | |Tipo de carga horária |Tipo da carga horária da série do curso | Texto | - | Sim | |Carga horária |Total da carga horária da série do curso | Número | - | Sim | |**Modelos de documentos** ||||| |Modelo de histórico |Tipo de modelo que será utilizado na impressão dos históricos | Texto | - | Não | |Modelo de ata de resultado final |Tipo de modelo que será utilizado na impressão das atas de resultados finais | Texto | - | Não | |Modelo de ficha de matrícula |Tipo de modelo que será utilizado na impressão das fichas de matrícula de alunos | Texto | - | Não | |Modelo de ficha individual |Tipo de modelo que será utilizado na impressão das fichas individuais de alunos | Texto | - | Não | |Modelo de boletim |Tipo de modelo que será utilizado na impressão dos boletins | Texto | - | Não | |Modelo de carteira estudantil |Tipo de modelo que será utilizado na impressão das carteiras estudantis | Texto | - | Não | |**Regras de Arredondamento** ||||| |Aplicar as regras de arredondamento|Utilizado para identificar se são aplicadas ou não as regras de arredondamento nas notas| Texto | - | Sim | |Arredondar a última casa decimal de 0 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 0 | Número | - | Sim | |Arredondar a última casa decimal de 1 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 1 | Número | - | Sim | |Arredondar a última casa decimal de 2 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 2 | Número | - | Sim | |Arredondar a última casa decimal de 3 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 3 | Número | - | Sim | |Arredondar a última casa decimal de 4 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 4 | Número | - | Sim | |Arredondar a última casa decimal de 5 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 5 | Número | - | Sim | |Arredondar a última casa decimal de 6 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 6 | Número | - | Sim | |Arredondar a última casa decimal de 7 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 7 | Número | - | Sim | |Arredondar a última casa decimal de 8 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 8 | Número | - | Sim | |Arredondar a última casa decimal de 9 para |Utilizado para identificar qual valor será arredondada a nota quando a última casa decimal for 9 | Número | - | Sim | |**Informações adicionais** ||||| |Observações |Observações do curso | Texto | 1000 | Não | ==== Inclusão, alteração e exclusão de cursos ==== Todo ensino pode ser cadastrado como um curso no sistema, desde que possua o conjunto mínimo de dados (campos obrigatórios) necessários. O sistema também deve permitir que os dados de um curso previamente cadastrado sejam modificados. A exclusão de um curso também deverá ser permitida, desde que este não possua nenhum aluno matriculado ou turma cadastrada. Caso possua, o sistema deverá avisar ao usuário que o curso está vinculado a um aluno ou à uma turma e não deve permitir sua exclusão. ==== Dados dos Resultados do Curso ==== Um resultado do curso deve possuir os seguintes campos: |< 100% 29% 45% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |Tipo do resultado |Resultado pré-definido utilizado pelo sistema | Texto | 20 | Sim | |Resultado final |Descrição do resultado utilizado pelo usuário | Texto | 20 | Sim | ==== Inclusão, alteração e exclusão de resultados do curso ==== Todos os resultados de um curso são previamente cadastrados ao instalar o sistema. O sistema deve permitir que os dados de um resultado do curso sejam modificados, exceto os dados do campo "Tipo do resultado", uma vez que são utilizados pelo sistema. A exclusão de um resultado do curso não deve ser permitida. ===== Configurações e preferências do usuário ===== ==== Comportamento das janelas ==== **Fechar janelas ao incluir**: Esta opção de configuração não é específica do Cadastro de Cursos mas, quando estiver ativa, o sistema deve fechar a tela de Cadastro do Curso assim que concluir a inclusão do mesmo; quando a opção estiver desativa, o sistema deve manter aberta a tela de Cadastro do Curso até que o usuário decida encerrar a inclusão de cursos. Por padrão esta opção deve estar ativa; ===== Pontos de verificação ===== ==== Na inclusão/alteração de cursos:==== * Após a inclusão de um curso este deverá ser exibido imediatamente na lista de cursos cadastrados; * Após a alteração de um curso este deverá ser exibido imediatamente nos dados do curso na lista de cursos cadastrados; * O sistema não deve permitir que o usuário salve um curso sem que todos os campos obrigatórios estejam preenchidos; === Dados gerais === * O sistema não deve permitir que o usuário salve um curso com nome que já está sendo usado por outro curso; * O sistema não deve permitir que o usuário desmarque o campo "Ativo", caso o mesmo esteja vinculado e ativo em alguma escola cadastrada no sistema, para isso o sistema deve exibir uma mensagem ao usuário; * Ao marcar o campo "Gerar históricos automaticamente", o sistema deve: * Gerar os históricos para todos os alunos do curso no momento da matrícula; * Gerar os históricos (caso ainda não existam) e suas respectivas séries no momento da finalização do ano letivo (caso esteja marcada a opção de rematrícula automática); * Excluir para os alunos matriculados no curso, os históricos (caso exista apenas a série da matrícula) ou apenas as séries dos históricos (caso existam outras séries no histórico), no momento do cancelamento da matrícula; * Ao desmarcar o campo "Gerar históricos automaticamente", o sistema não deve realizar nenhuma operação nos históricos dos alunos matriculados no curso; * O sistema exibe o campo "Gerar históricos automaticamente" habilitado/desabilitado, de acordo com as etapas/modalidades selecionadas para o curso: * Para a etapa de "Educação infantil": o campo deve estar habilitado, permitindo então que o usuário marque ou desmarque a opção; * Para as modalidades "AEE" e "Atividade complementar": o campo deve estar desabilitado e desmarcado, para garantir que na finalização não seja gerado nenhum histórico para esses cursos; * Para os demais cursos, o campo será sempre exibido desabilitado e marcado. === Calendário escolar === * O campo "Calendário escolar" e o botão "Localizar um calendário escolar" devem ser exibidos desabilitados, quando algum aluno matriculado no curso possua resultado final calculado (Aprovado ou Reprovado) ou já tenha sido finalizado no período letivo. * No caso do botão "Localizar um calendário escolar" ser exibido habilitado, o sistema permitirá a alteração deste dependendo dos dados do novo calendário selecionado: * O sistema permitirá a alteração quando o novo calendário possuir os mesmos campos "Ano letivo" e "Período do ano" do calendário atual, nesse caso será exibida uma mensagem ao usuário informando que existem históricos e/ou atas de resultados finais vinculados ao calendário já existente no curso e se deseja continuar a alteração: * Caso o usuário queira realizar a alteração, o sistema atualizará o novo calendário em todas as séries dos históricos vinculadas ao curso, bem como atualizará os próprios históricos e atas com os dados de vínculo curso e calendário; * Quando o novo calendário não possuir os campos iguais (citados acima), o sistema realizará outra verificação: * O sistema permitirá a alteração quando nenhuma série do histórico, vinculada ao calendário existente do curso, possuir o resultado final Cursando; isso é uma indicativa que o calendário existente no curso já foi finalizado, podendo o curso receber outro calendário escolar; * Caso existam séries do histórico, vinculadas ao calendário existente no curso, com resultado final Cursando, o sistema não permitirá a alteração para o novo calendário, informando ao usuário que não é possível alterar para um calendário distinto sem o atual ter sido concluído. === Etapa === * O campo Etapa deve ser exibido habilitado, porém sem edição; a etapa deve ser selecionada através da tela "Localizar etapa", acessada pelo botão "Localizar uma etapa"; * Os campos "Área profissional" e "Curso profissional" devem ser exibidos desabilitados, quando o ensino da etapa do curso for diferente de "Educação profissional"; * Os campos da guia Etapa devem ser exibidos desabilitados, quando o curso possuir alguma série cadastrada. === Séries === * A quantidade de séries cadastradas não deve ser superior à quantidade informada para o curso. ==== Na exclusão de cursos:==== * O sistema deve solicitar que o usuário confirme a exclusão de um curso; * O sistema não deve permitir que um curso seja excluído caso ele possua alunos matriculados ou históricos vinculados; * Após a exclusão de um curso este deverá ser eliminado imediatamente na lista de cursos cadastrados. ===== Observações ===== Nenhuma informação adicional. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~