黄帅 李勤 李航宇 陈奇瀚 郭定枨 廖志超
摘 要:基于PHP语言的响应式考场座位安排系统能使传统考试安排更智能化,减轻了教务人员的压力,降低考试出错和发生冲突的概率,学生能在线及时查看自己的考试信息,避免错过考试。教师也能方便地在线安排考试,只需选择相对应的考试对象的信息,系统就能安排考试座位。系统能快速地修改考试信息也能打印考试信息,提高了考试座位安排的效率,系统还能兼容各类电子设备并正常地显示内容,对线下考试工作提供了极大的便利。
关键词:考试管理;座位安排;PHP
中图分类号:TP311.5 文献标识码:A 文章编号:2096-4706(2023)16-0054-04
Design and Implementation of Responsive Seating Arrangement in
Examination Room System
HUANG Shuai, LI Qin, LI Hangyu, CHEN Qihan, GUO Dingcheng, LIAO Zhichao
(Wuchang Institute of Technology, Wuhan 430065, China)
Abstract: The responsive seating arrangement in examination room system based on PHP language can make the traditional exam arrangement more intelligent, reduce the pressure of teaching staff, reduce the probability of errors and conflicts in the exam. The students can timely check their own exam information online, avoid missing the exam. The teachers can also conveniently arrange the exam online, just need to choose the information of the corresponding test object, then the system can arrange the exam seat. The system can quickly modify the exam information and print the exam information into a table, which improves the efficiency of the exam seat arrangement. The system can also be compatible with electronic devices of different screen sizes and display the content normally, which provides great convenience for the offline exam work.
Keywords: exam management; seating arrangement; PHP
0 引 言
如今,考试已是各大校园必备的一种检验知识能力是否合格的一种方法。当今时代,传统的考试安排已经不能满足校园考试大量化的需求,需要智能化的考试安排系统接棒。传统的考试安排会消耗大量的精力,出错率也较高。如果因为某种特殊原因需要修改考试信息,学生也许不能及时得到最新的考场信息而延误了考试。因此,开发一套智能化的考试安排系统是很有必要的。
本系统基于PHP实现,开发本系统的目的是使考试安排变得便捷、易修改、无冲突,学生也能更快地查询到最新的考试信息,帮助教务人员轻松地分配考场而无任何负担,响应式设计能够使网站针对不同设备环境进行响应和调整,实现同一个网站对多种终端设备的兼容。
1 系统设计
1.1 设计原则
本系统架构是B/S架构,采用SSR(服务端渲染)模式,针对线下考试安排座位,该系统能在多平台下运行,通过CSS媒体查询实现在屏幕大小尺寸不同的屏幕能够实现响应式的调整布局,给用户最佳的体验。本系统在Windows操作系统下开发,主要采用JavaScript、PHP语言,MySQL数据库和Bootstrap框架、Nginx服务器等技术实现。采用JavaScript、PHP和MySQL开发能使开发效率更高,此系统具有跨平台性,不仅能在Windows下运行也能在Linux下运行。系统需要根据对应的信息无冲突安排出考试座位。本系统主要分为两端,一个是教师和管理员端,教师和管理员可以安排考试,管理员能限制教师的权限。学生端能查询自己的考试信息,本系统查询能多样查询,比如可以根据科目、考试时间、监考老师查询等,极大地方便了人工进行筛选和查找。要解决考试时段的冲突问题,重点在于如何处理学生、科目、时间、考场、监考教师之间多重的多对多联系的复杂关系,从而得到一个最优的组合。
1.2 需求分析
本系统主要分为三个角色,分别是学生、教师、管理员。每个角色的具体功能如下:学生:查询考试信息;教师:考试信息管理,学生信息管理;管理员:教师和学生信息管理,教师权限管理,考试信息管理。
学生可以查询考试的具体信息,比如考场、考试时间等。管理员对学生、教师、考试信息进行管理,还能对教师操作权限做出限制。教师可以安排考試,选择对应的考试的班级,系统根据教师选择的信息无冲突给学生安排座位。学生不仅能查询到考试信息,该系统还需要有打印考试信息的功能,离线状态也能查看。该设备还需是响应式的,即在屏幕大小不同的设备下能正常地显示内容,模块功能图如图1所示。
1.3 数据库设计
此系统采用MySQL数据库,共有12张表,分别是存储院系信息、专业信息、年级信息、班级信息、考试科目信息、考试教室信息、监考老师信息、考试信息、学生信息、教师信息、管理员信息、教师权限信息,在考试信息表中记录了详细的考试信息,学生信息、教师信息、管理员信息主要是储存账号、密码、姓名,其他表是储存与考试相关的基本信息。由于篇幅原因,下面列出有代表性的一张表,如表1所示。
2 系统的实现
2.1 登录模块
本系统登录分为管理员登录和师生登录两个模块,管理员的账号和密码在安装本系统时设定的,第一管理员还可以分配其他管理员的账号和密码。师生的账号和密码由管理员分配,教师也可以录入新的学生账号,账号和密码均成功时才可以登录成功,身份验证采用COOKIE和SESSION的组合,登录成功后,信息会在客户端保存一段时间,在这段时间内,用户可以免登录进入本系统,如果用户想要切换账号,也可以先退出系统,再重新登录,用户也能修改登录密码。学生登录界面如图2所示。
2.2 信息管理模块
信息管理模块分为基本信息录入、学生信息录入、教师信息录入,管理员信息录入,信息修改与删除。基本信息录入分为院系信息、年级信息、专业信息、班级信息、考试教室信息、考试科目信息、监考老师信息,这为考试安排提供了基本的相关信息,支持多条信息录入,每一条信息占一行。学生信息、教师信息、管理员信息是录入账号、密码、姓名信息,学生信息录入可以选择院系、年级、专业、班级,年级和班级是必选项,在录入基本信息后,点击相应的选项按钮后,相应的信息就会显示出来。在录入密码时,如果密码都一样可以只输入一个密码,代表所有的账号都使用这个密码,也可以输入多个相同的密码(如果通过表格形式导入,表格里面只写一个密码,导入到密码框可能是两个密码,需要把第二个空行给删除,不然系统会提示其他账号缺失密码),信息录好后点击提交按钮,如提示成功录入的条数表示录入成功,有些数据已经存在数据库也会提示信息重复,有些特殊字符不能录入也会有提示。信息录入可以直接导入外部的表格文件,支持多个文件导入,也支持部分录入,只需要把表头写正确就能导入成功,表头可不分顺序,比如表头为年级、班级,也可以为班级、年级,如果只想录入班级信息,也可以只写班级。信息修改与删除能对录入成功的信息进行操作,可按分类搜索查找具体信息进行操作。学生信息录入如图3所示。
2.3 考试管理模块
考试管理模块主要分为考试随机安排和考试查看模块。考试随机安排先要选择考试年级、考试班级、考试科目、考试教室、每间教室容纳人数、每间教室监考人数、考试时间、考试备注,系统才能根据录入的信息进行随机安排,如图4所示。系统先从选择的考试年级和考试班级中获取全部学生的信息,再把所有的学生信息放入一个数组中,再根据选择的教室信息和每间教室容纳的人数随机生成座位号,放入另外一个数组,再通过数组随机索引抽取,将两个数组的数据进行综合,就能无冲突地为不同的学生匹配不同的座位号,系统也会根据每间教室监考人数从数据库中调用监考老师的信息,并随机为监考老师分配考场,如果人数不足,系统也会有提示信息。点击考试时间框或者点击旁边像日历一样的图标可以选择时间,考试备注是选填的。考试查看可以浏览所有的考试信息,搜索考试信息并可以删除和修改考试信息,右上角打印功能能打印所有考试信息成为一个表格并下载下来。点击每一项考试中的查看按钮,也可以对每一场考试单独打印详细信息。
2.4 权限管理模块
权限管理模块主要是管理员对教师权限做出限制,如果用教师账号登录这个系统,该模块不会显示,只有当用管理员账号登录时该模块才会显示。管理员可以对教师六种权限做出管理,主要是对考试安排、考试删除、考试修改、信息录入、信息删除、信息修改这些权限做出控制,如果管理员将某一项权限勾掉,那么教师就不能进行这一操作。管理员不仅可以控制教师的权限,还可以直接修改教师和学生的信息,教师只能修改学生的信息,如图5所示。总的来说管理员权限最高,其次是教师,然后是学生。
2.5 学生信息查询模块
学生信息查询主要是学生登录学生端,只有录入成功的学生信息才可以登录成功,对自己的考试进行查询,可以看到考试的相关信息比如考场、座位等,如图6所示,也可以将考试信息打印下来,以便离线时观看。学生端也能查看自己的基本信息,比如院系、专业、年级、班级等。
2.6 软件安装模块
此程序首先需要搭建Web服务器,需要安装PHP语言,版本要求7以上,需要安装MySQL数据库,版本要求5.7以上,需要安装Nginx,版本要求1.15以上。将源程序目录下所有文件上传到服务器后,访问/install/install.php,点击下一步,如图7所示,填写数据库相关信息,点击连接,连接成功后再点击下一步,创建表成功后,再点击下一步(如果重新安装,数据库已经存在表,会提示执行失败的条数但并不影响使用),设置管理员账号、密码和姓名,再点击提交(如果重新安装,数据库已经存在账号,就不能填写与原来相同的账号,不然会提示服务器错误,需要把原来的删除或者输入与原来不一样的账号),提交成功后会提示安装成功,再点击确定,会跳到后台登录页面(安装成功后会删除install目录下的lock.txt文件,如果需重新安装,在install目录下添加一个lock.txt文件即可)。
3 系統测试
本次测试对安排100人和1 000人考试进行测试,结果如表2和表3所示。
从表2可以看出,多出10倍人数,该系统只是多了将近1秒的时间,证明该系统效率高。从表3可以看出,该系统容错率高。
4 结 论
本系统的开发有助于学校高效地对线下考试座位进行安排,具有多平台、多设备、易修改等特点,解决了传统安排考试的复杂、出错率高、耗时长等问题。系统还具有更多的研究意义,第一,比如线下考试时,监考老师可能连续监考好几场考试,会使监考老师过于疲劳,对于学生也是如此,如果连续几场考试安排在一起,学生也会很疲劳,系统未来可以尝试解决这一考试安排密度问题。第二,如果系统修改了考试信息但学生没有及时登录系统进行查看,会导致学生获取到错误的考试信息,未来可以尝试解决这一问题,安排或者修改考试时需要及时通知到学生和学校各单位,以及在考试之前几个小时之内能提醒学生准备考试。系统不仅要解决座位之间的冲突,也要解决每场考试之间的冲突,在同一时间段,同一学生只能拥有一场考试而不能在同一时间段拥有多场考试。第三,系统也可以增加线上考试功能,可以将题库录入系统,规范考试的规则制度,完善系统的防作弊功能。第四,可以增加成绩显示功能,无论是线上还是线下考试,都能让学生查到具体成绩以及每一部分的详细成绩,能让学生制定下一步的学习目标。第五,系统可以增加对每场考试的评价功能,比如考试题目难度等级,学生可以实名或匿名的方式进行评价,监考老师也可以及时评价该场考试的纪律,然后将所有的评价进行分析,以可视化的图表形式呈现出来。此外,信息录入、考试安排效率、页面布局以及兼容性等方面还有待进一步优化,系统架构也有待升级。总的来说,该系统现有功能和未来扩展功能都是很有应用价值的。
参考文献:
[1] 谢路.基于Web的考务管理系统设计与实现 [J].福建电脑,2019,35(1):136-137.
[2] 张培培,吕震宇,闫海波.基于高校考试管理细化的排考系统研究与设计 [J].中国教育信息化,2019(9):77-81.
[3] 尹丽祯,张德政,詹钦潮.基于教务排考系统的研究与设计 [J].内江科技,2020,41(1):45-46.
[4] 王志刚.高校智能排考系统的构建 [J].西安工程大学学报,2017,31(4):556-562.
[5] 杨瑞.基于.NET技术的在线考试系统研究与设计 [J].电子设计工程,2013,21(24):37-39.
[6] 王勤,赵新冬.基于云计算的在线考试系统 [J].计算机与现代化,2014(12):37-43.
[7] 邹润奇,鲁丽萍.一类考场座位安排算法的研究 [J].计算机工程与设计,2005(6):1514-1515.
[8] 李芳.中職学校在线考试系统的设计与实现 [J].现代信息科技,2022,6(24):134-137.
作者简介:黄帅(2001—),男,汉族,湖北武汉人,本科在读,研究方向:软件工程;通讯作者:李勤(1978—),女,汉族,湖北武汉人,副教授,硕士研究生,研究方向:计算机应用技术;李航宇(2001—),男,汉族,山西运城人,本科在读,研究方向:软件工程;陈奇瀚(2001—),男,汉族,湖北汉川人,本科在读,研究方向:软件工程;郭定枨(2002—),男,汉族,福建福州人,本科在读,研究方向:软件工程;廖志超(2002—),男,汉族,湖北潜江人,本科在读,研究方向:软件工程。