基于网络的教务排课系统研究与开发

2010-09-12 00:58董秀萍汲雪飞吴巧梅
中国教育信息化 2010年15期
关键词:课表教务学期

董秀萍,汲雪飞,吴巧梅

(1.北京工商大学机械工程学院,北京100048;2.装甲兵技术学院电子工程系,吉林长春130117;3.北京工商大学计算机与信息工程学院,北京100048)

基于网络的教务排课系统研究与开发

董秀萍1,汲雪飞2,吴巧梅3

(1.北京工商大学机械工程学院,北京100048;2.装甲兵技术学院电子工程系,吉林长春130117;3.北京工商大学计算机与信息工程学院,北京100048)

本文基于教务管理中排课系统存在的基本问题,详细分析论证案例院校的排课流程及主要实现方法,基于Browser/Server结构,在Visual Studio集成开放环境下采用C#和SQL Server开发排课系统。该系统实现了人机交互、智能辅助排课、冲突检测等功能,并成功地与教务管理系统的其他功能模块进行了数据共享。

教务管理;排课;数据共享

一、引言

排课是每年教务管理人员的首要任务,如何科学合理地进行排课,根据不同年级、不同班级、不同教员的特点快速、有效地进行排课,是教务管理人员一直期待解决的问题,这就亟需一套排课系统来解决此当务之急。在计算机和互联网普遍应用的今天,作为信息化教务办公管理系统的一部分,排课系统如何与成绩系统、选课系统、教学评价、考勤系统等教务管理其他子功能模块科学有效地相结合,同样是必须考虑的问题,也是排课系统开发的重点问题之一。

自从20世纪50年代开始,国外就有人开始了对排课的研究,经研究提出解决问题的方法主要有:模拟手工排课法、图论方法、模拟退火法和遗传算法排课法等。国内针对排课问题也相继研制出了一些排课软件,但是由于排课需要考虑的因素众多,真正能够很好地解决排课问题的软件却很少。国外的研究表明,解决大规模的课表编排问题光靠数学方法是行不通的。因为影响排课的因素很多:教师、班级、时间、地点、时段等因素之间的关系难以运用统一的方法进行模式化,而在某些院校内还可能会出现某些特别的限制条件,通常这些特定条件无法归结出固定的规律,但往往又是决定性的,所以在这种情况下只能具体问题具体分析、具体问题具体解决。在仔细研究了案例院校排课特点之后,我们发现该校的教学灵活度非常大,没有固定的开始时间和持续周数,而且上课的地点和教师具有很大的指定性(如某周在另外的教室上一节或多节课),这样,如果使用推理方法进行自动排课,是无法生成最终解决方案的,就算生成半成品,那么在后续的交互改进过程中工作量照样很大,还不如直接重排。所以,我们提出了以手工排课为基础,利用网络和软件的功能性最大化提高排课速度,减小重复性操作的解决方案,并实现与教务管理系统其他模块(课表模块、考勤模块等)的数据统一。

二、排课中的基本问题

对于排课系统来说,首先要解决的问题是如何建立一个合理的数据结构,数据结构的建立必须要对排课的各个细节问题都有深入的理解,这样才能为排课系统打好基础,在将来的应用过程中数据结构通常不会再改变。其次要确定排课系统的核心环节——上课时间地点信息,包括上课班级、授课教员、上课地点、使用装备及数量、上课时间等信息。上课时间的记录,经过考虑决定使用周、天、时间3个条目的方式进行记录,这种记录方法相对于绝对日期记录的好处在于,在排课、课表、考勤几个模块中可以直接以此作为课程的坐标,不需要进行换算,提高了程序的效率,而且相对时间是很灵活的,有利于处理意外情况。另外,此案例的特殊之处主要有:

(1)学校存在一个标准的学期时间段:每年9月到次年1月为第一学期,1月到8月为第二学期,而对于班级而言,没有准确的学期概念,可能是从任意时间开始作为此班级学期的开始时间。

(2)班级在上某些课程时需要编排使用器械情况,在排课过程中应可以为某门课的某个特定时段课程定制器械,包括器械的名称和数量。

(3)具有合班上课的情况,要求编排好合班课程后其他相应课程自动排好。

