自动排课系统的设计与实现_第1页
自动排课系统的设计与实现_第2页
自动排课系统的设计与实现_第3页
自动排课系统的设计与实现_第4页
自动排课系统的设计与实现_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录摘 要i第1章 绪论11.1系统开发背景11.2国内外的研究现状11.3系统解决的主要问题31.4本文的主要工作31.5本文的组织结构3第2章 需求分析52.1系统概述52.1.1总体业务描述52.1.2系统的目标和解决的问题52.1.3系统的开发模式72.2系统需求问题描述92.2.1功能性需求92.3.2系统非功能性需求12第3章 系统构架设计143.1构架的目标和约束143.2构架设计153.2.1系统总体架构153.2.2系统功能构架163.2.3系统技术构架173.2.4系统安全构架18第4章 系统详细设计204.1 系统建模204.2 系统数据库设计244.2.1生成数据库表

2、244.2.2数据分析324.2.3数据库管理技术34第5章 计算机排课系统的实现355.1系统总体实现355.1.1数据录入模块的设计与实现385.1.2报表模块的设计与实现435.1.3用户管理模块的设计与实现455.2教学计划的关键实现485.2.1算法描述495.2.2教学计划算法过程495.3排课算法的关键实现51第6章 总结与展望66参考文献67致 谢69摘 要随着高职院校招生人数的持续增加,教师规模的不断扩大,手工排课的缺点就越来越突出。而采用计算机排课,教学中的信息可以一目了然,对于优化学生的学习进程,评估每位教师对教学的贡献,领导合理决策等都具有重要的意义。本论文所研究设计的

3、主要内容是使用计算机实现课表的编排、基础数据的处理、课表的查询和报表的输出等多种功能,运用计算机排课代替传统的手工排课,提高排课效率,使教务管理人员的从繁重的排课工作中解脱出来,提高教务人员的工作效率,同时也对教学管理的规范化也起到积极的作用。排课问题从数学上讲,是一个在时间、教师、学生和教室四维空间,以教学计划和各种特殊要求为约束条件的组合规划问题,其实质就是解决各因素之间的冲突。我们分析了国内外对排课问题的研究,根据高职院校的教学体制的特点,采用了化整为零的思想及优先级算法。该算法通过划分等价类、计算优先级等方法降低了课程调度的算法复杂性,从而可以以较快的速度获得较为满意的排课结果。本文采

4、用rational统一过程(rup)为软件开发方法,以统一建模语言(uml)为分析设计描述语言,以淄博职业学院的排课业务为对象进行需求分析,对计算机排课系统进行了系统设计,具体分析设计了用户管理、自动排课、课程管理、课表查询、课表输出等功能模块。本文介绍了系统开发的背景和国内外排课问题的发展现状,简要描述了系统需要解决的主要问题和系统的开发模式,对系统的需求分析和架构设计进行了详细描述,对系统部分功能的实现进行了介绍,并对教学计划和排课算法两个关键问题进行描述。关键词:rational统一过程rup、统一建模语言uml、计算机自动排课、等价类、优先级、时间模式abstractthe numbe

5、r 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 gla

6、nce , study a course to optimizing a students, 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 con

7、tent 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 e

8、xtricate 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 pr

9、ogramme 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

10、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 algorithms turn to be able to gain comp

11、aratively 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

12、 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 teac

13、hing 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

14、calculation , equivalence has carried out detailed analysis. apply be 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

15、.keywords:automatic course scheduling, algorithm, priority, equivalent, time mode第1章 绪论1.1系统开发背景2002年7月,经山东省政府批准,教育部备案,由原淄博商业学校、淄博市化工学校、淄博市城建中专和淄博市工贸中专四所学校合并组建淄博职业学院。在学院的教学管理工作中,排课是教学管理中最基本、最重要、同时也是最复杂的管理工作之一。目前,我院的排课主要采用手工编排方法。一般是由经验丰富的教务人员在学期末依据人才培养方案、教学计划等资料集中时间、精力进行编排,协调出现的各种矛盾,在这个基础上再由排课专家反复检查合

