DELPHI高校教务排课系统_第1页
DELPHI高校教务排课系统_第2页
DELPHI高校教务排课系统_第3页
DELPHI高校教务排课系统_第4页
DELPHI高校教务排课系统_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

高校教务排课系统

指导教师:崔旭姓名:韩涛

1

一、理论基础以及准备过程二、可行性研究三、用户需求分析四、编程工具五、总体设计六、详细设计

2

绪论

对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程。传统的人工进行排课,最令人担心的问题就是——出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。

排课教师根据原始依据设置好学校基本情况及排课要求,让计算机排出课程表,适度调课后的课表就能满意地应用于新的学期。本文主要对该排课系统的设计思想、主要算法以及实现技术进行详细介绍。3

高校排课管理系统网络结构图

数据库服务器在防火墙里面,WEB服务器在外边,也可以在防火墙里面,可以在Internet上,也可在校园局域网。教务管理人员通过校园网访问数据库服务器;学生和教师通过校园网或者互联网访问WEB服务器。4

可行性研究(一)学生和教师的移动代价(二)教室的利用(三)教师的工作量(四)排课系统的时间复杂度(五)公共课分班问题(六)教学区域划分问题(七)课程优先级问题(八)课程合理分布问题5一个界面友好,操作简单,排课自动化程度高的程序。应具有以下功能:1.友好简洁的操作界面,易于非专业人员操作。2.具有文档导入功能,以导入各各期的开课计划。3.具有对班级、教室、教师表信息的简单输入、修改功能。4.能够根据开课计划自动生成排课表,具有一定的手工排定功能。5.具有自由度高的排课结果修改功能

需求分析6

条件限制1.公共课合班上课问题2.教学资源紧张带来的移动代价问题3.有的课程是以周为单位进行授课的4.有部分课程要求多班合上。5.教室数量有限,原则上是让所有的教室都充分利用。6.学生教师合理休息问题7.医学院很多课程一门课要求多个教师在不同类型的教师中授课,需要对各类型的课程划分等级8.同一班学生课程合理分布的问题7

编程语言和数据库的采用系统采用Borland的Delphi7.0进行开发。

Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-OrientedLanguage)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率。不同的数据库开发软件对数据库的操作是不一样的,在Delphi中,数据库应用程序可以通过Borland数据库引擎BDE(BorlandDataBaseEngine)来操作数据库中的数据。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问数据库来完成对数据库的操作的,并非直接操作BDE。这样用户只需关心数据组件即可,不用去直接和BDE打交道。8基于BDE的数据库应用程序BORLANFDDATABASEENGINESQLLinksODBCSocket网络协议ODBC驱动程序OracleSybaseSQLServerDB2InformixODBC数据源ParadoxdBase

基于BDE的数据库应用程序的结构图9

教师信息教室信息学校信息信息处理程序信息存储数据库排课处理程序课程调配数据库显示课程表表格生成程序学院机构相邻关系程序学院机构相邻关系数据库学生信息数据库教师信息数据教室数据学生信息该系统的系统流程图如下:10

总体设计该系统的模块结构如下:高校教务排课系统学生信息划分模块学生公共课分班划分学生年级、校区、各学院距离学生课程科目信息、教学区域的划分课程排列模块学生课程科目、课类对应分配学生科目对应教室分配对应教师形成课程表分配对应科目上课时间调整教师、教室和上课时间从数据库中取数据打印课程表排课结果放入数据库11数据流程图(DataFlowDiagram,简称DFD)是新系统逻辑模型的主要组成部分,它可以反映出新系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。它的绘制依据是现行系统流程图,数据流程图是管理信息系统的总体设计图。该系统的数据流程图如下:121、classtoom

(教室(场地))表数据项名称含义说明数据类型长度是否空主键classroomnumber教室编号唯一标识一个教室int4NYcollege教室所属教学楼、机构教室在那个教学楼/学院char10NNnumberlimit教室人数限制教室一次性容纳上课人数int4NNschoolarea教室所属校区教室是哪个校区的char10NNclassroomtype教室类型教室是什么类型的char10NNremarks备注改进系统可能会用到char10YNclassroomtypenumber表示教室类型根据需要检索对应类型教室int4NN

数据库设计132、teachingplan(教学计划)表

