基于多元数据的排考系统的设计与实现

2021-07-19 22:41张洪旗邓正杰
电脑知识与技术 2021年13期
关键词:教务管理管理信息系统高校教育

张洪旗 邓正杰

摘要:学校内期末时考试科目繁多,手动排考耗时易错。为解决高校排考需求,该文基于实地调研,采集各种数据,设计出一套预先进行数据处理的高效简洁,功能齐全的排考系统。在该文中进行了详细的数据和需求分析,以及系统设计。系统运行结果显示系统有效、可行。

关键词:自动排考;教务管理;高校教育;管理信息系统;多重约束

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2021)13-0089-04

Abstract:There are many subjects in the final examination in the school, so it is time-consuming and error prone to arrange the examination manually. In order to meet the needs of college test scheduling, this paper designs a set of efficient, simple and fully functional test scheduling system based on field research and data collection. In this paper, the detailed data and requirements analysis, as well as the system design. The system running results show that the system is effective and feasible.

Key words:automatic exam scheduling; educational administration; higher education; management information systems; multiple constraints

1引言

排考工作是教務处常规性工作,并且由于大学的扩招,课程增多等原因,排考的工作难度也随之增高,错误率也直线上升,诸多弊端[1]也浮现了出来。例如:1)教室空间利用率低,有时会把人数较少的班级分配到座位数较多的教室,然而人数较多班级分配到座位数较少的教室,导致一些教室空出大量座位,一些教室不够坐的情况。2)同科目考试的学生未在同一时间进行考试,有导致题目泄露的风险,严重威胁着考试之公平性。3)各科考试时间紧凑,给学生增加考试压力感,影响考生发挥。4)机考与笔试,错分进非机房和机房。5)如果老师临时有事,或者其他的调整,整个考试安排将会受到影响,就需要重新进行排考,重复巨大的工作量。为了解决如上问题,本文利用先将数据进行指定排序以增加教学资源的利用率和减少排考的错误率,模块化,等概率分配等方法介绍了一套高效简洁、易操作的排考系统。

2系统分析

2.1 约束条件分析

排考系统约束条件众多[2-4],这就导致了排考系统开发的复杂度高。为了让系统更加有条理,一般设计有几项原则:1)将人数多的班级分配到座位数多的教室。2)同一科目在教室足够的情况下,在同一时间进行考试(提高考试公平性)。3)每场考试之间都要些许时间间隔,给同学们一定的缓冲时间。4)该考试科目应该在规定的考试开放日期中完成考试。5)程序可判断考场是否足以分配此次考试。6)笔试应安排在普通教室进行考试,机试应安排在机房进行考试。7)主监考官为该考试科目学院的老师担任,副监考官为本学院老师担任。针对排考系统,国际上已经有了诸多的解决思路,并将其划分为线性优化问题, NP完全问题等,国内也已经有了诸多学者,对此提出了解决方案,如徐尚进,袁利永,陈艮生等学者[5]。但是算法仍不够灵活和简单,对此本文提出了一个简单且灵活的符合本校情况的排考系统。

2.2数据结构分析

排考系统的数据量较大,并且其数据结构也是较为复杂,要综合考虑考场,考生,考试科目以及监考老师之间的数据联系,如图1。

考场需要考虑座位数量是否够考生入座,并且还要考虑是否为机房,则考场的数据结构包含:学院楼教室号,座位数,是否为机房;针对现实的考试安排,考生基本是一个班在同一考场进行考试,并且为了满足监考教师的约束条件,则考试的数据结构包括:考生学号,姓名,班级,所属学院;考试科目的限制就比较多,因此数据结构也是最为复杂的,需要考虑此科目是非为机考,并且为了配合学校的教学安排,要对该考试科目进行考试时间段的限制和满足监考教师的排考约束条件则考试科目的数据结构包含:科目名称,考试人数,是否为机考,考试时间,考试开始日期,考试终止日期,所属学院。

