一种排课系统的制作方法

文档序号:17377296发布日期:2019-04-12 23:27阅读:270来源:国知局
一种排课系统的制作方法
本发明涉及教育行业中数据处理
技术领域
,尤其涉及一种排课系统。
背景技术
:排课是学校按照教学计划给各个班级的课程安排合适的地点、时间的操作过程。排课工作在教学管理中很重要也很繁琐,每学期的排课工作都需要花费大量的人力和时间。而随着目前各种学科的丰富、课程的多样化、班级数量的增多,手动排课已经无法满足学校、老师的要求。而且手动排课经常出现如下的一些问题:1.由于考虑不周导致课程的时间与老师、教室冲突;2.调整课程非常耗时,并且调整后可能出现课程冲突的情况,出错率高;3.需要人为计算课时,很可能出现教师的课时超标的情况;4.对于合班、联排、对排课程要求,人工排课困难重重。技术实现要素:本发明的目的在于提供一种排课系统,从而解决现有技术中存在的前述问题。为了实现上述目的,本发明采用的技术方案如下:一种排课系统,包括基础数据模块,用于录入排课所需要的基础数据,包括组织机构信息、学年学期信息、节次分类、教室信息、年级班级信息、课程分类、课程信息、学期班级信息;排课模块,用于通过基础信息中的节次信息计算出每个班级每周共多少节课,以及每天多少节课,得到每个班级的节次情况,并对每一节次进行标注;根据录入的基础数据获取到课程内容及设定好的排课方法,优先将联排课程、对排课程、互斥课程、禁排课程、固排课程、班级合班上课按照设定好的排课方法进行排课,查询剩余的课程,使用随机分配法随机获取节次,使用递归法将课程放入剩余节次内,直至将所有课程排进课表内,得到班级课表和教师课表;显示模块,用于将课表进行输出和展示,还用于手动对课表进行修改;其中,所述联排课程的排课方法为:将一门联排课程尝试放在某节次上,并判断该节次后是否有课,对应的上课教师、教室是否有课,以当前节次为索引,查询数据库中该节次的时间之后是否有数据;如果查不到数据,继续查询联排课程的教师在该节次是否有数据;如果查不到数据,继续查询联排课程使用的教室在该节次是否有数据,如果上述查询的三个条件都没有数据,则可以使用该节次安排联排课程,如果其中任意一个条件查询查到了数据,则不能使用该节次安排联排课程;换下一节次重新查询,直到找到满足条件的节次,排下该联排课程为止;所述对排课程的排课方法为:将一门对排课程尝试放在某节次上,并判断对排课程的教师、教室是否被占用,以当前节次为索引,查询数据库中该节次对排课程的节次是否有数据,如果查不到数据,则继续查询对排课程使用的教师在该节次是否有数据,如果没有数据,则继续查询对排课程使用的教室在该节次是否有数据,如果都没有数据说明可以使用该节次安排对排课程,如果其中任意一个条件有数据,则不能使用该节次安排对排课程,换下一位置再次进行查询,直到查找到满足条件的节次排下该课程为止;所述互斥课程的排课方法为:在放入课程时检查当天是否有互斥课程,如果没有,可以在当天排入该课程;如果有互斥课程,则更换下一天继续检查,直到可以排入该课程为止;所述禁排课程的排课方法为:预先设置课程或者教师的禁排节次,在课表内禁排的节次内不考虑放入课程或教师教授的课程;所述课程的固排方法为:进行自动排课之前,优先读取需要固排的课程,并将该课程优先放在指定的位置;然后再进行其他的课程排课;班级合班上课的排课方法为:将合班上课中的一个班级的课程尝试放到课表内,判断对应合班上课班级在此位置是否可以排课,以及对应的教师、教室是否有课,在数据库中以节次为索引,查询到合班上课的班级在该节次是否有数据,如果没有数据,则查询合班上课的教师在该节次是否有数据,如果没有数据,继续查询合班上课的教室在该节次是否有数据,如果都没有数据,则可以使用该节次排课,如果其中任意一个条件有数据,则更换下一节次查询,直到查找到满足条件的节次排下该课程。本发明的有益效果是:本发明提供的排课系统,包括基础数据模块、排课模块和显示模块,通过录入排课所需要的基础数据,并获取到每个班级的课程、节次情况后,优先将联排课程、对排课程、互斥课程、禁排课程、固排课程、班级合班上课按照设定好的排课方法进行排课,然后对剩余的课程进行排课,最后将课表进行输出和展示,从而完成对课表的计算机排课,解决了现有技术中人工排课出现的各种问题,而且提高了效率,最大化的利用了学校资源,而且可以使得课表更加人性化。附图说明图1为通过基础数据模块录入基本信息的界面示意图;图2为课程计划录入的界面示意图;图3为排课规则录入的界面示意图;图4为根据规则自动生成课表的界面示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。本发明提供了一种排课系统,包括基础数据模块,用于录入排课所需要的基础数据,包括组织机构信息、学年学期信息、节次分类、教室信息、年级班级信息、课程分类、课程信息、学期班级信息;排课模块,用于通过基础信息中的节次信息计算出每个班级每周共多少节课,以及每天多少节课,得到每个班级的节次情况,并对每一节次进行标注;根据录入的基础数据获取到课程内容及设定好的排课方法,优先将联排课程、对排课程、互斥课程、禁排课程、固排课程、班级合班上课按照设定好的排课方法进行排课,查询剩余的课程,使用随机分配法随机获取节次,使用递归法将课程放入剩余节次内,直至将所有课程排进课表内,得到班级课表和教师课表;显示模块,用于将课表进行输出和展示,还用于手动对课表进行修改;其中,所述联排课程的排课方法为:将一门联排课程尝试放在某节次上,并判断该节次后是否有课,对应的上课教师、教室是否有课,以当前节次为索引,查询数据库中该节次的时间之后是否有数据;如果查不到数据,继续查询联排课程的教师在该节次是否有数据;如果查不到数据,继续查询联排课程使用的教室在该节次是否有数据,如果上述查询的三个条件都没有数据,则可以使用该节次安排联排课程,如果其中任意一个条件查询查到了数据,则不能使用该节次安排联排课程;换下一节次重新查询,直到找到满足条件的节次,排下该联排课程为止;所述对排课程的排课方法为:将一门对排课程尝试放在某节次上,并判断对排课程的教师、教室是否被占用,以当前节次为索引,查询数据库中该节次对排课程的节次是否有数据,如果查不到数据,则继续查询对排课程使用的教师在该节次是否有数据,如果没有数据,则继续查询对排课程使用的教室在该节次是否有数据,如果都没有数据说明可以使用该节次安排对排课程,如果其中任意一个条件有数据,则不能使用该节次安排对排课程,换下一位置再次进行查询,直到查找到满足条件的节次排下该课程为止;所述互斥课程的排课方法为:在放入课程时检查当天是否有互斥课程,如果没有,可以在当天排入该课程;如果有互斥课程,则更换下一天继续检查,直到可以排入该课程为止;所述禁排课程的排课方法为:预先设置课程或者教师的禁排节次,在课表内禁排的节次内不考虑放入课程或教师教授的课程;所述课程的固排方法为:进行自动排课之前,优先读取需要固排的课程,并将该课程优先放在指定的位置;然后再进行其他的课程排课;班级合班上课的排课方法为:将合班上课中的一个班级的课程尝试放到课表内,判断对应合班上课班级在此位置是否可以排课,以及对应的教师、教室是否有课,在数据库中以节次为索引,查询到合班上课的班级在该节次是否有数据,如果没有数据,则查询合班上课的教师在该节次是否有数据,如果没有数据,继续查询合班上课的教室在该节次是否有数据,如果都没有数据,则可以使用该节次排课,如果其中任意一个条件有数据,则更换下一节次查询,直到查找到满足条件的节次排下该课程。上述排课系统在使用过程中,首先通过基础数据模块录入排课所需要的基础数据,并获取到每个班级的课程、节次情况后,通过排课模块优先将联排课程、对排课程、互斥课程、禁排课程、固排课程、班级合班上课按照设定好的排课方法进行排课,然后对剩余的课程进行排课,最后通过显示模块将课表进行输出和展示,具体操作过程的截图可参见附图1-4。上述排课系统中,涉及到的课程解释如下:联排课程:单个课程或多个课程固定连续上课。如,美术联排指的是连上两节美术课,美术与劳动联排指的两节课连着上。对排课程:两个课程共用一个上课时间。可以分单双周分别上课,也可以分上下学期上课。如美术与劳动上下学期对排就是在同一上课时间上半学期上美术,下班学期上劳动课。合班上课课程:指两个或两个以上的班级在同一时间上同一节课。如一年一班与一年二班同上音乐课,排课时需要将两个班的音乐课排在同一节。禁排课程:指教师或教室不能排课的时间段,或节次。固排课程:课程固定排课的节次。如班会固定在周一下午第二节。互斥课程:同一天内不能同时出现的课程,如音乐与美术互斥,在上音乐课的当天不能上美术课。本发明提供的排课系统,在实际开发的过程中,基于java平台,采用b/s架构,服务器使用webserver和关系型数据库。通过本发明提供的程序方法自动排课,得到课表后,如果偶尔出现课程安排不满足要求的情况,可以进行手动调整。采用本发明提供的排课系统,解决了传统排课方式中的教师、课表、班级的冲突,从而可以最大化的利用学校资源,实现如下的有益效果:(1)教师不冲突,同一位教师在同一时间只能带一门课程;(2)课表不冲突,同一张课表在同一时间只能有一门课程;(3)合班课程不冲突.合班班级必须同时参加合班课程;(4)资源限制,教师可用时段有限;教室资源有限;(5)课时要求,按照学校要求,限定每位老师的最大课时数,超出课时数系统提示;(6)课表调整,使用系统调整课表灵活,便捷。冲突情况系统会给出提示。本发明对于课程的软约束条件使课表更为人性化:(1)时段要求:根据课程特点和学时要求,不同课程的时段要求不同。例如基础课、理论课、专业课尽量排上午,选修课,副课尽量排下午;(2)教师课表的连续性要求:大多数教师希望集中、连续授课,因此每天每个教师授课节次尽量紧凑,中间无空课时。(3)班级课表的分散性要求:考虑到学生的接受度,学生的课表尽量平均分散在每周的五天。具体实施例本发明提供的具体实施例中,需要对四年级一班的如下课程进行排课:语文、数学、英语、体育、美术、音乐、书法、品德与社会、读书社、品源至慧、科学、劳动、戏剧、信息技术、班队会。排课要求:语文与读书社联排;数学与品源至慧联排;美术联排;劳动与戏剧联排并且前后学期对排;按照设定好的联排方法,在进行排课时,将一门联排课程尝试放在某节次上,并判断该节次后是否有课,对应的上课教师、教室是否有课,以当前节次为索引,查询数据库中该节次的时间之后是否有数据;如果查不到数据,继续查询联排课程的教师在该节次是否有数据;如果查不到数据,继续查询联排课程使用的教室在该节次是否有数据,如果上述查询的三个条件都没有数据,则可以使用该节次安排联排课程,如果其中任意一个条件查询查到了数据,则不能使用该节次安排联排课程;换下一节次重新查询,直到找到满足条件的节次,排下该联排课程为止。最终,得到课表内容如下:周一周二周三周四周五第1节数学英语语文语文英语第2节品源至慧体育科学读书社语文第3节语文音乐体育劳动/戏剧信息技术第4节品德与社会语文品德与社会劳动/戏剧数学第5节书法美术数学科学音乐第6节班队会美术英语数学体育通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明提供的排课系统,包括基础数据模块、排课模块和显示模块,通过录入排课所需要的基础数据,并获取到每个班级的课程、节次情况后,优先将联排课程、对排课程、互斥课程、禁排课程、固排课程、班级合班上课按照设定好的排课方法进行排课,然后对剩余的课程进行排课,最后将课表进行输出和展示,从而完成对课表的计算机排课,解决了现有技术中人工排课出现的各种问题,而且提高了效率,最大化的利用了学校资源,而且可以使得课表更加人性化。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1