16、理性,修正课表,直至符合要求为止。 近几年,随着我院招生人数的持续增加,教师规模的不断扩大,手工排课的缺点就越来越突出。排课实际过程中涉及数十个院系和部门、数千教师,上万学生、教师跨系上课和班级合班上课等复杂情况,排出合理的课表需要耗费大量的时间,且排出的课表调整起来困难。同时因为人的思维的随意性,排课表时非常灵活,没有严格的工作步骤,所以人工排出的课表随意性大。计算机由于具有运算速度快、处理能力强等特点,在教学工作中得到了普及应用。用计算机来代替劳动强度大、工作效率低的手工排课势在必行。为了解决手工排课的问题,我院决定通过信息化手段来提高教务管理水平,用计算机排课来代替传统的手工排课。1.2

17、国内外的研究现状计算机排课,它是把排课问题化为计算领域的有约束的时空组合优化问题进行求解的。它对课表上的时间进行了分片和编号处理,使分成的每个时间片和每个教室空间组合,构建了一个个大小不等的时空组合块,并根据求解规则,对每个教学计划进行时空组合块分配,并且分配的组合,必须在目标空间中表现出良好的人为满意度。国外研究人员从20世纪50年代就开始对课表编排问题的数学模型、解的存在性以及计算机求解算法等问题进行了研究。1962年gotlieb提出了课表编排问题的数学模型,使之成为数学家和计算机应用专家共同研究的课题。由于实际中遇到种种难题,并未能取得满意成果。1976年bondy提出了一个简单的排课

18、表问题,将问题归结为一个图的边染色问题,并且对提出的简单排课表问题给出了一个算法。但实际教学活动中提出的排课表问题远非如此简单,且由于它必须满足各种复杂约束条件而使这种算法实际上是无能为力的。1976年even等人证明了课表问题属于np完全类问题,把人们对计算机编排课表的复杂性的认识提高到了理论的高度。进入20世界90年代以后,国外对课表问题的研究仍然十分活跃,比较有代表性的有印度的vastapur大学管理学院的arabinda tripathy、加拿大montreal大学的jean aubin和jacques ferland等。目前,国外解决课表问题的方法主要有:模拟手工排课法、图论方法、拉

19、格朗日松弛法、二次分配型法等。在国内,对排课问题的研究始于20世纪80年代初期。例如,西南交通大学在分析高校课表编排所遵循的基本原则和模糊性原则的基础上,定义了课元之间,关于教师的相关关系和关于自然班的相关关系,提出以课元相关运算和课元的候选时空片计算为核心的计算机排课算法;延边大学根据高校课程表的制作特点,设计了计算机自动排课的数据结构与算法;沈阳电力高等专科学校研制了基于client/server的开放式智能排课系统;山西大学在总结排课工作经验的基础上,提出了一种解决问题的形式化描述,在这种想法上实现了基于知识推理的排课系统;大连理工大学的智能教学组织管理与课程调度系统,清华大学的tise

20、r系统等等,所有这些系统都是模拟手工排课过程,以“班”为单位,运用启发式函数来进行编排的。但是这些课表编排系统往往比较依赖于各个学校的教学体制,不宜于进行广泛推广。高职教育在培养目标和办学模式、教学方式等方面都有别于传统学科式教育。遵循理论“必需”,“够用”为度,理论为实践服务的原则,着重培养学生的实践能力,培养面向生产、建设、管理及服务一线的高等技术应用型人才。由于培养目标和培养方式的特点,决定了高职教育的教务工作面临许多新的困难,其中在排课、调课、检查教学进度、质量、沟通教学双方信息等常规性工作中的问题尤为突出。如何利用有限的师资力量和有限的教室资源,排出一个合理的课表,对维护高职院校正常

21、的教学秩序和提高教学效果有重要的作用。1.3系统解决的主要问题随着我院办学规模的不断扩大,办学层次的不断提高,课表的编排管理工作也显得越来越重要。我院在日常的手工排课过程中主要存在以下几个方面的问题:1、需要大量的有经验的教务人员进行排课;2、手工排课需要大量的时间,周期长;3、课表编排完毕后很难进行调整;4、容易出现教师冲突和教室冲突的现象;5、排课没有严格的步骤,排出的课表随意性大;6、课表信息共享程度低。1.4本文的主要工作本文通过对淄博职业学院教务管理中排课业务的需求分析,借鉴rup模式,从架构设计开始,完成了学院计算机排课系统的需求分析和系统设计。采用 visual basic 为开

