基于B/S架构的网络考试系统的设计与实现
2021-01-14尹逸铎陈科
尹逸铎 陈科
摘 要:随着互联网技术的发展,如学习、考试等教学工作也逐渐转移到线上。经过多年的发展,计算机考试系统早已由最初的判分功能发展为集网络实时化、模拟化的多媒体试题库。文章设计的系统基于B/S架构,该架构维护工作集中在服务器端,方便快捷,B/S管理软件的用户不必下载任何软件,使用浏览器即可访问系统,大大提升了效率。该系统采用的主要技术有Vue、ElementUI等。
关键词:网络考试系统;前后端分离;B/S架构;Java
中图分类号:TP311 文献标识码:A文章编号:2096-4706(2021)14-0021-04
Abstract: With the development of the internet industry, teaching work such as study and examination has gradually shifted to online. After years of development, the computer examination system has already developed from the initial grading function to a multimedia test question bank integrating network real-time and simulation. The system designed in this paper is based on B/S architecture, and the maintenance of the architecture is concentrated on the server side, which is convenient and fast. Users of B/S” management software do not have to download any software and can access the system using a browser, which makes the operation very convenient and greatly improves the efficiency. The main technologies used in this system are Vue, ElementUI and B/S architecture.
Keywords: examination system; separation of front and rear ends of network; B/S architecture; Java
0 引 言
随着计算机网络技术的发展,多媒体资源、远程网络、计算机系统等逐渐被应用于教育教学之中。并且有日益深化的发展趋势。在教育和科研中,更关键的评价教学水平的方法是考试。考试不仅能反映学生的学习状况,查漏补缺,还能督促教师调整教学计划,使学生更快地吸收专业知识。众所周知,纸笔考试会消耗更多的资源。不仅需要大量印刷试卷纸包装,教师还必须花费大量时间审阅试卷和对试卷结果进行统计分析[1]。随着考试的增多,如培训、比赛、问卷调查等[2],人力和物质资源消耗追案增多。因此,设计一个可以在线测试的网络考试系统就显得尤为重要。网络考试系统的优势在于学生在线答题,节省纸张资源;计算机可以自动审阅主观题,减轻教师的工作压力;网络考试系统可以对学生的表现进行梳理,并对每个学生的问题状况进行统计分析。有利于教师发现班级学生的不足和教学计划的漏洞;学生出错的题型也可以保存在系统中,有利于日后查漏补缺等。教学方式的智能化和类型的多样化,最终将推动考试信息化管理和智能化管理的发展趋势[3]。
1 主要技术以及介绍
1.1 Vue.js
Vue.js与DOM相比,更加便捷高效,不用考虑数据的结果和过程,仅注意其源头即可。更不用担心DOM元素变化之后引起的绑定变化。数据驱动和DOM驱动的差别就在于此[4]。
1.2 Element UI
Element UI是基于JS的框架,它为开发人员提供了各种各样的组件,使开发人员可以更加便捷地进行页面的布局。
1.3 B/S架构
B/S全部由预制组件组成,只需更修改网页即可同时升级。它的大部分开发、设计维护等工作都集中在服务器端。开发者对系统进行升级时,只需要升级服务器端的系统。B/S由Java等混合开发语言生成后,可以兼容所有主流数据库查询和计算机操作系统[5]。
2 需求分析
本软件的主要服务范围是针对校园内部考试。有考生,教师,和管理员三类主要用户,故系统规模相对较小。
考试应让学生充分发挥自己的專业知识水平,不因客观因素而危及学生的正常情况。为了方便、高效地进行考试,在实现用户登录、试卷获取、成绩查询等功能时,应快速响应。就教师而言,可以查阅、删除、添加、修改、检查和维护试卷,并对试卷和测试信息进行加密,系统对试卷信息的保密性、数据信息的安全保护和一致性有非常高的规定。对于管理员来说,需要提供方便、统一的监管功能。其除了拥有教师的管理权限外,还对整个系统的正常运行负责。
3 概要设计
在对系统软件需求进行调查分析的基础上,将整个训练系统划分为若干个控制模块,每个控制模块尽可能发挥单一作用,根据参数对控制模块进行调用,系统功能结构图如图1所示。
系统软件根据学生用户和管理员权限分为两大程序模块:管理员后台管理程序模块和学生程序模块。系统软件控制模块的主要功能为:
(1)管理員权限包括:管理员信息管理、考生信息管理、考试信息管理和成绩管理。
(2)考生权限包括:参加考试、考生科目选择和个人成绩查询功能。
4 详细设计
4.1 登录管理模块设计以及平台主界面
为了更好更快地提高数据库的安全系数,保证客户的隐私信息内容,避免非法账号登录,系统软件在登录界面设置了用户账号密码输入界面,账号和密码预先存储在数据库客户状态表中。用户登录前,需要输入用户和密码,送至数据库查询,验证客户的真实身份。为了更好地维护考试系统的安全性,本系统的登录系统分为候选人登录控制模块和管理员登录控制模块两部分。在账户登录提示框中设置一个文本框,供客户输入。用户根据页面上的文本框输入客户账号和密码,进入操作系统。当输入的信息不正确时,系统软件会自动返回登录界面,要求客户重新登录,平台登录界面如图2所示。
登录模块核心代码为:
protected void Logi(object sender, EventArgs e)
{ Users user = new Users();
if (user.CheckPassword(txtCard.Text.Trim()))
{
lRegistMessage.Text = "此用户已注册!"; }
else
{
string Uid = DateTime.Now.Ticks.ToString();
user.UserID = Uid;
user.UserName = txtTrueName.Text;
user.UserPwd = txtPwd1.Text;
user.Card = txtCard.Text.Trim();
user.Email = txtEmail.Text.Trim();
user.Address = txtAddress.Text;
user.UserPower = 0;
if (user.InsertByProc())
{
else
{
}
}
4.2 试卷管理模块
试题管理作为一个独立的控制模块,用于自动生成试卷。基于该操作系统进行在线考试时,必须提前制定考试科目管理办法,完成科目的增删改查。为了更好地实现这一功能,设计时在栏目中安装了添加考题的输入框和多个功能按钮,利用相关技术完成考题的增删改查。教师或管理员登录后可以添加考试科目,如果输入错误,可以立即修改,已经通过的科目可以删除。该组件设计方案包括试题的选择、试题的设置、试题的访问、查询等。试题管理模块设计有安全保护措施,避免非法登录系统后故意修改或删除试卷。老师出卷后,试卷放出前,学生无法查看试卷。教师可在试卷出发布随时更换试卷。试卷一经发布,不得更改。整个发布过程是在学生端为每个学生准备一张试卷,加载所有的考试信息。整个发布过程按照公开的基本考试原则进行。试卷生成核心代码为:
//试题类型
if(单选”.equals(row.get(subjectTypeIndex).toString())){
subject.setSubject(0);
}else
if(“多选”.equals(row.get(subjectTypeIndex).toString())){
subject.setSubject(1);
}else{
subject.setSubject(2);
}
if (“简单”.equals(subject.toString())) {
subject.setSubjectEasy(0);
} else if (“普通”.equals(subject.toString())) {
subject.setSubject(1);
} else {
subject.setSubject(2);
}
subject.setCourse(new CourseInfo(courseId));
subject.setGrade(new GradeInfo(gradeId));
subject.setDivision(division);
subjects.add(subject);
}
4.3 考试最终成绩查询模块
一旦学生进入考试网页并逐渐参加考试,计时器将逐渐计时。当网页跳转时,定时器会停止,在HTML页面加载后定时器会再次计时。学生可以修改他们已经回答的考试题目。最后,学生交卷,系统软件完成包括(鉴别题、单选题、多项选择、填空)在内的自动复习,既提高了工作效率,又促进了考试的权威、公平、公正性。即使是经过系统审查的试卷,也需要经过老师的审阅才能发布。因为老师可能要根据学生的表现进行一定的调整。试卷分数确定后,所有分数将发布给相应的学生。这时候学生就可以查看结果了,成绩查看控制模块中安装了试卷选择下拉列表,供学生查看。学生还可以选择已参加的考试,查看成绩。设计方案的概念是:用户登录系统软件,记录用户ID号。用户查看结果时,会从Session中取出用户ID,然后将用户ID和选中的试卷ID与评分表的UserID结合起來。从上到下比较数字和PaperID。当查找匹配的数值数据时,此项将返回到Web页面并显示在用户面前。核心代码为:
Public static void show(){
system.out.print(“\t”);
for(int i=0;i<score.length;i++ ){
system.out.print(score[i]+”\t”);
for(int j=0;j<score[i].length;j++)
system.out.print(score[i][j]+”\t”);
System.out.print();
}
5 防作弊监测
在进入考试的整个过程中,记录考生的面部和手部、电脑屏幕以及附近的全景图像。作弊识别可独立识别提示并终止考试。发现作弊情况是要被终止考试的:一是考生低头看手机或书籍,转头,不看电脑显示器和数字键盘机械设备,手臂没有动作,但显示屏有异常提示,如系统自动解答题目;二是有人中途进入考试空间,如在考场讲话、上厕所、离开座位等。如果反作弊系统的检测到异常,会提醒考试监控系统的检查员手动控制处理,并标识违纪、作弊和违纪行为。监考人员首先观看考点现场视频,根据提示对异常视频进行审核。如发现个人行为有作弊行为,可向考生提出异议或口头警告,违反考试纪律严重的,监考人员可以下令终止考试,通过系统终端提交试卷,终止考试,撤销考试成绩。
异常检查包括:是否长时间断线(机械设备线下10秒以上),监控摄像头是否有脏物挡住或被移动,麦克风被挡住,调频收音不好,多次切屏。一旦发生异常,系统会提醒监考人员介入处理。例如:自动停止考试、取消考试成绩、从头开始新的考试等。当系统接收到互联网考试系统的考试结束数据信号时,检测设备自动将图像发送至测试核心服务平台进行数据存储,直到考试结束。
6 结 论
网络考试系统作为当今网络远程教育的一个子系统,具有灵活、高效的特点。在线考试是未来高等教育的发展趋势,是保证教育教学水平的具体途径。可合理提高学生的学习能力,从而以更好的热情投入到学习活动中;在线考试系统能够准确反映教师的教学水平,及时调整教师的专业培养点和方向。众所周知,数字化考试也有一些不足。只有与传统考试制度有效结合,才能迅速融入现代社会,为国家培养出一大批智慧型人才。
参考文献:
[1] 刘惠.一种嵌入式Web技术的在线测试研究 [J].电子设计工程,2017,25(5):138-141.
[2] 李湘一.基于PHP技术的计算机基础考试系统的开发 [J].电子技术与软件工程,2015(8):82-83.
[3] 朱佳轩,鄢雪梅.基于Php-Web技术的在线考试系统设计 [J].电子设计工程,2017,25(8):127-130.
[4] 麦冬,陈涛,梁宗湾.轻量级响应式框架Vue.js应用分析 [J].信息与电脑(理论版),2017(7):58-59.
[5] 张友生,陈松乔.C/S与B/S混合软件体系结构模型 [J].计算机工程与应用,2002(23):138-140.
作者简介:尹逸铎(1999—),男,汉族,山西长治人,本科在读,研究方向:Java软件开发