A importação de alunos salva os dados dos alunos do arquivo no banco de dados do sistema.
Para facilitar a inclusão dos alunos de escolas em um mesmo município, a importação de alunos se faz necessária.
Um usuário da escola deve gerar um arquivo de alunos, através da funcionalidade de exportação de alunos, esse arquivo deve estar de acordo com um layout predefinido, contendo as informações do aluno. Após gerar esse arquivo, o mesmo deve ser enviado ao usuário da escola em que os alunos serão matriculados para que possa ser realizada a importação desses alunos.
De posse desse arquivo, o usuário do sistema deverá abrir o arquivo de alunos e, através da funcionalidade de importação de alunos, processar os dados contidos no arquivo. O sistema deve, então, realizar as importação dos dados, fazendo com que os alunos sejam cadastrados no sistema, assim como o histórico e as suas séries anteriores contidas no arquivo.
O arquivo de alunos deve ser escrito no formato XML, conforme as especificações predefinidas no layout do arquivo de transferências e de acordo com as regras definidas no esquema (arquivo .xsd) adequado.
Para garantir que a importação ocorra da maneira correta, algumas verificações devem ser realizadas pelo sistema antes de processar o arquivo:
Abrir o arquivo de alunos, em modo texto, e verificar a presença de alguns elementos que indiquem que o documento é um arquivo de alunos:
O indicador de que o arquivo se trata de um documento xml;
O nó raiz do arquivo;
A versão do layout do arquivo;
A indicação do nome do schema que deve ser usado para validar o arquivo.
Verificar se o arquivo está definido como somente leitura;
Validar o arquivo de alunos de acordo com o Schema adequado, na versão adequada;
Caso alguma das validações falhe, o sistema não deverá processar o arquivo e o usuário deverá ser informado para que possa providenciar um arquivo de alunos válido ou resolver os problemas encontrados.
Assim que um arquivo de alunos válido for aberto, o sistema deve iniciar as comparações dos dados do arquivo com os dados do sistema para montar uma lista de tarefas de importação. Ao final do processo de comparação, a lista de tarefas de alunos deverá ser exibida para o usuário para que ele visualize cada uma das alterações que serão realizadas. Somente após a confirmação do usuário, o sistema deverá processar efetivamente as operações no arquivo de alunos.
O sistema deve realizar as comparações dos dados mais genéricos para os mais específicos, gerando a lista de tarefas na mesma ordem em que as verificações ocorrem. As tarefas da lista devem ser divididas nas seguintes categorias:
Tarefa (
): tarefas da importação, são as etapas para a realização da importação dos dados. Ex: , etc.
Advertência (
): tarefas da importação que podem necessitar ser analisadas, que podem gerar perda de dados. Ex: , etc;
Erro (
): verificações que o sistema não é capaz de realizar. Ex: , etc.
Se existirem tarefas na lista de tarefas a executar, o sistema deverá realizá-las ignorando os erros existentes, ou seja, apenas os erros não serão executados. Alguns desses erros poderão ser corrigidos pelo próprio usuário, enquanto outros deverão ser corrigidos através da geração de um novo arquivo de alunos ou até mesmo de uma alteração manual do arquivo. Para auxiliar o usuário, o sistema deverá exibir informações detalhadas para cada tarefa, orientando o usuário sobre como ele deve proceder.
| Tipo | Descrição | Motivo | Ações quando executada |
| O curso do aluno %s não está vinculado na escola selecionada. | Como a escola selecionada não possui o curso do aluno, não é possível incluir o histórico do aluno no sistema. | O histórico do aluno não será incluído. |
| A escola que o aluno %s está matriculado no sistema é diferente da escola selecionada. | Como a escola selecionada é diferente da escola do aluno, não é possível incluir as séries do histórico no sistema. | As séries do histórico do aluno não serão incluídas. |
| O curso que o aluno %s está matriculado no sistema é diferente do curso do arquivo. | Como o curso do aluno no sistema é diferente do arquivo, não é possível incluir as séries do histórico no sistema. | As séries do histórico do aluno não serão incluídas. |
| O Código INEP %s do aluno %s já está cadastrado para outro aluno no sistema. | Como já existe outro aluno cadastrado no sistema com o mesmo Código INEP, não será possível realizar a importação do aluno. | O aluno não será incluído ou atualizado. |
| O responsável de parentesco %s do aluno %s será atualizado, é necessário que seja verificado após a importação. | Os dados do responsável de parentesco %s do aluno %s serão atualizados. Nesse caso, como o sistema utiliza apenas o campo Nome para identificar os responsáveis, é necessário que após a importação, seja realizada verificação se o responsável localizado pelo sistema é realmente o responsável do aluno. | O responsável do aluno será atualizado. |
| O nome e a data de nascimento do responsável de parentesco %s do aluno %s estão diferentes no arquivo. | Quando o responsável é o próprio aluno, é necessário que os dados de identificação do aluno e do responsável sejam os mesmos. Como esses dados estão diferentes no arquivo, o responsável de parentesco %s do aluno, não será importado. | O responsável do aluno não será incluído ou atualizado. |
O sistema deve processar apenas arquivos de alunos válidos, de acordo com o layout definido para arquivos de alunos;
O sistema deve exibir desabilitado o campo Escola (deve ser exibido apenas o nome da escola), que será selecionada através da tela “Localizar escola”;
O sistema deve listar na tela de localização de escolas, todas as escolas cadastradas no sistema, para que o usuário possa decidir para qual escola o aluno terá o seu histórico importado;
O sistema deve exibir uma lista das ações realizadas antes de proceder com a importação;
O sistema deve exibir informações detalhadas sobre cada tarefa que será realizada no arquivo;
O sistema deve realizar a importação desde que exista alguma tarefa na lista de tarefas a serem executadas;
O sistema, ao processar a importação, deve executar exatamente as ações definidas para cada tarefa;
O sistema deve informar ao usuário que a importação foi concluída ao final do processo;
O sistema deve salvar e fechar o arquivo de alunos após a importação;
O sistema não deve corromper o arquivo de alunos após a importação;
O sistema não deve apagar o arquivo de alunos após o processo;
O sistema deve importar o histórico e suas séries, somente se o curso existente no arquivo estiver vinculado à escola selecionada pelo usuário;
O sistema deve incluir o aluno;
O sistema deve incluir o histórico do aluno, com base na escola selecionada e no curso informado no histórico do arquivo;
O sistema deve atualizar os dados do cadastro do aluno;
O sistema verifica se o aluno já possui histórico para o curso, caso possua: as séries devem ser incluídas no histórico do aluno e a escola deve ser atualizada de acordo com a selecionada; caso não possua, o sistema deve incluir o histórico do aluno;
O sistema deve atualizar os dados do cadastro do aluno;
O sistema só poderá importar o histórico, se o aluno estiver matriculado na mesma escola selecionada pelo usuário;
O sistema só poderá importar o histórico, se o aluno estiver matriculado no mesmo curso do arquivo;