数据项名称含义说明数据类型长度是否空主键coursnumber课程代码课程科目编号int4NYsemester学期著名课程讲授年度char10NNcoursehours讲授学时讲授时间/学期int4NNclassroomtype该科目需要的教室类型该科目需要什么类型的教室char10NNcredit学分科目学分int4NNteachernumber授课教师编号给对应专业讲授该科目的教师编号char10NNclassnumber班级编号对应教师教给哪些班讲授该科目char10NN3、professionInformation(专业信息)表数据项名称含义说明数据类型长度是否空主键professionnumber专业编号唯一标识一个专业int4NYprofessionname专业名称专业名称char10NNdepartment所在系名称对应专业所在系char10NNgrade年级对应专业学生入学时间char10NNcollege学院名称对应专业、系所在教学楼/机构char10NNschoolearea学院所在校区学院所属校区char10NNcountn专业人数该年级该专业对应的人数int10NNremarks备注系统升级和改进时备用char10NN144、course(课程科目)表

不同类型的课程,对于一个专业来说,重要性不同,别的专业认为是重要的课程科目,这个专业认为是不重要得,所以数据项名称含义说明数据类型长度是否空主键coursnumber课程编号唯一标识一门课程int4NYcoursename课程名称课程科目名称char10NNcoursetype课程所属课类上课科目所属课类char10NNcourseclass课程级别该科目是‘A’、‘B’级课char10NNremarks备注备用字段char10YN5、weektime(星期—时间)表不同性质科目的课程要在合理的时间讲授,可以提高学生对知识掌握的熟练成都,所以要为上课时间互分级别是必须的。数据项名称含义说明数据类型长度是否空主键days排课天数上课日期的星期数用阿拉伯数字表示int4NYtimes上课课节数上课每节课课节数用阿拉伯数字表示int4NNtimeclass时间级别该上课时间级别char2NNremarks备注备用字段char10YN156、collegerelate教学楼相邻关系表(该表是根据每个学校实际情况由电脑自动生成而定,学校不相同表不会相同)relatecollege1college2……collegencollege1college2……collegen7、courseplanblank(课程任务)表数据项名称含义说明数据类型长度是否空主键coursenumber唯一标识一个科目课程科目代号int4NYteachernumber教师编号讲授该科目的教师编号int4NNdayt排课天数上课日期的星期数用阿拉伯数字表示int4NYtimet上课课节数上课每节课课节数用阿拉伯数字表示int4NNclassroommumber上课教室编号学生上课的教室编号char10NNsameteachernumber教师同时上课号“1”表示教师上课中“0”表示无课int4NNclassnumber学生分班班级号学生分班上课的班级号int4NNsameroomnumber教室使用标识“1”表示教室使用中“0”表示空闲int4NNsamestudentnumber学生上课标识“1”表示学生上课中“0”表示学生无课int4NN168、courseform(课程)表数据项名称含义说明数据类型长度是否空主键coursnumberber唯一标识一个科目课程科目代号int4NYteachernumber教师编号讲授该科目教师编号int4NNdays上课日期星期上课日期是星期几char10NNtimes上课课节数是该星期的第几节课char10NNclassroommumber上课教室编号学生上课的教室编号int4NNclassnumber学生分班班级号学生分班上课的班级号int4NN9、classroomnarea(教室区域关系)表(该表是根据学校实际情况形成的,和独立教学区域不相关)数据项名称含义说明数据类型长度是否空主键classroomnumber上课教室编号学生上课的教室编号int4NYschoolarea教室所在校区教室在那个校区,校区名称char10NNcollegeschool教室所在教学楼教室所在的对应校区教学楼名称char10NNsameroomnumber教室被使用标识号“1”表示教室使用中“0”表示空闲int1NN1710、teacherinformation(教师信息)表数据项名称含义说明数据类型长度是否空主键teachernumber教师编号唯一标识教师int4NYteachername教师姓名教师姓名char10NNteachersex教师性别表示教师性别char4NNsectionnumber教师所属部门代码标识教师部门int4NNtitle职称教师职称char10NNremarks备注备注char10NN11、section(部门)表数据项名称含义说明数据类型长度是否空主键sectionnumber教师所属部门代码标识教师部门int4NNYsectionname教师所属部门名称部门名称char10NNcollege部门所在教学学楼名称char10NNschoolarea教学楼所属校区char10NNremarks备注备注char10NN1812、courseclass(课程分班)表数据项名称含义说明数据类型长度是否空主键courseumbertber唯一标识一个科目课程科目代号int4NYclassnumber班级编号对应科目班级编号int4NNprofessionnumberall专业编号对应班级包括的专业编号nchar50NNremarks备注备注char10NN13.admin(用户登陆)表数据项名称含义说明数据类型长度是否空主键Qx权限普通教研室和教处权限的划分int4NNID帐号用户帐号char10NYczy密码用户密码char10NN19

E-R模型图

简单的E-R模型图:

20独立教学区域的划分