22、发工具,完成了系统功能的开发。本系统开发过程总体上采用rup模式,由于计算机排课系统开发的生命周期较短,因此,我们在使用rup进行软件开发时,对rup过程进行了适当的裁减,保留了rup的特点,即仍然是一个用例驱动、以架构为中心、迭代的开发过程。对裁减后的rup,我们取消了原来rup四个阶段的定义,只给出了一些工作流程和一些原则,并且结合了uml建模机制,合理的选择了uml中的各种建模元素。1.5本文的组织结构全文共分为六章。第一章是绪论,主要介绍了系统的开发背景,以及国内计算机排课的研究现状,说明了系统需要解决的主要问题和本文的组织结构。第二章是需求分析,主要通过对淄博职业学院排课业务的描述,

23、说明了排课系统的目标和解决的主要问题,并介绍了系统的开发模式,对系统的功能性需求和非功能性需求进行了详细的描述。第三章系统构架技术,主要介绍了系统构架设计的目标和约束,分别对系统的总体框架、功能构架、技术构架和安全构架等进行详细描述。第四章是计算机排课系统的详细设计,主要通过排课管理实体关系图和自动排课的序列图来介绍了系统的详细设计,并对数据库的构建进行了描述。第五章是计算机排课系统的实现过程,简要介绍了排课系统的几个功能模块的实现过程,同时对教学计划和排课算法两个关键问题进行描述,说明了排课系统设计的理论依据。第六章总结与展望部分,对本文进行了总结,并对下一步的工作进行了展望。第2章 需求分

24、析2.1系统概述2.1.1总体业务描述淄博职业学院管理体系实行系部的二级管理体制,在全院有13个系部和1000多名教师。学院排课管理系统的应用范围包括教务处、系部和教师三级单位。教务处和系部作为课表的设计者和管理者,重点在于对课程的安排和统计数据的分析;教师作为教学计划的执行者,是信息的源头。在排课管理中,教务处以教学计划为依据,安排出一学期各个班级所开的课程,教师根据自己的专业选择自己能上的课程,各系部负责协调安排每门课程的具体上课的教师。总体来看,淄博职业学院排课业务流程如图2-1所示:申请自己的所上的课程教务处系部教师需本系教师上课的课程按教学计划安排各系所开的课程安排教师所上课程计划安

25、排全院的课程表信息反馈或执行课表 图2-1 排课业务流程图2.1.2系统的目标和解决的问题根据淄博职业学院信息化建设的总体要求,淄博职业学院计算机自动排课系统的目标是:运用计算机排课代替传统的手工排课,提高排课效率,使教务管理人员的从繁重的排课工作中解脱出来,提高教务人员的工作效率,加强对学院基本信息的管理,同时实现教学管理规范化的目标。本系统的主要内容就是使用计算机实现课表的编排、基础数据的处理、课表的查询和报表的输出等多种功能,作为一个完整的排课系统,主要解决以下问题:1、基础数据的处理 排课过程中涉及到许多基础数据,这些基础数据包括院系、教师、学生、教室、课程等信息,对于这些基础信息要能

26、够根据实际情况灵活进行增加、删除、修改等处理。 2、排课处理课程的编排不是任意的,它是一个时间、教师、学生、教室四者的组合规划问题,为了达到最好的教学效果应遵循一定的要求。这些要求主要有:(1)要尽量为所排课程安排上该类课程效果最好的时间; (2)课程在一周上多次时要有一定的时间间隔; (3)公共课等涉及面广、学时多的课程应优先处理; (4)对同一教师,同一上课对象应尽量选择相对固定的几个教室; (5)对于教师、学生、课程等提出特殊要求的情况,要根据具体情况予以处理。 另外,对于计算机初排的结果还应可以通过人工交互进行少量的修改等。 3、排课结果的处理 计算机编排完课程后,对这个结果进行各种条

