Projeto de conclusão de curso baseado no sistema de registro de exames online springboot - com código-fonte 031706

Sistema de Registro de Exame Online

Resumo

Com o rápido desenvolvimento da tecnologia informática, o desenvolvimento da informação do ensino e gestão escolar também fez grandes progressos, e o mesmo se aplica aos exames. Comparado com os métodos de exame tradicionais, o sistema de registro de exame online melhorou muito a flexibilidade do exame e tem sido amplamente utilizado em muitos campos. A maior vantagem do sistema de registro de exames on-line é que ele pode gerenciar dinamicamente várias informações do exame, o que reduz muito a possibilidade de trapaça dos candidatos. Os alunos podem se inscrever para os exames on-line e desempenhar um papel eficiente e conveniente em vários exames. Os professores ficam livres de trabalho pesado!

O sistema de registro de teste online consiste em três módulos: módulo de registro online do usuário, módulo de teste e módulo de gerenciamento do sistema. Entre eles, o módulo de gerenciamento do sistema é a base para o sistema realizar a liberação de informações do exame e o registro do exame; o submódulo de consulta realiza a recomendação de informações do exame do aluno. Os candidatos fazem login no sistema com seus próprios nomes e senhas, inscrevem-se no teste, entram na interface de organização do teste e definem as perguntas do teste com antecedência de acordo com o administrador, geram automaticamente os papéis do teste para fazer o teste e verificam os resultados do teste após a conclusão do teste. Este sistema adota o modo de desenvolvimento orientado a objeto para desenvolvimento de software e montagem de hardware, que pode atender às necessidades de uso real, aperfeiçoar a montagem de software correspondente e o trabalho de codificação do programa e adotar o MySQL como a principal unidade de armazenamento de dados em segundo plano, usando o Spring boot framework, tecnologia JSP e tecnologia Ajax para codificar e desenvolver o sistema de negócios e realizar todas as funções do sistema. Este relatório primeiro analisa os antecedentes, a função e o significado da pesquisa, estabelecendo as bases para a racionalidade do trabalho de pesquisa. Analisar os vários requisitos e problemas técnicos do sistema de registro de teste on-line, provar a necessidade e a viabilidade técnica do sistema e, em seguida, fornecer uma introdução básica ao software técnico e às ideias de design que precisam ser usadas no sistema de design e, finalmente, realizar o registro de teste online As execuções de implantação do sistema o utilizam.

Palavras-chave: exame de inscrição online; framework Springboot; banco de dados MySQL

Sistema de inscrição online para exames

Abstrato

Com o rápido desenvolvimento da tecnologia informática, o desenvolvimento da informação do ensino e gestão escolar também fez grandes progressos, assim como o exame. Comparado com os métodos de exame tradicionais, o sistema de registro de exame on-line melhora muito a flexibilidade do exame e tem sido amplamente utilizado em muitos campos. A maior vantagem do sistema de registro de exames on-line é que ele pode gerenciar dinamicamente todos os tipos de informações de exames, o que reduz bastante a possibilidade de trapaça dos candidatos. Os alunos podem se inscrever online, desempenhar um papel eficiente e conveniente em todos os tipos de exames e liberar os professores do trabalho pesado!

O sistema de registro de exame online consiste em três módulos: módulo de registro online do usuário, módulo de exame e módulo de gerenciamento do sistema. Entre eles, o módulo de gerenciamento do sistema é liberar as informações do exame e registrar o exame, que é a base da operação do sistema; O submódulo de consulta realiza a recomendação de informações de exame dos alunos. Os candidatos fazem login no sistema por meio de seu próprio nome e senha, registram-se para o exame, entram na interface de organização do exame, definem as questões do exame com antecedência de acordo com o administrador e geram automaticamente os papéis do teste para participar do exame. Após a conclusão do exame, eles podem visualizar os resultados do exame. O sistema adota o modo de desenvolvimento orientado a objeto para desenvolvimento de software e montagem de hardware, que pode atender às necessidades de uso real, melhorar a montagem de software correspondente e codificação de programa, tomar o MySQL como a principal unidade de armazenamento de dados em segundo plano e usar inicialização por mola framework, tecnologia JSP e tecnologia Ajax para codificação e desenvolvimento de sistemas de negócios. Todas as funções do sistema são realizadas. Este relatório primeiro analisa os antecedentes, a função e o significado da pesquisa, que estabelece uma base para a racionalidade do trabalho de pesquisa. Este trabalho analisa os vários requisitos e problemas técnicos do sistema de registro de exames online, comprova a necessidade e viabilidade técnica do sistema, e, em seguida, faz uma introdução básica ao software técnico e à ideia de design exigida pelo sistema de design. Por fim, realiza a implantação e operação do sistema de inscrição de exames online.

Palavras - chave :Exame de inscrição online; ASpringboot ; O banco de dados MySQL

Índice

Capítulo 1 Introdução

1.1  Histórico e importância da pesquisa

1.2 Status de desenvolvimento no país e no exterior 

Capítulo 2 Introdução às tecnologias relacionadas

2.1  Tecnologia J2EE

2.2 padrão MVVM

2.3 Estrutura B/S

2.4 Estrutura de inicialização do Spring

2.5  banco de dados MySQL

Capítulo 3 Análise do Sistema

3.1  Análise de viabilidade

3.2  Análise de Requisitos Funcionais

3.2.1  Funções do usuário em primeiro plano

3.2.2  Função de administrador em segundo plano

3.3  Análise de requisitos não funcionais

3.4  Análise dos Requisitos de Segurança

3.4.1  Segurança do Sistema

3.4.2  Segurança de Dados

3.5  Análise do fluxo de dados

Capítulo 4 Projeto do Sistema

4.1  Projeto da arquitetura do sistema

4.2  Projeto geral do sistema

