硬件低配置环境下的高效考试系统的设计

2022-05-30 08:38曾水新温立辉
电脑知识与技术 2022年27期
关键词:S架构教育信息化

曾水新 温立辉

摘要:目前不少在经济欠发达地区的高校,机房建设的年份早、配置低,文章设计并实现了一个基于Client/Server架构的考试系统,占用系统资源低、效率高、操作便捷,适合硬件配置低的环境使用。该系统以Delphi编写,发布为管理端、监考端、学生端三个单文件的模块,监考端与学生端软件仅2M~3M大小,方便分发;业务处理合理地分配在教师机与学生机上,减少了教师机的压力;通信基于高效的UDP协议,通信的内容仅限控制信号及状态信息,试题以文件形式传输,减少了网络压力。

关键词:考试系统;教育信息化;C/S架构;B/S架构;Delphi

中图分类号:TP311.52;G647      文献标识码:A

文章编号:1009-3044(2022)27-0079-03

开放科学(资源服务)标识码(OSID):

1 引言

新冠肺炎疫情以来,各高校积极响应教育部提出的“停课不停学”的要求,积极开展线上教学工作,探索信息化教学系统的应用,经过几年的实践,教师、学生已逐步适应了线上教学并体会到了教育信息系统的便捷。新一代智能技术与教育教学深度融合为教与学方式的变革带来了更多可能性,促进了教学方式、学习方式和教学元素三个方面产生变革[1]。

网络化考试具有处理速度快、准确等特点,计算机自动阅卷的功能节省了教师大量的时间和精力,且在线考试可以节约纸张资源,符合绿色发展的理念[2]。在线考试系统采用一些针对性的技术手段,可以减少作弊现象,提升了考试的公平性[3]。

2 需求分析

市面上考试系统的产品和研究很多,如张旭辉的基于Java语言和MySQL数据库的在线考试系统[4],陈斌的基于人脸识别的智能混排考试管理系统[5],吴永辉的基于C/S模式的通用网络考试系统[6],任红云的基于云计算的考试系统[7]等,这些系统对计算机配置的要求较高,不适用于经济落后地区机房硬件配置低的学校,这类学校的考试系统的需求是:

1)教师机、学生机的硬件配置要求低。很多学校教师机的配置与学生机是一样的,因此学校需要的考试系统不仅要求在低配的学生机能运行,在教师机同样也不能要求配置太高。

2)监考人员的操作需简单。普通的期末考试监考人员是随机安排的,因此系统应操作简单,不需培训即能使用。

3)启动快。有监考过网络考试的教师应该有体会,有的考试系统功能强大,但是需要在服务器做很多的部署工作,如安装启动应用服务器、安装启动数据库服务器、导入数据、配置、导出数据等,会带来很高的时间成本。

3 系统设计

3.1 系统体系架构

在局域网环境下,可选的体系架构可以是C/S架构也可以是B/S架构,目前市场上的考试系统两者皆有。

C/S(Client/Server)架构,即客户机/服务器架构,是成熟的软件系统体系结构。客户机和服务器都需要安装软件,计算任务通常合理地分配到客户端和服务器,降低了系统的通讯开销和服务器开销,可以充分利用两端硬件环境的优势[8]。

B/S(Browser/Server)架构,即浏览器/服务器架构,是随着Internet技术的兴起,对C/S架构的改进。客户机不需要安装软件,用户界面通过浏览器实现,客户机一般不做或做极少量的业务处理,主要的事务逻辑在服务器端实现,服务器运行数据负荷较重[8]。

本系统采用的是C/S架构,原因如下:

1)需对学生的行为做一些限制,以防止作弊。如:限制使用U盤、限制通讯软件、限制上网、限制切换窗口、限制复制粘贴等。这些功能在C/S的客户端软件可以轻松实现,但在浏览器中不容易实现。

2)C/S的客户端可分担服务器的部分功能。C/S的客户端有较高的安全性,不容易泄露数据或被篡改,因此可以将服务器的部分功能分摊到学生机,以减少服务器的计算压力,例如客观题的评分。

3)C/S的客户端可方便实现存取本地文件、屏幕截图等功能。有些课程考试需要上传文件或对屏幕截图作为评分依据。

4)客户端软件的交互性远超于浏览器的Web页面,让学生不必浪费在页面等待中。

5)通信量低。对于一些老旧机房,网速差、教师机配置不够高,使用C/S架构减少通信量可以降低网络负载和教师机的并发处理。

3.2 开发工具选择

开发C/S架构可选的开发工具很多,如经典的Java、C#、C++、Delphi、Python,新秀产品有QT、Electron、NW.js等。结合学校的需求,选型应考虑以下因素:

1)基于Windows系统。除了一些特殊专业的机房,高校机房里大多数安装的是Windows系统,因此系统要求运行的平台是Windows系统。

