APP下载

浅析中职学校智能排课系统的设计与实现

2013-08-13

河南科技 2013年16期
关键词:课表课程表教室

余 波

(广东惠州商贸旅游高级职业技术学校,广东 惠州 516001)

一 智能排课系统开发背景

随着计算机和互联网技术的发展,社会的信息化程度越来越高,中职学校传统的手工或半自动化排课系统已跟不上现代教育的节奏。手工处理不但工作强度大,而且容易产生操作上的失误,信息查询更是非常不方便。另外,手工制作教学管理系统工作中的各种报表也需要浪费大量的人力和时间,这就在很大程度上影响了学校管理工作的效率,甚至影响正常的教学进程。运用现代化的手段、特别是网络化进行科学管理,已经成为一个亟待解决的问题。校园网的普及,使得建立全面的具有通用性、开放性、实用性和灵活性的网络教学管理体系成为必然趋势。

在惠州商贸旅游高级职业技术学校,智能排课系统是网络教学管理系统的核心部分。现阶段,中职学校的班级和学生是固定不变的,老师在上课时段到班级上课,但每位老师的课时量较多,智能排课系统采取智能算法,主要解决老师上课时间的冲突问题和保证老师上课时间的不连续性问题,在此基础上,还应满足个别老师的特殊上课时间要求。

二 智能排课系统需求分析

软件需求分析[1]就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

1.惠州商贸旅游高级职业技术学校是一所国家级重点中专,2012年招生专业达到48个,总招生规模5000人,在校生约1.6万人,共174个教学班,540多名教师,且目前分别在三个校区上课。如何制作分课表和课程表是每学期学校教学工作的重中之重。因招生规模的迅速增长,专业发展极不均衡,导致师资出现结构性缺口的可能性比较大。例如,以平均每位教师每周授课18节来计算,全校周总课时数除以教师总人数得到的结果时小于18的,但是在不同的专业上来看,可能会出现远大于18节/周的情况。所以,能否完成排课是智能排课系统需解决的首要问题。

2.少数教师因各种情况,需要在每周的特定时间上课,在满足第一点的前提下,系统需尽量满足特定时间上课的问题,所以在排课时需对部分条件设置优先级。

3.需避免同一门课程在短时间内上完的问题,即排课不连续问题。

4.需避免同一老师连续在不同校区上课的问题,使老师的上课地点相对固定。

5.进行适当的用户权限管理。根据权限大小用户分为系统管理员、教务员、教师和学生,他们的权限如下:

(1)系统管理员。为本平台的日常网络维护管理,拥有全部的功能,对系统进行修改。

(2)教务员。设置选课基本信息,如可选课,上课班级,上课地点等,设置排课规则,确定最后的排课方案等。

(3)教师。可以修改个人信息,选择授课班级和课程,查看上课时间、地点等。

6.系统采用B/S模式,运行平台为Windows+SQL Server,使得系统能有很好的可扩展性和保密性。

系统必须首先解决好教师的课程冲突问题,和老师上课的连续性问题。

二 智能排课系统的分析与设计

排课问题从数学上讲,是一个在时间、教师、学生和教师四维空间,以教学计划和各种特殊要求为约束条件的组合规划问题,其实质就是解决各因素之间的冲突。分析了国内外对排课问题的研究,根据中职学校的教学体制的特点,采用基于优先级的自动排课算法。该算法通过划分等价类、计算优先级等方法降低了课程调度的算法复杂性,从而可以以较快的速度获得较为满意的排课结果。

1.智能排课系统功能框架

智能排课系统的主要功能是把各系别、班级或各授课部门的课程进行了汇总,然后根据学校的教学计划制订各班级的课程编排表。

图1 智能排课系统整体框架图

2.智能排课系统功能设计特点

(1)业务流程整合。建立以排课为主线的完整业务流程,从开课管理,到分课管理,再到智能排课,能有效避免因教师资源不足而引起的课程冲突问题。

(2)管理流程整合。智能排课系统是网络教学管理系统的核心部分,它不同于一般的业务流程处理机制,对排课的过程和结果,在时间上、空间上和准确性上都有比较高的要求。