一个学校的一个教学楼或一个学院教学资源难免出现紧张问题,这就涉及到学生或教师移动的问题,而且最重要的是移动后保证正常合理的可持续上课问题21独立教学区域具体分配方案如果学生不需要移动,那么相邻上课教学楼为本身,是’E’级相邻关系。当两个区域相距1100米以内(约10分钟路程),那么两区域相邻关系为较高级,在数据库中用字母‘A’表示,排课时,如果一个校区出现教学资源冲突,优先考虑到相邻关系为‘A’的地方上课或者调用相应学院所属校区,调用相应教学资源。当两个区域相距1100米~15公里左右时(大约60分钟路程),为‘B’级相邻关系如果一个区域出现教学资源紧张时,可以考虑安排另一地区学生使用本区域资源,但是由于路程较远,所以,如果在这个路程范围内,学生去上课的时候,可以考虑让这些学生在这个区域上其他科目的课程,用来添补由于路程问题给学生带来上课限制。当两个区域相距15公里~50公里左右的时候(约2小时路程),为‘C’级相邻关系,如果教室或者教师等教学资源在前面的路程范围内,任何情况下都不能满足学生上课的需求时,我们考虑让学生在本区域的星期六和星期天上课,因为在这一路程范围内,学生要坐很长时间的车去上课,如果考虑学生不能早起,晚上的赶车回本区域休息,不利于学生学习,从这一距离范围开始开始考虑只允许教师移动。当两个区域相距50公里以上时,为‘D’级相邻关系,学生不可能到该地方上课,不需要考虑,但是,我们需要讨论教师问题,50公里以上的路程,花费时间最少2个小时,也就是说,很有可能一个满足相应条件的教师到该地方授课当天赶不回自己对应的划分教学区域上课,而且第二天教师来不及或匆忙赶回自己所属区域开始其他授课任务,更何况教师的吃饭、住宿等事情,这些问题经济上的花费由学校承担,与其花费这么大,而且效果不好,教师人困马乏,不如用这笔花费去重新聘请一名教师,会极大的解决教师资源紧张的压力。22这样形成如类是下表的学校各机构以及学院相邻关系表:

relatecollege1college2……collegencollege1ECDcollege2BEB……EcollegenDAE23同一专业学生课程的均匀分布排课过程中要避免对一科目和一个专业的课程安排过密的情况,所以在对某一科目分配时间的时候,当首次授课时间确定后,如果没有完成规定的授课次数,就需要在相隔几天后继续上课,总之,要让每一科目的授课次数较为平均的分布在14天(除星期日不上课)里分布,就可达到学生合理的利用时间习和休息。teachingplan表中的某一科目首先判断每大周上课次数,在courseplanblank表中,给出该科目的第一节课上课时间后,为了避免同一科目授课次数过于密集和同一批学生上课时间过于集中,人为的把第一次上课时间的星期数加上一个数得到这门课讲授其他次数上课时间,也就是说,排完课之后,对于有单双周之分的课程,一大周两个星期内课程差一节课,但是两个星期上课时间相似只不过是单周或双周多上的一节节课,而对于无单双周分别的课程,单双周课程安排时间完全一样,利用这个方法排课,一次性逐个对courseplanblank表中每一项同时分配教室和上课时间,分配完毕后,把信息对应转化到courseform表中24

课程类型分类和课程优先排列级别划分根据课程科目需要的教师以及教室类型两者者的对应关系,可以分为:一科目对应一种类型的教师,由固定教师授课、一科目对应多类型教室,由唯一固定教师授课、一科目对应多类型教师,由不同教师授课、一科目对应固定一种类型教师,但是需要多个授课教师讲授该科目,如果把非教师、教室、科目一一对应的科目按正常课程排课,由于教学资源冲突,很可能这些课程会由于教学资源冲突而无法正常排课,这里说的是教学资源冲突,不是教学资源紧张,教学资源冲突,会导致学生或教师移动到其他相邻教学区域去上课,就需要考虑休息、经济花费、可持续上课等复杂因素,增加系统开销不说,对本校区的教学资源也是一种浪费。于是,调整和合理的分配教学资源,根据课程性质把课程分优先级排课,降低系统开销,是首要问题。教学资源紧张的问题,实际上是学生、教师、教室等综合因素互相作用引起的,根据课程科目授课地点的约束,把教室或场地总体上分为专用的和公用的,专用教室或场地不和其他课程科目冲突,所以只需要考虑学生问题就可以了,如果是同级多专业学生共同上课,那么这类课需优先排课,这样才能让学生有时间各自独立上以专业为单位的课,同样,考虑科目类型时,不是以专业为单位授课的课程科目,都需要优先考虑为其排课。另外,如果同一门课对应要求多个不同科目的教师讲解,为了避免在以后排课时,教师发生冲突,完不成教学任务,所以,这样的课要先排课,同样,如果同一个科目的课程需要多个不同类型的教室,为了避免教室冲突问题,也需要对这样的科目优先排课,如果一科目既需要多个不同科目的教师讲授,又需要多个不同类型教室授课的话,那么,这门课就更需要优先考虑。当把以上一切都处理好后,才能安排为专业为单位,教室类型单一的课程科目排课。25

