高校教务排课系统论文-无忧无虑毕设网_第1页
高校教务排课系统论文-无忧无虑毕设网_第2页
高校教务排课系统论文-无忧无虑毕设网_第3页
高校教务排课系统论文-无忧无虑毕设网_第4页
高校教务排课系统论文-无忧无虑毕设网_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 高校教务排课系统 第一章 引言 (一)排课系统研究的意义 对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程,充分考验了排课人的智慧。传 统的人工进行排课,最令人担心的问题就是 出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负”。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。 (二)现状分析和存在的问题 目前,我国的高校排课系统始终没有一个合理的通用的算法,一般来说,大部分高校使用的排课系统,一 般都是自行设计开发,根据自己学校的教学楼分布情况、课程讲授方法设计的排课系统,只适用于一个或一类学校,但是由于各学校实际情况不同,所以,即使同一个排课系统,在不同的学校,系统消耗的代价也不一样,并且排课出错处理如:学生和教师的合理休息问题、移动距离最合理分配以及不同类型课程在一起排课时怎样充分利用教学资源等问题都不能同时合理的解决,大部分是以牺牲其他方面为代价的。 计算机排课系统的关键技术是形成采用框架式可维护的排课策略库。这个策略库要具有学生、教师、教室、课程等多因素自动综合的求优排课算法,课程时间分布的 自动平衡和时间段限定,听课人数和教室容量的自动求优 、 人数模糊、适应交大地域分散特点的教室地理位置自动求近 以及 位置限定算法等, 也就是说,根据课程科目的实际特点, 由计算机 调用策略库中的算法,自动 生成课程安排表。 (三) 本文解决的技术关键 目前在国内众多的高校自动排课系统中,没有一个能够适应高校内部复杂约束条件的限制,所以已经趋向于冲突检查与手工排课结合完成排课功能。在我的排课系统, 主要对不同类型课程进行等级划分 , 排列出课程的排课优先级别,通过优先次序对不同类型的课程使用不同的算 法进行排课, 能够非常方便地处理各种排课约束条件的限制,例如教师和教室冲突、班级冲突、教师上课时间和地点选择、分层次教学、单双周排课、一课多教师教学、课程连上和隔天教学等各种各样的约束。同时该系统还能够非常迅速地得到排课结果,例如排一千门课只需几分钟时间 等一系列问题。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第二章 需求分析 (一)系统所具备的功能的探讨 首先肯定排课系统是一个评价标准很难达到统一的问题,同一个排课结果,从学生角度看,不同专业的学生看法不同,有的认为这样上课自己一星期很近张,有的学生认为自己一星期很轻松,有的认为自己一星期时间 分配很合理,由于排课系统中所制约的各种因素,例如教师、教室、时间、学生以及授课学时等等。针对于排课系统评价的依据因素问题,我们从以下几点做了研究,探求其实现的可能性: 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 的数据库应用程序的结构如下图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 2.1 BDE 数据库应用程序的结构 8 2、数据库的选择: 因为本系统要使用多个数据库,所以 综合多方面因素,我决定采用的应用比较广泛,操作容易的界面化数据库是 Paradox dBase 数据库。 因为本人对数据库的操作主要是通过 Borland 数据库引擎 BDE,所以在设置系统环境变量的时候,把数据库的连接文件加入到目录中,来实现对数据库的连接。 (三) 系统流程图 根据系统要求,设计系统流程图,如下图: 基于 BDE 的数据库应用程序 BORLANFD DATABASE ENGINE ODBC Socket ODBC 驱动程序 ODBC 数据源 SQL Links 网络协议 Oracle Sybase SQL Server DB2 Informix Paradox dBase 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 教室信息 信息处理程序 信息存 储数据库 排课处理程序 课程调配数据库 显示课程表 表格生成程序 学院机构相邻关系程序 学院机构相邻关系数据库 学生信息数据库 教师信息数据 教室数据 学生信息 教师信息 学院信息 数据转换程序 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 2.2 排课系统系统流程图 第三章 整体设计 (一)系统功能模块设计 本系统的主要功能是根据开课表的内容结合班级表、教师表和教室表的信 息生成排课结果,其功能模块划分如图 4.1: 图 3.1 排课系模块示意图 高校排课系统 学生信息划分模块 学生公共课分班划分 学生年级、校区、各学院距离、学院的划分 学生课程科目信息、教学区域的划分 课程排列模块 学生课程 科目、课类对应 分配学生科目对应教室 形成课程表 分配对应科目上课时间、地点 调整教师、教室和上课时间 从数据库中取数据打印课程表 排课结果放入数据库 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: (二)数据流程图 数据流程图( Data Flow Diagram,简称 DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图。 通过以上对数据的处理过程分析,得到如下数据流程图: 开 课计 划教 务 办审 批开 课 信息班 级名 单教 师名 单教 室名 单教 务 办调 整教 室 信息班 级 信息教 师 信息排 课计 划教 务 办调 整排 课信 息 图 3.2 的系统数据流程图 (三)数据库设计 1、数据库需分析表 根据以上数据流程图的分析,排课系统需要以下基本信息: 表 1 classtoom (教室(场地)表 数据项名称 含义 说明 数据类型 长度 是否空 主键 classroomnumber 教室编号 唯一标识一个教室 int 4 N Y college 教室所属教学楼、机构 教室在那个教学楼 /学院 char 10 N N numberlimit 教室人数限制 教室一次性容纳上课人数 int 4 N N schoolarea 教室所属校区 教室是哪个校区的 char 10 N N classroomtype 教室类型 教室是什么类型的 char 10 N N remarks 备注 改进系统可能 char 10 Y N 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 会用到 classroomtypenumber 表示教室类型 根据需要检索对应类型教室 int 4 N N 表 2 teaching plan ( 教学计划)表 数据项名称 含义 说明 数据类型 长度 是否空 主键 coursnumber 课程代码 课程科目编号 int 4 N Y semester 学期 著名课程讲授年度 char 10 N N coursehours 讲授学时 讲授时间 /学期 int 4 N N classroomtype 该科目需要的教室类型 该科目需要什么类型的教室 char 10 N N credit 学分 科目学分 int 4 N N teachernumber 授课教师编号 给对应专业讲授该科目的教师编号 char 10 N N classnumber 班级编号 对应教师教给哪些班讲授该科目 char 10 N N 表 3 profession Information ( 专业信息 ) 表 数据项名称 含义 说明 数据类型 长度 是否空 主键 professionnumber 专业编号 唯一标识一个专业 int 4 N Y professionname 专业名称 专业名称 char 10 N N department 所在系名称 对应专业所在系 char 10 N N grade 年级 对应专业学生入学时间 char 10 N N college 学院名称 对应专业、系所在教学楼 /机构 char 10 N N schoolearea 学院所在校区 学院所属校区 char 10 N N countn 专业人数 该年级该专业对应的人数 int 10 N N remarks 备注 系统升级和改进时备用 char 10 N N 表 4 course (课程科目)表 不同类型的课程,对于一个专业来说,重要性不同,别的专业认为是重要的课程科目,这个专业认为是不重要得,所以 数据项名称 含义 说明 数据类型 长度 是否空 主键 coursnumber 课程编号 唯一标识一门课程 int 4 N Y 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: coursename 课程名称 课程科目名称 char 10 N N coursetype 课程所属课类 上课科目所属课类 char 10 N N courseclass 课程级别 该科目是 A、 B级课 char 10 N N remarks 备注 备用字段 char 10 Y N 表 5 weektime (星期 时间 )表 不同性质科目的课程要在合理的时间讲授,可以提高学生对知识掌握的熟练成都,所以要为上课时间互分级别是必须的。 数据项名称 含义 说明 数据类型 长度 是否空 主键 days 排课天数 上课日期的星期数用 阿拉伯数字表示 int 4 N Y times 上课课节数 上课每节课课节数用阿拉伯数字表示 int 4 N N timeclass 时间级别 该上课时间级别 char 2 N N remarks 备注 备用字段 char 10 Y N 表 6 college relate 教学楼相邻关系表(该表是根据每个学校实际情况由电脑自动生成而定,学校不相同表不会相同) relate college1 college2 collegen college1 college2 collegen 表 7 courseplanblank(课程任务 )表 数据项名称 含义 说明 数据类型 长度 是否空 主键 coursenumber 唯一标识一个科目 课程科目代号 int 4 N Y teachernumber 教师编号 讲授该科目的教师编号 int 4 N N dayt 排课天数 上课日期的星期数用阿拉伯数字表示 int 4 N Y timet 上课课节数 上课每节课课节数用阿拉伯数字表示 int 4 N N classroommumber 上课教室编号 学生上课 的教室编号 char 10 N N sameteachernumber 教师同时上课号 “ 1” 表示教师上课中“ 0”表示无课 int 4 N N classnumber 学生分班班级号 学生分班上课的班级号 int 4 N N sameroomnumber 教室使用 “ 1” 表示教室使用中 int 4 N N 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 标识 “ 0”表示空闲 samestudentnumber 学生上课标识 “ 1” 表示学生上课中“ 0”表示学生无课 int 4 N N 表 8 courseform( 课程)表 数据项名称 含义 说明 数据类型 长度 是否空 主键 coursnumberber 唯一标识一个科目 课程科目代号 int 4 N Y teachernumber 教师编号 讲授该科目教师编号 int 4 N N days 上课日期星期 上课日期是星期几 char 10 N N times 上课课节数 是该星期的第几节课 char 10 N N classroommumber 上课教室编号 学生上课的教室编号 int 4 N N classnumber 学生分班班级号 学生分班上课的班级号 int 4 N N 表 9 classroomnarea(教室区域关系 )表(该表是根据学校实际情况形成的,和独立教学区域不相关) 数据项名称 含义 说明 数据类型 长度 是否空 主键 classroomnumber 上课教室编号 学生上课的教室编号 int 4 N Y schoolarea 教室所在校区 教室在那个校区,校区名称 char 10 N N collegeschool 教室所在教学楼 教室所在的对应校区教学楼名称 char 10 N N sameroomnumber 教室被使用标识号 “ 1” 表示教室使用中“ 0”表 示空闲 int 1 N N 表 10 teacherinformation(教师信息 )表 数据项名称 含义 说明 数据类型 长度 是否空 主键 teachernumber 教师编号 唯一标识教师 int 4 N Y teachername 教师姓名 教师姓名 char 10 N N teachersex 教师性别 表示教师性别 char 4 N N 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: sectionnumber 教师所属部门代码 标识教师部门 int 4 N N title 职称 教师职称 char 10 N N remarks 备注 备注 char 10 N N 表 11 section (部门)表 数据项名称 含义 说明 数据类型 长度 是否空 主键 sectionnumber 教师所属部门代码 标识教师部门 int 4 N NY sectionname 教师所属部门名称 部门名称 char 10 N N college 部门所在教学学楼名称 char 10 N N schoolarea 教学楼所属校区 char 10 N N remarks 备注 备注 char 10 N N 表 12 courseclass (课程分班 )表 数据项名称 含义 说明 数据类型 长度 是否空 主键 courseumbertber 唯一标识一个科目 课程科目代号 int 4 N Y classnumber 班级编号 对应科目班级编号 int 4 N N professionnumberall 专业编号 对应班级包括的专业编号 nchar 50 N N remarks 备注 备注 char 10 N N 表 13. admin(用户登陆 )表 数据项名称 含义 说明 数据类型 长度 是否空 主键 Qx 权限 普通教研室和教处权 限的划分 int 4 N N ID 帐号 用户帐号 char 10 N Y czy 密码 用户密码 char 10 N N (四)数据库概念结构设计及 E-R 模型图 根据以上基本信息及先前所做的需求分析,可以做出以下 E-R 模型图: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 教室 使用 班级 开设 开课表教师教授 生成开课计划生成排课表1 NN1 111N1N 图 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(课程任务 )表中的 day course form( 课程) 表中的 week 1 星期一 2 星期二 3 星期三 4 星期四 5 星期五 6 星期日 7 星期日 8 星期一 9 星期二 10 星期三 11 星期四 12 星期五 13 星期日 14 星期日 表 15 上课时间对应转换关系表: (根据本校自己情况设定 ) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: course plan blank(课程任务 )表中的 times course form( 课程)表中的 time 1 8: 00- 9: 35 2 9: 10-11: 25 3 11: 45-13: 4 4 13: 35-15: 10 5 15: 25-17: 00 ( 六 ) 独立教学区域的划分 学生在正常两节课休息时间在 15 30 分钟 ,就不可能让学生上完一节课,下节课到超出课间休息时间所走的距离以外上课,为了避免麻烦,学校在给公共课分配班级上课的时候,以学院为单位分班,把同一个校区下同一个学院的同一年级分成一个班,或者根据人数平均分配成几个班级上课(不是绝对平分,以专业为单位上课),这样做有利于分配教室,学生可以到同一距离的地方上课,同时,相同的课不同的学院讲解深度和广度不同,适用范围也不同,按学院 分班上课,极大的避免了这些问题。为此,根据时间为学生和教师划分教学区域是必不可少的,让学生和教室合理的上课与休息和、工作和学习。 独立教学区域,就是在这个距离范围内的各学院组合一起,有独立的行政机构和教学机构,能够独立分配自己的教学资源 ,各独立机构共享这个范围内的教学资源。一个独立教学区域就是一个校区,根据各校区间的距离关系划分校区以便于在出现教学资源紧张的时候,能够让各校区合理的共享相邻校区的教学资源。 独立教学区域和校区的区别是,独立的教学区域指的是教学资源的独立分配,校区 指的是地理位置的独立,一个指的距离范围,一个是分布区域,是两个概念。 因为每个教师最多每天讲授两节课,如果一个教师的两节课任务都在 B 级时间,那么教师就不会有午休时间,如果同一组学生,在 B 级时间都有课,那么,他们也不会有午休时间,所以,为了合理安排教师和学生的休息,我们也要把学生专业和教师分别按不同方式排列,再跟据一定方法提取学生和教师信息,放入课表,可以避免这些问题。 以上考虑方法都是在一个校区范围内,考虑教师和教室等所有条件都充足的情况下,即理想条件下开始设计排课方案的,但是,这种情况只能在个别情况下存 在,很多时候都会出现教师资源紧张或者教资资源不足甚至以上两种情况同时存在的可能性,这就需要合理划分各种教学资源。根据数据库,由于需要考虑到冲突问题,所以应当正确的划分独立教学区域、课程类型、场地类型、教师问题以及时间的合理利用,才有可能最大限度的避免冲突,减少程序运行时间。划分区域的前提是当一个校区在任何时间都没有对应教学资源时才考虑,为了避免学生和教师路途奔波,应当最大限制的让对应划分的独立教学的学生在对应划分的独立教学区域上课,对应划分的独立教学区域的教师也应当在对应划分的独立教学区域上课。 独立教学区 域具体分配方法如下: 前提是当学生需要移动上课的时候 ,如果学生不需要移动 ,那么相邻上课教学楼为本身 ,是 E 级相邻关系。 如果学生不需要移动 ,那么相邻上课教学楼为本身 ,是 E级相邻关系。 当两个区域相距 1100 米以内(约 10 分钟路程),那么两区域相邻关系为较无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 高级,在数据库中用字母 A表示,排课时,如果一个校区出现教学资源冲突,优先考虑到相邻关系为 A的地方上课或者调用相应学院所属校区,调用相应教学资源。 当两个区域相距 1100 米 15 公里左右时(大约 60 分钟路程),为 B 级相邻关系如果一个区域出现教 学资源紧张时,可以考虑安排另一地区学生使用本区域资源,但是由于路程较远,所以,如果在这个路程范围内,学生去上课的时候,可以考虑让这些学生在这个区域上其他科目的课程,用来添补由于路程问题给学生带来上课限制 。 当两个区域相距 15 公里 50 公里左右的时候(约 2 小时路程),为 C级相邻关系,如果教室或者教师等教学资源在前面的路程范围内,任何情况下都不能满足学生上课的需求时,我们考虑让学生在本区域的星期六和星期天上课,因为在这一路程范围内,学生要坐很长时间的车去上课,如果考虑学生不能早起,晚上的赶车回本区域休息 ,不利于学生学习,从这一距离范围开始开始考虑只允许教师移动。 当两个区域相距 50 公里以上时,为 D级相邻关系,学生不可能到该地方上课,不需要考虑,但是,我们需要讨论教师问题, 50 公里以上的路程,花费时间最少 2 个小时,也就是说,很有可能一个满足相应条件的教师到该地方授课当天赶不回自己对应的划分教学区域上课,而且第二天教师来不及或匆忙赶回自己所属区域开始其他授课任务,更何况教师的吃饭、住宿等事情,这些问题经济上的花费由学校承担,与其花费这么大,而且效果不好,教师人困马乏,不如用这笔花费去重新聘请一名教师,会极 大的解决教师资源紧张的压力。 这样形成如下表的学校各机构以及学院相邻关系表: relate college1 college2 collegen college1 E C D college2 B E B E collegen D A E (七)、距离问题与移动代价关系的讨论 真正考虑实际问题的时候,我们不能把任何一门科目都拿过来,立即分配上课时间和上课点,因为假设一门课程需要多个教师讲授,或者一门课程需要用到多个类型的教室,这样的课程如果在排课过程中放在后边排课,很可能 会因为要同时满足这些条件的限制而使科目无法排课,即使这两个条件满足,学生和教师又没有协调好,为排课带来很多麻烦,这是课程本身的问题,也是我们必须解决的问题。 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 表的流程如下: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 3 4 数据的转化流程图 teaching plan 表中找到该科目需要的教室信息,依次从对应教室表中顺序循环提取教室,然后把教室编号分配到 course plan blank 表的 classroommumber中,再 给下一个班级分配教室, 为上述分配好的教师和学生分配教室和上课时间,教室是受科目和时间 限制的,什么样的课程科目,需要什么样类型的教室,但是教室又受到时间的限制,同一个教室不能在同一时间被多次使用。我们在数据库中顺次提取信息,如果到该关系表的最后一项还没有满足条件要求,就返回第一项,重新按顺序取各项信息,直到满足条件要求停止,否则周而复始在数据库中运作。每分配完一个科目和他相应的教室,就给这项信息分配上课时间,而不能先把所有的课程分配好教室,然后再分配上课时间,如果那样,当为所有课程分配好教室后,当分配上课时间的时候,还要从新讨论教室是否冲突,等于把分配教师的事情重新做了一遍,增加系统开销,所 以我们采用每给一项分配完教室,立即分配上课时间。事实上分配为学生分配教师和给科目与分配教室和上课时间是一体的,但是分开做会使程序做起来不会那么繁琐,实现起来也更简单,当学生分配完教师信息放入course plan blank 表后,开始分配教室,教室的分配是对 course plan blank表进行操作,不是对 teaching plan 表 ,同一个程序对两个表进行复杂操作比用两个程序先后顺序对两个表操作麻烦很多。也会给顺序循环分配教室带来很多约束。为学生分配教室,就不能不考虑地域的问题,学生上课如果要去很远的地 方,就不会得到充分的休息时间甚至耽误下节课,所以上课时间和上课地点是不能分开的。 2、上课时间与课程科目的匹配 按数据排列顺序取一项 把该项 teachernumber 中的信息提取出来 取 teaching plan 表中的 classnumber 中的一个 取下一项 该项 classnumber 中存在下一个班级 把教师、班级、信息插入到 course plan blank 表的对应位置 T F 把 teaching plan 表的数据按课程号排列 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 不同科目,对于不同的专业来说,其重要性不同,例如:高等数学课,对与理工科学生来说,极端重要,但是对于文科学生来说,就显得不那么重要等等问题,根据课程对一个专业的重要性来选择上课时间,提高授课效率理所当然,我们把课程分为专业必修课、专业选修课、公共基础课、专业基础课、非专业选修课、非基础公共课、其他课程这几类,并为他们划分级别,专业必修课、专业选修课、公共基础课、专业基础课为高级别课程 A 级 别,应当在一天中学习最好的时间里讲授这类课程,其他课程为的级别 B的课程,可以在一天中除学习最佳时间以外其他时间授课,除此之外,高级别课程可以在任何时间里讲授,这样下来,我们就要把一天中的上课时间分出等级,来和课程进行匹配,每天的早上 1 2 节课是上课最佳时间,那么这个上课时间等级最高为 A 级别,每天的 3 4 节和 5 6 节共同跨越了午休时间,就让这段上课时间等级为 B 级别,7 8 节课上课时间为 C 级别, 9 10 节课上课时间为 D 级别。 如果学生 B 级别时间有课,那么,无论这个时间是 3 4 节还是 5 6 节都把时间加 1,来寻找新的上课时间,从而避免午休时间冲突。 通过级别划分,可以更清晰的为某一科目划分上课时间断,避免了如早上第一节课上体育课的问题。除此之外,如果涉及到移动问题,需要计算路程时间,用时间级别来确定移动问题,比用时间和课节数算起来方便。 3、 课程紧密程度的安排 排课过程中要避免对一科目和一个专业的课程安排过密的情况,所以在对某一科目分配时间的时候,当首次授课时间确定后,如果没有完成规定的授课次数,就需要在相隔几天后继续上课,总之,要让每一科目的授课次数较为平均的分布在 14 天(除星期 日不上课)里分布,就可达到学生合理的利用时间习和休息。 因为要学生在一个星期内课程安排均匀,不能让学生集中几天把一星期的教学任务完成,其余时间学生自己安排,所以在给某一科目安排上课时间的时候,对 teaching plan 表中的某一科目首先判断每大周上课次数,在 course plan blank 表中,给出该科目的第一节课上课时间后,为了 避免同一科目授课次数过于密集和同一批学生上课时间过于集中,人为的把第一次上课时间的星期数加上一个数得到这门课讲授其他次数上课时间,也就是说,排完课之后,对于有单双周之分的课程, 一大周两个星期内课程差一节课,但是两个星期上课时间相似只不过是单周或双周多上的一节节课,而对于无单双周分别的课程,单双周课程安排时间完全一样,利用这个方法排课,一次性逐个对 course plan blank 表中每一项同时分配教室和上课时间, 分配完毕后,把信息对应转化到 course form 表中 , 按课程表要求打印出表格。 (九)排课 逻辑流程图 1、 排课逻辑流程图 当以上准备工作做好以后,我们来看一下排课的逻辑流程图 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 无忧无虑毕设网 ():毕业设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论