27、件的查询,并可以根据情况输出各种形式的表格,以便于教务人员进行处理。例如:可查询某班的课程安排、某位教师的课程安排、以及某个教室的使用情况。 4、充分利用网络优势充分利用网络优势,实行计算机分布式排课。计算机排课需要计算机在全校范田内对各种时间是否发生冲突进行检查,因此早期的计算机排课系统大多实行集中式排课,一般由教务处负责完成。但目前各校均在扩招,从而造成学生多、班级多,排课时所需要输入的基础数据多排课任务都由一个部门来完成是很不现实的。实行计算机排课的唯一出路就是将排课任务分解,化整为零,实行分布式计算机排课。现在各高校大多建立了校园网络,这使得实行分布式计算机排课成为可能。课程、教师、学

28、生班级、教室等基本信息既可临时录入,又可从其它教学管理系统或校园网中获取,以减少数据录入工作量。2.1.3系统的开发模式rup是一个将用户需求转化为软件系统所需要的活动的集合,即软件开发过程。rup不是一个简单的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项目规模。rup可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期、阶段、迭代和里程碑;纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动、产物、工作者

29、和工作流,如图2-2所示。图2-2 rup二维开发模型rup是一个以用例为驱动、以架构为中心、迭代和增量式开发过程。rup中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(inception)、细化阶段(elaboration)、构造阶段(construction)和交付阶段(transition)。本系统开发过程总体上采用rup模式,由于计算机排课系统开发的生命周期较短,因此,我们在使用rup进行软件开发时,对rup过程进行了适当的裁减,保留了rup的特点,即仍然是一个用例驱动、以架构为中心、迭代的开发过程。对裁减后的rup,我们取消了原来rup四个阶段的定义,只给出了一些工

30、作流程和一些原则,并且结合了uml建模机制,合理的选择了uml中的各种建模元素。裁减后rup流程是一个不断迭代的开发流程,每一个迭代过程都需要经过下列步骤:第一步:找出系统的功能需求和非功能性需求,功能需求使用用例表示,非功能性需求,可以使用规定格式的文档表示;项目开始时,找出一些主要的关键的用例即可,其他次要的用例可在以后的迭代中补充,对这些主要用例的描述应该保持尽量简单,对用例的描述可以使用文档来表示,也可以使用uml中的建模元素来表示,本文在模型中,选择了uml中的活动图来表示。对这些用例要标明其重要程度,对那些影响系统架构的用例要标以很高的重要程度。第二步:为这些用例建立简单的系统初始

31、模型(可多个),可以使用用例图来表示。从系统整个初始模型可以看出一个用例是否得当;也可以根据初始模型来确定团队的开发进度;并且根据系统原型能够得到系统潜在的一些系统架构;能够这些系统架构中考虑选择一个最恰当的系统架构。第三步:找出待开发系统领域的类,第一次可以找主要的类;并定义个各类的主要职责和各类之间的关系,创建uml中的类图来表示;将类分为边界类、控制类和实体类这三种类,并为实体类之间的关系创建一个类图,以便为以后的数据库设计打下基础。第四步:编写整个项目全部迭代计划(只此一次),每个迭代周期为1周2周,迭代周期必应该过长。选择要进行迭代开发的用例,这些用例的开发周期不能超过迭代周期。迭代

32、应该注意:迭代计划内容应该包括迭代目标、人员安排、迭代时间表、存在的风险、可交付的迭代结果;每个迭代期间按照需求,分析,设计,实现和测试来进行管理。第五步:将要开发用例所应有的功能和类结合起来,即用类的对象来表示用力所具有的功能;创建uml中的序列图或者协作图来表示;通过讨论验证修改序列图/协作图。第六步:如果某个类的对象,具有一些非常重要的状态,则为该类创建状态图,状态图中的事件,动作和行为最后会转化成相应类的操作。第七步:在设计的层次上加强上面两个步骤中确定的序列图/协作图和状态图,讨论是否还有别的操作和类所需访问的数据,定义实体类的属性,并开始进行数据库的设计。第八步:根据上面的工作,对