4.3  Projeto de função do sistema

4.4  Projeto de banco de dados

4.4.1  Análise de Requisitos de Dados

4.4.2  Projeto conceitual do banco de dados

4.4.3  Projeto da tabela do banco de dados

Capítulo 5 Implementação do sistema

5.1  Implementação do módulo de cadastro

5.2  Implementação do módulo de login

5.3  Realização do Módulo de Modificação do Perfil do Usuário

5.4 Realização do Módulo de Gerenciamento de Lista de Recomendação de Informações de Exame 

5.5 Realização do Módulo de Registro de Exames 

5.6 Realização do Módulo de Gestão de Disposições de Exames 

Capítulo 6 Teste do Sistema

6.1  Finalidade do teste

6.2  Teste funcional

6.3  Teste de Desempenho

Capítulo 7 Resumo e Perspectivas

referências

obrigado

  1. introdução
    1. fundo de pesquisa e significado

O exame é uma parte importante das atividades de ensino, mas devido ao aumento contínuo dos tipos de exame e à melhoria contínua dos requisitos do exame, os métodos de exame tradicionais não podem mais atender às necessidades dos exames modernos. Com a popularização e o desenvolvimento das redes de computadores, como usar computadores para realizar exames, melhorar a eficiência do ensino e a qualidade dos exames e compartilhar os recursos de ensino em uma gama mais ampla é um tópico que merece uma pesquisa aprofundada.

Atualmente, a maioria dos sistemas de exames online são desenvolvidos com tecnologia de acesso no Microsoft office, e VB e VC são usados ​​para escrever programas, que são insatisfatórios em termos de desempenho em tempo real, interatividade e acesso a bancos de dados em servidores WEB. Como a tecnologia de página dinâmica mais popular atualmente, o asp tem simplicidade incomparável, desempenho em tempo real, rapidez e fácil controle do formato de saída. Ele não apenas torna a interação do programa mais conveniente, mas, mais importante, também fornece um acesso muito conveniente para funções de banco de dados. Portanto, usar a tecnologia asp para desenvolver o sistema de exames online tem vantagens óbvias.

Com o progresso da sociedade e o desenvolvimento contínuo da economia mercantil, a sociedade tem requisitos cada vez maiores para o conhecimento e habilidade dos trabalhadores e pessoal técnico. Os exames, como um importante meio de medir a capacidade das pessoas, melhoraram ainda mais seu status na vida moderna e penetraram em todos os aspectos da sociedade.Vários exames acadêmicos e exames de certificado de qualificação surgem infinitamente. Ao mesmo tempo, o desenvolvimento da tecnologia da Internet revolucionou os meios técnicos e as operadoras do exame. As características de abertura e distribuição da Internet e o enorme poder computacional baseado na Internet fazem com que o exame rompa as limitações de tempo e espaço. Os aplicativos de rede continuam a se expandir, como o surgimento de educação a distância e universidades virtuais, tornando o sistema de exames on-line baseado na Web uma realidade. O sistema de exames on-line baseado na web pode aproveitar a rede para estabelecer um banco de questões amplo, eficiente e compartilhado e realizar exames a qualquer hora e em qualquer lugar, reduzindo os custos dos exames e a interferência humana. Reduza a carga dos professores, economize mão de obra, recursos materiais e financeiros.

    1. Estado de desenvolvimento em casa e no exterior

O exame mais tradicional que podemos imaginar é o exame imperial na China antiga. O exame imperial é um sistema de exame para a seleção de funcionários da dinastia feudal. Devido ao atraso da tecnologia na época, o exame só pode ser feito uma vez a cada poucos anos. Do exame municipal ao exame geral e, finalmente, ao exame do palácio, esse conjunto de exames dura vários anos e cada exame leva pouco tempo para ser registrado. Às vezes, se você perder a oportunidade de se registrar , você tem que esperar mais um ou dois anos, é o atraso do método de exame e, mais importante, o atraso do método de registro. No final do século 20 e início do século 21, muitos de nossos exames foram unificados em todo o país. No início, as formas de inscrição para muitos exames eram inscrições presenciais ou por telefone, mas essas formas de inscrição eram ainda muito complicado, e o responsável pelo registro do exame A equipe trouxe muitos transtornos, mas também trouxe muitas mudanças para os candidatos estrangeiros. E agora, registrando-se pela rede de computadores, você não enfrentará mais a tragédia de perder o registro por um ou dois anos. Portanto, inscrever-se para o exame online é uma boa notícia para nossos alunos, professores e todos os educadores. Isso não apenas nos permite evitar o tédio do método de registro tradicional, mas também traz comodidade para muitos de nossos candidatos não locais.

Nos países ocidentais, o sistema de exame mais antigo também se originou do sistema de exame imperial em nosso país. O sistema de exames imperiais na sociedade feudal da China teve grande influência no Ocidente, e tal influência ocorreu provavelmente na segunda metade do século XVI. Os primeiros a espalhar o sistema de exames imperiais chineses no Ocidente foram dois missionários portugueses. sistema de exame produzido pela seleção de funcionários é muito otimista. Eles sempre elogiaram o sistema de exame imperial e introduziram os métodos e conteúdos do exame imperial em seus trabalhos em detalhes. Depois disso, o sistema de exame imperial foi amplamente difundido nos países ocidentais Ele atraiu a atenção generalizada dos países ocidentais para o sistema de exame imperial e o sistema político da China. Pode-se ver a partir disso que os primeiros sistemas de exame nos países ocidentais também eram métodos de exame muito imperfeitos e desatualizados. Obviamente, seus sistemas de registro de exame são igualmente atrasados ​​e precisam ser melhorados.