2)尽可能少的底层依赖。由于考试时分配的机房是未知的,不能保证计算机里的配套软件是符合要求的,因此应尽量地对底层少依赖或不依赖。Java、Python都需安装运行,C#需要安装.net环境,可以排除这几种语言。

3)要求单文件、尺寸小。在考试场景下,应尽量简化学生的操作。无须安装、单文件的程序,学生可快速进入考试、减少出错概率;教师机下发软件也是个耗时的工作,例如用红蜘蛛网络教室软件在50台学生机的机房分发一个100M的文件,需要几十分钟,给监考工作带来不便。QT、Electron、NW.js发布后会带有一系列依赖文件,发布的文件总大小也超过一百兆,因此可以排除这几个工具。

剩下可选的有C++和Delphi,这两种工具都可以开发出单文件、无依赖、小尺寸的软件,但相对而言Delphi比C++更简洁更快速,因此最终选择Delphi作为开发工具。

3.3 系统功能

系统分为三个模块,分别为管理端、监考端、学生端。主要功能为:

1)管理端。试题管理、评分、报表生成、成绩分析。

2)监考端。发送监考信号、接收状态信息、修改端口。

3)学生端。考试、修改密码、发送状态信息。

管理端在教师的计算机上运行,教师设计好试卷后,导出加密的试题文件;考试结束后,管理端导入答题文件,教师进行批改。监考端和学生端运行在机房的局域网环境下,启动后自动检测、验证试题文件。监考端发送开考、结束的指令以控制考试时间,学生端在考试期间会发送已完成的题目数量信息到监考端,以让监考教师了解整体进度。系统架构如图1。

4 详细设计

4.1 管理端设计

管理端用于教师管理所有系统数据,包括试卷管理、导入答题文件、批改试卷、统计报表、成绩分析等功能。

1)试卷管理模块

①查看试卷。该功能显示试卷的试题、参考答案、分值、分数,以供教师查看、导出归档。删除试卷也在此模块下。

②编辑试卷。试题采取固定三级分类的方式,一级题需设置标题、题目类型、是否乱序、三级题分值、三级题数量、抽题数量;二级题需设置内容、参考答案,二级题是学生真正要作答的题目;三级题实际上是学生的作答,不需要设置。

“题目类型”包括单选、多选、填空、简答。单选、多选、填空这几类客观题可设置自动评分;多选题可设置为部分正确得一半分,如正确答案为ABCD,那么学生选择了AB、BC也能获该题的一半分数;填空题的参考答案可填写多个,学生的回答与其中一个匹配即可得分,填空题可勾选是否忽略大小写;简答题需手动评分。

“是否乱序”是指二级题的顺序是否随机,以避免学生相互对答案。“抽题数量”是指抽二级题的数量。

③导出试卷。导出试卷可选择要导出的题目、填写端口号。导出题目可选是为了导出多套不重合的试卷,例如同一个考试多个班的考试时间不一样,为了防止学生漏题,可导出多套试卷避免作弊。端口号是用于监考端与学生端通信用的端口,一般默认即可,但为了防止默认端口被其他软件占用,可以修改成另一个端口号。监考端也提供了修改端口号的功能,以让监考教师也可在遇到端口被占用时修改。

2)答题文件导入模块

考试结束后,教师收集学生的答题文件,在管理端导入数据库。流程如下:

①获取答题文件信息,包括考试编号、文件名、学号、班级、姓名。

②校验。校验是否能解密,答题文件是加密的,如果文件被篡改,会出错而不能读取;根据考试编号、学号,比对数据库是否已有此文件;检测所选文件中是否有重复,学生提交考试时,经常会出现重复提交的情况(文件名不同),因此入库前需检测此问题。

③系统自动将解密错误的文件设置为不可选、已入库和重复的文件设置为未选中(但教师仍然能手工勾选),由教师决定是否入库,同一个考试的同一个学生的文件,后入库的覆盖先入库的。

3)试卷批改模块

试卷批改是系统的核心功能之一,本系统采用双重批改模式,即先自动再手动。自动批改只能批改客观题,手动批改可以批改所有题型。

试卷批改窗口分左右两栏,左侧为主区域,显示答题内容,右侧为批改工具栏。

主区域由TWebBrowser控件实现,系统根据搜索条件加载数据库里的记录后,动态生成html代码,再加载到TWebBrowser里显示。

工具类由上下两部分组成,上部为搜索条件,可筛选考试名称、题目、分数范围、姓名。分数范围可以选择“所有”“未评”“分数区间”。

下部为打分栏,包括选择工具、分数设置。选择工具可以選择匹配某答案、清除选择;分数设置包括满分、0分、某分、设置为未评。

4)统计报表模块

统计报表模块可统计单次考试和所有考试。单次考试显示考试的各题明细,所有考试仅显示总分。

4.2 监考端设计