(4)课表的格式是将每一周的课程都显示出来,横轴是星期,纵轴是周数。这是由院校方提出的要求,目的是详尽地显示出多变的课程属性并与老式课表具有相同的格式,这种类型的课表格式广泛出现在课程属性随时间多变的任职培训类院校中。

三、排课系统的流程设计

排课系统的主要排课流程可以分为三个阶段:排课前置信息准备;排课;后续显示与重用。图1为排课的整体组织结构。

图1 排课的整体组织结构

根据排课系统的要求和特殊条件的情况,系统的整体模型架构如图1所示,其中在制定教学实施计划之前必须保证所有的排课前置信息都已经输入完整。

根据上文所述特殊条件(1),我们发现对于每一个班来说,其起始周时间都是不同的,但为了使用相对时间进行表示,就必须确定一个起始周时间,也就是这个班上第一周课的时间,否则在生成课表时无法显示出绝对的日期,而没有将周数与学校学期起始周时间关联是因为一旦学校的起始周时间有改变,那么全校的课表都会发生变化,这样不利于系统的稳定。所以,我们增加了班级教学信息表,这个表最重要的功能就是记录了这个班级起始周的时间,这样,在排课的过程中就可以清晰地进行操作,图1表示了待排课程的数据关系,有了这些关系,就得到了课程、班级和起始周时间这几条关键信息,再在排课界面对具体的时间、教员、教室和装备信息进行选择即可完成。在教学实施计划中,我们加入了教室、教员和装备的选项,目的是为了提高排课效率,在排课的过程中就可以以此作为侯选进行选择,而不是从全校的教室列表中选择某一个教室。对于条件(3),我们在排课初始对是否有合班情况进行检查,如果有,则将合班排的这门课直接进行导入,而非将此信息重复储存到各个合班的数据库中,减少了数据的重复度,增加了数据库的合理性。

四、排课系统的实现

本系统用Visual Studio2008、C#和SQL Server数据库实现上述功能。通过对排课系统流程和模型的整体分析,构建了排课系统的数据库,其中包括课程详细表、教学实施计划表、班级教学总信息表、班级上课时间地点表四个主要数据表。表结构如图2所示。

图2 数据表结构

在进入排课之前,先对教师、教室、装备、班级、学期等信息进行编排,每一个模块在未来的运行中都可以进行动态的维护。在排课时,为了提高效率,最大限度地减小重复性操作,同一门课在编排过程中可以通过简单的复制粘贴进行操作。

在冲突检测模块中(如图3所示),对以下条件进行了筛选:同一班级、教师、教室或装备在同一时间内不能上两门课,教室的容量乘以一定比率(可动态设置)不能小于上课各个班级人数总数等。排课操作界面如图4所示。

图3 冲突检测算法流程

图4 排课界面

五、结论

排课系统的使用实现了较高的效率,友好的操作界面使用户很容易就能上手,适用于大规模人员同时进行排课,最大幅度地缩短了排课周期。在排课完成后,提供了功能强大的课表显示和打印功能,同学和老师可以方便地以各自的用户名登录系统,自助式地进行打印。在使用过程中,排课系统达到了预期的效果,在短短两天时间内完成了全校学年课表的编排,并在后续的课表必要修改中得到了预期的简便、准确的效果,而且很好地和教务系统中的其他模块特别是考勤模块实现了联合,取得了实质性的成功。☉

[1]刘立军.学生信息管理系统的研究和开发[J].泰州职业技术学院学报,2005(2):63-67.

[2]王柏.分布式计算环境[M].北京:北京邮电大学出版社,2000.

[3]Hans Van Viet.Software Engineering-Principles and Practice,2nd Edition[M].New York:John Wiley&Sons,2000.

[4]Alex Kriegel.SQL宝典[M].北京:电子工业出版社,2003.

(编辑:金冉)

book=70,ebook=96

TP311.52

B

1673-8454(2010)15-0070-03

猜你喜欢
课表教务学期
学生出招解决”日课牌“问题
新的学期 新的尝试
高校教务管理工作的现状分析与优化研究
如果我是校长
教务排课对高等院校教学运行的作用分析
期末冲刺高二上学期期末模拟卷
浅析新时期高校教务管理工作创新探讨
八年级(上学期)期末测试题(D)
各地区学生课表
写在最后