为了宏观把控监考教师与考生考试之间的联系,本文采取了先对考生进行排考,后再针对教师与整个班级之间进行匹配和排考,则监考教师的数据结构包含:姓名,职工号,所属学院。

2.3数据结构分析

2.3.1考场

设置一个标记(记为FlagClass)区分机房和非机房,用于针对性进行机考和笔试排考,并且大容量考场提供给班级人数较多的班级,以提高教室资源的利用率和空间的使用率,在系统中储存考场信息时,利用FlagClass进行区分,分别存入ComputerRoomInfo队列(机房队列)和normalRoomInfo队列(非机房队列),可在空间复杂度不变的情况下,极大改善了删、改、查的时间复杂度。

2.3.2科目

设置一个标记(记为FlagSubject)区分机考和非机考,用于与考场中的FlagClass进行匹配来到达,机考在机房,笔试在常规教室的排课目标。并且设置科目允许考试时间期限,规定该考试须在指定的时间段进行考试,便于后续教学安排的进行,可有效地提高教务处的工作效率。针对此限制,该系统还进行优化:

ExaminationPeriod=EndTime- StartTime。

其中,ExaminationPeriod表示测试时限,EndTime表示终止时间,StartTime表示起始时间,然后将ExaminationPeriod进行由小到大进行排序,达到先将时间期限较短的科目进行先排,期限较长的科目后排,可极大地提高时间的利用率,并且可有效地解决该科目未能在指定时间内进行考试的问题,与考场信息储存相同,利用FlagSubject作为区分标准,分别将科目信息存入SuperiorTestInfo(机考)队列和NormalTesrInfo(笔试)队列中,極大改善了删、改、查的时间复杂度。

2.3.3监考教师

根据实践调研,多数情况下,考试监考官分为主监考官和副监考官,主监考官为该考试科目学院的老师担任,副监考官为学生所在学院老师担任,因此在教师信息读取的时,就针对该目标进行了针对性处理,利用二重队列的外层索引(index)来达到数据映射的目的[0,1,2……]=[“外语学院”“文学院”“信息学院”……],然后在处理教师信息时就可以将该教师加入指定的队列中去,最后在学院中教师选取采用的方法是等概率挑选的方法,并且在挑选后会在进行时间段的标记,避免重复选择和导致教师时间冲突等问题。

3算法设计

3.1总体思路

基于优先数据处理的排考系统的实现算法基本如图2所示。

基于Excel导入考生信息,将考生以班级分类储存;将考生以班级为单位按照班级总人数由大到小的顺序进行排序。基于Excel导入考场信息,利用FlagClass(机房为true,普通教室为false)将考场进行分类储存;将考场以容纳量由大到小的顺序进行排序。基于Excel导入科目信息,利用FlagSubject(机考为true,笔试则为false)将科目信息进行分类储存;将科目按照ExaminationPeriod(终止时间-起始时间)由小到大的顺序进行排序。基于Excel导入监考教师信息,根据教师归属学院进行分类储存。

进行部分排考(利用考生,考场,考试科目三者信息先行进行部分排考):查找所有学科中最早考试日期和最晚考试日期,得到日期差,记作n,并且创建n天的时间表(表中信息包括当天的日期,当天的教室及其占用情况和学科安排情况)。然后对非机考学科进行排考,首先遍历所有需要考试的学科,从学科开始考试日期开始向后遍历时间表,寻找可用的时间段,若早上时间足够,则更新该天的日期表,并且break找下一个学科,进行下一个学科的排考,否则就对下午时间进行检测,如果时间足够考试则更新该天的日期表,并且break找下一个学科,否则对下一天的时间进行判断,如此以往,直到找到可用的时间段,确定好考试时间后,对班级进行遍历,将考该科目的班级放入该可用时间段中的空闲房间。同理对机考科目进行排考。完成部分排考后判断是否所有班级都完成了所有科目的考试安排,如果为否,系统提示考场不足,并结束排考,否则系统提示部分排考成功。

