中小学辅助排课系统的设计与实现

中小学辅助排课系统的设计与实现
中小学辅助排课系统的设计与实现

中小学辅助排课系统的设计与实现

贺荣

摘要:编排课表是中小学教学管理中一项重要而又复杂的工作。它通过合理地安排时间、教师、课程、班级四大要素之间的关系,使全校各个班级一周内的每节课,都有合适的教师及课程与之对应。

针对我校自身的校务情况,在研究过当前一些优秀的排课算法的基础上,我研究出一套基本可行的排课程序。它可先根据教务人员输入的约束条件进行设置,通过逐步筛选细化,将特定的课自动安排在最合适的时间段中安排到最优级的班级中。如果自动排课尚有不成功的地方,会在课表显示区将该课程以红色显示进行警告。通过这种直观的辅助手段,教务人员再配合进一步手动调整,最终调整出满意的课表。

关键词:排课系统自动手动辅助

一、排课系统的开发背景

随着教育事业的不断发展,学校对教师课程安排的复杂度不断增加,如何将一个学校各个学科每天的课程安排与教室资源的分配合理化是摆在每一个教务工作人员面前的一个难题。传统的人工排课方式不仅工作繁琐,工作量大,而且还很容易出现错误。因此,计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机自身的优势,将大量复杂的判断与运算交给计算机做,是真正意义上的人脑的“减负”。教师设置好学校基本情况及排课要求,让计算机自动排出课程表,适度调课后的课表就能满意地应用于新的学期。

早在上世纪60年代末,Grotlieb.C.C教授就对课程表问题进行了形式化描述[1]。排课表这样的时间表问题(TTP: T ime-Table-P rob lem ) , 是典型的组合优化和不确定性的调度问题[ 2, 3 ] , 并且已被证明是NP完全问题,有其自身固有的数学模型,即课表问题存在解,并且能找到解[4]。排课表问题的难度在于:它是一个多元受限的问题(受限于课程、时间、班级、教师、教室排课五要素) , 如果必须满足所有的约束条件(而这些条件通常是相互矛盾的) , 则极有可能找不到完整解[ 5 ]; 这也是为什么迄今为止还几乎没有完全自动生成课表系统的软件应用于实际,因为多数的排课效果好的软件还需后期手动辅助排课进行完善,而那些完全自动生成的排课软件,通常会以降低约束条件的满足程度为代价(比如不能均匀分布课程、主副科安排时间段不很合理等)。

目前, 解决课表问题的方法有: 模拟手工排课法[ 6,7 ] , 图论方法, 拉格朗日松弛法, 二次分配型法等多种方法[ 8, 9 ]。在以往的教学管理中,课表编排在许多学校只能通过人工或人工模拟的方式生成。但是,伴随着各类学科范围的不断扩大,各学科科目逐渐增多,以至于众多的教师和学生、庞大的课时、复杂的班级信息令学校的教务安排人员无法高效、合理地制定出相应的排课计划。这就促使我们的教务安排人员必须采用一些辅助的手段来帮助自己。因此,计算机辅助排课成了现代排课的需要,相应的排课算法成了人们探讨的主要问题。目前常见的排课算法有贪心算法、遗传算法、回溯算法等[10]。研究并使用一种好的算法不仅可以缩短排课时间,提高排课效率,更可以让使用者得心应手,提高教学效果。

二、排课系统开发目的及意义

排课问题的实质是为教师、学生的教学活动合理安排时间上和空间上的资源,以保证教学活动有秩序有计划地进行。排课工作在教务工作中处于十分重要地位。

用一个计算机自动排课系统来完全代替手工排课,是每个排课程序开发者的设计初衷,但随着研究的不断深入,好多开发者都会发现一个棘手的问题:由于排课众多的约束条件和超大的求解规模,使一个完全的自动排课系统的生成可能性变得很小。因此,在约束多、数量大的前提下,通过人工干涉达到合理的排课效果是很重要的。

开发“中小学辅助排课系统”旨在当前中小学教学模式下,提高排课效率,优化排课结果,探求算法的改进,既能首先使用自动排课替代以往的手工排课,又能在后期使用辅助手动排课进一步调整细化,使排课结果更为理想。

本设计借鉴当前成功的排课经验并结合本校的实际情况,探究出一种优化资源分配的自动排课,及后期利用手动处理优化排课结果的算法。主要有四个方面:首先是将教师信息按权值高低进行优先级排序。排课时总的原则是主科教师及课时量多的教师优先进行排课,但为了保证教师的排课均匀,设置变量turned代表轮流次数,每位教师排课后turned增加1,然后取下一位教师的排课信息,成功排课后该教师的turned变量也增加1,这样当所有教师排了一遍课程以后,再按教师优先级的排序结果重新来下一轮次,可以保障教师排课的均匀。第二:得到该教师所带课程及班级信息后,将教师课表、班级课表、约束条件设置表、星期区间表进行“与”操作,判断出该节课是否适合安排课程。这里主要体现在经过上述四大条件的“与”操作之后,适合安排该课的课节是一周里面最优的时间段。第三:为保证排课结果均匀而预先设置好“星期区间”。有的课程一周2节,有的课程一周8节,如何将这些课程在一周内均匀地安排,是中小学排课中一个很关键的问题。本文首先设定好一个“星期约束”表,将周课时从1节到8节分别进行星期区间的合理设定,当排到某课程特定的课节时,可以从区间表中找到它对应的星期区间,以达到排课结果的均匀;最后:在自动排课无法达到理想状态,即排课产生冲突的时候,为用户提供手动辅助排课,以达到进一步优化排课结果的效果。冲突检测主要通过5个集合来完成,分别为课程A,教师B,班级C,约束D,时段E。其中时段E即为基础数据模块中“周课节设置”后形成的时间区间。如一周上课5天,一天6节课。从课程A中提取一门需要安排的课,按时段取用规则从时段E中提取一个时间片,在这个时间片进行各种冲突检测,即对教师B、班级C和约束D进行检测,一旦冲突,则跳过此次排课结果,再进行其它尝试。自动排课和手动调整均适用此冲突检测规则。

三、排课准则及排课算法

(一)排课系统的准则

一个排课系统成功与否,主要取决于排课结果是否符合以下准则:

1.是否满足“约束条件”,也称为“硬条件”

这是判断一个排课系统的生成结果是否成功的标志。本文之所以把约束条件称为“硬条件”,是因为它是排课系统必须遵循的条件,如果违背了这些条件形成结果,那么结果将视为无效。打个比方:全校的语文组要在每个周二的上午集体教研,那么之前设置的约束条件——周二的上午不能安排语文课,则是硬性的必先执行的约束条件,排课时必须做到遵守这一点,否则就会影响教学安排,违背了排课系统的设计初衷。