33、类图进行细化与更新,在实体类不断精化的基础上,完成数据库的设计。第九步:对当前迭代的用例进行编码。根据所确定的uml模型,将设计阶段所确定的类图和定义的类,转换成实际开发工具中所支持的类,并编写代码完成各个类的函数实现,在编写代码的过程中,可以对设计模型中的缺陷与不足进行相应的修改;创建系统的实现模型,可以使用组件图和配之图来表示。如果有条件,在编码的时候,进行成对编程,提高代码的质量。第十步:对当前的迭代进行测试,看系统是否完成了用例所描述的所有功能。2.2系统需求问题描述2.2.1功能性需求按照rup的要求,系统的功能性需求描述工具主要是用例(use case),即将系统的功能性需求分解到

34、每一个系统用例。rup模式的最大优点是按照角色(actor)识别用例(use case)的方法,该方法可以较为直观地建立起系统的架构,通过反复识别,避免需求中的漏项。为了清晰地描述系统用例的层次结构,可以采用将系统用例分为不同的包,每一个包表示一组相关的系统用例。为了清晰起见,本系统引入了包图来将不同的功能用例进行分类,每个包图作一个子系统,如图2-3所示。从功能上看,淄博职业学院排课系统可以分为五个子系统:用户管理、数据录入、自动排课、查询课表、报表输出。 图2-3 系统功能包图在每个包中,通过用例图来描述系统的参与者(actor)和系统的用例(use case),每一个用例通过用例活动图进

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

36、架构。在排课管理系统以后的迭代开发中,都是在该模型的基础上进行扩展的。通过几次迭代,在新的需求的增加下和对系统的进一步理解,逐步完善了排课管理系统的用例模型,下面给出的用例图(图2-5)是当前排课系统的最新的用例模型。图2-5 排课管理用例图 这里给出的用例模型是当前迭代中进行的,并不表示该模型是最优最全的,模型会随着迭代开发的不断深入而不断优化和完善。在对排课系统的用例描述中,我们通过uml中的活动图来表示。例如:为了说明如何使用活动图来表示一个用例的行为,这里给出“自动排课”用例的活动图(如图2-6所示)。自动排课活动图详细地描述了自动排课用例在实际的执行的时候,它应该有哪些步骤,包括了它

37、成功之行得到用户期望的结果和不成功执行所走的步骤。在使用活动图对自动排课用例进行描述的步骤中,有些活动可能需要优化,包括增加一些活动或者合并一些步骤,这些都会随着迭代开发的不断进行而进行优化。当然,对用例的描述也可以使用用例说明文档来表示。图2-6 自动排课活动图2.3.2系统非功能性需求非功能性需求规定了系统必须满足的服务水平、系统非运行时间的属性以及系统必须遵守的约束。非功能性需求虽然不直接影响系统功能,但在用户和系统支持人员对该信息系统的认可方面具有很大的影响。非功能性需求主要包括系统的约束与假设条件,系统的可用性、可靠性、性能、扩展性、可支持性、系统接口。在本系统中,为了保证非功能性需

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

39、用本系统提供的业务处理功能完成业务处理提供便捷的课表查询处理功能28小时教务管理人员使用本系统进行自动排课管理,并对排课后数据处理提供丰富、灵活的自动排课功能和便捷的查询功能812小时系统管理员进行系统设置和维护提供方便的用户/角色/权限管理工具、系统设置工具、系统备份/恢复工具1220小时表2-1 系统可用性要求指标系统的可靠性包括系统的故障率、可恢复性和可维护性,具体形成如表2-2所示的技术指标要求。指 标要 求平均故障率故障发生频率不高于1次/月。故障可恢复性拥有备份机制,并提供方便的系统备份恢复工具,保障在24小时内恢复系统环境。可维护性提供方便地系统管理工具,供系统管理员进行系统设置

40、和管理。提供方便的系统备份/恢复工具,供管理员对系统进行定期备份和在发生故障时恢复系统。表2-2 系统可靠性要求指标第3章 系统构架设计淄博职业学院排课系统是一个用户管理、基础信息录入、自动排课、课表查询等业务的管理信息系统。系统架构必须从各个方面满足实际需求,这是架构的设计目标。同时在设计与开发的过程中严格遵守架构的特殊约束,从而保证可以实现架构设计的目标。3.1构架的目标和约束系统架构设计的目标包括安全目标、保密目标、最大化的重用、简洁、灵活等方面的规定。1、安全目标。架构从管理安全、系统安全、数据安全三个方面来具体考虑和保障系统安全。管理安全是指建立相应的安全管理制度,最终决定是否安全是