紧接完成最后的排考工作:对监考教师进行监考安排,对每个教师创建一个时间安排表(监考时间),对每门学科利用随机数的方法从考试科目所属学院中随机选出一名教师,进行判断,如该时间段该教师已经有监考安排,则重新随机选择,直到选出未有考试安排的教师,然后将其设置为本场考试的主监考官,同理从考生所属学院中选出教师担任本场考试的副监考官。

完成排考后,就对排考结果进行指定排序,最后导出最终考试安排Excel表。

3.2部分操作再优化

在进行对该系统的测试中,我们发现了系统在实际操作中,仍然有许多可提升的空间,对此我们对系统进行了进一步的完善,如:每次完成排序后,后台将清空系统中各部分的队列,便于进行下一次排课;设置四个标记flag1,flag2,flag3,flag4分别作为考试信息,考场信息,科目信息和校区设置的监控变量,true为成功导入,false为未导入,用于进行排考时,系统可在排考前就可进行先行判断,给出提示,避免了后续因为数据不全和人员遗漏操作而发生的Bug和错误;对于已经排好后的考试安排信息在输出至Excel表之前,又进行了一次排序,使得数据展示更加的清晰,学生们以及教师们能更好地获取考试安排信息(排序规则:第一标准:是否是机房考试(先非机房后机房)、第二标准:考试时间(考试开始时间的非递减)、第三标准:班级名称(递增)、第四标准:学号的顺序(递增))

4排考数据展示

导入考生信息一般包括学号、姓名、班级和学院,如图3。

导入考场信息一般包括教室号、座位数及教室类型,如图4。

导入科目信息一般包括科目名称、任课老师、考试人数、考试类型、考试时间、考试开始日期、考试终止日期和学院,如图5。

导入监考教师信息一般包括学工号,姓名和学院,如图6。

考生排考结果展示一般包括课程名称,任课老师,校区,班级,考号,姓名,考试时间,座位号,教室,考试类型,主监考官和副监考官。

本系统还可以针对某些对象单独输出相关信息。比如:班级的考试安排表,如图7。考生的考试安排表,如图8。监考老师的监考安排表,如图9。任课老师所任课程的考试列表,如图10。

5结束语

随着时代的发展,简便化、自动化、高效化的工作越来越受到人们的欢迎。随着高校考生数量的增加,学科的增多,人工排考的工作也就越来越烦琐,于是自动高效的排考系统也就应运而生。可根据高校的实际情况,设计排考参数,让系统自动进行排考,极大地提高了高校教务人员的工作效率,以及工作的质量,且推动了高校的现代化,自动化的发展。本系统经过实际检验,具有较高的实践性,能基本满足高校排课需求,但仍需进一步的改善与优化,以增加程序的健壮性和功能。但系统也还有一些不足的地方,比如:未考虑存在补考学生考试科目相互冲突的情况,以后将进一步改进。

参考文献:

[1] 方琴.高校考务管理系统应用现状及需求分析——以S大学考务管理系统为例[J].现代经济信息,2020(4):179-180,182.

[2] 舒清录.基于C/S与B/S混合结构的高校智能排考系统设计与实现[J].信息技术与信息化,2020(4):16-19.

[3] 张培培,吕震宇,闫海波.基于高校考试管理细化的排考系统研究与设计[J].中国教育信息化,2019(9):77-81.

[4] 尹丽祯,张德政,詹钦潮.基于教务排考系统的研究与设计[J].内江科技,2020,41(1):45-46.

[5] 王志刚.高校智能排考系统的构建[J].西安工程大学学报,2017,31(4):556-562.

【通联编辑:王力】

猜你喜欢
教务管理管理信息系统高校教育
高校设计教育网络平台的服务系统设计研究
新形势下高校二级学院教务管理优化路径探析
有关开设跨文化课程优化教务管理的讨论