Portanto, o exame, um link necessário para testar o efeito do aprendizado exigido por todos os países do mundo, primeiro precisa de nós para melhorar o método de registro do exame. Agora que todos estão começando a planejar o horário do exame online, nosso método de inscrição no exame deve ser aprimorado e aperfeiçoado antes que o método do exame seja aprimorado.

  1. Introdução à tecnologia relacionada
    1. Tecnologia J2EE

As pessoas podem dominar muitas línguas estrangeiras, mas o que um cientista da computação é proficiente é principalmente em linguagens de programação, que não são linguagens naturais humanas, como linguagem C, Java, Perl e assim por diante. Como o "middleware" desenvolvido por diferentes empresas não é padronizado o suficiente, a Sun lançou o J2EE e usou esse padrão para resolver os problemas. Ele fornece um bom mecanismo, permitindo que cada camada permita que o servidor e os componentes correspondentes sejam executados, tornando o sistema estável e utilizável, eficiente no desenvolvimento e fácil de manter.

    1. padrão MVVM

O modelo MVVM é um modelo de desenvolvimento comumente usado, que é dividido principalmente em camada M, camada V e camada C em termos de implementação de código.

View (View) representa a interface de interação do usuário. Um aplicativo da web pode ter muitas interfaces. No modo MVVM, a visualização trata apenas da coleta de dados, processamento e solicitações do usuário, e não inclui o processamento de processos de negócios e processos de negócios. Manipulado pelo modelo.

Modelo (Model) é o processamento de processos/estados de negócios e a formulação de regras de negócios. O processo do modelo que processa o processo de negócio não pode ser visto por outras camadas, é como uma caixa preta, após receber os dados solicitados pela view, retorna o resultado final do processamento. O núcleo principal do MVVM é o design do modelo de negócios. Um exemplo típico de aplicativo é o popular modelo EJB. Ele divide ainda mais o modelo da perspectiva da implementação da tecnologia do aplicativo para fazer uso total dos componentes existentes, mas não pode ser usado como uma estrutura para a aplicação de modelos de design.

O controlador (Controller) pode ser entendido como recebendo a solicitação do usuário e, em seguida, a visão e o modelo são combinados para concluir a solicitação do usuário juntos. Ele tem um papel muito óbvio na divisão da camada de controle e pode dizer claramente que é um distribuidor, qual modelo e exibição escolher e que tipo de solicitação do usuário pode ser concluída. A camada de controle não faz todo o processamento de dados, por exemplo: o usuário clica em uma conexão, após a camada de controle receber a solicitação, ela não processa as informações do negócio, apenas transmite as informações do usuário para o modelo e informa o modelo o que fazer e, em seguida, escolhe aquele que atende aos requisitos A exibição é retornada ao usuário.

    1. estrutura B/S

B/S (Browser/Server) é uma arquitetura mais conveniente do que sua arquitetura predecessora. Ele usa o servidor Web para concluir a transferência e troca de dados. Você só precisa baixar o navegador como cliente, então o trabalho alcançará um efeito de "emagrecimento" e não há necessidade de considerar o problema da instalação ininterrupta do software.

    1. Estrutura de inicialização de primavera

A estrutura Spring é uma estrutura de aplicativo de software livre na plataforma Java que fornece um contêiner com recursos de inversão de controle. Embora o framework Spring em si não tenha restrições quanto ao modelo de programação, seu uso frequente em aplicações Java o tornou tão popular que posteriormente foi utilizado como suplemento ou mesmo substituto do modelo EJB (EnterpriseJavaBeans). A estrutura Spring fornece uma série de soluções para desenvolvimento, como o uso dos principais recursos de inversão de controle e implementação de inversão de controle por meio de injeção de dependência para realizar a conteinerização do ciclo de vida do objeto de gerenciamento, usando programação orientada a aspectos para gerenciamento de transações declarativas , e integrando uma variedade de tecnologias de persistência gerenciam o acesso a dados, fornecem um grande número de excelentes estruturas da Web para facilitar o desenvolvimento e assim por diante. O framework Spring possui o recurso de inversão de controle (IOC). O IOC é projetado para facilitar a manutenção e o teste do projeto. Ele fornece um método para configuração e gerenciamento unificado de objetos Java por meio do mecanismo de reflexão Java. A estrutura Spring usa o contêiner para gerenciar o ciclo de vida dos objetos. O contêiner pode configurar objetos verificando arquivos XML ou anotações Java específicas em classes. Os desenvolvedores podem obter objetos por meio de pesquisa de dependência ou injeção de dependência. Programação Orientada a Aspectos(AOP), a estrutura Spring AOP é baseada no modo proxy e pode ser configurada em tempo de execução; a estrutura AOP é principalmente modularizada para as preocupações cruzadas entre os módulos. A estrutura AOP da estrutura Spring fornece apenas recursos AOP básicos. Embora não possa ser comparada com a estrutura AspectJ, ela também pode atender às necessidades básicas por meio da integração com AspectJ. Funções como gerenciamento de transações e acesso remoto sob a estrutura Spring podem ser realizadas usando a tecnologia Spring AOP. A estrutura de gerenciamento de transações do Spring traz um mecanismo de abstração para a plataforma Java que permite que transações locais e globais, bem como transações aninhadas, funcionem com pontos de salvamento e em praticamente qualquer ambiente na plataforma Java. O Spring integra vários modelos de transação. O sistema pode configurar transações por meio de modelos de transação, anotações XML ou Java, e a estrutura de transação integra funções como mensagens e armazenamento em cache. A estrutura de acesso a dados do Spring aborda as dificuldades comuns que os desenvolvedores encontram ao usar bancos de dados em seus aplicativos. Ele não apenas fornece suporte para todas as estruturas populares de acesso a dados, como Java: JDBC, iBATS/MyBATIs, Hibernate, Java Data Objects (JDO), Apache OJB e Apache Cayne, mas também pode ser usado com o gerenciamento de transações do Spring para fornecer acesso a dados Flexível abstração. O framework Spring inicialmente não pretendia construir seu próprio framework Web MVC . não era suficiente, então eles criaram o Spring MVC.

    1. banco de dados mysql