中小学的排课系统不同于高校,它没有教室因素这一要求,即每个班级固定为某个教室,其常见的约束条件如下所列:

(1)教师不能冲突:一名教师不能同时带多个班的课程,合班课除外;教师先前做好的约定不能被违背,比如张老师要求周一上午第4节不予安排课。

(2)班级不能冲突:同一时间段一个班级不能同时由多位教师上课,如初一1班周一第2节,同时由语文张老师和数学李老师上课是不合理的;班级的约束条件不能被违背,如全校周一下午第2节固定设置为班会。

2.是否满足“优化条件”,也可称为“软条件”

优化条件,又称软条件,是在排课过程中可以满足同时又可以不完全满足的约束条件,是在满足硬约束条件的基础上能尽量要求满足的约束条件,软约束条件可以根据不同的教学情况有所差异。有时可以通过调节软约束条件的满足程度而改变排课的效果,可以将一定要满足的软约束条件转换为“硬约束条件”。

常见的优化条件如下所列:

(1)同一班级的某门课程,一周内上课的时间尽量均匀分散安排。

(2)主科安排在主要时间段,一般为上午,副科安排在次要时间段。

(3)教师课程安排合理:任课多的教师一周的工作量要合理分布。

(4)占用公共资源的的课程如微机、体育,以及学时多的课程优先进行处理。

优化条件是判断一个排课系统的生成结果是否成功的标志。也就是说,一个排课程序,如果能实现所有的“约束条件”,也就是硬条件,那么说它是合格的,但未必代表它就是成功的。只有同时满足了“优化条件”,也就是软约束条件,才能说它是一款成功的排课系统。

(二)优化排课算法的实现

设计排课系统算法有一定的复杂性,因为它涉及到教师、班级、时间、课程四大信息对象,如果是高校的话,还会涉及到“教室”第五个因素。算法的目标是为满足学校教学需求而合理分配资源,其关键核心问题即在于:解决冲突。试想,一个学校几十个班级、十几门课程、百十名教师、几十个时间段……将这么多的因素交叉在一起形成一系列完全没有冲突的课表,绝不可能是随便一个简单的算法能够实现得了的。

虽然目前已经出现了许多用不同算法设计的自动排课系统,但它们或多或少存在着不足;或因适用范围太广而导致操作复杂,需要手工录入的排课信息量太大;或因排课算法不合理导致排课时间过长,有的甚至导致死机;还有的排课速度很快,结果却差如人意,只是满足了一定的硬性约束条件,而优化条件却满足的很少,导致排课效果一般。而且大多数是针对大专院校需求开发设计的,很难适用于义务阶段的中小学校的特殊的教学安排。

因此,本文在分析了当前中小学课程,并了解了一些学校现有排课方法后,整理出了一套针对本校排课使用的的算法,它能比较有效处理各种复杂的冲突,而且能自动呈现排课结果,之后还可以根据用户自己的需求进一步手工调整,该算法基本能满足中小学校的排课要求。

1.构造时间模式库

时间模式是根据教务人员的经验,为各种周学时数不同的课程指定的一种时间组合方式。例如,一门课程的周学时数为4,那么它的时间组合方式可以有:“11”,“22”“32”,“41”; 表示该课程一周上4次,分别为周一的第1 节、周二的第2 节、周三的第2节和周四的第1节,同时,为了达到较好的上课效果,也要对这些时间模式进行分级。如下所示:

时间模式举例

周一周二周三周四周五

第1节 11 21 31 41 51

第2节 12 22 32 42 52

……

第6节 16 26 36 46 56

第7节 17 27 37 47 57

其中,前一位数字表示星期,将周一至周五用数字1~ 5 表示,后一位数字表示上课节次,第1-8节分别用数字1~ 8 表示。例如数字“42”表示周四的第2 节,数字“56”表示周五的第六节。

这样,对于每种周学时数,可以将所有合理的时间组合形式存入模式库中,以便进行时间处理时可以用时间模式库中的各种模式进行匹配。

2.建立时间数组

(1)建立班级教师空闲时间表

为了表示班级、教师的可排课时间,分别为他们建立一维数组,因为中小学班级固定,所以不考虑教室的可排课时间,例如:某位教师的初始可排课时间数组为(1111111 1111111 1111111 1111111 1111111)。其中共有五组数据,分别表示一周中的五天;而一组数据共

有7 个字符,分别表示一天中的七个时间单元,初始置为1时,表示该教师一周中的每一时间段均为空闲无课时间。当为某位教师分配时间后,相应的那位字符就置为0,例如,某位教师的可排课时间数组为( 0101111 1011101 0011111 1101111 0110111) ,则表示这位教师在周一的第1 、3节,周二的2、6 节,周三的1、2 节,周四的第3 节,周五的第1、4节已经安排了课程,如果要再安排课程的话,就应该在值为1的时间单元中筛选。

对于班级也可以进行同样的处理,分别标出班级可排课时间。例如,某班级的可排课时间数组为( 0001111 1011101 0011111 1101111 0111101) ,则表示这个班级在周一的第1 、2、3节,周二的2、6 节,周三的1、2 节,周四的第3 节,周五的第1、6节已经安排了课程,如果要再安排课程的话,就应该在非0 的时间单元中筛选。

将教师可排时间与班级可排时间作“&”与操作之后,即可以得出教师班级空闲时间表。例如将上述两数组进行与操作之后,可以得到如下数组:( 0001111 1011101 0011111 1101111 0110101),即再安排课时,该班级的周一第123节课、周二的第2、6节课、周三的1、2节课、周四的第3节课、周五的1、4、6节课均已有安排,需要在其它的时间段进行选择和安排。

(2)建立星期区间表

为了实现排课的均匀,本文将星期按区间进行分配,举个例子,如果当前处理的课是一周2节的音乐课,并且当前排的是本周的第2次音乐课,则要从数据库中找到对应的course_count=2、turned=1时对应的星期约束条件数组(1111111 1111111 1111000 0000000 0000000)来进行排课,这其实是教务工作人员前台进行约束设置后,在后台的一种对应体现,即本次排课只能从一周的上半周中进行选择,这样就可以进一步优化排课范围。同样,如果现在要排音乐课的第2次课程时,将从数据库中找到对应字段的值course_count=2、turned=2来进行排课。此时,对应的数组(0000000 0000000 0001111 1111111 1111111),直接从下半周中进行筛选,不必浪费时间安排到不合理的时间段,过后再进行检查和修正。

(3)建立约束条件区间表

中小学排课有一个最大的特点就在于主副科课程的安排,语文、数学、英语作为主科一般安排在上午较好的时间段,音、体、美等副科安排在上午后面的时间段或下午。是否能合理地安排好主副科,是一个中小学排课软件是否成功的重要体现,此处通过建立区间表的方法来体现该约束条件。