41、人来决定的。系统安全从网络、硬件、系统软件、应用软件方面考虑如何加强整个系统的安全性。数据安全是指企业数据的安全,包括备份策略、加密等。2、保密目标。对于校园内重要的数据实行单独保存,对排课系统设计安全级别,对于需要在校园网上传输的重要数据,需要加密处理, 3、最大化的重用。重用是减少冗余的一个有效的途径,包括组件级别的重用。组件的实现通常会应用一种或几种设计模式,这些模式与组件的结合使用大大提升了架构的质量。4、简洁。把复杂问题简单化是架构设计的一个重要的目标,明确类以及类之间的职责关系。5、可靠性。根据非功能需求对可靠性的要求来设计,提高系统的可靠性,增强容错处理能力。6、可扩展性。系统在

42、设计时,充分考虑未来高职院校排课业务的变化、组织架构的变化、业务流程的变化等,将因业务或者需求的变更带来的系统升级和改造工作,降低到最小的开发量。任何一个系统都不是可以任意设计的,都有一定的约束和限制条件。本系统为了实现架构的目标,遵循rup软件开发过程,实行全程的质量控制,因此在设计策略方面要采用面向对象的分析和设计方法,rup作为软件开发过程,uml作为建模语言,在技术规范方面要建立必要的设计和开发规范。3.2构架设计3.2.1系统总体架构排课系统需要大量的数据,包括教师信息、班级信息、科目信息、设备信息等,目前我院的这些基础信息都分在各部门的微机或部门局域网的服务器上,在校园网建立起来以

43、后,为了实现基础信息的全院共享,必须将数据集中存放,统一管理。因此在系统设计时要达到如下要求:l 系统软件运行应该速度快、稳定、可靠,同时还有具有一定的安全性; l 系统软件操作上应简单、方便,界面简洁明了、美观;l 排课活动包括很多具有前后时间相关性,相互制约的步骤,各步骤之间层次分明,功能划分清晰,又相对独立;l 系统软件应能支持多用户访问、数据共享;l 系统软件在结构上应具有很好的可扩展性,便于将来的功能扩展和维护;l 数据计算准确无误,精确度符合业务的需要。l 系统提供一些灵活、通用的、便于维护的工具。根据系统设计的具体要求,我们构建了系统的总体框架如图3-1所示。排课系统是由五个子系

44、统和一个系统运行平台组成。其中系统运行平台提供其他各个子系统的一个运行平台与框架,是系统的主窗体,其他各个子系统最终都设计成一个dll,每个子系统的运行都必须在从系统运行上进行动态加载。排课系统的这种结构,具有如下优点:l 为以后子系统的增加和整个系统的扩展提供了极大的便利,要增加的子系统只要开发为一个dll,然后从系统运行平台上加载即可实现排课系统的扩展。l 系统运行平台与任何一个子系统的组合可以方便构成一个系统。系统运行平台主要提供用户登录、与数据库服务器的连接、子系统的更新以及提供其他各个子系统的运行环境。系统运行平台是一个可执行程序,任何一个子系统都不能跨越它进行启动操作。 图3-1

45、排课系统总体框架3.2.2系统功能构架在对当前高职院校需求的充分分析以及对未来可能需求的分析基础之上,确立了系统功能构架(如图3-2)。计算机自动排课系统录入管理查询管理排课管理报表管理用户管理教师信息教室信息时间信息教师课表班级课表自动排课手工调课总课表教务员用户教师用户系统用户教师课表班级课表总课表图3-2 排课系统的功能构架本系统包括基础信息录入子系统、自动排课子系统、查询子系统、报表输出子系统和用户管理子系统,各个子系统的主要功能为:1、基础信息录入子系统 实现基础数据的增加、修改、删除功能以及对库中所有数据进行浏览的功能。这些基础数据包括教学区、教室、院系、专业、教研室、班级、教师、