Mysql foi atualizado muitas vezes, e o nível funcional tem sido muito rico e perfeito.Da versão Mysql4 para a versão 5, uma atualização relativamente grande foi feita e alcançou bons resultados práticos de aplicação no uso comercial real. A versão mais recente do Mysql oferece suporte à compactação de informações e, ao mesmo tempo, também pode executar criptografia para melhor atender às necessidades de segurança da informação. Ao mesmo tempo, após várias atualizações do sistema, a função de espelhamento do próprio banco de dados também foi bastante aprimorada, a suavidade da operação e a facilidade de uso foram bastante aprimoradas e o uso e a criação de drivers também são mais eficientes e mais rápido. A maior mudança é a otimização da exibição das informações espaciais, o que facilita a rotulagem e o cálculo das coordenadas no mapa do aplicativo. A poderosa função de backup também garante que os usuários se sintam mais à vontade durante o processo de uso, e os recursos suportados do Office também oferecem suporte à autoinstalação e uso dos usuários. A forma de exibição das informações também foi bastante atualizada, e duas áreas de exibição muito úteis foram adicionadas, uma é a área de informações, que possui tabelas e textos classificados, e a exibição da interface é mais atualizada e específica. O segundo é o controle de informações do instrumento, que pode exibir informações na área de informações do instrumento e comparar várias informações ao mesmo tempo, o que traz grande comodidade ao uso real dos usuários.

No processo de implementação real do sistema de registro de exames on-line projetado neste artigo, o principal motivo para escolher o banco de dados Mysql é que haverá um grande número de bancos de dados que são frequentemente operados durante a aplicação e desenvolvimento do sistema de aplicativos corporativos e a segurança dos dados Os requisitos também são muito elevados. Combinando esses fatores, o Mysql com um fator de segurança relativamente alto foi finalmente selecionado para armazenar e operar os dados de segundo plano do sistema de gerenciamento de competição do campus.

  1. análise de sistema
    1. Análise de Viabilidade

Para desenvolver qualquer sistema, é necessário analisar sua viabilidade e considerar suas restrições de tempo e recursos, o que pode reduzir o risco de desenvolvimento do sistema. Ao mesmo tempo, após a análise, não apenas a mão de obra pode ser usada de forma razoável, mas também o consumo de vários recursos pode ser economizado. Os três seguintes aspectos da tecnologia, economia e sociedade serão introduzidos.

Em termos de praticidade, as principais tarefas desse design são informações de exames, registro de exames, exames online, resultados de exames, gerenciamento de usuários, gerenciamento de informações de exames etc., de acordo com a tendência atual de desenvolvimento. Do ponto de vista dos usuários, ao mesmo tempo em que considera os custos operacionais do sistema e os recursos humanos, adota uma maneira conveniente na Internet para realizar negócios online, tornando o processo de negócios mais sistemático e mais conveniente para a experiência do usuário, que é mais prática.

Em termos de economia, uma vez que o principal objetivo do sistema de registo de exames online concebido neste projeto é realizar serviços de gestão e recuperação de consulta de informação de forma mais cómoda e rápida, ou seja, um software de informação que pode ser colocado diretamente em uso. O principal custo do sistema concentra-se principalmente na operação de manutenção contínua e atualização gerencial dos dados usados ​​no período posterior. No entanto, uma vez que o sistema é colocado em operação e uso real, ele pode melhorar a eficiência da consulta e recuperação de informações. Ao mesmo tempo, também é necessário garantir efetivamente a segurança das informações do solicitante. Ao mesmo tempo, a aplicação prática trazida por este sistema de registro de exames online O valor deste aspecto supera em muito o custo de desenvolvimento e manutenção do sistema atual, portanto, é economicamente viável desenvolver este software.

    1. Análise de Requisitos Funcionais

As funções do sistema de registro de teste on-line são divididas principalmente em registro e login de alunos front-end de acordo com suas próprias necessidades, navegação nas informações do teste, registro on-line e operações de teste simulado on-line. Os administradores do sistema de back-end são divididos em administradores comuns e superadministradores devido a diferentes responsabilidades. Os administradores lidam principalmente com alunos registrados, dados de informações, informações detalhadas de questões simuladas de testes, gerenciamento de perguntas de testes e pontuações de testes.

O diagrama de caso de uso do aluno é mostrado abaixo.

 

Figura 3-1 Diagrama de caso de uso do aluno

O diagrama de caso de uso do administrador é mostrado abaixo.

 

Figura 3-2 Diagrama de caso de uso do administrador

      1. função de usuário front-end

Necessidades do usuário front-end.

Os usuários registrados têm as seguintes funções:

Registro da conta: O usuário preenche as informações pessoais e verifica o número do celular.

Login: Faça login de acordo com a senha da conta.

Dados de registro online: os usuários podem enviar o registro online.

Organização do exame: os usuários podem organizar o exame de acordo com o horário do exame.

Manter informações pessoais: Os usuários podem modificar suas informações cadastrais a qualquer momento devido a alterações nas informações pessoais.

Informações do exame: Os usuários podem navegar pelas informações do exame no sistema.

Pontuações de teste: os usuários podem visualizar seus dados de pontuação de teste online.

      1. Função de administrador em segundo plano

As funções do administrador são as seguintes:

Alterar senha: os administradores podem alterar suas próprias senhas de login no sistema a qualquer momento para garantir a segurança do sistema.

Processamento de informações de perguntas de teste: manipulação de revisão de resultados de exame de papel de teste, etc.

