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

自动排课系统的设计与实现[1]
自动排课系统的设计与实现[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

参考文献 (67)

致谢 (69)

摘要

随着高职院校招生人数的持续增加,教师规模的不断扩大,手工排课的缺点就越来越突出。而采用计算机排课,教学中的信息可以一目了然,对于优化学生的学习进程,评估每位教师对教学的贡献,领导合理决策等都具有重要的意义。

本论文所研究设计的主要内容是使用计算机实现课表的编排、基础数据的处理、课表的查询和报表的输出等多种功能,运用计算机排课代替传统的手工排课,提高排课效率,使教务管理人员的从繁重的排课工作中解脱出来,提高教务人员的工作效率,同时也对教学管理的规范化也起到积极的作用。

排课问题从数学上讲,是一个在时间、教师、学生和教室四维空间,以教学计划和各种特殊要求为约束条件的组合规划问题,其实质就是解决各因素之间的冲突。我们分析了国内外对排课问题的研究,根据高职院校的教学体制的特点,采用了化整为零的思想及优先级算法。该算法通过划分等价类、计算优先级等方法降低了课程调度的算法复杂性,从而可以以较快的速度获得较为满意的排课结果。

本文采用Rational统一过程(RUP)为软件开发方法,以统一建模语言(UML)为分析设计描述语言,以淄博职业学院的排课业务为对象进行需求分析,对计算机排课系统进行了系统设计,具体分析设计了用户管理、自动排课、课程管理、课表查询、课表输出等功能模块。

本文介绍了系统开发的背景和国内外排课问题的发展现状,简要描述了系统需要解决的主要问题和系统的开发模式,对系统的需求分析和架构设计进行了详细描述,对系统部分功能的实现进行了介绍,并对教学计划和排课算法两个关键问题进行描述。

关键词:Rational统一过程RUP、统一建模语言UML、计算机自动排课、等价类、优先级、时间模式

I

ABSTRACT

The number continuing for increases by with the fact that tall duty universities and colleges enrolls new students , teacher scale ceaselessness expands , the shortcoming arranging class by hand is more and more outstanding. But adopt a computer to arrange class, information in teaching can be clear at a glance , study a course to optimizing a student's, the contribution appraising every place teacher to teaching, leads the rational decision-making to wait to have important significance.

Various functions such as treatment , the school timetable inquiry and the form for report output studied the main content designing that is to use a computer to realize the school timetable arrangement , the basis data by thesis, that the class wielding the computer row replace the tradition by hand to arrange class , improves row class efficiency, makes complying with of educational administration handling crew extricate self in strenuous row class job , improve availability of educational administration personnel , also at the same time also play arrive at active role to administrative standardization of teaching.

Row of class problem talks on secondary mathematics , is that a combination taking teaching programme and various peculiar request as constraint condition in time , teacher , student and classroom four-dimensional space, plans a problem , whose essence is to resolve the conflict between every factor.

We have analysed the large amount of home and abroad research to row class problem according to teaching of tall duty universities and colleges system characteristic. When designing an algorithm, have managed algorithmic complexity for reducing a course , has adopt the thought breaking up the whole into parts and the preferential step algorithm. Be an algorithm's turn to be able to gain comparatively satisfied row class result with quicker speed thereby by the fact that method such as dividing the equivalence kind , calculating preferential step has reduced the algorithm complexity that the course manages greatly. At the same time, pay attention to whose conflict solving also very much in designing algorithmic process.

And the thesis has set forth the consumer need who adopt a computer to arrange class, according to good duty universities and colleges teaching programme , the automation has been ordered from the computer every school term course design plan, describes that to teaching programme the generated algorithm have been in progress. And have introduced the algorithmic row class design design with realization , the data base and have come true detailedly.Aspect such as dividing , reducing algorithm complexity resembling in time choice flexibility , preferential step calculation , equivalence has carried out detailed analysis. Apply be

II

geared to the needs of marriage partner technology to row class system, the algorithm analysis having discussed that row class realizes process and key, the cause that conflict produces , has given out a problem resolving a scheme.

Keywords:Automatic course scheduling, Algorithm, Priority, Equivalent, Time mode

III

第1章绪论

1.1系统开发背景

2002年7月,经山东省政府批准,教育部备案,由原淄博商业学校、淄博市化工学校、淄博市城建中专和淄博市工贸中专四所学校合并组建淄博职业学院。在学院的教学管理工作中,排课是教学管理中最基本、最重要、同时也是最复杂的管理工作之一。目前,我院的排课主要采用手工编排方法。一般是由经验丰富的教务人员在学期末依据人才培养方案、教学计划等资料集中时间、精力进行编排,协调出现的各种矛盾,在这个基础上再由排课专家反复检查合理性,修正课表,直至符合要求为止。

近几年,随着我院招生人数的持续增加,教师规模的不断扩大,手工排课的缺点就越来越突出。排课实际过程中涉及数十个院系和部门、数千教师,上万学生、教师跨系上课和班级合班上课等复杂情况,排出合理的课表需要耗费大量的时间,且排出的课表调整起来困难。同时因为人的思维的随意性,排课表时非常灵活,没有严格的工作步骤,所以人工排出的课表随意性大。

计算机由于具有运算速度快、处理能力强等特点,在教学工作中得到了普及应用。用计算机来代替劳动强度大、工作效率低的手工排课势在必行。为了解决手工排课的问题,我院决定通过信息化手段来提高教务管理水平,用计算机排课来代替传统的手工排课。

1.2国内外的研究现状

计算机排课,它是把排课问题化为计算领域的有约束的时空组合优化问题进行求解的。它对课表上的时间进行了分片和编号处理,使分成的每个时间片和每个教室空间组合,构建了一个个大小不等的时空组合块,并根据求解规则,对每个教学计划进行时空组合块分配,并且分配的组合,必须在目标空间中表现出良好的人为满意度。

1

国外研究人员从20世纪50年代就开始对课表编排问题的数学模型、解的存在性以及计算机求解算法等问题进行了研究。1962年Gotlieb提出了课表编排问题的数学模型,使之成为数学家和计算机应用专家共同研究的课题。由于实际中遇到种种难题,并未能取得满意成果。1976年Bondy提出了一个简单的排课表问题,将问题归结为一个图的边染色问题,并且对提出的简单排课表问题给出了一个算法。但实际教学活动中提出的排课表问题远非如此简单,且由于它必须满足各种复杂约束条件而使这种算法实际上是无能为力的。1976年Even等人证明了课表问题属于NP完全类问题,把人们对计算机编排课表的复杂性的认识提高到了理论的高度。进入20世界90年代以后,国外对课表问题的研究仍然十分活跃,比较有代表性的有印度的Vastapur大学管理学院的Arabinda Tripathy、加拿大Montreal大学的Jean Aubin和Jacques Ferland等。目前,国外解决课表问题的方法主要有:模拟手工排课法、图论方法、拉格朗日松弛法、二次分配型法等。

在国内,对排课问题的研究始于20世纪80年代初期。例如,西南交通大学在分析高校课表编排所遵循的基本原则和模糊性原则的基础上,定义了课元之间,关于教师的相关关系和关于自然班的相关关系,提出以课元相关运算和课元的候选时空片计算为核心的计算机排课算法;延边大学根据高校课程表的制作特点,设计了计算机自动排课的数据结构与算法;沈阳电力高等专科学校研制了基于Client/Server的开放式智能排课系统;山西大学在总结排课工作经验的基础上,提出了一种解决问题的形式化描述,在这种想法上实现了基于知识推理的排课系统;大连理工大学的智能教学组织管理与课程调度系统,清华大学的TISER 系统等等,所有这些系统都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的。但是这些课表编排系统往往比较依赖于各个学校的教学体制,不宜于进行广泛推广。

高职教育在培养目标和办学模式、教学方式等方面都有别于传统学科式教育。遵循理论“必需”,“够用”为度,理论为实践服务的原则,着重培养学生的实践能力,培养面向生产、建设、管理及服务一线的高等技术应用型人才。由于培养目标和培养方式的特点,决定了高职教育的教务工作面临许多新的困难,其中在排课、调课、检查教学进度、质量、沟通教学双方信息等常规性工作中的问题尤为突出。如何利用有限的师资力量和有限的教室资源,排出一个合理的课表,2

对维护高职院校正常的教学秩序和提高教学效果有重要的作用。

1.3系统解决的主要问题

随着我院办学规模的不断扩大,办学层次的不断提高,课表的编排管理工作也显得越来越重要。我院在日常的手工排课过程中主要存在以下几个方面的问题:

1、需要大量的有经验的教务人员进行排课;

2、手工排课需要大量的时间,周期长;

3、课表编排完毕后很难进行调整;

4、容易出现教师冲突和教室冲突的现象;

5、排课没有严格的步骤,排出的课表随意性大;

6、课表信息共享程度低。

1.4本文的主要工作

本文通过对淄博职业学院教务管理中排课业务的需求分析,借鉴RUP模式,从架构设计开始,完成了学院计算机排课系统的需求分析和系统设计。采用Visual Basic 为开发工具,完成了系统功能的开发。

本系统开发过程总体上采用RUP模式,由于计算机排课系统开发的生命周期较短,因此,我们在使用RUP进行软件开发时,对RUP过程进行了适当的裁减,保留了RUP的特点,即仍然是一个用例驱动、以架构为中心、迭代的开发过程。对裁减后的RUP,我们取消了原来RUP四个阶段的定义,只给出了一些工作流程和一些原则,并且结合了UML建模机制,合理的选择了UML中的各种建模元素。

1.5本文的组织结构

全文共分为六章。

第一章是绪论,主要介绍了系统的开发背景,以及国内计算机排课的研究现状,说明了系统需要解决的主要问题和本文的组织结构。

第二章是需求分析,主要通过对淄博职业学院排课业务的描述,说明了排课

3

系统的目标和解决的主要问题,并介绍了系统的开发模式,对系统的功能性需求和非功能性需求进行了详细的描述。

第三章系统构架技术,主要介绍了系统构架设计的目标和约束,分别对系统的总体框架、功能构架、技术构架和安全构架等进行详细描述。

第四章是计算机排课系统的详细设计,主要通过排课管理实体关系图和自动排课的序列图来介绍了系统的详细设计,并对数据库的构建进行了描述。

第五章是计算机排课系统的实现过程,简要介绍了排课系统的几个功能模块的实现过程,同时对教学计划和排课算法两个关键问题进行描述,说明了排课系统设计的理论依据。

第六章总结与展望部分,对本文进行了总结,并对下一步的工作进行了展望。4

山东大学硕士毕业论文

第2章需求分析

2.1系统概述

2.1.1总体业务描述

淄博职业学院管理体系实行系部的二级管理体制,在全院有13个系部和1000多名教师。

学院排课管理系统的应用范围包括教务处、系部和教师三级单位。教务处和系部作为课表的设计者和管理者,重点在于对课程的安排和统计数据的分析;教师作为教学计划的执行者,是信息的源头。在排课管理中,教务处以教学计划为依据,安排出一学期各个班级所开的课程,教师根据自己的专业选择自己能上的课程,各系部负责协调安排每门课程的具体上课的教师。

总体来看,淄博职业学院排课业务流程如图2-1所示:

安排全院的课程表

图2-1 排课业务流程图

2.1.2系统的目标和解决的问题

根据淄博职业学院信息化建设的总体要求,淄博职业学院计算机自动排课系统的目标是:运用计算机排课代替传统的手工排课,提高排课效率,使教务管理

5

人员的从繁重的排课工作中解脱出来,提高教务人员的工作效率,加强对学院基本信息的管理,同时实现教学管理规范化的目标。

本系统的主要内容就是使用计算机实现课表的编排、基础数据的处理、课表的查询和报表的输出等多种功能,作为一个完整的排课系统,主要解决以下问题:

1、基础数据的处理

排课过程中涉及到许多基础数据,这些基础数据包括院系、教师、学生、教室、课程等信息,对于这些基础信息要能够根据实际情况灵活进行增加、删除、修改等处理。

2、排课处理

课程的编排不是任意的,它是一个时间、教师、学生、教室四者的组合规划问题,为了达到最好的教学效果应遵循一定的要求。这些要求主要有:(1)要尽量为所排课程安排上该类课程效果最好的时间;

(2)课程在一周上多次时要有一定的时间间隔;

(3)公共课等涉及面广、学时多的课程应优先处理;

(4)对同一教师,同一上课对象应尽量选择相对固定的几个教室;

(5)对于教师、学生、课程等提出特殊要求的情况,要根据具体情况予以处理。

另外,对于计算机初排的结果还应可以通过人工交互进行少量的修改等。

3、排课结果的处理

计算机编排完课程后,对这个结果进行各种条件的查询,并可以根据情况输出各种形式的表格,以便于教务人员进行处理。例如:可查询某班的课程安排、某位教师的课程安排、以及某个教室的使用情况。

4、充分利用网络优势

充分利用网络优势,实行计算机分布式排课。计算机排课需要计算机在全校范田内对各种时间是否发生冲突进行检查,因此早期的计算机排课系统大多实行集中式排课,一般由教务处负责完成。但目前各校均在扩招,从而造成学生多、班级多,排课时所需要输入的基础数据多排课任务都由一个部门来完成是很不现实的。实行计算机排课的唯一出路就是将排课任务分解,化整为零,实行分布式计算机排课。现在各高校大多建立了校园网络,这使得实行分布式计算机排课成为可能。课程、教师、学生班级、教室等基本信息既可临时录入,又可从其它教

6

山东大学硕士毕业论文

学管理系统或校园网中获取,以减少数据录入工作量。

2.1.3系统的开发模式

RUP是一个将用户需求转化为软件系统所需要的活动的集合,即软件开发过程。RUP不是一个简单的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项目规模。

RUP可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期、阶段、迭代和里程碑;纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动、产物、工作者和工作流,如图2-2所示。

图2-2 RUP二维开发模型

RUP是一个以用例为驱动、以架构为中心、迭代和增量式开发过程。RUP 中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。

本系统开发过程总体上采用RUP模式,由于计算机排课系统开发的生命周期较短,因此,我们在使用RUP进行软件开发时,对RUP过程进行了适当的裁减,保留了RUP的特点,即仍然是一个用例驱动、以架构为中心、迭代的开发过程。对裁减后的RUP,我们取消了原来RUP四个阶段的定义,只给出了一些工作流程

7

和一些原则,并且结合了UML建模机制,合理的选择了UML中的各种建模元素。

裁减后RUP流程是一个不断迭代的开发流程,每一个迭代过程都需要经过下列步骤:

第一步:找出系统的功能需求和非功能性需求,功能需求使用用例表示,非功能性需求,可以使用规定格式的文档表示;项目开始时,找出一些主要的关键的用例即可,其他次要的用例可在以后的迭代中补充,对这些主要用例的描述应该保持尽量简单,对用例的描述可以使用文档来表示,也可以使用UML中的建模元素来表示,本文在模型中,选择了UML中的活动图来表示。对这些用例要标明其重要程度,对那些影响系统架构的用例要标以很高的重要程度。

第二步:为这些用例建立简单的系统初始模型(可多个),可以使用用例图来表示。从系统整个初始模型可以看出一个用例是否得当;也可以根据初始模型来确定团队的开发进度;并且根据系统原型能够得到系统潜在的一些系统架构;能够这些系统架构中考虑选择一个最恰当的系统架构。

第三步:找出待开发系统领域的类,第一次可以找主要的类;并定义个各类的主要职责和各类之间的关系,创建UML中的类图来表示;将类分为边界类、控制类和实体类这三种类,并为实体类之间的关系创建一个类图,以便为以后的数据库设计打下基础。

第四步:编写整个项目全部迭代计划(只此一次),每个迭代周期为1周~2周,迭代周期必应该过长。选择要进行迭代开发的用例,这些用例的开发周期不能超过迭代周期。迭代应该注意:迭代计划内容应该包括迭代目标、人员安排、迭代时间表、存在的风险、可交付的迭代结果;每个迭代期间按照需求,分析,设计,实现和测试来进行管理。

第五步:将要开发用例所应有的功能和类结合起来,即用类的对象来表示用力所具有的功能;创建UML中的序列图或者协作图来表示;通过讨论验证修改序列图/协作图。

第六步:如果某个类的对象,具有一些非常重要的状态,则为该类创建状态图,状态图中的事件,动作和行为最后会转化成相应类的操作。

第七步:在设计的层次上加强上面两个步骤中确定的序列图/协作图和状态图,讨论是否还有别的操作和类所需访问的数据,定义实体类的属性,并开始进行数据库的设计。

8

山东大学硕士毕业论文

第八步:根据上面的工作,对类图进行细化与更新,在实体类不断精化的基础上,完成数据库的设计。

第九步:对当前迭代的用例进行编码。根据所确定的UML模型,将设计阶段所确定的类图和定义的类,转换成实际开发工具中所支持的类,并编写代码完成各个类的函数实现,在编写代码的过程中,可以对设计模型中的缺陷与不足进行相应的修改;创建系统的实现模型,可以使用组件图和配之图来表示。如果有条件,在编码的时候,进行成对编程,提高代码的质量。

第十步:对当前的迭代进行测试,看系统是否完成了用例所描述的所有功能。

2.2系统需求问题描述

2.2.1功能性需求

按照RUP的要求,系统的功能性需求描述工具主要是用例(Use Case),即将系统的功能性需求分解到每一个系统用例。RUP模式的最大优点是按照角色(Actor)识别用例(Use Case)的方法,该方法可以较为直观地建立起系统的架构,通过反复识别,避免需求中的漏项。为了清晰地描述系统用例的层次结构,可以采用将系统用例分为不同的包,每一个包表示一组相关的系统用例。

为了清晰起见,本系统引入了包图来将不同的功能用例进行分类,每个包图作一个子系统,如图2-3所示。从功能上看,淄博职业学院排课系统可以分为五个子系统:用户管理、数据录入、自动排课、查询课表、报表输出。

9

用户管理自动排课

基础数据录

课表查询课表输出

图2-3 系统功能包图

在每个包中,通过用例图来描述系统的参与者(Actor)和系统的用例(Use Case),每一个用例通过用例活动图进行详细的描述。

在项目开始阶段,需求不是非常全面,但是,其需求的中心内容仍然是上面几点,在通过对需求的分析,我们确立了如下几个非常重要的用例:用户管理、基础数据录入、自动排课、课表调整、课表输出等。根据这些主要用例,在项目的初始阶段,为排课管理系统确定了初始用例模型,描述了排课管理系统应该完成的功能,即从用户的角度看,系统应该具有哪些功能。初始用例模型如图2-4所示。

图2-4 排课管理初始用例

10

山东大学硕士毕业论文

上面所列出的用例模型,基本上描述了排课系统的主要的功能,将这些基本功能实现,就形成了一个简单的排课管理系统。在项目开发的第一次迭代开发中,就是以上面确定的系统原型为基础的,这也确定了系统排课管理系统的初始架构。在排课管理系统以后的迭代开发中,都是在该模型的基础上进行扩展的。

通过几次迭代,在新的需求的增加下和对系统的进一步理解,逐步完善了排课管理系统的用例模型,下面给出的用例图(图2-5)是当前排课系统的最新的用例模型。

教师

图2-5 排课管理用例图

这里给出的用例模型是当前迭代中进行的,并不表示该模型是最优最全的,模型会随着迭代开发的不断深入而不断优化和完善。

在对排课系统的用例描述中,我们通过UML中的活动图来表示。例如:为了说明如何使用活动图来表示一个用例的行为,这里给出“自动排课”用例的活动图(如图2-6所示)。自动排课活动图详细地描述了自动排课用例在实际的执行的时候,它应该有哪些步骤,包括了它成功之行得到用户期望的结果和不成功执行所走的步骤。在使用活动图对自动排课用例进行描述的步骤中,有些活动可能需要优化,包括增加一些活动或者合并一些步骤,这些都会随着迭代开发的不断进行而进行优化。当然,对用例的描述也可以使用用例说明文档来表示。

11

图2-6 自动排课活动图

2.3.2系统非功能性需求

非功能性需求规定了系统必须满足的服务水平、系统非运行时间的属性以及系统必须遵守的约束。非功能性需求虽然不直接影响系统功能,但在用户和系统支持人员对该信息系统的认可方面具有很大的影响。非功能性需求主要包括系统的约束与假设条件,系统的可用性、可靠性、性能、扩展性、可支持性、系统接口。

在本系统中,为了保证非功能性需求的准确性和可测试性,主要采用了量化的指标要求来描述。例如对于系统的可用性要求,一般只需要采用非量化的指标描述即可,例如可以描述为“要求系统采用简洁、友好的人机界面使用户能够方便、快捷地应用系统进行业务处理;同时提供丰富、便捷的辅助功能,提高业务处理效率”。由于淄博职业学院使用系统的人员信息化水平差别很大,必须保证对业务比较熟悉的用户经过短时间培训后即可熟练地应用本系统,因此在本系统

中对于可用性的要求则采用了用户培训时间这样一个量化的指标来规定,即只有

12

山东大学硕士毕业论文

在规定的培训时间内相应的用户可以掌握系统的操作,系统的可用性才能满足要求。具体的系统可用性要求如表2-1所示。

系统的可靠性包括系统的故障率、可恢复性和可维护性,具体形成如表2-2所示的技术指标要求。

13

山东大学硕士毕业论文

14

第3章系统构架设计

淄博职业学院排课系统是一个用户管理、基础信息录入、自动排课、课表查

询等业务的管理信息系统。系统架构必须从各个方面满足实际需求,这是架构的设计目标。同时在设计与开发的过程中严格遵守架构的特殊约束,从而保证可以实现架构设计的目标。

3.1构架的目标和约束

系统架构设计的目标包括安全目标、保密目标、最大化的重用、简洁、灵活等方面的规定。

1、安全目标。架构从管理安全、系统安全、数据安全三个方面来具体考虑和保障系统安全。管理安全是指建立相应的安全管理制度,最终决定是否安全是人来决定的。系统安全从网络、硬件、系统软件、应用软件方面考虑如何加强整个系统的安全性。数据安全是指企业数据的安全,包括备份策略、加密等。

2、保密目标。对于校园内重要的数据实行单独保存,对排课系统设计安全级别,对于需要在校园网上传输的重要数据,需要加密处理,

3、最大化的重用。重用是减少冗余的一个有效的途径,包括组件级别的重用。组件的实现通常会应用一种或几种设计模式,这些模式与组件的结合使用大大提升了架构的质量。

4、简洁。把复杂问题简单化是架构设计的一个重要的目标,明确类以及类之间的职责关系。

5、可靠性。根据非功能需求对可靠性的要求来设计,提高系统的可靠性,增强容错处理能力。

6、可扩展性。系统在设计时,充分考虑未来高职院校排课业务的变化、组织架构的变化、业务流程的变化等,将因业务或者需求的变更带来的系统升级和改造工作,降低到最小的开发量。

任何一个系统都不是可以任意设计的,都有一定的约束和限制条件。本系统为了实现架构的目标,遵循RUP软件开发过程,实行全程的质量控制,因此在

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

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

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

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分) 详细分析各功能模块之间的关系,以及各功能模块下的子模块构成。