上课时间级别的划分

由于课程的讲授方式不同,着重点不同,也就是说,有的课程需要学生花费很多精力去学习,而有的课程不需要浪费过多精力,我们把这些课程分类,分级别,专业课、实验课、基础必修课等课程费精力研究,公共课等课程不需要浪费很多经历,所以我把课程级别分为A、B两个级别,专业课、实验课、基础必修课等课程为A级课,公共课等课程为B级课,同样,A级课需要学生在头脑清醒,经历旺盛的时候上课,B级课则不需要这么多拘束。26

上课时间与课程科目的匹配

不同科目,对于不同的专业来说,其重要性不同,例如:高等数学课,对与理工科学生来说,极端重要,但是对于文科学生来说,就显得不那么重要等等问题,根据课程对一个专业的重要性来选择上课时间,提高授课效率理所当然,我们把课程分为专业必修课、专业选修课、公共基础课、专业基础课、非专业选修课、非基础公共课、其他课程这几类,并为他们划分级别,专业必修课、专业选修课、公共基础课、专业基础课为高级别课程‘A’级别,应当在一天中学习最好的时间里讲授这类课程,其他课程为的级别‘B’的课程,可以在一天中除学习最佳时间以外其他时间授课,除此之外,高级别课程可以在任何时间里讲授,这样下来,我们就要把一天中的上课时间分出等级,来和课程进行匹配,每天的早上1-2节课是上课最佳时间,那么这个上课时间等级最高为‘A’级别,每天的3-4节和5-6节共同跨越了午休时间,就让这段上课时间等级为‘B’级别,7-8节课上课时间为‘C’级别,9-10节课上课时间为‘D’级别。如果学生B’级别时间有课,那么,无论这个时间是3-4节还是5-6节都把时间加‘1’,来寻找新的上课时间,从而避免午休时间冲突。通过级别划分,可以更清晰的为某一科目划分上课时间断,避免了如早上第一节课上体育课的问题。除此之外,如果涉及到移动问题,需要计算路程时间,用时间级别来确定移动问题,比用时间和课节数算起来方便。27

时间级别对照表课节数时间课程级别18:00----9:35A29:10----11:25B311:45----13:4B413:35----15:10C515:25----17:00

D28排课系统逻辑流程图29排课系统总体算法

开始排课

为与该类课有关班级写入数据

是否是公共必修课(类)

是否能找出可排时段

是否是专业选修课(类)

是否是专业必修课(类)

是否能找出可排时段

是否能找出可排时段

为与该类课有关班级写入数据

为与该类课有关班级写入数据

为与该类课有关班级写入数据

排课成功

是否是公共选修课(取一类课)

30使用说明及运行环境使用说明:以下“必选”项目是必须进行的操作;“可选”项目是可以进行也可以不进行的操作。【1】由“输入密码”窗体进入主窗体(必选)。运行软件进入“输入密码”窗体后有三种选择:(1)按“确定”按钮进入主窗体(2)按“注册”按钮进入注册窗体,关闭注册窗体回到“输入密码”窗体后再按“确定”按钮进入主窗体。(3)按“退出”按钮退出《排课高手》,回到Windows。【2】更改系统设置(可选)。进入主窗体后,按“系统”按钮,进入“系统设置”窗体。如果需要更改运行密码,就输入原密码,再输入新密码,再输入一遍新密码让计算机确认。如果需要更改系统其他设置(各模块是否自动保存数据;排课时是否有响声提示;是否显示提示),可以选择或不选有关项。最后按“确定”按钮,回主窗体。以后使用本软件时必需输入密码。如果不需要更改默认的系统设置,则本步骤可省略。运行环境硬件配置:486或以上的CPU;64M或以上的内存(班级数越多需要的内存越大),彩色显示器(分辨率为800×600或以上);宽行打印机。软件平台:Windows95/98/Me/2000简体中文版31登陆界面登陆用户有不同的权限,超级管理员是系统管理人员的权限最大,可以添加用户、更改课程、修改系统,管理员的权限是进行统一排课和为个教研室分配一般用户帐号和密码,然后当一般用户课程申请结束后,有权进行排课。一般用户则只能提出课程申请,和对自己范围内的课程进行简单的调整。32

登陆画面流程图33

信息设置1、课程设置34

温馨提示

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

评论

0/150

提交评论