Gestão de inscrições de exames: revise as inscrições de exames enviadas pelos alunos.

Gerenciamento de informações do exame: mantenha as informações do exame, adicione, exclua e modifique as informações.

Gerenciamento de lista de exames: classifique e mantenha informações de papel de teste, adicione, exclua e modifique informações.

Gerenciamento de informações de dados de informações: publicar e excluir informações de dados de informações relevantes.

Gerenciamento de notas de exames: revise as provas on-line dos alunos e libere as pontuações dos testes.

    1. Análise de Requisitos Não Funcionais

A primeira coisa a considerar é o software de função do sistema. Em termos de design específico, se ele pode atender melhor aos requisitos funcionais básicos de vários usuários. Se não puder atender melhor às necessidades dos usuários, a existência desse sistema é inútil. A análise não funcional do sistema de software é realizada a partir de 7 aspectos, um é a análise de desempenho, que visa o sistema; um é a análise de segurança, que visa o sistema; o outro é a análise de integridade, que visa do sistema; é a análise de escalabilidade, para o sistema, e a outra é a análise de desempenho para adaptar ao negócio. Diante da comparação e análise abrangentes dos exames dos alunos e do desempenho do sistema em sete aspectos, como desempenho, segurança, expansão e integridade, descobriu-se que é necessária uma análise de requisitos não funcionais correspondente.

    1. Análise de Requisitos de Segurança
      1. sistema de segurança

A segurança é muito importante para todos os sistemas. Um sistema com boa segurança pode proteger as informações da empresa e do usuário contra roubo. Melhorar a segurança do sistema não é apenas responsabilidade do usuário, mas também da empresa. Especialmente para exames e sistemas de cursos de alunos, deve haver uma boa segurança para proteger todo o sistema.

O sistema possui controle de autoridade para usuários e limita a autoridade dos usuários de acordo com as barreiras de função, de modo a garantir a segurança do sistema.

      1. segurança de dados

Os dados no banco de dados são inseridos do mundo externo. Quando os dados são inseridos, devido a vários motivos, os dados de entrada serão inválidos ou sujos. Portanto, como garantir que os dados de entrada estejam em conformidade com os regulamentos tornou-se a principal preocupação dos sistemas de banco de dados, especialmente os sistemas de banco de dados relacionais multiusuário.

Portanto, ao gravar no banco de dados, a integridade, correção e consistência dos dados devem ser garantidas.

    1. Análise de Fluxo de Dados

Analise o fluxo de dados do sistema e os usuários do sistema são divididos em duas categorias, usuários gerais e administradores. O sistema processa principalmente a transmissão de informações de interface, verificação de informações de login, recepção de informações de registro e resposta do usuário a várias operações.

O diagrama de fluxo de dados de nível superior do sistema é mostrado na figura abaixo.

 

Figura 3-2 Diagrama de fluxo de dados de nível superior

Para julgar a identidade do usuário, ele é julgado de acordo com os dados de login e, em seguida, pula para a interface de função correspondente. Os usuários internos do sistema podem operar os dados e o centro de banco de dados pode receber o fluxo de dados efetivo transmitido pelo sistema para executar as operações correspondentes nas instruções SQL de dados.

O diagrama de fluxo de dados subjacente do sistema é mostrado na figura abaixo.

 

 

 Figura 3-3 O diagrama de fluxo de dados subjacente

 

O sistema pode ser dividido em duas partes, o primeiro plano e o segundo plano.Após cada operação, o sistema retorna o resultado da operação. A conexão de dados entre o primeiro plano e o plano de fundo ocorre principalmente por meio do banco de dados, o que significa que diferentes operações são executadas no banco de dados, respectivamente.

  1. projeto de sistema
    1. Projeto de arquitetura do sistema

O design da arquitetura do sistema de registro de exames online é dividido principalmente em três camadas, incluindo principalmente a camada da Web, a camada de negócios e a camada de modelo. A camada web também inclui a camada View e a camada Controller, e a camada Model inclui a camada de extensão de metadados e a camada de acesso a dados.

A arquitetura do sistema é mostrada na figura abaixo.

O MVVM é para abstrair o estado e o comportamento do modo de exibição nele e nos permite separar a interface do usuário da exibição da lógica de negócios. É claro que ViewModel já fez essas coisas para nós, pode retirar os dados de Model e ajudar a lidar com a lógica de negócios envolvida em View devido à necessidade de exibir conteúdo. Ele separa à força a entrada, a saída e o processamento do aplicativo em três partes principais, cada uma com funções diferentes.

 

Figura 4-1 Diagrama de arquitetura do sistema

Camada de visualização A visualização refere-se à interface que é vista pelo usuário e pode interagir com ela. As exibições podem exibir dados relevantes para os usuários e receber dados inseridos pelos usuários, mas não executam nenhuma operação comercial real nos dados do usuário.

A camada de modelo processa os dados passados ​​pela camada de visualização para a camada de controle.O mesmo modelo pode fornecer dados para diferentes visualizações e também pode ser reutilizado por diferentes visualizações. Como o conteúdo principal do Model são dados, métodos e comportamentos, ele também é a parte com a lógica mais complexa e a maior quantidade de código no MVVM, que contém a lógica de negócios que precisa ser utilizada em muitas aplicações, portanto o desenvolvimento da camada de modelo tornou-se particularmente importante. Geralmente, mudanças em grande escala não serão feitas na camada de modelo no estágio posterior, que também é a parte mais estável do MVVM. A camada de controle é a principal responsável pela transmissão de dados e pelas operações de solicitação de processamento entre a camada de visualização e a camada de modelo. Quando o usuário envia dados e requisições através da view, a camada de controle pode receber a requisição e os dados e decidir quais models chamar e quais operações do model processar os dados e requisições. Após o término do processamento, a camada de controle retorna o dados para a exibição correspondente.

    1. Projeto geral do sistema

