基于SpringBoot研究生考试系统的设计与实现
作者:***
来源:《电脑知识与技术》2021年第32期
        摘要:随着互联网技术的发展和参加研究生考试的人数逐年增加,已经对研究生入学考试和复试的题目的广度、类型、难度和安全提出更高的要求。系统采用前后端分离技术,前端使用基于Vue.js框架的ElementUI组件库;后端使用分层概念进行设计和开发,使用框架为Spring Boot。系统包括完整题库系统和组卷系统两部分,界面友好和操作简单,能够满足试卷的各种要求。使用黑盒和白盒测试技术对系统的各项性能指标进行测试,证明了系统的可用性、可行性和可靠性。
        关键词:研究生考试系统;题库;组卷;Spring Boot;Vue.js
        中图分类号:TP311.1 文献标识码:A
springmvc考试选择题        文章编号:1009-3044(2021)32-0078-03
        1 研究现状和发展趋势
        1.1 研究现状
        以公平公开公正为前提的研究生入学考试是研究生培养过程中的重要环节,在这一过程
中选拔出能力突出具有创新能力的高层次人才。目前研究生入学考试分为统一命题和自主命题两种选拔方式。
        做好研究生招生考试题库管理系统建设工作,有利于减轻命题教师的负担,有利于减少人为因素的干扰,有利于提高试卷质量、实现自命题标准化,有利于推进招生制度改革,有利于进一步衡量考生的专业素质和创新能力,选拔更加优秀的人才。
        1.2 发展趋势
        随着云技术、安全技术和教育方式的不断改善,积极探索改进考试方式的新思路。建立研究生考试的自命题题库系统,是对传统研究生考试模式的改革,为了保证考试的公平性出题的全面性,题库的建立势在必行。
        2 研究方法与技术方案
        2.1 研究方法
        为了提高试题的质量和实现命题的标准化,需要建立完善的审核机制。同时也要避免试
题装错、错发、泄露、雷同及内容不符等问题的发生;保证试卷数量、分数、答卷用时的准确和合理;保证阅卷参考内容的正确。因此完善研究生的题库系统并根据题库系统自动或手动生成试卷,实现试卷中的试题更具随机性、合理性与严谨性,提高试卷质量。教师可以根据考试科目的章节的知识点进行试题设计和试题导入,也可以完成试卷组卷。
        2.2 技术方案
        系统使用前后台分离技术实现。前端使用Nodejs、Vue、基于Vue的ElementUI和富文本插件ckeditor5。后端使用Spring Boot框架、Mybatis、MySQL、Redis、MongoDB来实现。
        Vue.js:Vue.js是渐进式前端开发框架,将业务代码和视图代码完全分离,提高代码的清晰度,也降低了后期维护的成本,相较于传统JQuery,Vue.js不需要直接操作DOM就能够实现数据的绑定[1]。
        Spring Boot框架:Spring Boot继承了Spring框架原有的优秀特性,它简化了Spring大量繁杂的配置工作,使得开发人员在开发过程中注重功能的实现而不需要花费大量的时间和
精力在配置上,而且内嵌Tomcat服务器,支持jar/war项目打包方式,可以实现项目快速部署[2]。
        Redis:Redis是高性能的鍵-值数据库并且是基于内存的数据库。Reids的优势有:性能极高、丰富的数据类型、原子和丰富的特性。使用丰富的键值数据类型来满足多种场景下的存储需求[3]。在该系统中,Redis主要存储用户token以及频繁使用键值对的数据。
        MongoDB:MongoDB是一个基于分布式,文件存储的非关系型数据库。MongoDB中数据是以文档的形式进行存储,文档为BSON格式,其内部可以包含多种类型的文件、数据,也可以内嵌别的文档,模式十分自由[4-5]。在该系统内,MongoDB主要存储考试科目章节知识点、题目类型、题目、考试大纲信息、试卷信息以及试卷中的文档信息。主要是解决在自动生成试卷时,防止频繁地访问数据库,导致生成试卷速度过慢和防止数据过多的操作。
        3 功能需求分析
        为了确保试卷的质量以及安全性,以及在用户界面友好便于操作。首先需要根据用户的