自动排课系统的设计与实现[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个部

智能排课系统3复习过程

综合实验报告 题目:智能排课系统 学生姓名: 专业:信息管理与信息系统 班级:信管1002班 学号: 1002100206

一、概述 (一)开发背景 随着信息技术的飞速发展,各个行业的信息化势在必行。正所谓“科学技术是第一生产力”,科技的进步大大地提高了生产率。然而,在高校这个知识密集的地方,如何才能提高办学效率,更好地完成教学任务,跟上社会发展步伐,这是一个摆在教学工作者面前的一个迫切的问题。应用信息化来改造传统的教学管理模式是一个重要途径。 近几年来,随着各高校办公自动化工作的推进,教务管理自动化也被摆上了日程。在教务工作中占有很大比重的一项就是每学期的课程排定工作。由于教工、教室和设备的相对紧张,如何进行合理地安排和分配,从而充分利用教学资源是我们不得不面对的问题。而人工进行排课不仅任务重,效率低,而且易出错,难于维护,想要排出一张各方面都满意的课表非常困难。并且随着高校规模的扩大手工排课的难度和工作量呈几何级数增长。 排课系统正是为了减轻教务人员的工作量,实现教务工作自动化,解决排课这一老大难问题的教务办公软件。尤其针对高校的排课一直都没有很好的解决方法,但是此问题又是每个学校在每个学期都会碰到的必要行政作业。本文在相关理论的指导下,在分析以往一些排课软件的基础上,提出一个高校通用排课系统的设计方法,并对一些具体的问题给出相应解决方案。但是,由于技术、经验的有限和数据量过大,目前我们很难做出一个满足所有需要的排课系统。因为它不仅要考虑到教室冲突问题和教师冲突问题,还要考虑到分段课、单双周课时的资源利用问题;另外由于高校的教学特点,还要处理合班课、分班课、体育课与选修课等特殊课程。针对这些问题,在此专门对数据库设计作了一些探索,并于架构的选择和模块的划分上经过精心调整,在菜单的设计上也体现了人性化的操作。该设计贴近用户需求,功能完整,架构合理,并用大量的框图模型体现了系统的规划。 (二)项目的任务及意义 当今学校内部没有完善的高校排课系统,管理水平差,学校课程不能得到合理分配。迫切需要提高现代化管理水平、管理质量和管理高校课程。高校排课系统的初步现代化的开发和使用,能够大大提高学校管理者的工作效率,节省成本提高经济效益。它把从事教务管理的人员从繁重的手工操作中解脱出来,用更多精力从事创造性的管理活动和其它重要的活动中去,从而达到节省人力、物力,财力的目标;它能使决策、计划和其它管理活动更加科学、精确、灵活。 本软件主要是适用于高等学校教务部门的办公软件,运用此软件,可以免去工作人员繁忙而枯燥的手工排课过程,直接通过计算机进行排课。 业务范围涉及到课程、上课班级/实验班级/上机班级、任课指导老师/周次/节次、教学场地(教室,实验室,机房等)等相关因素。 二、系统规划 (一)需求分析 自动课程编排系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。学生的需求是查询院系的课程情况及学生信息的修改;教师对选课系统自动排课情况进行操作,同时形成自动排课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以直接查看选课情况,学

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

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

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

软件工程课程设计--高校课表编排子系统

软件工程课程设计--高校课表编排子系统

题目:高校课表编排子系统 学院信息工程学院 专业计算机科学与技术 指导教师白娟 2014年1 月 3 日

摘要 教学工作是高校的中心工作,而课表是高校日常教学活动运行的指挥调度表,是高校能否进行正常教学的关键,因此科学的,合理的课表在高校的重要性毋庸置疑。高校教务管理是一向复杂而繁重的工作,课表编排作为其中腰组成部分是长期困扰学校教务管理工作的大问题,计算机排课无疑是必然优势。课表编排是一个涉及多因素约束的,多目标的,结构复杂的典型的组合优化问题,并且已经被证明为一个NP完全类,是典型的组合优化的问题,其问题求解的时间复杂度呈指数函数增长。每个学校在排课表时考虑的因素千差万别,各种约束条件也不尽相同,但是它所涉及的主要实体却具有相对稳定性。关键字:NP完全类; 约束满足;课表编排;课程设置;

目录 目录 (4) 第一章需求分析说明 (5) 1.1编写目的 (5) 1.2问题定义 (5) 1.3可行性分析 (5) 1.4任务描述 (5) 1.5目标 (5) 1.6运行环境 (6) 1.7功能需求 (6) 1.7.1功能描述 (6) 1.7.2排课约束 (6) 1.7.3操作规程 (6) 第二章概要设计说明 (8) 2.1数据描述与数据库设计 (8) 2.2数据表 (8) 2.2.1E-R图 (9) 2.2.2数据流图部分 (9) 2.3运行需求 (11) 2.3.1硬件 (11) 2.3.2软件 (11) 第三章详细设计说明 (12) 3.1模块的具体算法 (12) 3.1.1登陆模块 (12) 3.1.2管理员模块 (13) 数据库中各表的物理结构 (17) 第四章编码+测试 (19) 4.1登录模块 (19) 4.1.1 管理员模块 (20) 4.1.2教师模块 (22) 4.2测试方案设计 (24) 测试结果分析: (24) 第五章用户使用说明书 (25) 第六章实验总结 (28) 第七章参考文献 (30)

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

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

排课系统数据库设计

` 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课程设计)

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

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

基于遗传算法的自动排课系统毕业设计

摘要 随着科学技术和社会信息技术的不断提高,计算机科学的日渐成熟,其强大的功能已为人们深刻认识,它在人类社会的各个领域发挥着越来越重要的作用,给人们的生活带来了极大的便利,成为推动社会发展的首要技术动力。排课是学校教学管理中十分重要、又相当复杂的工作之一。解决好教学工作中的排课问题对整个教学计划的进行,有着十分重要的意义。首先对排课的已有算法作了相关的调查研究,决定采用遗传算法。通过设计实现基于遗传算法的自动排课系统,研究了遗传算法在排课系统中的应用。 关键词:遗传算法、自动排课、Java。

Abstract Along with science technical and community information technical increases continuously, calculator science is gradually mature, its mighty function has behaved deep cognition, and it has entered the human social each realm erupts to flick the more and more important function, bringing our life biggest of convenience. Curriculum arrangement is an important and complicated working in school,so solving the problem is of great importance for teaching programming.Investigated and studied the algorithm existed, determine that adoptgenetic algorithm. ThroughDesign Implementation theAuto CourseArrangementManagement System Base onGenetic Algorithm, researched the application of genetic algorithmin theCourseArrangementManagement System. Keywords: Genetic Algorithm Auto Course Arrangement ManagementJava.

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)设置一个简易留言板,用户可以进行留言,管理员可以对留言板进行管理。

软件项目管理课程设计指导书

软件项目管理课程设计 指导书 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

《软件项目管理》课程设计 指导书 一.课程设计报告要求 1、工作衔接 本次《软件项目管理》课程设计所选项目必须与前期所作的《软件工程》课程设计所选的项目相同,也就是在《软件工程》课程设计的基础上进行本次课程设计。不能重新另选项目背景。 2、课程设计报告封面要求 报告封面应包含课程设计题目,作者专业、班级、姓名、学号,指导教师和设计完成日期。 3、课程设计包含的内容 (1)项目概述 (2)工作任务书(业务需求) 1)项目目标 2)功能要求 3)性能要求 (3)项目进度计划 1)分解项目工作 2)项目工作关系表 3)绘制甘特图 4)绘制网络图 5)里程碑计划

(4)项目规模成本估算 1)分解项目工作 2)项目规模估算表 3)开发成本 4)管理、质量成本 5)直接成本 6)间接成本 7)总估算成本 (5)项目质量计划 1)项目质量保证组织 2)项目的质量目标 3)质量保证活动 4)质量控制活动 (6)项目团队计划 1)项目团队组成 2)项目团队管理 3) 项目沟通计划 (7)项目配置管理计划 1)组织及职责 2)配置管理环境 3)配置管理活动 (8)需求分析阶段的项目管理1)团队组织及职责

2)团队管理 3)进度管理 4)质量管理 5)需求管理 (9)设计分析阶段的项目管理 1)团队组织及职责 2)团队管理 3)进度管理 4)质量管理 (10)编码阶段的项目管理 1)团队组织及职责 2)团队管理 3)进度管理 4)质量管理 5)成本管理 (11)测试阶段的项目管理 1)团队组织及职责 2)团队管理 3)进度管理 4)质量管理 二、课程设计范例 1、项目概述

自动排课系统的设计与实现毕业论文_设计说明

目录 摘要 (1) 第1章绪论 (1) 1.1系统开发背景 (1) 1.2国内外的研究现状 (1) 1.3系统解决的主要问题 (3) 1.4本文的主要工作 (3) 1.5本文的组织结构 (4) 第2章需求分析 (5) 2.1系统概述 (5) 2.1.1总体业务描述 (5) 2.1.2系统的目标和解决的问题 (6) 2.1.3系统的开发模式 (7) 2.2系统需求问题描述 (10) 2.2.1功能性需求 (10) 2.3.2系统非功能性需求 (13) 第3章系统构架设计 (15) 3.1构架的目标和约束 (15) 3.2构架设计 (16) 3.2.1系统总体架构 (16) 3.2.2系统功能构架 (17) 3.2.3系统技术构架 (19) 3.2.4系统安全构架 (20) 第4章系统详细设计 (22) 4.1 系统建模 (22) 4.2 系统数据库设计 (26) 4.2.1生成数据库表 (26) 4.2.2数据分析 (36) 4.2.3数据库管理技术 (37) 第5章计算机排课系统的实现 (38) 5.1系统总体实现 (38) 5.1.1数据录入模块的设计与实现 (43) 5.1.2报表模块的设计与实现 (48) 5.1.3用户管理模块的设计与实现 (52)

5.2教学计划的关键实现 (55) 5.2.1算法描述 (55) 5.2.2教学计划算法过程 (56) 5.3排课算法的关键实现 (58) 第6章总结与展望 (74) 参考文献 (75) 致谢 (77)

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

排课系统数据库设计

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个部分。其中数据项就是数据的最小组成单位,若干个数据项可以组成一个数据结构,以下将把分析收集的数据及其结构列出:

相关文档
最新文档