O sistema de registro de teste on-line geralmente é dividido em um módulo de usuário front-end e um módulo de administrador back-end.

Os dois módulos parecem existir independentemente, mas o banco de dados acessado é o mesmo. A função de cada módulo é feita de acordo com a análise de demanda previamente realizada, e após consulta aos materiais pertinentes.

Em resumo, o diagrama de estrutura funcional do sistema é mostrado na figura abaixo.

 

Figura 4-2 Diagrama da estrutura da função do sistema

    1. Projeto de função do sistema

Módulo de login: O módulo de login é a entrada do sistema, e todos os usuários devem fazer login para acessar o sistema. Para fazer login, você precisa inserir seu nome de usuário e senha e, se tentar fazer login várias vezes, precisará inserir um código de verificação. Ao fazer login, você precisa escolher a função do usuário, se é um usuário geral ou um administrador para fazer login. Após um login bem-sucedido, as permissões do usuário serão obtidas por meio do banco de dados e redirecionadas para a página inicial do usuário.

Módulo de dados de informações de exames: pode ser dividido em três módulos: navegação de dados de informações de exames, recuperação de dados de informações de exames e manutenção de dados de informações de exames. Os administradores têm autoridade para manter dados de informações de exames, liberar novos dados de informações de exames e atualizar informações de exames existentes dados etc

Módulo de gerenciamento de registro de exames: O gerenciamento de registros de exames é dividido em adição e modificação de exames. As informações de registro do exame são modificadas, adicionadas e excluídas pelo administrador.

    1. Projeto de banco de dados
      1. Análise de requisitos de dados

A partir da análise anterior, pode-se ver que as coisas mais importantes no banco de dados são informações de materiais de aprendizagem, informações do aluno, informações de testes simulados, bem como informações de exames e informações de pontuação. A análise pode obter a seguinte descrição de dados:

Usuários da plataforma: usado para registrar várias informações dos usuários, incluindo número de aluno, nome, sexo, telefone celular, e-mail, fotos e outros itens de dados.

Administrador: Registre as informações de login do administrador. Incluindo nome de usuário, senha, permissões e outros itens de dados.

Exame: o conteúdo armazenado para o exame, incluindo o nome da prova, a data do exame e itens de dados com imagens.

Registro de exame online: armazene as informações de registro do exame do usuário. Incluindo itens de dados, como registro de exame para Western Sydney, conteúdo de materiais de registro de exame, etc.

pontuação. Armazene as informações de pontuação do teste de papel de teste do usuário.

      1. Projeto conceitual de banco de dados

De acordo com o fluxograma de dados anterior, combinado com o design do módulo funcional do sistema, projete cada entidade de informação que esteja em conformidade com o sistema.

O diagrama ER do sistema é mostrado na figura abaixo.

 

Figura 4-3 Diagrama ER do sistema

      1. projeto de tabela de banco de dados

As folhas de dados pertencentes ao sistema de registro de exames on-line são as seguintes: folha de informações do aluno, folha de informações do exame, folha de registro do exame, folha de organização do exame e folha de pontuação do exame.

Devido ao grande número de tabelas de dados, são exibidas apenas as principais tabelas de dados do sistema, conforme tabela a seguir.

grupo_tabela :

nome

tipo

comprimento

não nulo

chave primária

observação

Registered_user_id

int

11

sim

sim

ID de usuário registrado

user_number

varchar

64

sim

não

ID do usuário

nome completo

varchar

64

não

não

Nome

eu ia

varchar

255

não

não

carteira de identidade

examine_state

varchar

16

sim

não

Status de aprovação

recomendar

int

11

sim

não

Recomendação Inteligente

ID do usuário

int

11

sim

não

ID do usuário

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

resultados_exames表:

nome

tipo

comprimento

não nulo

chave primária

observação

exam_results_id

int

11

sim

sim

ID da pontuação do exame

nome de teste

varchar

64

não

não

nome do exame

user_number

int

11

não

não

ID do usuário

número de admissão

varchar

64

não

não

Número do bilhete de admissão

conquista

varchar

64

não

não

pontuação

nota

varchar

64

não

não

nota

recomendar

int

11

sim

não

Recomendação Inteligente

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

exame_registro表:

nome

tipo

comprimento

não nulo

chave primária

observação

exam_registration_id

int

11

sim

sim

ID de registro do exame

nome de teste

varchar

64

não

não

nome do exame

user_number

int

11

não

não

ID do usuário

número de registro

varchar

64

não

não

número de registro

número_teste

varchar

64

não

não

número do exame

taxa_exame

varchar

64

não

não

taxa de exame

eu ia

varchar

64

não

não

carteira de identidade

nome completo

varchar

64

não

não

Nome

informações de registro

varchar

255

não

não

Informações de registro

número de contato

varchar

64

não

não

número de contato

examine_state

varchar

16

sim

não

Status de aprovação

pay_state

varchar

16

sim

não

Status do pagamento

pay_type

varchar

16

não

não

Tipos de pagamento

recomendar

int

11

sim

não

Recomendação Inteligente

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

exam_information表:

nome

tipo

comprimento

não nulo

chave primária

observação

exame_informação_id

int

11

sim

sim

ID de informações do exame

número_teste

varchar

64

não

não

número do exame

tipo_de_exame

varchar

64

não

não

tipo de exame

exame_time

varchar

64

não

não

hora do exame

anexos_relevantes

varchar

255

não

não

Anexos relevantes

nome de teste

varchar

64

não

não

nome do exame

taxa_exame

varchar

64

não

não

taxa de exame

cobrir

varchar

255

não

não

a capa

requisitos_de_registro

texto

0

não

não

requisitos de registro

