山东英才学院排课系统算法的研究与设计
0引言
随着民办高校办学规模的持续发展,课表编排问题在教务管理中尤显重要,它在一定深度上影响着教学中工作的效率、质量。
当前使用的自动排课系统软件主要针对的是普通国办高等院校,不适应于民办高等职业技术院校。
现在以学分制为主代替了以学时制为主的变化,使得课程表的编排工作发生了较大的变化,实现学分制下的排课系统,成为噬待解决的问题。
对比诸多当前主体的排课系统软件,不难发现其大多采用的是以传统的方式来进行程序设计,也就是把以程序作为整个自动排课系统的核心问题。
而自动排课系统中所涉及使用的相关数据主要侧重的是有规律性、变化不明显的排课原则,因而对于各个高等院校之间的不同点考虑得不全面,还有则是程序与所用数据的关系结合得过于紧密,这无疑加重了程序修改、软件系统维护的难度,对自动排课系统的进一步扩充、升级没有优势,所以说排课系统的通用性受到了限制,加大了对人工调整的依赖性。
山东英才学院的实际条件使得外聘兼职教师会一直存在,而对于上课时间的要求,所有外聘教师给出的是相对固定的。
由此可见,学生课程表的编排问题在很大程度上受到教师(外聘教师为主体因素)、教室类别(功能)、学生类别(层次)、课程种类等因素的约束,还有教学、授课时间等其它因素,体现的是排课系统的大规模、
复杂程度的约束条件以及相关数据相对不固定等特点,也是当今计算机应用科学研究的问题之一。
1自动排课系统算法
1.1制约条件
有一些相对应的限制条件及规则在课表安排中是要必须遵守的,目的是尽可能地减少诸如时间及地点冲突的出现,尽可能地满足学生、教师、教室的各种实际限定条件。
必须遵守的基本条件、基本原则不外乎有以下几个方面:①同一个班级的所有同学在同一时间段内,只能安排一门以下的课程(选修课可以例外);②每一位教师(包括外聘教师)在同一时间段内,只能讲授一门课程;③具体的教室在满足授课条件的基础上,只能用于一门课程的教学;④在同一时间段内安排的不同课程数总量,不能大于给出的教室总数量;⑤参加某一课程学习的人数,要小于选定教室的总座位数量。
1.2不确定的制约条件
除去眼前山东英才学院具体师资及教室实际情况,还应该考虑以下不确定因素,才能使安排的课程表趋向于更合理、更优化:①优先考虑外聘教师所授课程的安排;②优先考虑全院公共基础课程的安排;③不能连续安排一周内有多次授课的课程;④同一个教室中尽量安排一周内有多次授课的课程;⑤同一个教室安排同一个班级、同一位教师的课程;⑥同一个教室安排不同班级的同一门课程;
⑦专业课程要安排在多媒体教室中授课。
2排课算法中的数据结构分析
考虑山东英才学院的实际情况,其自动排课系统实现算法中可以定义的5个具体的操作实体对象有:教师、课程、班级、教室以及时间。
一种数据结构与一个具体实体对象一一对应。
(1)课程类型(class_course)包含有以下7种基本属性:课程号(id)、课程名、授课教师、授课班级、需用教室、实际课时数、可选用教学时间。
对于一周要授课多于一次的课程,可以采用在智能排课开始之前将该类课程复制的方法,即可以让其存在多个个具体实例的方法,来完成该类课程的授课安排。
(2)班级类型(class_class)包含以下3个属性:班级号(id)、班级名称、可选用的教学时间。
排课过程中检验自然授课班级在上课时间上的冲突,可以用“选用的教学时间”来判断,在同一时间段内同一个班级所授课程必须少于一门。
(3)教师类型(class_teacher)包含以下3个属性:教师号(id)、教师姓名、授课教师可提供的教学时间。
对于山东英才学院的自动排课系统来说,对自动排课结果能产生影响的最大因素之一是授课教师情况(以外聘教师的制约条件为主)的多样性。
比如兼职外聘教师的授课时间是受限制的,解决的
方法是为每位教师建立授课时间数据表,同时保证与所授课班级的可用时间保持一致。
(4)教室类型(class_room)包含以下3个属性:教室号(id)、教室名称、教室的可用时间。
对于山东英才学院而言,随着学院办学规模的快速发展,教室作为教学资源之一也有其时间的局限性。
而对于某一个实体教室能不能满足具体课程授课的条件要求,比如该教室是不是有足够多的座椅等问题,可以由具体的教务工作人员在完成基本数据录入阶段来完成有针对性的处理工作,以期最大限度地利用有限的教室资源。
(5)时间类型(class_time)是最关键的一个数据结构类型。
山东英才学院智能排课算法中的其余4个类型中的可用时间可以作为该类型的一个具体实例。
3算法中的数据库
3.1数据库模型
山东英才学院智能自动排课系统需要的初始数据包括课程、教室、教师、班级等相关的数据信息,结果则是得到求解的结论亦即自动排好的课程表。
数据库就是上面所叙述的相关教学、教务信息的载体。
英才学院智能排课系统中数据库的设计是以规范化的数据库理论为基础的,要想得到一个好的关系数据库的数据表关系,则一定要使该数据表关系满足一定的约束条件,而对于此约束条件已经形成了若干个数据库关系范式规范,分成若干不相同的等级,一
个等级比一个等级要求得严格。
其最大的优点在于提高了选择、投影、连接等运算在具体排课应用开发过程中的效率,在最大限度地避免了冗余及数据库管理维护方面可能会出现的异常现象的同时,也极大地方便了用户。
表1是几种常见的范式概念。
3.2关系概念模型
在使用关系数据库模型完成自动排课系统开发的过程中,首先要进行的是概念结构的设计,在山东英才学院自动排课系统中所用的概念结构充分反映了山东英才学院实体之间的相互联系。
根据英才学院实现的情况(主要是教室量、学生类别),排课系统的实体-联系图(e-r模型)如图1所示。
4软件界面设计
4.1用户界面
山东英才学院智能自动排课系统中各个具体的子功能可以由主窗口中的菜单命令来实现完成,每个具体功能模块可以包含有一个或多个菜单命令,可以以对话框的形式来实现其具体功能。
山东英才学院智能自动排课系统可以在主界面窗口上放置7个具体功能菜单,其分别用来完成不同的模块功能,几个主要菜单所能完成的具体功能如表3所示。
4.2用户登录界面的设计
山东英才学院智能自动排课系统可以采用基于多文档的开发模式,对于各级不同权限用户可通过主窗口菜单来具体实施调用各个
相应的子功能模块来完成具体功能,可以包含(用户单击)系统登录菜单中的登录命令,可以打开用户登录对话框。
经验证输入正确后,菜单中的所有功能都变为有效,各级不同权限的用户可以进行相应的子功能操作。
5结语
面向对象的软件开发方法是现代软件工程的一个很有发展前途
的新方法。
本文采用面向对象技术对排课系统进行分析、设计,并应用建模语言对需求做出全面分析,最终得到面向对象的系统模型,成功地解决了需求中所提出的问题。
参考文献:
[1]齐永杰.排课系统的设计与实现[d].西安:西安电子科技大学,2009.
[2]陆峰,李新.自动排课系统算法的设计与实现[j].微机发展,2005(11).
[3]仲崇丽.民办高校排课系统算法的研究与设计[j].电子世界,2011(11).
[4]许洁.基于信息管理的高校排课系统[j].江苏科技大学学报:社会科学版,2006(2).
[5]袁鹏飞,孙军安.sql sever 2000数据库系统管理[m].北京:人民邮电出版社,2001.
[6]王宝昌.高校计算机排课系统的设计与实现[d].长春:吉林大
学,2007.
[7]董绍捷.uml建模技术在排课系统中的应用[d].长春:长春理工大学,2005.
(责任编辑:孙娟)。