




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高校教务排课系统第一章 引言(一)排课系统研究的意义对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程,充分考验了排课人的智慧。传统的人工进行排课,最令人担心的问题就是出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。(二)现状分析和存在的问题目前,我国的高校排课系统始终没有一个合理的通用的算法,一般来说,大部分高校使用的排课系统,一般都是自行设计开发,根据自己学校的教学楼分布情况、课程讲授方法设计的排课系统,只适用于一个或一类学校,但是由于各学校实际情况不同,所以,即使同一个排课系统,在不同的学校,系统消耗的代价也不一样,并且排课出错处理如:学生和教师的合理休息问题、移动距离最合理分配以及不同类型课程在一起排课时怎样充分利用教学资源等问题都不能同时合理的解决,大部分是以牺牲其他方面为代价的。计算机排课系统的关键技术是形成采用框架式可维护的排课策略库。这个策略库要具有学生、教师、教室、课程等多因素自动综合的求优排课算法,课程时间分布的自动平衡和时间段限定,听课人数和教室容量的自动求优、人数模糊、适应交大地域分散特点的教室地理位置自动求近以及位置限定算法等,也就是说,根据课程科目的实际特点,由计算机调用策略库中的算法,自动生成课程安排表。(三) 本文解决的技术关键目前在国内众多的高校自动排课系统中,没有一个能够适应高校内部复杂约束条件的限制,所以已经趋向于冲突检查与手工排课结合完成排课功能。在我的排课系统,主要对不同类型课程进行等级划分,排列出课程的排课优先级别,通过优先次序对不同类型的课程使用不同的算法进行排课,能够非常方便地处理各种排课约束条件的限制,例如教师和教室冲突、班级冲突、教师上课时间和地点选择、分层次教学、单双周排课、一课多教师教学、课程连上和隔天教学等各种各样的约束。同时该系统还能够非常迅速地得到排课结果,例如排一千门课只需几分钟时间等一系列问题。第二章 需求分析(一)系统所具备的功能的探讨首先肯定排课系统是一个评价标准很难达到统一的问题,同一个排课结果,从学生角度看,不同专业的学生看法不同,有的认为这样上课自己一星期很近张,有的学生认为自己一星期很轻松,有的认为自己一星期时间分配很合理,由于排课系统中所制约的各种因素,例如教师、教室、时间、学生以及授课学时等等。针对于排课系统评价的依据因素问题,我们从以下几点做了研究,探求其实现的可能性:1、学生和教师的移动代价这种评价是考虑一个学校地理分布环境,可供安排教室上课的教学楼和每个校区各教学机构(教研室)的分布情况。所谓的学生移动代价就是指针对排课结果,在其安排课程的顺序上学生不断地要换教室,这更换教室或更换教学楼之间移动的距离是多少,花费多少时间,如果到很远的地方上课,除去正常休息时间能否让学生和教师来得及返回本部校区完成其他教学任务。如果经常让同一批学生和教师在两个或两个距离较远的地区奔波,时间、经济和精力上的花费必然很大,学生经济和精力负担会过重,从学生角度讲,经济负担是一个问题。所以合理分配学生上课,可以有效地从经济等多方面解决教师和学生负担问题。2、教室的利用随着高校招生的规模日益扩大,在为课程排定教室的教室利用率问题也日益尖锐起来,这给教务管理部门对教室的灵活管理和分析统计方面提出了一个新的课题。所谓的教室利用率就是一个教室在一个星期内被使用的次数,在很多情况下,一个校区的一些科目的教师不能满足学生上课需求,那么就需要学生到别的校区上课,除去路程等因素外 ,其他近距离校区是否有相应教室也是一个问题,所以,当发生以上问题时,就需要考虑其他近距离校区的教室使用情况。3、教师的工作量在高等院校对于一门课程均有若干名教员担任该课程的讲课任务,有的排课系统软件是按照随机抽取的原则进行班级与教员的匹配的,那么这就存在着一个教师工作量是否安排合理的问题。所谓的教师工作量就是某一教员他(她)的日工作量和周工作量是多少,用来衡量教师工作量的标准就是教师的日(周)平均工作量,这可以通过算法来实现,然后计算出来的数值再加一个上下限。我们订为每个教师每天工作量为两节课,如果某一个教员的日(周)工作量在教师的日(周)平均工作量范围内,我们就可以评价该排课系统是比较好的。反之,则不够好。从教师的工作量角度来评价一个排课系统,我们可以对其排课算法进行优劣评价。4、排课系统的时间复杂度 不同课程科目,需要不同的上课时间,不同类型的教学设施,合理安排上课时间,给不同级别的科目加一些时间上的限制,可以让学生不至于因为要上各类型的课,由于场地或设施等其他原因而在不同的教室或场地上来回奔波;同时,合理分配学生上课时间,根据学生课节数,安排时间上课,不能让学生集中几天上课,然后其余几天休息,这样就失去教学意义。我们要尽量然让每个专业的课程均匀分布在所有上课时间内。5、公共课分班教学问题 既然是公共课,避免不了分班上课的问题,但是,分班的方法是一个让人头痛的问题,从学生角度讲,不同的学院同一门公共课讲解的深度和广度不同,而且同一门科目对不同学院的学生级别也不尽相同,例如:理科的数学公共课是基础课,而对于文科来说,未必是基础课,那么教师对不同学院讲解深度必然不同,所以,在为学生分班的时候,我们以学院为单位分班,根据对应科目需要的教室容量,可以把一个学院学生分一个或尽量分配成各班人数相差不多的多个班级上课(不可能人数相等,因为是按专业上课,个专业人数不一定相等)。分班问题大部分由各教研室人工完成,我们的目的是要得到分班信息,进行排课。6、 教学区域划定问题对于一个学校来说,难免出现教学紧张的问题,出现教学资源紧张,对于某一科目来说,在一大周14天内所允许的上课时间范围里,在一个教学区域没有适合讲授该科目的教学资源,就需要学生或者教师移动的问题,这些需要从经济方面、学生可持续上课方面、教师和须生合理休息等综合方面讨论教师和学生移动的合理性。7、系统必须具备可修改性任何系统都有弊端,从系统功能上来讲,系统很多功能都是针对用户当前需求来设计的,为了满足用户需求难免牺牲了系统其他方面的性能,当用户的需求改变时,就要求我们在最短的时间里修改系统,满足用户需求。8、系统必须具备完善性 系统在使用过程中,用户会在原有系统的基础上,不断对系统提出新的要求和新功能,就需要我们在系统原有功能的基础上,为系统增加新的功能来完善系统,满足用户需求,就要为原有的系统提供可完善系统功能的接口,对用户和软件开发者来说都有益处,用户可以在最短的时间里得到所需要的,软件开发着也能在最短的时间里完善系统,不需要浪费太多时间,最主要的时双方在经济上都获益。(二)需求分析本系统是针对大学的开课特点进行开发,主要操作人员为教务处老师,根据学校各教研室提供的开课计划生成开课表。1、功能要求根据教务办老师的要求,该排课系统应主要应有以下功能:排课的自动化程度要高,系统应能自动生成排课计划,最好不要有太多的人机交互界面。排课计划的生成是根据已给出的开课计划(Word文档),可以采用手动输入方式,最好能实现文档导入功能。排课计划要合理,结果中不能有太多的冲突。每门课程的上课时间在可能的情况下尽量采取隔一天(或几天)上一次的方式。 由于某些公共课学校已给出统一的上课时间,要求系统要有手动排课功能,在生成排课计划前能手动指定某些课程的安排时间。要有较自由度较高的结果修改功能,能够自由的对排课结果时行调整。2、条件限制:公共课老师基本全由学校指定,专业课基本由各教研室学院的老师负责。一般大学各校区分布在该学校所在地区的各处,即使同一个校区,个别教学楼或各学院之间距离相距也很远,不能让学生把上课时间放在走路上。服表、服设专业开设的某些专业课程是以周为单位连续开设的,其同年级班级的大部分课是在一起上的。有部分课程要求多班合上。教室数量有限,原则上是让所有的教室都充分利用。体育课的开设是以年级为单位,开课时间由学校统一安排。很多课程一门课要求多个教师在不同类型的教师中授课,需要对各类型的课程划分等级(三)系统开发环境1、编程语言的采用:系统采用Borland的Delphi7.0进行开发。Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率。不同的数据库开发软件对数据库的操作是不一样的,在Delphi中,数据库应用程序可以通过Borland数据库引擎BDE (Borland DataBase Engine) 来操作数据库中的数据。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库来完成对数据库的操作的,并非直接操作BDE。这样用户只需关心数据组件即可,不用去直接和BDE打交道。数据库引擎(BDE)Delphi内置了数据库引擎(BORLANFD DATABASE ENGINE)(BDE),为开发数据库应用程序提供了灵活性和通用性工具。它基于驱动程序的体系结构和面向对象的特征为访问各种数据库提供了一致的接口。在Delphi中,数据库应用程序必须与数据库建立联系,而这个联系则通过BDE来完成,所有的数据库的存取也都是由BDE来完成的。要使Delphi的数据库应用程序可以访问数据,通常必须在用户端配置BDE和建立数据库别名(Alias)。例如,Paradox用一个目录来表示数据库,目录中的每一个文件表示一个数据库表。基于BDE的数据库应用程序的结构如下图:基于BDE的数据库应用程序BORLANFD DATABASE ENGINEODBC SocketSQL LinksODBC驱动程序网络协议Oracle SybaseSQL ServerDB2 InformixParadox dBaseODBC数据源 图2.1 BDE数据库应用程序的结构82、数据库的选择:因为本系统要使用多个数据库,所以综合多方面因素,我决定采用的应用比较广泛,操作容易的界面化数据库是Paradox dBase数据库。因为本人对数据库的操作主要是通过Borland数据库引擎BDE,所以在设置系统环境变量的时候,把数据库的连接文件加入到目录中,来实现对数据库的连接。 (三) 系统流程图根据系统要求,设计系统流程图,如下图:教室信息信息处理程序信息存储数据库排课处理程序课程调配数据库显示课程表表格生成程序学院机构相邻关系程序学院机构相邻关系数据库学生信息数据库教师信息数据教室数据学生信息教师信息学院信息数据转换程序图2.2 排课系统系统流程图第三章 整体设计(一)系统功能模块设计本系统的主要功能是根据开课表的内容结合班级表、教师表和教室表的信息生成排课结果,其功能模块划分如图4.1:高校排课系统学生信息划分模块学生公共课分班划分学生年级、校区、各学院距离、学院的划分学生课程科目信息、教学区域的划分课程排列模块学生课程科目、课类对应分配学生科目对应教室形成课程表分配对应科目上课时间、地点调整教师、教室和上课时间从数据库中取数据打印课程表排课结果放入数据库图3.1 排课系模块示意图(二)数据流程图数据流程图(Data Flow Diagram,简称DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图。通过以上对数据的处理过程分析,得到如下数据流程图:图3.2的系统数据流程图(三)数据库设计1、数据库需分析表根据以上数据流程图的分析,排课系统需要以下基本信息:表1 classtoom (教室(场地)表数据项名称含义说明数据类型长度是否空主键classroomnumber教室编号唯一标识一个教室int4NYcollege教室所属教学楼、机构教室在那个教学楼/学院char10NNnumberlimit教室人数限制教室一次性容纳上课人数int4NNschoolarea教室所属校区教室是哪个校区的char10NNclassroomtype教室类型教室是什么类型的char10NNremarks备注改进系统可能会用到char10YNclassroomtypenumber表示教室类型根据需要检索对应类型教室int4NN表2 teaching plan (教学计划)表 数据项名称含义说明数据类型长度是否空主键coursnumber课程代码课程科目编号int4NYsemester学期著名课程讲授年度char10NNcoursehours讲授学时讲授时间/学期int4NNclassroomtype该科目需要的教室类型该科目需要什么类型的教室char10NNcredit学分科目学分int4NNteachernumber授课教师编号给对应专业讲授该科目的教师编号char10NNclassnumber班级编号对应教师教给哪些班讲授该科目char10NN表3 profession Information (专业信息)表数据项名称含义说明数据类型长度是否空主键professionnumber专业编号唯一标识一个专业int4NYprofessionname专业名称专业名称char10NNdepartment所在系名称对应专业所在系char10NNgrade年级对应专业学生入学时间char10NNcollege学院名称对应专业、系所在教学楼/机构char10NNschoolearea学院所在校区学院所属校区char10NNcountn专业人数该年级该专业对应的人数int10NNremarks备注系统升级和改进时备用char10NN表4 course (课程科目)表 不同类型的课程,对于一个专业来说,重要性不同,别的专业认为是重要的课程科目,这个专业认为是不重要得,所以数据项名称含义说明数据类型长度是否空主键coursnumber课程编号唯一标识一门课程int4NYcoursename课程名称课程科目名称char10NNcoursetype课程所属课类上课科目所属课类char10NNcourseclass课程级别该科目是A、B级课char10NNremarks备注备用字段char10YN表5 weektime (星期时间)表不同性质科目的课程要在合理的时间讲授,可以提高学生对知识掌握的熟练成都,所以要为上课时间互分级别是必须的。数据项名称含义说明数据类型长度是否空主键days排课天数上课日期的星期数用阿拉伯数字表示int4NYtimes上课课节数上课每节课课节数用阿拉伯数字表示int4NNtimeclass时间级别该上课时间级别char2NNremarks备注备用字段char10YN表6 college relate教学楼相邻关系表(该表是根据每个学校实际情况由电脑自动生成而定,学校不相同表不会相同)relatecollege1college2collegencollege1college2collegen表7 courseplanblank(课程任务)表数据项名称含义说明数据类型长度是否空主键coursenumber唯一标识一个科目课程科目代号int4NYteachernumber教师编号讲授该科目的教师编号int4NNdayt排课天数上课日期的星期数用阿拉伯数字表示int4NYtimet上课课节数上课每节课课节数用阿拉伯数字表示int4NNclassroommumber上课教室编号学生上课的教室编号char10NNsameteachernumber教师同时上课号“1”表示教师上课中“0”表示无课int4NNclassnumber学生分班班级号学生分班上课的班级号int4NNsameroomnumber教室使用标识“1”表示教室使用中“0”表示空闲int4NNsamestudentnumber学生上课标识“1”表示学生上课中“0”表示学生无课int4NN表8 courseform(课程)表数据项名称含义说明数据类型长度是否空主键coursnumberber唯一标识一个科目课程科目代号int4NYteachernumber教师编号讲授该科目教师编号int4NNdays上课日期星期上课日期是星期几char10NNtimes上课课节数是该星期的第几节课char10NNclassroommumber上课教室编号学生上课的教室编号int4NNclassnumber学生分班班级号学生分班上课的班级号int4NN表9 classroomnarea(教室区域关系)表(该表是根据学校实际情况形成的,和独立教学区域不相关)数据项名称含义说明数据类型长度是否空主键classroomnumber上课教室编号学生上课的教室编号int4NYschoolarea教室所在校区教室在那个校区,校区名称char10NNcollegeschool教室所在教学楼教室所在的对应校区教学楼名称char10NNsameroomnumber教室被使用标识号“1”表示教室使用中“0”表示空闲int1NN表10 teacherinformation(教师信息)表数据项名称含义说明数据类型长度是否空主键teachernumber教师编号唯一标识教师int4NYteachername教师姓名教师姓名char10NNteachersex教师性别表示教师性别char4NNsectionnumber教师所属部门代码标识教师部门int4NNtitle职称教师职称char10NNremarks备注备注char10NN表11 section (部门)表数据项名称含义说明数据类型长度是否空主键sectionnumber教师所属部门代码标识教师部门int4NNYsectionname教师所属部门名称部门名称char10NNcollege部门所在教学学楼名称char10NNschoolarea教学楼所属校区char10NNremarks备注备注char10NN表12 courseclass (课程分班)表数据项名称含义说明数据类型长度是否空主键courseumbertber唯一标识一个科目课程科目代号int4NYclassnumber班级编号对应科目班级编号int4NNprofessionnumberall专业编号对应班级包括的专业编号nchar50NNremarks备注备注char10NN表13. admin(用户登陆)表数据项名称含义说明数据类型长度是否空主键Qx权限普通教研室和教处权限的划分int4NNID帐号用户帐号char10NYczy密码用户密码char10NN(四)数据库概念结构设计及E-R模型图 根据以上基本信息及先前所做的需求分析,可以做出以下E-R模型图:图3.3 E-R模型图(五) 时间数据在数据库中各表间的转化设计好数据库,把各种信息根据上课科目授课学时数,有的科目有的时候每周两节课有时,一周一节课,这样考虑同一科目一周上两节课的情况,又考虑同一科目一周上一节课的情况,无形中把同一科目排两遍课,那么,排课的工作量就会增加一倍,增加排课难度和系统运行时间,所以,我们把两个星期认为是排一次课,把两个星期看成是一大周,这样以后上课按照一大周一大周的重复,根据:科目授课学时数/纯授课时间每大周上课次数,来确定每大周上课次数。由于上课统一时间为14天,所以,可能会出现同一门课集中几天上完,其他时间没有课,这样会失去教学意义,解决方法是,我们对个门科目顺序排课,每个科目多次分配,也就是说,对于一门科目课程,一大周上多次,但是我们在排这门课目课程时,一次性把这门课派完,当给一个科目排课时,当这门课时间确定后,如果把这门课时间在weeks项加上7,复制同样内容到该项,判断上课次数是否和规定的上课次数是否相同,如果上课次数大于学校规定的上课次数,删除该项,如果上课次数不大于学校规定上课次数,那么把weeks项加上2,找到教师和教室都符合上课条件的时间上课,如果上课条件不符合,可以向后推移一天或几天(星期天除外),重新找符合上课条件的教室和原来上课的教师,这和就省去很多时间、教师等方面冲突的麻烦。学校根据自己的教学资源情况,制订教学计划表,因为开课任务书是由各教研室根据自己校区的教学资源情况而,也就是说,系统数据库被各专业自行维护更改,而不是统一由教务处更改,减少数据库维护的难度和工作量,同时,由于这一部分由人工维护,大大减少了系统的开销。正因为教学计划表是由人工而订的,对某一门科目来说,对应授课教师的教研室不可能不把教师和学生情况做以分析,不能出现某一科目上课人数相对少,但是授课教师人数相对多的情况,那会浪费教师资源,所以分析教学计划表teaching plan表,教师和学生的关系是恰好对应 ,没有学生问题了,因为教研室已经为学生做好了计划,那么,教学资源问题就剩下教室、教师的问题。虽然教师已经由人工分配完毕,但是,却需要教师上课的时间,如果教师相距授课地点很远,那么时间问题更为重要,关系有两种:第一,就是教室不足,如果判断教学资源紧张,会完不成教学任务,就移动学生去临近校区上课;如果教学资源不紧张,就需要等其他时间上课完成教学任务。第二,教师远距离上课问题,我们把教师、教室、学生等问题再以下讨论。需要把表转化为计算机便于操作的数据库,根据教学计划关系表,我们把其中的授课教师编号和学习该科目专业项设为char型,如果一课程科目需要多个不同类型的教室和多个相关科目的教师,就在该项中用符号分隔开,我们在对数据操作的时候,对char型数据虽然简单,但是却会造成数据混乱,每一次都要对数据进行判断,增加数据库开销,所以我们把char型数据的每一项从teaching plan (教学计划)表中分离出来,对应每条依次放入到course plan blank(课程任务)表的各项中,我们在排课时对course plan blank(课程任务)表中的数据进行操作,分配上课时间、上课地点等等,当对course plan blank(课程任务)表的数据分配时间、教室完毕,再把course plan blank(课程任务)表的数据转换到course form(课程)表,对应一个科目需要的所有教师和所有类型的教师全部分配到对应的teachernumber和 professionnumber项中,同时把course plan blank(课程任务)表中的day和times项中的数据转换成规范的上课时间,放入到course form(课程)表中,时间转换对应表如下:表14 星期关系转换对应表:course plan blank(课程任务)表中的daycourse form(课程)表中的week1星期一2星期二3星期三4星期四5星期五6星期日7星期日8星期一9星期二10星期三11星期四12星期五13星期日14星期日表15 上课时间对应转换关系表:(根据本校自己情况设定)course plan blank(课程任务)表中的timescourse form(课程)表中的time18:00- 9:3529:10-11:25311:45-13:4413:35-15:10515:25-17:00(六) 独立教学区域的划分学生在正常两节课休息时间在1530分钟,就不可能让学生上完一节课,下节课到超出课间休息时间所走的距离以外上课,为了避免麻烦,学校在给公共课分配班级上课的时候,以学院为单位分班,把同一个校区下同一个学院的同一年级分成一个班,或者根据人数平均分配成几个班级上课(不是绝对平分,以专业为单位上课),这样做有利于分配教室,学生可以到同一距离的地方上课,同时,相同的课不同的学院讲解深度和广度不同,适用范围也不同,按学院分班上课,极大的避免了这些问题。为此,根据时间为学生和教师划分教学区域是必不可少的,让学生和教室合理的上课与休息和、工作和学习。独立教学区域,就是在这个距离范围内的各学院组合一起,有独立的行政机构和教学机构,能够独立分配自己的教学资源,各独立机构共享这个范围内的教学资源。一个独立教学区域就是一个校区,根据各校区间的距离关系划分校区以便于在出现教学资源紧张的时候,能够让各校区合理的共享相邻校区的教学资源。独立教学区域和校区的区别是,独立的教学区域指的是教学资源的独立分配,校区指的是地理位置的独立,一个指的距离范围,一个是分布区域,是两个概念。因为每个教师最多每天讲授两节课,如果一个教师的两节课任务都在B级时间,那么教师就不会有午休时间,如果同一组学生,在B级时间都有课,那么,他们也不会有午休时间,所以,为了合理安排教师和学生的休息,我们也要把学生专业和教师分别按不同方式排列,再跟据一定方法提取学生和教师信息,放入课表,可以避免这些问题。 以上考虑方法都是在一个校区范围内,考虑教师和教室等所有条件都充足的情况下,即理想条件下开始设计排课方案的,但是,这种情况只能在个别情况下存在,很多时候都会出现教师资源紧张或者教资资源不足甚至以上两种情况同时存在的可能性,这就需要合理划分各种教学资源。根据数据库,由于需要考虑到冲突问题,所以应当正确的划分独立教学区域、课程类型、场地类型、教师问题以及时间的合理利用,才有可能最大限度的避免冲突,减少程序运行时间。划分区域的前提是当一个校区在任何时间都没有对应教学资源时才考虑,为了避免学生和教师路途奔波,应当最大限制的让对应划分的独立教学的学生在对应划分的独立教学区域上课,对应划分的独立教学区域的教师也应当在对应划分的独立教学区域上课。独立教学区域具体分配方法如下:前提是当学生需要移动上课的时候,如果学生不需要移动,那么相邻上课教学楼为本身,是E级相邻关系。如果学生不需要移动,那么相邻上课教学楼为本身,是E级相邻关系。当两个区域相距1100米以内(约10分钟路程),那么两区域相邻关系为较高级,在数据库中用字母A表示,排课时,如果一个校区出现教学资源冲突,优先考虑到相邻关系为A的地方上课或者调用相应学院所属校区,调用相应教学资源。当两个区域相距1100米15公里左右时(大约60分钟路程),为B级相邻关系如果一个区域出现教学资源紧张时,可以考虑安排另一地区学生使用本区域资源,但是由于路程较远,所以,如果在这个路程范围内,学生去上课的时候,可以考虑让这些学生在这个区域上其他科目的课程,用来添补由于路程问题给学生带来上课限制 。当两个区域相距15公里50公里左右的时候(约2小时路程),为C级相邻关系,如果教室或者教师等教学资源在前面的路程范围内,任何情况下都不能满足学生上课的需求时,我们考虑让学生在本区域的星期六和星期天上课,因为在这一路程范围内,学生要坐很长时间的车去上课,如果考虑学生不能早起,晚上的赶车回本区域休息 ,不利于学生学习,从这一距离范围开始开始考虑只允许教师移动。当两个区域相距50公里以上时,为D级相邻关系,学生不可能到该地方上课,不需要考虑,但是,我们需要讨论教师问题,50公里以上的路程,花费时间最少2个小时,也就是说,很有可能一个满足相应条件的教师到该地方授课当天赶不回自己对应的划分教学区域上课,而且第二天教师来不及或匆忙赶回自己所属区域开始其他授课任务,更何况教师的吃饭、住宿等事情,这些问题经济上的花费由学校承担,与其花费这么大,而且效果不好,教师人困马乏,不如用这笔花费去重新聘请一名教师,会极大的解决教师资源紧张的压力。这样形成如下表的学校各机构以及学院相邻关系表: relatecollege1college2collegencollege1ECDcollege2BEBEcollegenDAE(七)、距离问题与移动代价关系的讨论真正考虑实际问题的时候,我们不能把任何一门科目都拿过来,立即分配上课时间和上课点,因为假设一门课程需要多个教师讲授,或者一门课程需要用到多个类型的教室,这样的课程如果在排课过程中放在后边排课,很可能会因为要同时满足这些条件的限制而使科目无法排课,即使这两个条件满足,学生和教师又没有协调好,为排课带来很多麻烦,这是课程本身的问题,也是我们必须解决的问题。1、 课程类型分类和课程优先排列级别划分根据课程科目需要的教师以及教室类型两者者的对应关系,可以分为:一科目对应一种类型的教师,由固定教师授课、一科目对应多类型教室,由唯一固定教师授课、一科目对应多类型教师,由不同教师授课、一科目对应固定一种类型教师,但是需要多个授课教师讲授该科目,如果把非教师、教室、科目一一对应的科目按正常课程排课,由于教学资源冲突,很可能这些课程会由于教学资源冲突而无法正常排课,这里说的是教学资源冲突,不是教学资源紧张,教学资源冲突,会导致学生或教师移动到其他相邻教学区域去上课,就需要考虑休息、经济花费、可持续上课等复杂因素,增加系统开销不说,对本校区的教学资源也是一种浪费。于是,调整和合理的分配教学资源,根据课程性质把课程分优先级排课,降低系统开销,是首要问题。教学资源紧张的问题,实际上是学生、教师、教室等综合因素互相作用引起的。根据课程科目授课地点的约束,把教室或场地总体上分为专用的和公用的,专用教室或场地不和其他课程科目冲突,所以只需要考虑学生问题就可以了,如果是同级多专业学生共同上课,那么这类课需优先排课,这样才能让学生有时间各自独立上以专业为单位的课,同样,考虑科目类型时,不是以专业为单位授课的课程科目,都需要优先考虑为其排课。另外,如果同一门课对应要求多个不同科目的教师讲解,为了避免在以后排课时,教师发生冲突,完不成教学任务,所以,这样的课要先排课,同样,如果同一个科目的课程需要多个不同类型的教室,为了避免教室冲突问题,也需要对这样的科目优先排课,如果一科目既需要多个不同科目的教师讲授,又需要多个不同类型教室授课的话,那么,这门课就更需要优先考虑。当把以上一切都处理好后,才能安排为专业为单位,教室类型单一的课程科目排课。这样做,无形中避免很多冲突。 为了满足学生能够合理有序的上课,也就说让学生有张有弛的去上课,完成教学任务,所以,必须对学生的上课次序问题进行安排,在安排上课的次序时,要以年级为单位上课,一个年级排完课,在教学资源不冲突的情况下,再排另一级学生上课,因为不同级学生课程不同,所以,虽然不能完全避免教师冲突问题,但是却很大程度上解决了一些教师的冲突问题,我们把学生按校区、学院、专业、年级在数据库中分类,然后,按数据库中这些数据的顺序一次取一个专业,给他们分配上对应的专业课课程,然后再分配对应教室,再根据课程级别分配对应级别的合理的上课时间,这样分配下去,直到教室(场地)、教师、学生、时间四者中出现一种不满足情况,那么,在下一天也可以继续排课,如果某课程10天(去掉星期天)完不成任务,可以考虑星期天上课,时间安排和其他教学资源安排同上所述。 如果学生课程多,当学生到远距离地点上课的时候,可能会出现赶不回本部上下节课,同时,也不能让学生一天要走几个校区上课,而筋疲力尽,没时间休息,所以,安排到远距离上课的学生的上课时间尽量让他们在无课而非星期天的一天去上课,这是最理想的,但是这种情况不太可能,所以,把除正常上课时间除休息时间外,能有充分时间赶到其他能上这门科目的距离允许的较远相邻关系地区上课。而不是当出现紧张的时候才想到到别的校区上课,预先应该把符合学生移动到其他校区上课的专业早到,由于预先统计好了教室是否紧张,假如出现教室紧张的情况,我们在排课的时候就把这样在正常上课时间除休息时间外,能有充分时间赶到其他校区没课的专业派到能上这门科目的距离允许的地方上课,而且,让这个专业在其他校区多上几节其他科目的课,缓解学生划分上课机构地方教室资源紧张的压力。当然,如果学生移动到其他较远距离地方上课,我们首先考虑可持续上课问题是否可以在异校区解决也是一个好办法。学生到另一个地区上课的原因也可能是教师资源紧张,而到教师资源充足的地方上课,但是如果不是教室资源紧张的话,学生移动的代价总体上比教师移动代价大,所以尽量避免让学生移动,如果学生非移动到其他校区上课不可,就要考虑学生路程上和经济上以及休息问题等综合因素,最重要的是让学生必须完成当天的学习上课任务。根据上述课程级别,对课程科目安排先后顺序,在很大程度上减少各科目之间的矛盾冲突,在排课过程中,会遇到教师、教室、学生在同一时间互相冲突的时候,所以在为一科目排课的时候,唯一的条件就是在该时间段上,教师、教室、学生在不耽误休息的前提下,同时无任务,这就要求在同一时间段教师、教室、学生同时满足教学条件,但是占用学生或教师的休息时间是不可以的,所以我们设计了时间级别,在“B”级别时间里,同一专业学生不可以连续上课,同一个教师也不可以连续上课,只有这样的先决条件满足以后,在此基础上其他时间段上讨论满足教师、教室、学生三者都互相满足的条件,那么就分配相应信息,然后把确定的数据转到course form表,根据课程表需要,打印出来。但是,无论怎么分班,遇到一科目需要多教室的情况时,学生和教师只能同一时间用一个教室,也就是说,如果上述分配方法能顺利分配好一切后,有很多教室空闲得不到利用,是对教学资源极大浪费。如果某教学区域教学资源在排课的时候被系统认为资源紧张,那么很大程度上因为需要多类型教室的科目把教学资源预先占用。(八)数据处理与转化1、 数据从开课计划书到排课表的转化ourse form(课程)表的笼统信息,经过一系列级别和拆分的处理,被插入到course plan blank(课程任务)表中,上课的教师和学生已经由人工对应完毕,我们需要从学生信息中找到学生的所属校区,在学生所属校区中的教室信息表中找到对应教室,分配给对应学生各项,最后分配时间,如果教室资源紧张,根据距离关系调整教室使用。 把数据从teaching plan表转到course plan blank表中,要每个教师,在同一时间只能对应一个班级,也就是给一个班级上课,由于出现时间问题,所以首先应该让学生对应教师和教师,最后调整时间,才能让系统最大限度不对数据库进行操作,减少系统开销。在 teaching plan表中人工对教师以及所授课的对象匹配完毕,剩下得任务就是为course plan blank表中所有项分配时间和地点,而且教师和学生不是一个校区的情况也可能发生,这就需要考虑教师和学生休息的问题,当数据从teaching plan表转到course plan blank表中时,我们要做的是一个教师对应一个时间,而且对应一组学生,这样就不会出现同一时间同一个教师在两个地方讲课和同一时间,相同的学生在多个地方上课的问题。我们首先把teaching plan表的数据按课程代码排列,这样便于我们操作。按顺序取每一项信息,在每项信息中,授课教师编号原样复制到course plan blank表的教师编号中,从从teaching plan表的班级序号中取出一个班级序号,分配到course plan blank表的classnumber中,同时判断teaching plan表的该项班级序号中是否还有下一个班级序号,如果有,再按上述做法把班级分配好教师,直到该项班级序号中的班级全部分配结束后,再按同样方法分配下一项,直到所有课程的教室分配结束,实现了数据的拆分把教师和学生的数据从teaching plan表转到course plan blank表的流程如下:把teaching plan表的数据按课程号排列按数据排列顺序取一项把该项teachernumber中的信息提取出来取teaching plan表中的classnumber中的一个取下一项该项classnumber中存在下一个班级把教师、班级、信息插入到course plan blank表的对应位置TF 图34 数据的转化流程图teaching plan表中找到该科目需要的教室信息,依次从对应教室表中顺序循环提取教室,然后把教室编号分配到course plan blank表的classroommumber中,再给下一个班级分配教室,为上述分配好的教师和学生分配教室和上课时间,教室是受科目和时间限制的,什么样的课程科目,需要什么样类型的教室,但是教室又受到时间的限制,同一个教室不能在同一时间被多次使用。我们在数据库中顺次提取信息,如果到该关系表的最后一项还没有满足条件要求,就返回第一项,重新按顺序取各项信息,直到满足条件要求停止,否则周而复始在数据库中运作。每分配完一个科目和他相应的教室,就给这项信息分配上课时间,而不能先把所有的课程分配好教室,然后再分配上课时间,如果那样,当为所有课程分配好教室后,当分配上课时间的时候,还要从新讨论教室是否冲突,等于把分配教师的事情重新做了一遍,增加系统开销,所以我们采用每给一项分配完教室,立即分配上课时间。事实上分配为学生分配教师和给科目与分配教室和上课时间是一体的,但是分开做会使程序做起来不会那么繁琐,实现起来也更简单,当学生分配完教师信息放入course plan blank表后,开始分配教室,教室的分配是对course plan blank表进行操作,不是对teaching plan表,同一个程序对两个表进行复杂操作比用两个程序先后顺序对两个表操作麻烦很多。也会给顺序循环分配教室带来很多约束。为学生分配教室,就不能不考虑地域的问题,学生上课如果要去很远的地方,就不会得到充分的休息时间甚至耽误下节课,所以上课时间和上课地点是不能分开的。2、上课时间与课程科目的匹配 不同科目,对于不同的专业来说,其重要性不同,例如:高等数学课,对与理工科学生来说,极端重要,但是对于文科学生来说,就显得不那么重要等等问题,根据课程对一个专业的重要性来选择上课时间,提高授课效率理所当然,我们把课程分为专业必修课、专业选修课、公共基础课、专业基础课、非专业选修课、非基础公共课、其他课程这几类,并为他们划分级别,专业必修课、专业选修课、公共基础课、专业基础课为高级别课程A级别,应当在一天中学习最好的时间里讲授这类课程,其他课程为的级别B的课程,可以在一天中除学习最佳时间以外其他时间授课,除此之外,高级别课程可以在任何时间里讲授,这样下来,我们就要把一天中的上课时间分出等级,来和课程进行匹配,每天的早上12节课是上课最佳时间,那么这个上课时间等级最高为A级别,每天的34节和56节共同跨越了午休时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠州消防安全知识培训案例课件
- 情感主播课件
- 项目实施方案策划XX
- 校园平安夜活动策划方案
- 幼儿园结对帮扶方案
- 幼儿园方案教学方法
- 图书教材考试题及答案
- 天泰物业考试试题及答案
- 消化系统试题及答案
- 纺织面试题目及答案
- JJG 693-2011可燃气体检测报警器
- 消防水池监理规划样本
- 药监系统官方培训 王似锦 非无菌药品的控制菌检查与不可接受微生物的评估
- 2022年版小学数学新课程标准测试题含答案【附新课标解读】
- 三花电子膨胀阀C51程序
- 智慧羊肚菌种植示范基地解决方案
- 麻醉与生理止血课件
- 聚谷氨酸项目建议书范文
- 模块化低压配电柜MODAN6000样本_图文
- 钣金件品质控制计划
- 某办公楼室内外装修改造工程施工进度计划横道图
评论
0/150
提交评论