46、课程等基本信息,另外还包括编排课表所需要的参数信息、教学信息等附加信息。为了保证数据库的安全,系统中只为系统管理员和操作人员赋予了操作权限,而普通用户则没有操作该模块的权限。2、自动排课子系统 根据录入的基础信息进行有效科学地综合统计,分析各项数据,然后按照所设计的排课算法编排出科学合理的课程表。 3、查询子系统 完成用户提出的各种查询。包括按班级、教师、教室、课程、时间、总教室等条件进行的查询。 4、报表输出子系统 利用排课算法编排出的结果,重新组织数据,输出用户所需的各种形式的、复杂的报表。包括单班课表、总课表、单教室占用表、总教室占用表、教师上课信息、教学任务统计表以及开课目录表等。 5

47、、用户管理子系统实现对用户及其权限的管理。为了确保数据库的安全,为不同的用户提供不同的操作权限。权限不同的用户对数据库的操作范围不同,对于一些权限低的用户,甚至不给予处理数据库的权力。3.2.3系统技术构架本系统采用技术比较成熟的c/s技术构架,该模式功能强大,开发工作量小,对服务器要求低。排课系统需要大量的数据,各种很多原始数据分布在校园网上不同系部、不同部门的计算机或服务器上,数据处理起来比较复杂,为了排课系统面向多层次的用户服务,采用基于c/s结构的分布式数据库的体系结构比较合适。这种结构的数据处理并不像通常在基于小型机或基于主机的计算机系统(终端方式)中那样在单个的计算机上发生,而是把

48、程序的不同部分在多台计算机上同时运行。淄博职业学院计算机自动排课系统是一个基于校园网络和数据库应用的系统,该系统有3个节点,分别是系统服务器、数据库服务器和客户端pc。系统服务器为系统提供了大部分的服务,如录入基础信息、自动排课、生成课表等;数据库服务器保存系统中所有持久数据;客户端pc可以通过校园网进行访问排课系统生成的排课信息。三者之间通过校园网相连。系统配置图如3-3所示。图3-3系统配置图3.2.4系统安全构架信息系统的安全包括多个方面,例如信息的存储、传输、访问等都属于信息系统安全的范畴。从理论上讲,系统安全仅指相对安全,并非绝对的安全,因此,任何系统都只能是在成本、效益等约束条件下

49、进行相对安全设计。由于信息系统是分层次的,因此系统的安全也要分层设计。本系统采用的安全手段如表3-1所示。系统层次涵盖内容安全手段物理层硬件、网络拓扑、传输介质、环境防硬件损坏、尘、雷、火、盗、抗干扰等系统层操作系统补丁、访问控制、信息加密等网络层逻辑拓扑、通讯协议防火墙、ids等应用层通用应用程序漏洞扫描、杀毒等管理层管理制度、人员技术、素质网络资源管理、培训、制度、责任、考核表3-1 信息系统安全层次物理层主要是对系统的硬件进行安全保护。如系统所处的物理环境要防雷击、防灰尘等。同时也要对传输介质介质进行相应的保护,如防盗。系统层主要是针对操作系统的保护。如给系统打补丁,定期升级,对重要的信

50、息进行加密处理,实现信息在数据链路上的安全。在网络层采用防火墙设备进行安全防范。防火墙在总公司内网与外网间执行一定的安全策略。一个有效的防火墙应该能够确保:所有从因特网流入或流向因特网的信息都将经过防火墙;所有流经防火墙的信息都应接受检查。 在应用层主要进行入侵检测和病毒防护的安全防范。入侵检测系统对网络数据进行特征分析,实时捕获各种攻击行为,防病毒系统是通过部署防病毒软件来实现。防病毒主要的工作就是提高员工的警惕性,每次开机都更新病毒库。管理层主要通过制定相应的信息安全管理规章制度进行保护。如定期对教务人员进行培训,明确责任等。同时也要注意对网路资源的保护。第4章 系统详细设计4.1 系统建

