基于学分制多校区的考务管理系统设计与实现
2009-09-29肖清雷
肖清雷
摘 要:在学分制教学管理模式下,由于学生选课的自主性和多样性,相同专业的学生选课也不尽相同,给教学管理带来一个极大难题。随着高校扩建和多校区格局的形成,其考试安排问题尤为突出。本系统应用了贪婪算法对考试时间安排这一实例进行最优化求解,同时合理地解决了考场分配、监考安排问题,成为智能考务管理有效实施的关键,且成效显著。
关键词:学分制 自动排考 贪婪算法
中图分类号:TP319 文献标识码:B 文章编号:1673-8454(2009)17-0031-04
一、引言
随着教育体制改革的深入发展,实施学分制教学管理模式已成为我国各高等院校教学改革的发展方向。在该管理模式下,专业相同的学生选课也呈现多样性,这给教学管理带来一个极大难题,在考试安排上表现尤为突出。随着高校扩建和多校区格局普及,合理的学生考试时间安排、考场分配、监考安排等问题成为智能考务管理有效实施的关键,是高校信息化建设的迫切要求。针对上述问题,我们提出了基于学分制多校区环境下考试安排管理的整体解决方案,并重点解决了学分制考试管理中三个核心难题:考试时间自动安排算法、考场自动安排算法、监考自动安排算法。基于学分制多校区环境下的考试编排系统目前在国内外尚属空白,对高校实施学分制教学管理具有较强的指导意义。
二、系统总体设计
系统总体设计结构如图1所示。C/S应用程序的使用对象主要是考务管理职能部门;Web服务器使用对象是教师和学生,在多校区环境下考务信息发布中起着重要作用;JBoss服务器协同完成排考子系统中需要的业务操作,分担Web的业务计算功能,在实际的应用中JBoss服务器完成复杂业务计算,Web服务器完成页面表现;防火墙用来保护数据服务器及服务器安全;照片代理服务器用来提供照片显示服务,为巡考提供考场学生抽查相片信息服务;身份认证服务器用来对用户使用本系统的合法性进行认证和分配权限。
1.系统流程
系统数据流图如图2所示。
系统流程如下:
(1)系统获取基础数据,如考试时间、教室信息、考生数据、考试课程和院系监考人数;
(2)系统根据给定的考试时间范围约束考试课程,采用本文设计的算法,自动编排课程的考试时间,并保证同门考试课程在不同校区的考试时间一致;
(3)系统根据各校区的教室信息和规则自动编排考场;
(4)为编排好的课程进行监考人员编排及生成学生考试信息;
(5)学生考试信息发布,监考信息发布。
2.系统功能模块
根据学分制排考的业务需求,系统主要由以下功能模块组成:数据准备模块、考试编排模块、考务事务模块和系统管理模块。如图3所示。
(1)数据准备模块
数据准备模块是为系统的运行提供原始数据:考试时间、教室信息、考生数据、考试课程和院系监考人数。
考试时间设定的功能是根据用户设定考试开始和结束日期,每天三场次的考试时间段,生成时间段的场次号以及每场次的初始优先级。
教室信息设定的功能是录入或统计可用作考场的教室信息。
考生数据是从学生选课结果中获取的要参加排考课程的学生信息。
考试课程数据是从选课表中导出待排考学生选课数据。考试课程确认,如果本学期课程特别多,有些专业课考试可由院系安排,没必要由教务处安排统一考试,通过该模块确定需教务进行全校排考课程。
院系监考人数,院系可根据实际情况确定可派出每场监考人数,即“监考教师人数”。院系对本部门教师要填写监考校区意向,填报了的可用于参加监考,因此可知“有地址人数”。
(2)考试编排模块
1)考试时间编排
考试时间编排窗口的功能是编排每门课程的考试时间,并使用同门课程在不同校区的考试时间保持一致。编排时间将根据教室使用率和最大冲突人数、课程优先数进行编排。主界面如图4所示。
“清除结果”:清除原有的编排结果。
“优先级设置”:设置排考课程的主考校区和课程排考优先级。优先数据小的在条件情况一样的情况下将优先参加排考。
“冲突检测”:可以显示手工指定排考时间的课程是否存在考试冲突的学生名单。
“编排”:在输入教室利用率和最大冲突人数后,进行自动编排考试时间。
“排考分析图”:在编排完时间后,可以查看各场次的排考人数分布情况。为排考合理性提供直观依据。
“场次数预测”:是预时间编排操作,为正式编排提供参考,以便做出合适调整。
2)考场编排
考场编排窗口的功能是编排各考试课程的考场。
设置考场优先参数:当楼栋的优先级设好后,同一栋数的教室的初始优先级按照楼栋和考场号优先级变为升序。可以通过修改优先级数改变其安排优先顺序。
考场编排原则:有“考场最少”和“班级相邻”。“考场最少”是指考场安排时最优先考虑尽可能产生最少考场人数碎片,以最先找到合适容量教室为原则,这样所用的考场将最少,安排监考人数较少,但有可能同一门课程分布在不同楼栋,不利于巡考。这个原则较适合在教室资源较为紧张时采用。“班级相邻”原则指尽可能考虑同一门课程安排在相互靠近的考场。效果是,由于不考虑产生考场人数碎片问题,使用考场较多,监考人数安排较多,同一课程在相互靠近的考场考试,利于巡考。这个原则适合用于教室资源丰富时。
3)监考编排
主要功能是对已排好的课程进行监考自动编排。自动编排原则有:第一监考为课程所在院系原则、任务量均摊原则、不超过每场次派出最多人数原则。编排结束后,院系可对监考进行微调,在未审核状态下各院系可以通过网上更换监考教师。审核通过后,院系就不能再申报监考教师了,但考务管理人员可以指定监考教师。
(3)考务事务和系统管理模块
1)考务事务管理主要是打印功能:试卷分发单打印和考试签到单打印。试卷分发单打印是将某个时间某门课程的考试学生人数打印,而考试签到单打印是将某个时间某门课程某考场的学生名单打印出来,打印考试学生抽查单是用于核对学生身份。
2)系统管理主要是完成以下三个功能:校区网上信息控制开关、设置工作学期和打印设置。
三、考试时间编排算法设计
在学分制下排考要解决三大问题:
第一,学生考试冲突。大规模的考试中,如期末考试,涉及学生面广、课程多、考试时间短的情况下,求出没有学生考试冲突的解是十分困难的,它的排列组合相当大,耗时特别长。因此,如何把学生个人考试冲突人数减少到最少是排考要解决的关键问题。
第二,考场资源冲突。根据本校的考场信息资源,如何充分有效地利用教室,减少教室的分配碎片,提高教室利用率,是考场安排主要解决的问题。
第三,监考老师如何指派。根据学校的监考人员库,尽可能将监考任务平均分配出去,并要做到监考人员时间不冲突,监考任务平均分配。
以上问题的求解就是对三个公共资源的合理调度,因此我们尝试使用贪婪算法去研究和解决问题。
1.考试时间编排算法
在本系统中采用贪婪算法。贪婪法不追求最优解,不要回溯,只希望得到较为满意的解。虽然贪婪法不是对所有问题都能得到整体最优解,但对范围相当广泛的求最优解问题来说,它是一种最直接的算法设计技术,通过一系列局部最优的选择,即贪婪选择可以产生整体最优解。具体地说,通常所求问题的一个整体最优解,是从贪婪选择开始的,而且每作一步贪婪选择后,原问题可简化为一个规模更小的类似子问题,然后通过多步贪婪选择,最终可得到问题的一个整体最优解。
课程时间编排是排考系统的核心模块。排考算法主要在规定考试时间范围内和其他约束条件范围内,有效地合理组合各课程及考试时间,获得一个可以实施考试的解。按排列组合来做,将是一个耗时、耗计算的难题。如何快速求出一个有效解,是该算法的关键。在算法设计时涉及的要点有:
(1)考试最大容量:这个值不是所有考场座位数的总和。由于在一个考场安排时有可能会出现考场座位空闲的情况。因此,每个时间内的考试最大容量公式:
考试最大容量=考场座位数×座位使用率
座位使用率是一个经验值,一般会在0.8~1之间。
(2)允许冲突人数:在学分制选课情形下,要尽可能避免同一时间同一考生参加两门或多门考试的情况。但在实际操作中发现,当允许冲突人数为0时,将会使整个考试时间周期拉长,这有时在考试安排中是无法满足的。因此我们将允许冲突人数根据不同情况将其设置在一定范围之间的一个值。发生冲突的考生可在有冲突的考试时间选一门考试,其他冲突的考试科目可采用备份试卷进行缓考解决。
历年来应用效果如表1所示。
考试时间编排算法如图5所示。
2.考场编排算法
根据考试课程时间的编排结果,考试编排就是要合理解决某时间所安排课程的具体场地问题。有如下一些考虑因素:
(1)在考场足够多的情况下,相同课程尽可能安排在相近的考场内。这样的排法,便于课程巡考及考务管理。但这种算法容易造成尾数考生占用整个考场,降低了考场座位使用率。
(2)在考场有限的情况下,采用考场择优算法,根据课程人数,选取一个最合适且能安排该课程的考场。这样能充分提高座位使用率,但有可能会造成同门课程分散在不同地点的考场中进行,不便于巡考等管理工作。
(3)为了充分提高考场座位使用率,还要有将尾数考场进行合并操作的功能。将某一时间的零散考生集中到同一考场中进行考试。
3.监考编排算法
在对监考人员自动编排时要解决的问题有:
(1)监考尽可能要派与开考课程相关的教师。
(2)监考人员编排应根据其所在校区,尽可能派该校区监考。在多校区模式下,避免监考人员跨校区奔波。
(3)尽可能将监考任务平摊给监考人员,不会出现个别人、个别院系监考任务过重的情况。
(4)监考编排算法满足监考的一般实际要求,对于一些监考的特殊要求,可以局部采用手工方式进行补充。
四、应用效果
江西财经大学自1994年实施完全学分制已有14年,在考务管理上积累了一些经验。考务管理系统多次更新。本系统是在学校扩建形成了多校区格局环境下产生,至今已运行4年多了,涉及3个校区,每次考试涵盖学生人数达1万多人。本系统广泛应用于期末考试、期中考试、补考考试、二专考试等各类考试安排,发挥着重要的技术支撑作用,取得了很好的效果。
本系统通过对班级、学生、课程、考场、时间和监考老师等实体关系的分析,以贪婪算法为理论基础,较好地解决了考试时间、考场和监考人员安排问题,得到了一个近似最优的解决方案。基于学分制和多校区环境下的考试安排智能化系统在国内外均属空白,因此该方案对高校实施学分制教学管理具有较强的指导意义。
参考文献:
[1]王素荣.教育信息化理论与方法[D].北京:社会科学文献出版社, 2006.
[2]聂小东.基于贪婪算法的排课系统的研究与实现[D].广东工业大学, 2006.
[3]韩承双,张春梅,王开友.自动排课系统迭代算法设计与实现[J].合肥学院学报(自然科学版),2005,15(3):52-56.
[4]赵晓庆,熊璋,方义.高校智能排课系统的设计与实现[J].计算机与现代化,2004(11):102-105.
[5]李端明,李宇翔.学分制下排课的数据组织与算法[J].计算机工程与设计,2006(19).
[6]任虹灿,李世晨.学分制环境下学习预警信息系统的设计与实现[J].计算机工程与设计,2007(10).
[7]胡世清,葛幸平.高校自动排考软件的优化设计[J].教育信息化,2001(3).
[8]黄勇,苏守宝.一种新的高校自动排考算法[J].计算机技术与发展,2007(12).