职责不同,设计不同的权限。权限设计完成后,由管理员维护学院并且为用户分配权限。院部管理人员维护课程、科目并为本院的老师分配权限。老师主要负责维护课程大纲、课程知识点以及知识点对应的题目。制作试卷时,需要出题老师制作试卷大纲。试卷大纲包括试卷的注意事项、试卷题目的类型、题目的难易度、完成试卷需要的时间、题目分数等。然后根据纸卷大纲可以自动生成试卷或者手动生成试卷。在试卷管理页面可以查看试卷的所有题目并且修改题目,调整题目的分数以及布局。试卷审核完成后,则可以选择打印设置,完成试卷的打印。在功能方面,主要设计登录界面管理、用户权限模块、学院模块、学科模块、课程模块、课程大纲及知识点模块、题目模块、试卷大纲模块、组卷模块、试卷模块、打印配置模块几大核心功能。
        3.1 系统主功能设计
        登录:使用系统必须先登录。登录成功后,系统会给用户发放用户访问凭证并且会自动跳转到首页。登录的用户不同,看到的菜单以及页面的按钮也会不同。比如老师只能负责完成维护课程大纲、课程知识点以及知识点对应的题目。但是组卷过程中,题目是否可用,首先需要学科负责人对题目进行审核,然后才可能被使用。
        用户权限模块:该模块包括用户信息管理、菜单管理、权限管理。权限管理负责角信息的维护以及为角授权;用户信息管理主要负责用户信息管理和为用户分配角实现用户的权限管理。
        学院模块:维护学校所有的二级学院。
        课程模块:维护二级学院开设的课程信息。
        科目管理:维护研究生入学需要考试的科目,每个科目可以对应多个课程。
        课程大纲及知识点模块:维护每个课程的章节信息,以及每个章节对应的知识点。
        题目模块:根据学院、课程配置题目信息。题型包括选择题(单选题和多选题)、判断题、填空题、复合题(阅读理解、完形填空)、简答、计算、论述等;题目的难度包括易、一般和难;题目的知识点可以对应课程的一个知识点或者多个知识点;题目的内容包括图文、数学公式和化学公式等;题目必须提供参考答案;题目需要设置题目使用的间隔年份;配置题目预估完成时间。间隔年份和预估完成时间在组卷时使用。
        试卷大纲模块:试卷大纲包括学院、科目、试卷数量、用途(初试和复试)、分数、题目分类数量、题目编号方式以及考试注意事项。在每一类题目中,配置大题包含的小题数量、分数、预估完成时间、难易程度和知识点等信息。
        组卷模块:根据学院科目的试卷大纲配信息,自动生成满足试卷大纲要求的试卷数量并且在试卷管理中查看。自动组卷主要是根据课程知识点、大纲要求的难易度、完成时间以及判断试卷近几年是否被用过等条件自动生成。
        打印配置模块:打印管理主要是配置不同的试卷要求的纸张大小、页边距、字体大小等。
        试卷模块:维护自动生成的试卷和手动生成试卷。手动生成试卷时,首先选择试卷大纲,否则无法手动生成试卷。
        3.2 主要业务流程
        首先需要完成试题的录入功能。录入试题需要管理员先维护学院信息以及课程信息。教师选择负责的课程维护课程大纲及知识点并由学科负责人对课程大纲及知识点审核,只有审
核通过后才能完成该课程试图的录入。录入试题时应选择试题对应的知识点,知识点允许选择多个。流程图如图1所示。
        生成试卷时,研究生院负责人首先需要维护考试科目,科目为研究生考试的内容以及科目可以对应多个课程。然后需要教师维护考试大纲以及选择考试大纲对应的知识点。由科目负责人审核通过后,教师根据科目考试大纲进行自动组卷或者手动组卷。试卷生成后,教师维护试卷内容并提交至学科负责人对试卷审核,审核完成后研究生负责人对试卷进行打印并且保存。流程图如图2所示。
        4 系统实现与测试
        在系统测试前,需要管理员先维护学院信息、用户信息、学科信息和课程信息;教师维护课程大纲及知识点信息。下边主要从试题录入、考试大纲和组卷等核心功能进行测试。
        试题录入:
        教师登录后,在题目列表页面,点击【添加】按钮,打开题目添加页面。页面加载时,默认加载学院信息,教师从课程列表选择课程。选择完成后,自动加载课程下的所有的知识
点并显示。根据选择的题目类型,显示不同题目类型的题目内容,后续的操作以单选题为例子。输入试题的题干、选项个数,自动生成选项内容和答案选项下拉列表,选择内容需要文本和数学、化学公式;输入题目允许使用的年限,如果题目超过年限,可以修改年限;输入题目的难度和预估时间,预估时间以分为单位。点击【保存】按钮,题目信息保存成功后,跳转到题目列表页面;点击【添加下一个题目】按钮,重新打开题目添加页面。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。