(3)教学资源整合。排课是落实教学任务、实施教学活动的依据。因此排课是学校教学管理中十分重要,又相当复杂的管理工作之一,合理配置教学资源,使整个教学能够有计划和有秩序地进行。

3.智能排课系统整体业务流程

智能排课系统是保证教学工作正常开展的关键,梳理排课管理流程对后期的软件的开发具有重要的意义。结合本校的管理特点和其他学校的管理模式,整理出智能排课系统的业务流程,如图2所示。

图2 智能排课系统业务流程图

三 智能排课系统功能模块与设计

1.智能排课系统功能模块

排课管理子系统提供智能排课、辅助调课和课表查询等功能模块,智能判断各种冲突条件并以直观方式显示,并提供时时“空闲班级”、“空闲教室”、“空闲教师”查询,使课程的安排更加人性化和合理化。排课管理子系统的功能模块图如图3所示。

图3 智能排课系统功能模块图

2.智能排课系统功能设计

(1)班级信息:记录每个班级有多少学生,系别等信息。班级信息部分可以录入班级信息,信息主要有班级编号、班级人数、系别。班级信息模块中还包括班级信息的查询和修改删除。查询班级信息的将结果显示在页面上,显示一个班级的内容。班级信息可以进行修改,和删除操作。

(2)课程信息:主要是记录这个排课任务中会有哪些课程。课程信息主要包括课程编号、课程名称、系别、周学时、是否多媒体教学、是否主修课等相关信息。课程信息包括查询和修改删除,查询显示模式为列表显示,修改课程信息时将数据读取到页面上修改。

(3)教师信息:记录这个排课任务中所有任课的教师。教师信息主要包括教师编号,教师姓名,周课时及教授课程。教师信息方面同样要求可以进行查询及删除修改操作。

(4)教室信息:主要记录排课任务中所使用的教室,每个教室可以容纳人数。教室信息包括,是否多媒体教室,教室编号,容纳人数等信息,是否多媒体教室为单选按钮,教室编号,容纳人数手工输入,教室编号中可以根据以输入的内容自动生成部分内容。

(5)手工排课模块将以三个维度实现,分别为班级维度,教师的维度及教室的维度,手工排课的同时将以其中一个维度为标准罗列出一周的课程表。

手工排课模块添加的记录直接以下拉列表的形式修改,关键问题在于解决冲突问题,如多个班级在同一教室上课,教室是否可以容纳。同一个教师不可以同时在两个教室上课,同一个班级不可以同时上两门课等等复杂的逻辑要求。满足这些逻辑要求之后,要在适当的时候给操作人员提示并解决问题。

(6)自动排课:自动排课所应实现的要求有:1)可以自动生成课表。2)解决课程冲突问题。3)均衡分部课程安排。4)课表可以手工调整。满足以上要求之后,自动排课可以达到“一键”来解决问题。自动排课所生成的课表和手工排课生成的课表不应是同一个,但应同样可以修改查看,生成一个新的课表。

(7)课表查询分为,总课表查询:查询全部排课结课。班级课表查询:查询选定班级的课表。教师课表查询:查询选定教师的课表。教室课表查询:查询选教室的课表。

四 智能排课系统数据分析

1.排课系统E-R图

排课系统中,主要有四个实体,分别为课程信息,班级信息,教师信息和教室信息,它们之间互相都有联系。

图4 智能排课系统E-R图

课程信息(课程名称、系别、主修课、周课时、多媒体)。

教师信息(教师姓名、周课时)。

班级信息(班级编号、系别、周课时)。

教室信息(教室编号、容纳人数、多媒体)。

课程信息与教师之间存在一个教授与被教授的关系,每个课程可以有多个教师来教授,每个教师可以教授多个课程。

课程信息之间与班级信息之间存在一个学习与被学习的关系,一门课程可以有多个班级来上,而一个班级可以学习多个课程。

课程信息、班级信息与教师信息与教室信息存在上课的关系,每个教室只可以有教授一个课程,每个教师只能有一个教师在上课,每个教室可以有多个班级在上课。

2.智能排课系统数据流图

