摘要
随着考试类型的不断增加与考试要求的不同提出,就更加增添了考试的复杂度,同时目前考试系统设置的科目,题库量太少,管理复杂,而且实际操作起来困难度较大,所以就需要一种代替人工出卷考试的传统考试方法,即在线智能考试系统,通过其友好的界面,简洁的操作,方便了管理,节省了人力和时间。
在线考试系统使用后端使用spring boot框架进行快速开发,采用当前主流的后端开发语言Java实现系统的业务流程。前端使用VUE框架实现前端交互,使用采用了渐进式的开发形式。数据库采用免费开源的MySQL数据库来存储数据。
通过Java开发实现初中数学在线考试系统设计针对中学数学设计的一款在线考试、在线出题和在线题库管理的系统。管理员可以查询现有成员的信息,可以添加、删除成员信息,更改状态信息,设置权限,能否进入本系统。对教师来说,包括试卷管理、题库管理、成绩管理等功能。
关键词:在线考试;spring boot;VUE;题库管理
第一章 引言
1.1研究背景及意义
随着新冠疫情的持续蔓延,线上教学成为了师生的常态,同时计算机技术的发展和互联网时代的到来,人们已经进入了信息时代,也有人称之为数字化时代。在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,同时希望能够得到科学的评价;老师希望有效改进现有的考试模式,提高考试的效率;教育机构也希望给网上的学生提供更全面灵活的服务,同时希望全面准确地对学生进行跟踪和评价。在线考试系统正式迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时、随地通过网络完成考试。
网络教育包括教学系统、答疑系统和考试系统等很多的环节,但现在的网络教育软件还处于开发阶段,发展不是很成熟,这些环节都需要我们去开发并进一步升级完善,从而使我国的远程教育软件不断趋于成熟。在众多的环节中,在线考试系统环节最为重要,但也是最难实现的环节。同时,在我国,大多的中小学与社会上的各种考试大都采用人工组卷、阅卷、考试、计算成绩、成绩分析、试卷分析等。然而,这种传统的纸笔考试方式受时间和空间的限制较大,进行一次考试需要耗费大量的人力和物力,显然已经不能完全适应网络教育开放性、交互性、协作性和自主性的特征。随着考试类型的不断增加与考试要求的不同提出,就更加增添了考试的复杂度,同时目前考试系统设置的科目,题库量太少,管理复杂,而且实际操作起来困难度较大,所以就需要一种代替人工出卷考试的传统考试方法,即在线智能考试系统,通过其友好的界面,简洁的操作,方便了管理,节省了人力和时间。
1.2国内外研究现状
早在1957年,美国科技公司就已经设计出全球第一套在线考试系统,历经半个世纪的发展以及各国之间的深层探讨与交流,该考试模式已经国际化,在我国很多行业当中对计算机在线考试的满意度与普及率是持一个上升趋势。截止到目前,美国、德国、日本、英国等发达国家已经借助网络信息技术来评估参与检测的对象,比如美国思而文学习系统有限公司在全球6大洲均设立了考试中心,数量高达2000个,美国教育考试服务中心(简称ETC)自1993年就开始采取适应型考试机制,并减少了纸卷检测中的笔试部分.ETC作为一家非营利性单位,主要靠收取报名费来维持正常运转,考试类目如下:GRE、SATReasoningTest、SATSubjectTest、TOEFL等。1991年,Novell公司成功采用CAT展开认证考试,参考人数已达到一百万次。目前,托福、微软认证、IBM认证、CISCO认证、Oracle认证等考试都比较著名。
在我国,在线考试系统起步较早,但发展极为迅速,设计活动也相对活跃。如今已经有多家公司和高校开始应用该系统,例如:普通话考试、计算机二级考试、英语四(六)级考试等。并且随着计算机技术的逐步推广,在线考试将应用于多个学科。
综合我国大部分在线考试系统的设计团队,其系统可以分成以下模块,即功能模块;分类模块;过程模块。针对全部的考试系统而言,主要是通过分类模块进行详细系统的建立。国内比较常见的系统有NATURE试题库系统和迈达威试题库系统,其中NATURE试题库系统是一种通用的计算机管理软件,可应用于普通教育、成人教育、高等教育、各中小学、职业教育、特殊教育等方面;而迈达威试题库系统通过采用多种技术(如Word、OLE、VisualBasic、数据库等),保证大量试题可用文本处理器进行录入,不仅如此,题目转换起来比较方便,组卷策略也比较灵活,按照试卷生成状态,不论何时何地都能对参数进行调整。另外,还能对已生成的试题实施人为干预,不管采取哪种组卷策略,该系统均能快速实现。般情况下,考试系统的前期出题环节,经常交由具备一定阅历的老教师来负责,首先对各个方面进行对比与分析,比如学科特征、题目难度、重点、难点分布、题型要求等,然后经过反复斟酌来建立一套完整的组卷机制。在实际组卷过程中,在线考试系统会依据各科教师的多种需求对试卷展开重新处理。从而得出以下结论:组卷算法能否满足教师需求是提升组卷质量与效果的充分条件。正常来说,教师所讲的教学内容基本上就是教学重点,但对知识点进行考核时可能会用到不同的方式,因此怎样兼顾上述个体差异又能科学考察学生水平才是随机组卷考试系统的核心所在。
1.3主要任务
基于JAVA的初中数学在线考试系统设计针对中学数学设计的一款在线考试、在线出题和在线题库管理的系统。管理员可以查询现有成员的信息,可以添加、删除成员信息,更改状态信息,设置权限,能否进入本系统。对教师来说,包括试卷管理、题库管理、成绩管理等。主要如下:
- 试卷管理:教师可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。
- 题库管理:教师可以针对每个知识点添加不同难度、不同类型的题目,并对题目设置难度值。老师可以进行题库的添加、题目难点设置、题目类似设置,可以修改题目难点等。
- 成绩管理:教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。
对普通用户来说,包括在线考试、查询以往考试成绩等。主要如下:
1.在线考试:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
2、查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。
3,学生可以对个人信息进行维护包括(修改个人密码。修改个人基本信息)
3.1可行性分析
在线考试系统主要目标是实现在线考试系统正式迎合这一市场需求而开发的,它旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为学校创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以随时、随地通过网络完成考试。在确定了目标后,我们从以下四方面对能否实现本系统目标进行可行性分析。
3.1.1技术可行性
在线考试系统使用JAVA语言,基于B/S结构,MYSQL数据库,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于应用程序的开发要求具备功能要完备、使用应简单等特点,而对于数据库的建立和维护则要求建立一个数据完整性强、数据安全性好、数据稳定性高的库。
综上所述:在线考试系统在开发技术方面具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。
3.1.2操作可行性
在线考试系统的登录界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用JSP语言开发,基于B/S结构,这些开发环境使系统更加完善。本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。因此本系统可以进行开发。
3.1.3经济可行性
在线考试系统是基于B/S模式,采用MYSQL数据库储存数据,所要求的硬件和软件环境,市场上都很容易购买,程序开发主要是管理系统的开发和维护。所以程序在开发人力、财力上要求不高,而且此系统不是很复杂,开发周期短。
在线考试系统设计与开发,在系统开发上并不是很大,整个系统是不是非常大,耗用的时间也不太长,所以开发成本不会太高。在整个发展过程是由自己独立完成,只需一台电脑和多种上面提到的软件,就可以实现所有的发展的任务。因此,在整个开发成本,可以说是非常低的。
3.2系统功能基本需求
在线考试系统建立在系统后台数据库的基础上,主要涉及两种用户:管理员和用户。两种用户对系统各有不同的需求,其中管理员功能模块包括信息管理、试题管理、试卷管理、成绩查询4个部分。
(1)信息管理模块包括用户管理和管理员管理。在用户管理功能中,可以对用户信息进行添加、修改和删除。在管理员管理功能中,可以实现管理员密码修改。
(2)试题管理。管理员可以对试题信息进行添加、修改和删除。
(3)试卷管理。管理员可以对试卷进行随机生成、手工录入、删除。
(4)成绩查询。管理员对考生成绩查询、统计。
用户功能模块包括考试页面、个人信息修改和考试结果查询部分。
(1)考试页面。学生进行考试的网页,通过有效身份验证登录就可以进入考试。
(2)个人信息修改。学生可以根据管理员要求,修改个人账号信息和登录密码。
(3)考试结果查看。学生在考试结束,可以查看自己的考试成绩。
3.3非功能需求
(1)数据的精确性。当用户填写不规范数据时,系统及时给用户有好的提示,并且不让该脏数据提交。
(2)友好性。系统难免会出现一些同步以及异步的操作,有时反应会特别卡顿,希望系统给予一定的提示。
(3)实用性。系统中的功能应该都是有意义的,在线考试系统应该以学生实际需求进行开发。
(4)复用性。系统可以支持多人同时使用,因为学校学生和院系多,在线考试系统不是单人使用的专用系统。
(5)安全性。学生个人在信息管理系统中会有一些敏感的数据,大部分数据都是真实的,系统要进行安全的防护,防止数据泄露。
第4章 系统设计
4.1系统结构设计
基于以上需求,在线考试系统采用以Web技术为基础的B/S模式进行设计。B/S模式由浏览器、Web服务器、数据库服务器3个层次组成1。在此模式下,客户端使用一个通用浏览器,代替形形色色的各种应用软件,用户的所有操作都是通过浏览器进行的。该模式的核心部分是Web服务器,负责接收远程(或本地)的HTTP查询请求,然后根据查询条件到数据库服务器获取相关数据,再将结果翻译成HTTP和各种页面描述语言,传送回提出查询请求的浏览器,由浏览器与数据库联系完成操作任务。
该考试系统包含前端设计和后端设计,前端设计支持用户登录、在线考试和在线评分等功能,后端设计支持试题管理和信息管理功能等。在后端功能设计中,试题管理模块包含:管理员登录、试题管理、试卷管理和考试管理;信息管理模块包含:管理员登录、用户信息管理、管理员信息管理、考试信息管理管理、阅卷信息管理、考试结果管理和管理员维护。
系统总体功能如图1所示。
图1功能模块图
4.2时序图
时序图用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。时序图以垂直轴表示时间,水平轴表示不同的对象。对象间的通信在对象
的生命线间通过消息符号来表示。
4.2.1系统管理员时序图
如图2所示:
4.2.2学生时序图
如图3所示:
图3系统用户时序图
4.3数据库设计
4.3.1数据库概念的设计
数据库是信息管理系统的核心和基础,在线考试系统的数据存储在数据库的各个表中,当需要使用这些数据时,系统可以快速、准确地从数据库中获取数据信息。由于系统有12个实体类对象,所以相对应的也有12张数据库表。E-R图如图4所示。
图4系统E-R图
4.3.2数据库表的设计
考试表1
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | ID |
Title | varchar | 255 | 否 | 考试名称 |
Content | varchar | 255 | 否 | 考试描述 |
Open_type | int | 11 | 否 | 1、公开2、部门3、定员 |
state | int | 11 | 否 | 考试状态 |
Time_limit | tinyint | 4 | 否 | 是否限时 |
Startz_time | datetime | 0 | 否 | 开始时间 |
End_time | datetime | 0 | 否 | 结束时间 |
Create_time | datetime | 0 | 否 | 创建时间 |
Update_time | datetime | 0 | 否 | 更新时间 |
Total_score | int | 11 | 否 | 总分数 |
Total_time | int | 11 | 否 | 总时长 |
Qualify_score | int | 11 | 否 | 及格分数 |
考试题库表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | ID |
Exam_id | varchar | 64 | 否 | 考试ID |
Repo_id | varchar | 64 | 否 | 题库ID |
Radio_count | int | 11 | 否 | 单选题数据 |
Radio_score | int | 11 | 否 | 单选题分数 |
Multi_count | int | 11 | 否 | 多选题数据 |
Multi_score | int | 11 | 否 | 多选题分数 |
Judge_count | int | 11 | 否 | 判断题数据 |
Judge_score | int | 11 | 否 | 判断题分数 |
Saq_count | int | 11 | 否 | 简答题数据 |
Saq_score | int | 11 | 否 | 简答题分数 |
试卷表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | 试卷ID |
user_id | varchar | 64 | 否 | 学生ID |
depart_id | varchar | 32 | 否 | 班级ID |
Exam_id | varchar | 64 | 否 | 规则ID |
title | varchar | 64 | 否 | 考试标题 |
Total_time | int | 11 | 否 | 考试时长 |
User_time | int | 11 | 否 | 用户时长 |
Total_score | int | 11 | 否 | 试卷总分 |
Qualify_score | int | 11 | 否 | 及格分 |
obj_score | int | 11 | 否 | 客观分 |
subj_score | int | 11 | 否 | 主观分 |
user_score | int | 11 | 否 | 用户得分 |
Has_saq | tinyint | 4 | 否 | 是否包含简答题 |
state | int | | 否 | 考试状态 |
Create_time | datetime | 0 | 否 | 创建时间 |
Update_time | datetime | 0 | 否 | 更新时间 |
Limit_time | datetime | 0 | 否 | 截止时间 |
试卷考试题表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | ID |
Paper_id | varchar | 64 | 否 | 试卷ID |
qu_id | varchar | 64 | 否 | 题目ID |
Qu_type | int | 11 | 否 | 题目类型 |
answered | tinyint | 4 | 否 | 是否已答 |
answer | varchar | 255 | 否 | 主观答案 |
sort | int | 11 | 否 | 问题排序 |
score | int | 11 | 否 | 单题分分值 |
actual_score | int | 11 | 否 | 实际得分(主观题) |
Is_right | tinyint | 4 | 否 | 是否答对 |
备选答案表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | ID |
Paper_id | varchar | 64 | 否 | 试卷ID |
qu_id | varchar | 64 | 否 | 题目ID |
Qu_type | int | 11 | 否 | 题目类型 |
answered | tinyint | 4 | 否 | 是否已答 |
answer | varchar | 255 | 否 | 主观答案 |
sort | int | 11 | 否 | 问题排序 |
score | int | 11 | 否 | 单题分分值 |
actual_score | int | 11 | 否 | 实际得分(主观题) |
Is_right | tinyint | 4 | 否 | 是否答对 |
问题题目表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 64 | 是 | ID |
Paper_id | varchar | 64 | 否 | 试卷ID |
qu_id | varchar | 64 | 否 | 题目ID |
Qu_type | int | 11 | 否 | 题目类型 |
answered | tinyint | 4 | 否 | 是否已答 |
answer | varchar | 255 | 否 | 主观答案 |
sort | int | 11 | 否 | 问题排序 |
score | int | 11 | 否 | 单题分分值 |
actual_score | int | 11 | 否 | 实际得分(主观题) |
Is_right | tinyint | 4 | 否 | 是否答对 |
角色表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 32 | 是 | 角色ID |
Real_name | varchar | 255 | 否 | 角色名称 |
用户表
字段名称 | 类型 | 长度 | 主键 | 字段说明 |
id | varchar | 32 | 是 | ID |
User_name | varchar | 255 | 否 | 用户名 |
Real_name | varchar | 255 | 否 | 真实姓名 |
password | Varchar | 255 | 否 | 密码 |
Salt | Varchar | 255 | 否 | 密码盐 |
Role_ids | Varchar | 255 | 否 | 角色列表 |
Depar_id | Varchar | 32 | 否 | 学院id |
Create_time | datetime | 0 | 否 | 创建时间 |
Update_time | datetime | 0 | 否 | 更新时间 |
tate | int | 11 | 否 | 状态 |
Data_flag | int | 11 | 否 | 0、正常1、隐藏 |
第5章 系统实现及测试
5.1登录模块实现
用户登录需要提供用户名、密码;当用户名和密码匹配时才能登录进入系统。利用前端的信息,后端调用mybatispluse的basemapper实现认证。
页面效果如图13:
图13登录界面
5.2用户注册功能实现
用户注册功能是通过浏览器渲染一个表单,需要提供用户账号、密码、姓名、年龄、性别、电话、地址等信息。将数据传入后台,通过后台实现对用户的新增。
页面效果如图14:
图14系统注册界面
5.3考试功能实现
管理员可以对考试进行增删改查
页面效果如图15、图16:
图15考试配置面
图16考试列表面
5.4试卷功能实现
用户进入考试,会生成一份试卷,试卷有个人信息、考试结果以及该考试的题库
页面效果如图17:
图17进入试卷详情面
5.5题库管理模块实现
试卷由题库的试题组成,管理员可以对题库增删改查
页面效果如图18:
图18题库管理界面
在线考试系统是基于网络的在线考试系统。面向中职学校研发的在线考试系统,在线考试系统能改变传统考试模式的同时,尽可能地为学生提供在线考试训练的模式,让学生能适应考证时的操作要求。把在线考试系统能广泛运用到平时的教学考试任务中或是单元测验中,有利于提高教学质量,有利于教师实现资源共享,实现试题分享,为教师出题提供参考,对学生的考核也会更全面、更公正、更便捷。通过网络应用技术来建设一个能够集考试、题库和交流于一体的考试平台,方便教师每次考试的出题和组织,也更方便考生通过在线考试平台检验自己所学的知识,达到以考促教的目的。