在自动排课之前,教务人员就会将每门课程的约束条件输入到程序中,在前台,用不同的颜色来为用户表示约束条件的设置,而在后台,对应了不同的数值来代表该条件。比如主科可以设置每天上午前3节为适合,后台将对应的权值“0”写入数据库约束表T_COURSE_WHERE,前台课程控件对应字体显示为红色(clRed),代表这些课节适合安排主科。下午第2节及以后时间段不适合安排主科,后台将对应的权值“2”写入数据库

约束表T_COURSE_WHERE,前台课程控件对应字体选用蓝色(clBlue)进行设置。

课程约束条件设置示意图如图1所示。

说明:实际操作中,课表中的课程用红色代表适合,粉色代表正常,蓝色代表不适合。

1 课程约束条件设置示意图

还以音乐课为例,音乐课属于副科,其最好的安排时间段为每天上午最后一节和下午,所以其对应的约束条件区间为(0001111 0001111 0001111 0001111 0001111)

在拿到一门课程时,首先从库里找到这4张区间表,其中班级和教师空闲表合成后成为

一张班级教师空闲表,然后将班级教师空闲时间表、星期区间表、约束条件区间表相与之后,即可得到排课可用时间表。

排课可用时间表的生成示意图如图2所示。

图2 排课可用时间表的生成示意图

排课可用时间表与课程表的直观对应关系如图3所示。 说明:表格中的 部分代表该时段已安排课程。

图3 排课可用时间表直观图

3.建立tmies-week 区间。(这里将课程数course_count 简称为times 。)

排课结果是否均匀是体现一个排课系统是否成功的重要指标,本文将不同的周课时数在五天内的分布进行了合理的安排,排课时,根据某门课程对应的times 和turned 两个参数寻找到对应的数据进行排课均匀的优化操作。实际操作中,可以根据排课人员自己的实际要求来详细设定。参见图4 times-week 区间图。

星期区间表

约束条件表

排课可用 时间表

教师班级 空闲时间表

&

&

按时间空闲排课

排课可用时间表

图4 times-week区间图

举两个例子予以说明:

周课时为5节的课程,为保证排课的均匀,安排课程时定为一天一节。如times=5,turned=2时,表示周课时数为5,轮流次数为2,其排课区间为周二的全天,即(0000000 1111111 0000000 0000000 0000000)。

周课时为8节的课程,将第1、2、3节放到周一、周二中进行安排;第4、5、6节放到周三、四中安排;第7、8节放到周五中安排。如times=8,turned=4时,表示周课时数为8,轮流次数为4,就只能在周三、四中进行安插,其对应的区间为(0000000 0000000 1111111 1111111 0000000)。

在整个自动排课过程中,算法的主要思想是:首先将教师按所教课程的级别及课时数设定优先级,以保证主科教师及课时量大的教师能够得到优先排课的权利;之后,在时间分配时,总是在尚未分配的时间单元中选择上课效果最好的单元。具体处理过程如下:(1)设定优先级

以教师为主线,按照优先级进行排序。

*按主副科级别rank:语数英:3 政物化:2 其它:1

*按周课时数: times

级别计算:piror=rank*3+times

(2)查询可用时间单元的步骤

第 1 步:初始化所有教师和所有班级的最大可安排时间数组为( 1111111 1111111

1111111 1111111 1111111)。

第2 步:从数据库中找出该教师所带课程对应的星期区间表,即time-week区间。

第3步:查找该课程所对应的约束条件表。

第4 步:将前3步得到的4个区间表进行“与”操作,得到该教师所带课程可以安排的时间单元。

第5 步:依次处理教师时间数组和相关班级时间数组,将已成功安排的课对应的位置置为0,保存到各个对应的数据表中。

4.进行冲突检测

排课过程中的冲突是要根据实际情况进行消除的,一张不符合教务需求的课表是无效的课表。冲突检测分以下几种情况:

(1)某特定的时间段的某门课程,对应教师是否已经排课;

(2)某特定的时间段,班级中是否已经排课;

(3)课程安排是否与约束条件相符合;

(4)某课程的周课时数是否已经全部安排完毕;