51、模模型的创建在整个项目的开发中是至关重要的,因为,这是一个将用例模型转化成系统中应该存在的类的阶段,是将系统功能用类如何实现的阶段。整个项目开发的后面工作,都是在分析阶段所完成的分析模型的基础上进行的,所以,在项目的开发过程中,要确保该阶段工作的质量,严格完成该阶段应该完成的各种uml图。在这个阶段,我们找出了排课管理系统中涉及的主要的类,并且结合用例模型中的用例,将各个类与用例有机结合起来。对系统中的类,建立相应的类图来表示各个类之间的关系。而如何让用例与这些类进行结合,则通过建立相应的序列图/协作图来进行建模。分析模型的建立,并不是一个或几个类图所能实现了,为了对一个系统进行充分建模,对于

52、不同的项目可以选用不同的建模元素和建模机制。在对排课系统的建模中,选择了类图和序列图来构建其对应的分析模型。在排课管理系统的分析模型中,通过对排课系统的分析和几次迭代,找出了排课管理系统中涉及的类,并给出了如下的类图和各个类之间的关系(如图4-1)。在这个类图中,我们选择了rose提供的三种类的表示,即边界类、控制类、和实体类,并表示了各个类之间的关系。边界类是与用户交互的界面类的抽象;控制类是系统中的一些计算、控制类的抽象;实体类是存储数据的类的抽象。为了图的整洁,在上图中,没有给出类的关键方法和属性的定义。图4-1 排课管理类关系图上面类图中,将排课管理中的类分成三种,并构建了类图,这种表

53、示方法能够清楚地表示各个类在系统中所处的位置,更加直观。当然,仅仅给出了三种类之间的关系,这样表示还是不够的。实体类之间也是有一定的关系的,对此,我们使用了另一个类图来表示各个实体类之间的关系,如图4-2所示。图4-2 排课管理实体类关系类图在这之前,所做的所有模型都是属于uml的静态建模机制中的;而现在所要用到的建模元素是属于uml的动态建模机制的。我们用uml中的序列图/协作图来表示在系统运行时,完成该用例功能系统的内部协作关系。序列图和协作图是等价的,在rose中,可以将序列图自动转换成等价的协作图,协作图也可以自动转换成相应的协作图。到底采用哪种建模元素,完全取决于项目的实际需要,而且

54、,这两种图只需构造其中的一种就可以了。在一般的实时系统中,一般采用序列图,在序列图中,能够清楚地看到各个对象之间交互时的时间与顺序关系。而在其他的不强调时间与顺序的情况下,使用协作图来表示对象间的关系。在对排课管理系统的动态建模中,因为排课系统比较强调时间安排问题,所以我们选择了序列图来表示相应的用例的在系统运行时的动态执行情况。如下面给出的自动排课用例的序列图(图4-3)。图4-3 自动排课序列图我们在创建用例的序列图的过程中,注意各个类的初级设计,即发现各个类的方法和属性,而且,一般在此阶段发现的类的属性和设计都是非常重要和关键的,当然对于这个阶段发现的方法和属性不需要进行严格的定义,对方

55、法和属性的严格定义可以放在设计阶段去完成;但是,对于每一个发现的方法和属性应该记录下来,可以使用文字进行详细的描述。对于方法,如果能够确定其参数,返回值,也必须进行描述,或者将其定义确定下来。在创建和验证uml的过程中,要做如下工作:1、 对于某个类,如果已经存在方法和属性,要详细描述,能够准确定义的,则需要进行准确定义。2、 对于某各类,如果发现新的方法或属性,也要进行详细描述,描述应该包括参数,返回值,功能等等。如果在建模过程中,需要增加一些类或删除一些类,或对一些类进行合并,验证后,要立即修改相应的类图。在对自动排课用例的序列图创建过程中,也是经过这样的步骤,逐渐来增加该类的方法和属性的。自动排课类在此阶段发现的方法和属性简要归纳如下,对于这些属性和方法的描述性的:自动排课类:属性:pclasssubject:保存各个班级的需要安排的科目信息。parranging:当前正在安排的科目信息。plimitinfo:当前安排科目和教师的限制信息。方法:arrange:为某科目安排一节位置。getclasssubject:得到排

温馨提示

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

最新文档

评论

0/150

提交评论