本学校排课系统的主要功能是把各系别,班级或各授课部门的课程进行了汇总,然后根据学校的教学计划制订各班级的课程编排表。随着学校每年的扩招和专业的不断细化,学校班级,课程门数越来越多,每门课又涉及很多信息,如果仍然采用人工排课,则不可避免地会出现教室资源冲突或教师资源冲突的情况。

图5 智能排课系统数据流图

五 智能排课系统的界面设计

本系统的界面共分为四个部分。

(1)资源管理主界面

用于对系统资源进行初始化设置和修改,它包括如下几个部分:班级管理:对班级进行初始化设置,添加、删除、修改班级信息;课程管理:对课程进行初始化设置,添加、删除、修改课程信息及其所对应的授课教师;公共课室管理:对公共课室进行初始化设置,添加、删除、修改公共课程信息。

(2)智能排课主界面

用于排课管理和编辑排课信息。已生成的课表:显示系统已经生成的课程表。注销课程表:注销已生成的课程表;生成课表:根据初始化信息,生成课程表;公共教室配置:指定公共教室;所有课程:显示所有已设定的课程;增加课程:增加课程设置;保存课程:保存课程修改信息;修改课程:修改课程设置;删除课程:删除已设置的课程。

(3)课程表输出

用于输出课程表信息。报表输出:以报表形式输出课程表;输出到EXCEL:将课程表输出到EXCEL文档。

(4)系统管理

用于登录或退出系统,并对系统进行各项初始化设置。系统登录:用于登录系统;用户管理:用于管理登录系统的用户;资源初始化管理:用于对系统的资源进行初始化;系统初始化管理:用于对系统进行初始化;退出系统:用于退出系统。

六 智能排课系统的优势和不足

1.优势

排课问题实质是为老师、学生的教学活动合理安排时间上和空间上的资源,以保证教学活动有计划有秩序地进行。本系统的出发点在于:在班级资源饱和的情况下,能够不冲突的实现全校的自动排课,并且能够有条件的使课程分布更加合理。采取这种方案由以下好处。

(1)对教师与课程之间做了一个相对优化的组合。在目前中职学校扩招的背景下,导致学校的各种资源日益紧缺,其中最突出的矛盾是师资的结构性缺口。中职学校各专业之间互通性不强,进入门槛较高,如不能及时补充专业对口的师资,将会直接影响到排课结果。

(2)提高了排课效率。在自动排课的基础上,系统将首先统计是否能否生成合格的课程表,在能够生成课程表的基础上,系统可以根据课程的安排实际使多课时的课程分布更加合理。

(3)可以方便的调整算法参数,使输出结果更令人满意。只要某些控制参数的值固定,那么输出结果是确定的。它不同于遗传算法等随机算法,输出结果具有随机性。因此,用户可以根据方便输入参数并调整,使得结果更令人满意。

(4)系统参数可以随时修订,系统适应能力强。系统默认是一天6节课,一周上5天课,可两节课连上。在一定范围内,可以修订这些参数,可以满足不同教学模式上的需求。

2.研究的不足

尽管本文提出的求解算法存在上述诸多好处,但也存在不足的地方:(1)自动排课算法可以完成大部分的课程的安排,但是自动排课算法的结果可能会存在着一些不太合理的地方,甚至有可能使得一些课程无法安排下去,那么就需要对已经生成的课程表进行人工调整。(2)采用自动排课算法,牺牲了过多的效率以换取资源的最大化利用。在现阶段的职业教育过程中,由于资源的短缺,使得安排课程时的首要判断是,能否将课程全部安排下,以确定是否要外聘教师。在这种情况下,只能舍弃一部分排课的合理性,以期望能够将课程完全排下。如果资源充足的学校使用这一系统,可能会影响到效率的发挥。

[1](澳)Leszek A.Maciaszek著,金芝译,需求分析与系统设计北京:机械工业出版社,2003年6月

猜你喜欢

课表课程表教室
学生出招解决”日课牌“问题
“313”教室
如果我是校长
这里的教室静悄悄
如何缔造完美教室
超萌小鹿课程表
长时间待在教室更容易近视
“孔子曰”之孔子的课程表
青年课程表
各地区学生课表