exame_introdução

texto longo

0

não

não

Introdução ao exame

exitos

int

11

sim

não

exitos

elogio_len

int

11

sim

não

curtidas

recomendar

int

11

sim

não

Recomendação Inteligente

timer_title

varchar

64

não

não

título do cronômetro

timing_start_time

data hora

0

não

não

hora de início

timing_end_time

data hora

0

não

não

Horário final

tempo_de_criação

data hora

0

sim

não

tempo de criação

tempo de atualização

carimbo de data/hora

0

sim

não

tempo de atualização

exam_arrangement表:

nome

tipo

comprimento

não nulo

chave primária

observação

exam_arrangement_id

int

11

sim

sim

ID de organização do exame

número de registro

varchar

64

não

não

número de registro

número_teste

varchar

64

não

não

número do exame

nome de teste

varchar

64

não

não

nome do exame

user_number

int

11

não

não

ID do usuário

nome completo

varchar

64

não

não

Nome

eu ia

varchar

64

não

não

carteira de identidade

examination_room

varchar

64

考场

address

varchar

64

地址

examination_time

varchar

64

考试时间

admission_number

varchar

64

准考证号

admission_ticket

varchar

255

准考证

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

  1. 系统实现
    1. 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

 

图5-1用户注册流程图

用户注册界面如下图所示。

 

图5-2用户注册界面

用户注册逻辑代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        query.put("username",user.getUsername());

        List list = service.select(query, new HashMap<>()).getResultList();

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

    1. 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布模拟考试信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

 

图5-3登录流程图

用户登录界面如下图所示。

 

图5-4用户登录界面

用户登录的逻辑代码如下所示。

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    1. 用户资料修改模块的实现

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

    1. 考试信息推荐列表管理模块的实现

如果考试信息推荐列表数据的信息需要修改,管理员可以通过查询考试信息推荐列表数据的基本信息来查询考试信息推荐列表数据,查询考试信息推荐列表数据是通过ajax技术来进行查询的,需要传递考试信息推荐列表数据的标题、编号等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。

考试信息推荐列表展示界面如下图所示。

 

图5-5考试信息推荐列表展示界面

考试信息推荐列表的逻辑代码如下:

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

}

    public void insert(Map<String,Object> body){

        StringBuffer sql = new StringBuffer("INSERT INTO ");

        sql.append("`").append(table).append("`").append(" (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            sql.append("`"+humpToLine(entry.getKey())+"`").append(",");

        }

        sql.deleteCharAt(sql.length()-1);

        sql.append(") VALUES (");

        for (Map.Entry<String,Object> entry:body.entrySet()){

            Object value = entry.getValue();

            if (value instanceof String){

                sql.append("'").append(entry.getValue()).append("'").append(",");

            }else {

                sql.append(entry.getValue()).append(",");

            }

        }

        sql.deleteCharAt(sql.length() - 1);

        sql.append(")");

        log.info("[{}] - 插入操作:{}",table,sql);

        Query query = runCountSql(sql.toString());

        query.executeUpdate();

    }

    1. 考试安排模块的实现

考试安排功能需要考虑高并发,特对考试这一共享数据增加锁机制。在乐观锁、悲观锁以及线程锁中,综合考虑性能效率和错误的可接受性选择了乐观锁机制。乐观锁的实现方式是使用版本标识来确定读到的数据与提交时的数据是否一致,提交后修改版本标识,不一致时可以采取丢弃和再次尝试的策略。在数据库考试表(对应考试实体)设计中增加了version字段,每次数据提交时(更改考试状态)会判断version是否匹配,若不匹配停止本次提交,若匹配则提交成功并增加version的值。

考试安排功能整体流程:用户浏览考试信息时,同时会显示考试的状态,系统会在其显示详细信息的页面时便会判断考试的状态,若考试状态为可考,则会显示答题的链接按钮。在用户点击答题按钮时,会先通过拦截器判断用户是否登录,若未登录,会跳转至登录页面,提示用户先登录,若为登录用户就会跳转至填写报名信息的页面,填写好报名信息之后,点击提交按钮,报名成功之后返回提示信息,告知用户答题成功。

考试安排流程图如下图所示。

 

图5-6考试安排流程图

考试安排界面如下图所示。

 

图5-7考试安排界面

考试安排界面逻辑代码如下:

@RequestMapping(value = {"/avg_group", "/avg"})

public Map<String, Object> avg(HttpServletRequest request) {

        Query count = service.avg(service.readQuery(request), service.readConfig(request));

        return success(count.getResultList());

}

    1. 考试报名管理模块的实现

根据需求,需要对考试报名管理进行添加、删除或修改详情信息。删除或修改考试报名管理时,系统根据考试报名管理的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询考试报名管理状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。

添加考试报名管理时,会给出数据填写的页面,该页面根据填写好的考试报名管理编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

考试报名管理流程图如下图所示。

 

图5-11考试报名管理流程图

考试报名添加页面设计效果如下图所示。

 

图5-12考试报名添加界面

考试报名管理页面效果如下图所示。

 

图5-13考试报名管理界面

考试报名管理界面关键代码如下:

@RestController

@RequestMapping("auth")

public class AuthController extends BaseController<Auth, AuthService> {

    /**

     * 服务对象

     */

    @Autowired

    public AuthController(AuthService service) {

        setService(service);

    }

}

  1. 系统测试
    1. 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

    1. 功能测试

下表是考试报名功能的测试用例,检测了考试报名中对报名信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-1 考试报名的测试用例

功能描述

用于考试报名

测试目的

检测考试报名时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加报名,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加报名,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改报名,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改报名,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除报名,选择报名删除

提示删除成功

与预期结果一致

点击搜索报名,输入存在的报名名

查找出报名

与预期结果一致

点击搜索报名,输入不存在的报名名