监考端是提供给监考教师使用的,监考教师通常随机指派的,设计的原则是步骤少、操作直观、时间短。监考端的功能有:

1)控制功能。如果采用B/S架构,需要教师安装数据库、Web服务器、应用服务器,部署项目,不仅操作复杂,还需要提前一个小时准备。本系统仅需教师运行软件,一键启动考试一键结束考试,无须部署。

2)考试状态查看。监考端接收学生机的状态信息,可全览整个班的考试状态,查看每位同学的考试进度。

3)修改通讯端口。监考端与学生端是通过UDP协议通讯的,因此对网络的要求非常低,速度也更快,端口号从考题文件里读取。监考端启动时,自动检测端口是否被占用,如果被占用则提示教师修改端口号。

4.3 学生端设计

考试前教师通过网络教学软件如红蜘蛛教学软件将学生端软件及考题文件发放给学生。

1)登录。学生端启动后,会检测同层文件夹下是否有考题文件,如果没有或有多个考题文件,系统不允许登录。初次登录学生需输入姓名、设置密码,学生信息列表已经集成在客户端软件里,只有在列表里的学生才能登录。如果是第二次以上登录,姓名不能输入,学生需输入第一次设置的密码。

2)初始化。学生端启动后,在设定好的端口持续监听监考端的控制信息,收到开始考试的信号后,进行初始化。初始化的内容包括抽题、检测绑定信息、绑定学生信息。

抽题仅在第一次启动时执行,是指根据配置随机抽取特定数量的试题,并将试题次序打乱;检测学生绑定信息时询问监考端,本机输入的姓名是否与之前绑定的一致,如不一致则不允许考试;如本机未绑定,则向监考端发送姓名、计算机识别号以绑定学生信息。

3)考试。初始化之后,学生端进入考试界面。考试界面分三部分,上部显示学生姓名、学号、考试名称信息,以及“修改密码”“结束考试”按钮。左侧为导航树,右侧显示题目内容、题目控制工具栏。题目控制工具栏包括上一题、下一题的快捷按钮,以及当前已完成的数量。

4)导出。学生主动结束考试或系统收到结束考试信号后,系统将学生的答案加密导出到答题文件,以“学号+姓名”的规则命名答题文件。文件内的信息有试卷信息、计算机识别号、学生信息、起始时间列表、答题内容等。

5 结束语

本文实现的考试系统,是在经济落后地区的高校机房配置不高的背景下,实现高效稳定的网络考试的解决方案,创新点有:

1)计算机硬件配置要求低。教师机仅要求运行监考端软件,不需要服务器、数据库,学生机仅要求运行学生端软件,即使是非常老旧的机房也毫无压力。

2)网络载荷低。教师机与學生机通过局域网通信的内容仅有控制信号与状态信息,每个通信包的大小仅十多个字节。

3)软件极小,方便携带和传输。生成的监考端软件仅2.7M,学生端软件2.6M,试题文件和答题文件仅几十K左右。

4)操作简单,上手即用。配置好参数后,监考端仅需开始、结束操作,学生端需登录、提交操作。

5)带防作弊功能。通过随机题目、绑定信息、记录起始时间、一考多卷、禁止复制等功能减少考试作弊现象。

参考文献:

[1] 胡钦太,林晓凡,王姝莉.智慧教育驱动的教育系统革新[J].中国远程教育,2022(7):13-20,78.

[2] 赵英萍,毛玉萃.基于Java Web的在线考试管理系统的设计与实现[J].电脑知识与技术,2020,16(19):47-48,51.

[3] 吕晓东.在线考试系统中防作弊措施的应用探讨[J].科技风,2019(36):65.

[4] 张旭辉,郭华瑞.在线考试系统的设计与实现[J].电脑编程技巧与维护,2022(6):13-14,35.

[5] 陈斌,吴小香,付铭,等.基于人脸识别的智能混排考试管理系统的设计与实现[J].电脑知识与技术,2022,18(13):43-44.

[6] 吴永辉.基于C/S模式的通用网络考试系统的设计与实现[J].工业和信息化教育,2022(3):91-94.

[7] 任红云.基于云计算的考试系统的设计与实现[J].信息与电脑(理论版),2022,34(4):148-150.

[8] 许晏.C/S与B/S结构的比较[J].计算机光盘软件与应用,2014,17(21):63-64.

【通联编辑:谢媛媛】

猜你喜欢
S架构教育信息化
B/S架构下的学生信息管理系统的设计
学生会管理系统的设计与实现
如何加强校园信息化建设创学校发展提速平台
基于虚拟仿真技术的地方高校实验教学探讨
信息技术与教学难以深度融合的成因及解决途径探析
基于ASP技术下的大学生跳蚤书街平台的设计与实施
基于B/S架构的高校实验管理平台的设计与实现
高职学院信息化建设中面临的问题和思考
创新信息技术支撑教学变革
C/S架构下的中职教学辅助系统的新探索