自动排课中,要全部使用上述4点冲突检测方法,最终结果是否冲突要以前台课程显示的不同颜色来表示,例如:中小学语文课是主科,要求排课时最好排在上午的比较好的时间段中,可以通过“课程约束”模块,对本课对应课节分别设置“适合”、“正常”、“不适合”来做约束(将对应的值0、1、2分别保存到T_COURSE_WHERE表的F_COURSE_TYPE字段中,而0、1、2又对应不同的颜色值。如果主科被安排在下午第2节,则视为与约束条件不符合,约束结果为“不适合”,对应值为2,调取相应的颜色模块返回前台进行显示,用户根据颜色就可以判断自动排课结果是否正常。

手动排课中,只使用到第1种和第4种冲突检测方法。当用户手动进行课程安排的时候,首先判断该课程一周的课时数是否已经排满,如果排满则弹出对话框进行警告,并禁止本次手动安排。其次还应判断该课程对应的授课教师,是否该时段在别的班级有课,如果有则弹出对话框进行警告,并禁止本次手动排课。

5.手动辅助处理

计算机自动排课也需要进行手动排课的辅助,以便可以使得能够根据自己的具体要求对排课算法中的一些参数进行设置和修正,并对计算机排出的课表进行调整,本算法所设计的人工干预过程有:时间模式库的设置,约束条件的设置,自动排课后的结果调整,通过这些方法为用户呈现满意的课程表。手动辅助处理的具体内容如下:

(1)一周上几天,一天几节课,用户可以根据自己的需求来设置时间模式库;

(2)语文适合安排在哪个时间段,体育适合安排在哪个时间段,用户可以自行设定相应的约束条件;

(3)自动排课后,针对冲突的或排课结果不理想的课程,系统提供手动排课。排课时

系统会将课程以不同颜色进行显示,方便用户对安排不合理的课程及时更改,同时系统会给用户列出该课程对应的周课时数及已排次数,提高用户手动排课的效率。

四、程序的实现

(一)基础数据设置

该模块的运行窗口,如图5所示。

图5 基础数据设置窗体

(二)班级课程设置

这是设置某一班级具体开设哪些课程、每门课程的周课节数是多少的模块。班级课程设置窗口如图6所示。

图6 班级课程设置窗体

(三)教师课程设置

该模块可以设置每位教师任哪个班级的哪一门课。将教师、班级、课程多种排课条件进

行关联。教师课程设置窗口如图7所示。

图7 教师课程设置窗体

(四)课程约束设置

该模块主要实现对课程约束条件的设定。中小学排课系统中,通常要把主科排在上午的时段,一些副科排在下午的时段,或者因为教研活动等原因,需要对课程进行合理的分配与安排。该模块的设定可以对排课的优先顺序产生影响,也可以使最终的排课结果以对应颜色显示,使用户能够了解排课结果,并适当进行下一步修改。如图8所示。

图8 课程约束设置窗体

(五)自动排课算法模块

该模块的运行窗体,如图9所示。

图9 自动排课运行窗体(六)手动排课运行模块

该模块的运行窗体,如图10所示。

图10手动排课运行窗体

五、结束语

该设计是本人在分析目前大量成功的排课系统基础之上,结合自己在学校帮助教务主任排课的经验,通过研究与比较各算法领域中成功而科学的理论思想而探索出的一套排课算法。该系统能够首先进行自动排课,而且之后可以利用颜色与权值相结合的简单易实现的方法,引导用户方便快捷地手工进行调整,直到排出满意的课表。但本系统也有许多不完善之处,比如在设置约束条件的时候,不能够使用拖曳实现,只能用右键单击的方法做,不够人性化,使用起来不太方便。另外本设计只能对课程进行约束条件的设置,缺乏对教师进行约束条件的相关设置,今后还需进一步的改进与提高。

参考文献:

[1] C.C.Gotlieb.The construction of class-teacher https://www.360docs.net/doc/d511184409.html,rmation process-ing.Proc.IFIP Congress 62,1962

[2] T ripathy A. Computerised decision aid for timetabling—a case analysis [ J ].

D iscrete Applied Mathemat ics, 1992, 35 (3) : 313- 323.

[3 ] Ferland J A , F leurent C. SA PH IR A decision sup2po rt system fo r course scheduling [ J ]. Interfaces,1994, 24 (2) : 105- 115.

[4] 周建新.课表编排专家系统.计算机应用,2000,Vo l.20,No.5,PP.76-7

[5] Even S, Itai A , Sham ir A. S IAMJ [ J ]. Comput,1976, 5 (4) : 691- 703.

[6] 王能斌, 钱祥根. 大学课程表调度系统——U TSS[J ].计算机学报, 1984, (5) : 383- 389.

[7 ] 张清绵, 徐明. 智能教学组织管理与课程表调度系统[J ]. 大连理工大学学报, 1991, 31 (2) : 227- 232.

[8 ] 林漳希, 林尧瑞. 人工智能技术在课表编排中的应用[J ]. 清华大学学报, 1984, 24 (2) : 1- 9.

[9 ] Kiaer L , Yellen J. W eigh ted graph s and university course t ime tabling [ J ]. Computers and Operat ions Research, 1992, 19 (1) : 59- 67.

[10] Ferland J A, Fleurent C. SAPHIR: A decision support system for course scheduling [J]. Interfaces, 1994, 24 (2):105-115

作者简介:

贺荣,中学一级教师,硕士,研究方向为计算机技术

----------------------------------------------------------------------------------------------------------------------

自动排课系统设计与实现论文

摘要:制定一个学校的排课计划是一项非常耗时且相当辛苦的工作,而且它还得由有学校排课工作经验或者这方面知识的人才能做好。在一所高校时一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘,即便你的输入数据量并不是实际意义上的大批量。 课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 本系统经过测试,运行稳定,可投入使用。 关键字:排课管理,VB,数据库

Abstract:Formulates a school platoon class plan is an item consumes extremely when also the quite laborious work, moreover it also must by have the school row of class work experience or this aspect knowledge talented person can complete. When a university a class schedule formulation is a difficult problem, because has the very many limiting condition in the related class schedule question to result in the consideration, but also has the massive data space to excavate, even if your input data quantity is not in the practical significance mass. The curriculum arranges the system is a school essential part, Its content said regarding the school policy-maker and the superintendent all very important, Therefore the automatic curriculum arranges the system to be supposed to be able to provide the sufficient information and the quick inquiry method for the user. But the people have since always used the traditional artificial way management document file, this management way has many shortcomings, For example: The efficiency low, the secrecy is bad, Moreover the time one is long, Will produce the massive documents and the data, This regarding the search, the renewal and the maintenance has all brought many difficulties. Along with science and technology unceasing enhancement, The computer science is mature day after day, Its formidable function had profoundly known for the people, t entered the human society each domain and is playing the more and more vital role. This system after the test, the movement is stable, may put into the use. Key words: Curriculum management, VB, database

自动排课系统的设计与实现[1]

目录 摘要............................................................................................................................. I 第1章绪论 (1) 1.1系统开发背景 (1) 1.2国内外的研究现状 (1) 1.3系统解决的主要问题 (3) 1.4本文的主要工作 (3) 1.5本文的组织结构 (3) 第2章需求分析 (5) 2.1系统概述 (5) 2.1.1总体业务描述 (5) 2.1.2系统的目标和解决的问题 (5) 2.1.3系统的开发模式 (7) 2.2系统需求问题描述 (9) 2.2.1功能性需求 (9) 2.3.2系统非功能性需求 (12) 第3章系统构架设计 (14) 3.1构架的目标和约束 (14) 3.2构架设计 (15) 3.2.1系统总体架构 (15) 3.2.2系统功能构架 (16) 3.2.3系统技术构架 (17) 3.2.4系统安全构架 (18) 第4章系统详细设计 (20) 4.1 系统建模 (20) 4.2 系统数据库设计 (24) 4.2.1生成数据库表 (24) 4.2.2数据分析 (32) 4.2.3数据库管理技术 (34) 第5章计算机排课系统的实现 (35) 5.1系统总体实现 (35) 5.1.1数据录入模块的设计与实现 (38) 5.1.2报表模块的设计与实现 (43) 5.1.3用户管理模块的设计与实现 (45) 5.2教学计划的关键实现 (48) 5.2.1算法描述 (49) 5.2.2教学计划算法过程 (49) 5.3排课算法的关键实现 (51) 第6章总结与展望 (66) i

排课系统设计

一、需求分析 需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。 1.1需求表述 1.1.1 基本功能描述 排课系统的数据库设计主要完成工作有: 1、数据库管理员对数据的录入和相关完整性条件约束的建立, 2、数据库相关的触发器与存储过程对数据库中数据的联系的 管理; 3、执行程序能够高效率地完成数据处理和调用; 4、能够通过DBMS建立一系列视图来更方便的操作数据库。1.1.2 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。 1.2分析形成初步数据字典 数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部

课程设计(自动排课系统)

2008~2009学年度《WEB 程序设计》 课程设计 班级:05网络3班 学号:090205338 姓名:周秋艳 2008年12月17日

基于WEB的高校教师排课系统 一、用户需求分析(10分) 学校教务的管理作为高校教育信息化工作中的一项重要工作,如何构建一个具有开放性、实用性和灵活性的平台,是一个值得探讨的课题。其中,作为学校教务重点环节之一的排课系统也尤为重要。 先前,在统筹安排各班级上课的时间需要人工实现,而且经常会出现同时有多个班级要使用教室的冲突。既耗时又耗精力,随着计算机技术的不断发展,计算机技术在各领域的充分完美应用,以学校的教务管理为该系统的应用背景,开发一个教室智能排课系统。 此系统开发主要包括后台数据库的建立和前端应用程序的开发两个方面。系统采用Visual Basic 6.0开发工具和SQL Server 2000作为后台数据库开发的应用软件。该系统实现上机时间的安排,课程的安排,教室的安排,以及它们之间的不冲突和资源的高效利用;这更切合学院教学需要,降低了排课管理工作的工作量和节省了时间,同时课程安排完成后,学院可迅速获得课表情况信息,为教学工作带来方便。本系统界面友好,操作简单,使用方便。 二、系统总体设计(15分) 1.系统功能描述 1.1 基本信息管理:教师、教室、班级、课程、教学任务等数据的输入、编辑功能; 1.2 数据处理:自动排课、课表修改、删除功能;

1.3 数据输出:桌面查询教师、教室、班级课程表,报表打印教师、 教室、班级课程表; 1.4 帮助:指导用户使用该系统及其他相关说明。 2 系统功能设计 分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有: 2.1 怎样的合班组合能避免冲突? 目前采取的方式是相同或相近的专业的班级组合。 2.2 什么地方有空能排课? 对教室和班级而言是查空,对教师而言是有无排课需求。 2.3 有两个以上的空哪一个更好? 是要考虑离散和平衡问题。 2.4 排课前如何考虑教师宏观利用问题? 例如:多媒体大班课:大学英语、高等数学尽量排在上午, 思想道德修养、马克思主义哲学原理等尽量排在下午。 2.5 对于数量巨大的信息,系统仍具有较快的响应速度和较小的 系统开销。 三、系统功能模块分析(25分) 详细分析各功能模块之间的关系,以及各功能模块下的子模块构成。

中小学辅助排课系统的设计及实现

word文档整理分享 中小学辅助排课系统的设计与实现 贺荣 摘要:编排课表是中小学教学管理中一项重要而又复杂的工作。它通过合理地安排时间、教师、课程、班级四大要素之间的关系,使全校各个班级一周内的每节课,都有合适的教师及课程与之对应。 针对我校自身的校务情况,在研究过当前一些优秀的排课算法的基础上,我研究出一套基本可行的排课程序。它可先根据教务人员输入的约束条件进行设置,通过逐步筛选细化,将特定的课自动安排在最合适的时间段中安排到最优级的班级中。如果自动排课尚有不成功的地方,会在课表显示区将该课程以红色显示进行警告。通过这种直观的辅助手段,教务人员再配合进一步手动调整,最终调整出满意的课表。 关键词:排课系统自动手动辅助 参考资料

一、排课系统的开发背景 随着教育事业的不断发展,学校对教师课程安排的复杂度不断增加,如何将一个学校各个学科每天的课程安排与教室资源的分配合理化是摆在每一个教务工作人员面前的一个难题。传统的人工排课方式不仅工作繁琐,工作量大,而且还很容易出现错误。因此,计算机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机自身的优势,将大量复杂的判断与运算交给计算机做,是真正意义上的人脑的“减负”。教师设置好学校基本情况及排课要求,让计算机自动排出课程表,适度调课后的课表就能满意地应用于新的学期。 早在上世纪60年代末,Grotlieb.C.C教授就对课程表问题进行了形式化描述[1]。排课表这样的时间表问题(TTP: T ime-Table-P rob lem ) , 是典型的组合优化和不确定性的调度问题[ 2, 3 ] , 并且已被证明是NP完全问题,有其自身固有的数学模型,即课表问题存在解,并且能找到解[4]。排课表问题的难度在于:它是一个多元受限的问题(受限于课程、时间、班级、教师、教室排课五要素) , 如果必须满足所有的约束条件(而这些条件通常是相互矛盾的) , 则极有可能找不到完整解[ 5 ]; 这也是为什么迄今为止还几乎没有完全自动生成课表系统的软件应用于实际,因为多数的排课效果好的软件还需后期手动辅助排课进行完善,而那些完全自动生成的排课软件,通常会以降低约束条件的满足程度为代价(比如不能均匀分布课程、主副科安排时间段不很合理等)。 目前, 解决课表问题的方法有: 模拟手工排课法[ 6,7 ] , 图论方法, 拉格朗日松弛法, 二次分配型法等多种方法[ 8, 9 ]。在以往的教学管理中,课表编排在许多学校只能通过人工或人工模拟的方式生成。但是,伴随着各类学科范围的不断扩大,各学科科目逐渐增多,以至于众多的教师和学生、庞大的课时、复杂的班级信息令学校的教务安排人员无法高效、合理地制定出相应的排课计划。这就促使我们的教务安排人员必须采用一些辅助的手段来帮助自己。因此,计算机辅助排课成了现代排课的需要,相应的排课算法成了人们探讨的主要问题。目前常见的排课算法有贪心算法、遗传算法、回溯算法等[10]。研究并使用一种好的算法不仅可以缩短排课时间,提高排课效率,更可以让使用者得心应手,提高教学效果。

教务排课管理系统设计(VB课程设计)

类型:【02课程设计】 作品名称:教务排课管理系统设计 作品关键词:排课管理系统、Microsoft Visual Basic、Microsoft Access

第一章系统需求分析 这个阶段的任务不是具体地解决问题,而是准确地确定“为了解决 这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。 需求分析也是软件定义时期的第一个阶段,虽然在可行性研究阶段 可以粗略了解了用户的需求,甚至还提出了可行的方案,但是可行性研 究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小 的细节,所以可行性研究并不能代替需求分析,它实际上并没有准确地 回答“系统必须做什么?”这个问题。为此,必须对系统进行需求分析。1.1 系统编写目的 排课是学校教学管理中十分重要、又相当复杂的管理工作之一,是 为学校所设置的课程安排时间和地点,使整个教学能够有计划有秩序的 进行。 课表编排是一个涉及多种因素的组合规划问题,它要保证在课程安 排中教师、学生、教室不能产生冲突(所谓冲突,就是将需上不同课程 的两个或多个班级安排在了同一时间、同一教室、或为同一教师在同一 时间段安排了多门课程等情况),并且要满足教师的要求和教室资源的要 求等约束条件。 伴随着我国教育体制改革的深入,学生人数的不断上升,课程设置 不断向深度和广度发展,手工排课的缺点越来越突出。由于计算机具有 运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。用 计算机进行排课能够快速地得到满足约束条件的可行性结果,具有排课 时间短、人力省和质量高的优点,不但能够使教务人员从繁杂的排课任 务中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

CRP排课管理系统

CRP模型 CRP系统包括学籍管理、成绩管理、排课管理、考试管理、教师管理、备品管理、系统维护和系统登陆平台。对于每一个子系统,都对应相应的模型,即各种各样的UML图。由于篇幅所限和各子系统具有相同的结构特征,这里只介绍的排课管理子系统的各种模型的建立。 CRP排课管理子系统是为了解决中小学繁杂的排课任务而设计开发的,其基本的要求是要实现排课的半自动或自动化,排出的课程表必须合理,实用。 在这里,结合RRUP过程来介绍各个排课管理系统在实际开发中使用UML 表示的各个模型。 1.1 需求模型 我们使用用例模型来表示需求阶段的系统模型,用例模型主要有用例图组成,从该子系统开始到子系统最终的发布,每一个迭代其用例模型都不相同;在CRP系统的开发过程中,随着迭代的不断进行,用例模型也在不断地发生变化,由于篇幅所限,本文只给出第一次迭代确定的用例模型和现今最后一次迭代所确定的用例模型。 RRUP过程的第一步,就是找出系统的功能需求和非功能需求,并建立相应的需求模型(用例模型)。 通过需求分析,确定了排课管理的功能需求,其需求简要概括如下: ?排课信息设置:包括科目信息,上课时间,科目和教师限制信息,班级 排课信息,排课管理系统根据这些排课信息和限制信息对系统进行自动 排课。 ?自动排课和手工排课:对于用户设定了排课信息之后,系统能够自动对 课表进行安排,而且能够手工对安排完的课表进行调整,在排课过过程 当中,能够对不合理的排课结果给用户进行提示。 ?课表报表和课表查询,给出全校教师,班级课表;在课表查询中,用户 可以选择不同的教师,班级,科目,系统根据用户的选择给出相应的课 表。 需求描述是整个系统在初始阶段的开端,RRUP中,不赞成使用文档对需求进行描述,而是使用用例图和用例模型对系统建立整个需求模型。

排课系统数据库设计

` JIANGXI AGRICULTURAL UNIVERSITY 本科课程实训 ; 题目:关于学生排课系统的数据库设计 学院:软件学院 姓名:肖力谢果 学号: ~ 专业:软件工程 班级:软件1001 指导教师:黄欣

2011年12月

引言: 由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个系统也有迫切需求。基于用SQL Server设计的数库的排课系统也有很大的需要,在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系统的数据库进行设计。 该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习进行巩固和联系。该排课系统主要设计流程工作大概分为三个阶段:需求分析,概念结构设计,逻辑结构设计,也将设计的物理结构和数据库实施维护从略讲述,着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系统的E-R图,最后在解决冲突的分析下完成基本总实体-联系(E-R图);在逻辑结构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析和实现……最后简要对数据库设计的步骤的物理设计和实施阶段简要概述。 课程设计为实验周两天完成,使用流行的SQL Server 2005数据库系统完成基本设计工作,通过数据库管理系统(DBMS)、T/SQL基本语句实现数据库表的创建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基本完成。

一、需求分析 需求分析是数据库设计的必要和首要设计阶段,将会影响以后数据库设计的延续和质量,需求分析方法也很多,最重要是形成有实用价值的实际性的数据字典和数据流图。在该排课系统的需求分析阶段,主要是通过询问和自己所掌握的关于该系统的数据联系方式和工作方式,形成了关于该系统的数据字典和数据流图。 1.1需求表述 基本功能描述 排课系统的数据库设计主要完成工作有: 1、数据库管理员对数据的录入和相关完整性条件约束的建立, 2、数据库相关的触发器与存储过程对数据库中数据的联系的管理; 3、执行程序能够高效率地完成数据处理和调用; 4、能够通过DBMS建立一系列视图来更方便的操作数据库。 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。 1.2分析形成初步数据字典 数据字典(Data Dictionary,DD)是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也是进行详细数据收集和数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:

高校自动排课系统毕业设计

自动排课系统 摘要:制定一个学校的排课计划是一项非常耗时且相当辛苦的工作,而且它还得由有学校排课工作经验或者这方面知识的人才能做好。在一所高校时一个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考虑,还有大量的数据空间被挖掘,即便你的输入数据量并不是实际意义上的大批量。 课程编排系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以自动课程编排系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 本系统经过测试,运行稳定,可投入使用。 关键字:排课管理,VB,数据库

Abstract:Formulates a school platoon class plan is an item consumes extremely when also the quite laborious work, moreover it also must by have the school row of class work experience or this aspect knowledge talented person can complete. When a university a class schedule formulation is a difficult problem, because has the very many limiting condition in the related class schedule question to result in the consideration, but also has the massive data space to excavate, even if your input data quantity is not in the practical significance mass. The curriculum arranges the system is a school essential part, Its content said regarding the school policy-maker and the superintendent all very important, Therefore the automatic curriculum arranges the system to be supposed to be able to provide the sufficient information and the quick inquiry method for the user. But the people have since always used the traditional artificial way management document file, this management way has many shortcomings, For example: The efficiency low, the secrecy is bad, Moreover the time one is long, Will produce the massive documents and the data, This regarding the search, the renewal and the maintenance has all brought many difficulties. Along with science and technology unceasing enhancement, The computer science is mature day after day, Its formidable function had profoundly known for the people, t entered the human society each domain and is playing the more and more vital role. This system after the test, the movement is stable, may put into the use. Key words: Curriculum management, VB, database

排课系统概要设计

陕西国防工业职业技术学院 J2EE 项目开发报告 题目排课系统概要设计 专业计算机软件技术 班级软件3121 姓名巨建波 学号 35312130 指导教师魏晓燕刘慧梅房栋 二○一四年

概要设计说明书 目录 1引言 (3) 1.1编写目的 (3) 1.2定义 (4) 1.3参考资料 (4) 2.总体设计 (5) 2.1 任务目标 (5) 2.2 运行环境 (5) 2.3 条件与限制 (5) 2.4基本设计概念和处理流程 (6) 2.4结构 (7) 2.5功能器求与程序的关系 (7) 2.6人工处理过程 (8) 2.7尚未问决的问题 (8) 3.接口设计 (8) 3.1用户接口 (8) 3.2外部接口 (9) 3.3内部接口 (9) 4.运行设计 (10) 4.1运行模块组合 (10) 4.2运行控制 (10) 4.3运行时间 (11) 5.系统数据结构设计 (11) 5.1逻辑结构设计要点......................................................... 错误!未定义书签。 5.2物理结构设计要点 (11) 5.3数据结构与程序的关系 (11) 6.系统出错处理设计 (11) 6.1出错信息 (11) 6.2补救措施 (12)

1引言 1.1编写目的 在排课系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对学校,老师,学生中调研中获得,并在需求规格说明书中得到详尽的叙述及阐述。 本阶段已在系统的需求分析的基础上,对排课系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 本文档为排课系统设计、实现、测试、以及验收提供重要的依据,也为评价系统功能和性能提供依据,本文档可供用户、项目管理人员、系统分析员、程序设计人员、以及系统测试人员阅读和参考。 项目名称:排课系统

ASP+SQL-网上选排课系统系统分析及详细设计

网上选排课系统系统分析及详细设计 摘要:网上选排课系统是随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨这一需求进行设计的。在这套选排课系统功能的设计上,可以分为登录、排课和选课3个子系统。学生、管理员、教师三种身份分别有不同的权限,各自进行相应的操作,如学生可以选课与退课等;管理员要进行课程的安排等;教师则可以查询相关信息等。本程序前台采用Dreamweaver MX 2004进行页面制作,后台由SQL Server 2000数据库支持。使用VBs cript作为程序的主脚本语言。本文中除了有对程序的总体设计、详细设计、功能实现等主体部分外,还介绍了与网上选排课系统相关的网络编程技术、ASP编程语言、SQL Server数据库等的基本内容。 关键字:ASP;数据库;选课;排课;存储过程 Abstract: Internet Course Scheduling the election system, with the number of college students in the continuous increase in the amount of data the Senate system has been the rise in demand for design. The course arrangement in the election system design, can be logged in, arranging schedule classes and three sub-systems. Students, administrators, teachers as there are three different permission, each corresponding to the operation, such as classes and students can retreat classes; administrator to conduct courses of the arrangements; teachers can find relevant information. This procedure future use Dreamweaver MX 2004 to create pages, background by the SQL Server 2000 database support. VBs cript procedures used as the main scripting language. In this paper, in addition to the overall design of the procedures, detailed design, function, and so achieve the main part, but also on the course arrangement with the online election system related to network programming, ASP programming languages, SQL Server database, and other elements. Keyword: ASP; database; classes; course arrangement; storage process

实验室排课系统的设计与实现教学内容

实验室排课系统的设 计与实现

实验室排课系统的设计与实现 作者计家瑞 指导教师赵会洋 [摘要] 为提高实验室的资源利用率,减轻管理人员的劳动强度,方便学生、实验室管理人员与教师之间的交互和沟通,系统提出了用计算机代替手工排课的方法,设计了一个利用计算机实现实验室排课的系统。通过对手工排课过程的调研与分析,设计出了实验室排课系统的功能结构,在此基础上,给出并利用回溯算法实现了实验室排课及课表的导出与打印等功能。实验结果表明,该方法具有很高的可行性和有效性。 [关键词] 导出与打印;自动排课;回溯算法 1.引言 自动排课是在传统人工排课经验的基础之上,利用计算机模拟人脑来选择合适的方案进行排课。许昌学院计算机科学与技术学院计算机机房承担着计算机科学与技术学院、软件学院的教学实验任务,由于近两年来学院的办学规模不断扩大,实验室的建设也在逐步发展。高质量的教学需要高效率的管理支持,随着开放式实验教学管理模式的改革和学院办公信息化项目的推广,传统的实验室人工管理模式已经不能满足我们工作学习的需求,无法有效合理的提高实验室资源的利用率。实验室自动排课系统的实施,不仅可以提高计算机机房的管理水平、教学质量,而且可以使实验室达到高效、有序、网络化的管理。 2.系统需求分析 排课是高等院校教学管理中一项重要而复杂的工作,自动排课算法是一个NP完全问题,集成了时间、空间的双重约束,从数学上来讲,排课问题是一个在时间、教师、学生和教室四维空间,以教学计划和各种特殊要求(如指定时间、指定教室、排课等级)为制约条件的组合规划问题,其实质是解决各个因素之间的冲突。 2.1 系统的功能分析 本系统的最终用户是学生、教师和管理员,处理要求如下所示。 (1)先排有指定要求的课程,指定要求包括指定教室和指定时间、只指定时间没有指定教室、只指定教室没有指定时间,最后对既没有指定时间又没有指定教室的课程进行安排。 (2)周五下午不能排课,排课时间为周一至周五,每天上午、下午各两节课,共十八个上课时间段。 (3)满足周课时要求。 (4)可根据使用用户的不同,将课表分为班级课表、教室课表、教师课表和总课表。 (5)管理员可以设置用户权限、用户初始密码及添加、删除用户。 (6)可分别将基本信息和课表信息导出到Word或者Excel。 (7)可打印基本信息、教学计划和课表信息。 (8)设置一个简易留言板,用户可以进行留言,管理员可以对留言板进行管理。

排课管理系统

毕业设计 <<排课管理系统>> 院系______ 专业______ 班级______ 姓名______ 日期年月日

目录 摘要I ABSTRACT II 第一章引言 1 1.1 背景 1 1.1.1教师管理系统 1 1.2开发教师管理系统的目的和原则 3 1.3开发环境介绍3 1.3.1 开发平台 4 1.3.2数据库设计工具——ACCESS数据库管理系统7 第二章系统设计9 2.1 系统分析 9 2.2 系统流程和操作方式设计 11 第三章系统界面设计 12 3.1系统界面设计以及代码分析12 第四章数据库的设计30 4.1数据库设计30 4.2 数据库概念和发展 30 4.3系统测试与评价 38

总结39 致谢 40 参考文献41 摘要 20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。 对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例. 管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势。管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。 开发学校排课管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。 关键字:排课管理,管理信息系统,数据库,计算机管理

排课系统数据库设计

JIANGXI AGRICULTURAL UNIVERSITY 本科课程实训 题目: 关于学生排课系统的数据库设计 学院: 软件学院 姓名: 肖力谢果 学号: 20101466 20101467 专业: 软件工程 班级: 软件1001 指导教师: 黄欣 2011年12月

引言: 由于当下大学学校班级及专业较多,我们学校的实用的帮助班级排课的一个系统也有迫切需求。基于用SQL Server设计的数库的排课系统也有很大的需要,在本实训作业中,将会针对该实际情况,对我校江西农业大学的学生上课排课系统的数据库进行设计。 该设计工作由双人合作的形式完成,对一个学期以来数据库系统概论的学习进行巩固与联系。该排课系统主要设计流程工作大概分为三个阶段:需求分析,概念结构设计,逻辑结构设计,也将设计的物理结构与数据库实施维护从略讲述,着重在需求分析上的收集数据形成实体及其联系的数据字典完成,在需求分析的基础上完成数据流图的基本设计;在概念结构设计上完成数据的抽象形成各子系统的E-R图,最后在解决冲突的分析下完成基本总实体-联系(E-R图);在逻辑结构设计阶段中完成数据的抽象及实体的形成,实体的规范分析及完整性约束,以及设计阶段的有关触发器的创建分析与实现……最后简要对数据库设计的步骤的物理设计与实施阶段简要概述。 课程设计为实验周两天完成,使用流行的SQL Server 2005数据库系统完成基本设计工作,通过数据库管理系统(DBMS)、T/SQL基本语句实现数据库表的创建,表的完整性约束,表的视图及触发器的创建,基本工作都按照实训题要求基本完成。

一、需求分析 需求分析就是数据库设计的必要与首要设计阶段,将会影响以后数据库设计的延续与质量,需求分析方法也很多,最重要就是形成有实用价值的实际性的数据字典与数据流图。在该排课系统的需求分析阶段,主要就是通过询问与自己所掌握的关于该系统的数据联系方式与工作方式,形成了关于该系统的数据字典与数据流图。 1.1 需求表述 1、1、1 基本功能描述 排课系统的数据库设计主要完成工作有: 1、数据库管理员对数据的录入与相关完整性条件约束的建立, 2、数据库相关的触发器与存储过程对数据库中数据的联系的管理; 3、执行程序能够高效率地完成数据处理与调用; 4、能够通过DBMS建立一系列视图来更方便的操作数据库。 1、1、2 开发技术描述 开发工具:Microsoft SQL Server 2005 SQL Server 2005 就是microsoft 公司推出的数据库管理系统,该版本继承了SQL Server 2000 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000 电脑到运行Microsoft Windows XP 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQL Server 2005数据库管理系统将我们设计的数据库实现。 1.2 分析形成初步数据字典 数据字典(Data Dictionary,DD)就是数据库设计需求分析阶段后通过科学的处理方法得到的该系统中各类数据描述的集合,也就是进行详细数据收集与数据分析所获得的主要成果,它在数据库设计中占有恨重要的地位。 数据字典通常包括数据项、数据结构、数据流、数据存储与处理过程5个部分。其中数据项就是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:

高校实验课排课系统的设计与研究

高校实验课排课系统的设计与研究 【摘要】为了充分利用实验室资源,提高实验室工作效率,本文设计了一个高校实验室排课系统。该系统利用Visual Basic作为开发语言,集高校实验课教学安排、实验课排课、实验室预约管理和实验课课表查询等功能为一体。系统实现了将专任教师、教授课程、上课地点这三个因素与上课时间的匹配问题,极大地优化了高校实验室资源分配。中国论文网/8/view-12933355.htm 【关键词】实验室;排课系统;Visual Basic 1 研究背景及现状 排课是高校实现教学任务顺利进行的前提。目前大学生数量与日剧增,高

校开设课程更加多元化,排课的难度变得越来远大。实验中心作为高校教学环境中重要的一环,其排课也面临着诸多问题[1]。传统手动排课多采用实验员制作表格的方式,专任教师到实验员处预约实验课程时间及地点,由实验员统一调度分配。当确定好实验课上课地点时,再由实验员通知专任教师。这种方法工作量巨大,繁琐,而且无法对整个实验中心的教室资源做整体分配,造成资源浪费。人工排课出现错误的几率极大,一旦出错,将导致实验教学任务无法顺利进行,无法维持正常的教学秩序,造成教学事故,影响教学质量[2]。 目前,已存在一些排课系统,如基于贪婪算法的排课系统[3],基于遗传算法的排课系统,人工智能排课系统[4]。这些排课系统都是针对高校基础课程的排课系统。实验课与理论课相比,具有实验课时少,上课时间零散,需按照实验项目授课等特殊性,因此,目前针对基础课的排课系统并不适用于实验课排

课。 本文针对实验课课程的特殊性,设计了一个排课系统。该系统将专任教师、教授课程、上课地点这三个因素与上课时间相匹配,充分地利用了实验室资源,实现了资源分配的最优化,极大地提高了实验室工作效率,调高了实验教学质量。 2 实验课排课系统的设计与实现 2.1 实验课排课系统的功能分析 高校实验课排课管理分为高校教务处、二级学院和实验中心三个层次。高校教务处负责下发每个学期的实验教学任务,二级学院负责审核和实验教学任务,实验中心负责实验课排课的具体安排和调度。根据高校实验课排课的管理模式,该排课系统主要分为以下几个模块:系统管理模块、教学任务准备模块、实验课程排课模块、实验室预约管理模块、实验课表查询模块、实验课工作量统计模块和冲突预警模块。各模块功能如下:

学生排课选课管理系统

管理信息系统课程设计 课题名称:学生排课选课管理系统学生姓名:111 2011111 学院:11院 专业年级:11级信管1班 指导教师:刘昭老师 完成日期:2014/1/4

学生排课选课管理系统 学生:骆天阳 指导教师:刘昭 [摘要]选排课系统功能的设计上,学生选排课系统可以分为登录、排课和选课3个子系统。登录子系统区分排课者(也即系统的管理者)、教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的功能来使用这套系统。排课子系统主要供排课者使用,排课者可以在这里进行一切与排课有关的活动。选课系统主要供学生选课使用,在这里可以进行与选课有关的活动;教师可在教师反馈系统中对排课者提出反馈意见,供排课者在排课时可参考使用。学生选排课系统使用Delphi 7平台开发。在数据库上考虑到快捷、有效,同时考虑到多台服务器共同使用同一个数据库的情况,这里选择SQL Server 2008作为数据库服务器。 [关键词]Delphi 7学生排课学生选课SQL Server

目录 第一章任务书 (4) 1.1 题目及要求 (4) 1.2 设计时间 (4) 1.3 其他相关内容 (4) 1.4 设计资料 (4) 1.5 工作内容 (5) 1.5.1 系统可行性分析和需求分析 (5) 1.5.2 系统数据库设计 (5) 1.5.3 系统总体设计与详细设计 (5) 1.5.4 系统测试 (5) 第二章系统开发可行性分析 (6) 2.1技术可行性 (6) 2.2经济可行性 (6) 2.3操作可行性 (6) 第三章开发运行环境 (7) 3.1系统开发和运行环境 (7) 3.1.1系统开发环境 (7) 3.1.2系统运行环境 (7) 3.2开发工具介绍 (7) 3.2.1 Delphi 7 (7) 3.2.2 Microsoft SQL Server 2008 (8) 第四章需求分析 (9) 4.1引言 (9) 4.2编写目的 (9) 4.3研究背景 (9) 4.4系统描述 (10) 4.5系统需求分析 (10) 第五章数据库分析与设计 (11) 5.1编写目的 (11) 5.2逻辑模型的建立 (11) 5.2.1 数据流图 (11) 5.3数据字典 (12) 5.3.1系统数据表及其用途 (12) 5.4概念设计 (13) 5.4.1系统实体关系图 (13) 5.5数据库设计 (13) 5.6局部 E-R图 (16) 第六章系统设计 (20) 6.1系统功能 (20)

相关文档
最新文档