不显示报名

与预期结果一致

下表是考试信息推荐列表功能的测试用例,检测了考试信息推荐列表中对考试信息推荐信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-2 考试信息推荐列表的测试用例

功能描述

用于考试信息推荐列表

测试目的

检测考试信息推荐列表时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加考试信息推荐,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加考试信息推荐,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改考试信息推荐,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改考试信息推荐,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除考试信息推荐,选择考试信息推荐删除

提示删除成功

与预期结果一致

点击搜索考试信息推荐,输入存在的考试信息推荐名

查找出考试信息推荐

与预期结果一致

点击搜索考试信息推荐,输入不存在的考试信息推荐名

不显示考试信息推荐

与预期结果一致

下表是考试分类管理功能的测试用例,检测了考试分类管理中分类列表的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 考试分类管理的测试用例

功能描述

用于考试分类管理

测试目的

检测考试分类管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未选择分类,点击提交

提示请选择分类

与预期结果一致

未选择列表,点击提交

提示请选择列表

与预期结果一致

    1. 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是在线学习与模拟考试为核心展开的,主要是为了实现学生在线考试报名信息化管理的需求。

本研究针对学生在线考试报名需求建模,数据建模及过程建模分析设计并实现课程考试系统的过程。给出系统应用架构并分析优劣势,通过功能分解图,系统组件图描述功能需求。设计建立了数据库,给出系统关键数据结构的定义。通过类关系图描述组件间的协作关系,给出各个类的定义方法。通过描述每一个类的字段,属性及方法实现校园竞赛管理系统的前后端代码。最终给出系统集成整合方法,完成学生在线考试报名的设计与实现。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

  1. 单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.
  2. [2]田成龙,陆晓寒,严梦瑶,周鑫.基于SpringBoot的成绩排名系统[J].软件,2021,42(10):129-132.
  3. 喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.
  4. [4]李鹏.基于SpringBoot快速开发平台的实现[J].电子技术与软件工程,2021(12):36-37.

[5]张华.基于Spring和Vue的专升本自荐考试报名系统设计[J].电子技术与软件工程,2021(08):202-203.

[6]张鑫鑫.基于.net的报名管理平台的设计与开发[J].电脑知识与技术,2020,16(15):130-131.

[7]荣先钊,林宇驰.基于SSM框架的考试报名系统的设计与实现[J].信息与电脑(理论版),2019(13):56-57.

[8]韦仲园.高新考试报名APP的设计与实现[J].电子技术与软件工程,2019(04):47-48.

[9]张志祥,何光军.大学英语四六级考试报名系统照片资料库的构建与应用——以重庆医科大学为例[J].文化创新比较研究,2019,3(07):176-177.

[10]石琴,施阳.考试报名与成绩查询系统的设计与实现[J].电脑知识与技术,2019,15(01):96-98.

[11]周冰洁.基于ASP.NET技术的CET考试报名系统的设计与应用研究[J].科技创新与应用,2019(04):99.

[12]胡云峰,陈皖芬.HTML5+JQuery mobile+Ajax在线考试报名系统设计与实现——以文山学院在线考试报名系统为例[J].文山学院学报,2019,29(06):53-55.

[13]石飞,宁宁宁.基于Web的考试报名系统的设计与实现[J].电脑知识与技术,2018,12(13):88-90.

[14]李方, 基于AJAX技术与.NET架构的网上报名信息综合处理平台的研究. 浙江省,义乌工商职业技术学院,2018-06-23.

[15]邓绯.基于B/S模式的技能考试报名系统研究与设计[J].齐齐哈尔大学学报(自然科学版),2018,31(03):59-62.

[16]贾家新.基于B/S网上考试报名系统的设计与实现[J].湖北成人教育学院学报,2018,20(06):7-8.

[2]Recupero Patricia R, Rumschlag Jessica S, Rainey Samara E. O exame do estado mental no cinema: o uso do filme em um curso de medicina comportamental para médicos assistentes.[J]. Psiquiatria acadêmica: jornal da Associação Americana de Diretores de Treinamento em Residência Psiquiátrica e da Associação de Psiquiatria Acadêmica, 2021 (pré-publicação):

obrigado

Este projeto levou 3 meses. Neste projeto de graduação, é indissociável da orientação do instrutor para que tudo corra bem. O instrutor me deu muita ajuda tanto na experiência de design de graduação quanto na conclusão da tese. Por outro lado, muito beneficiei da atitude de trabalho sério e responsável do professor, do seu espírito de ensino prudente e do seu forte nível teórico. Sua atitude diligente e cautelosa em ensinar e educar as pessoas também me deixou com um sentimento particularmente profundo. Tenho aprendido muito com meus professores. Na teoria e na prática, minhas habilidades melhoraram muito. Aqui, gostaria de expressar minha sincera gratidão aos professores.

Depois de toda a pesquisa e desenvolvimento deste projeto de graduação, a pesquisa e desenvolvimento do meu sistema experimentou um progresso especial desde a análise de requisitos até a realização de funções detalhadas, até o teste final e manutenção. Deixe-me ter uma compreensão mais profunda do desenvolvimento do sistema. Agora, minha habilidade prática e de lidar sozinho com dúvidas também ganhou um aumento particularmente grande na prática e no aprendizado.Esta é a melhor colheita deste projeto de graduação.

Por fim, durante todo o processo de desenvolvimento do sistema, os colegas e amigos ao meu redor me deram muitas opiniões, então confirmei rapidamente a ideia de negócio do sistema. Aqui, expresso sinceramente minha gratidão a eles.

Like+Favorito+Seguir → mensagem privada para receber o código-fonte e a base de dados

Acho que você gosta

Origin blog.csdn.net/weixin_61498557/article/details/131393425
Recomendado
Clasificación