基于遗传算法的自动排课系统毕业设计(共60页).doc

上传人:飞****2 文档编号:27100295 上传时间:2022-07-22 格式:DOC 页数:60 大小:4.67MB
返回 下载 相关 举报
基于遗传算法的自动排课系统毕业设计(共60页).doc_第1页
第1页 / 共60页
基于遗传算法的自动排课系统毕业设计(共60页).doc_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《基于遗传算法的自动排课系统毕业设计(共60页).doc》由会员分享,可在线阅读,更多相关《基于遗传算法的自动排课系统毕业设计(共60页).doc(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、ical 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. Curr

3、iculum 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 adopt genetic algorithm. Through Design Implementation the Auto Course Arrangement Management S

4、ystem Base on Genetic Algorithm, researched the application of genetic algorithm in the Course Arrangement Management System.Keywords: Genetic Algorithm Auto Course Arrangement Management Java.第一章 绪论1.1排课系统研究背景排课是学校教学管理中十分重要、又相当复杂的管理工作之一,其实质就是为学校所设置的课程安排时间和地点,从而使整个教学能够有计划有秩序的进行。迄今为止,对课程表的研究工作已经进行了长达

5、四十多年之久,取得了丰硕的成果。但是,仍然存在许多不足之处,例如规模大、约束(条件)复杂以及规律不断变化等,因此课程表问题至今仍未完全解决。课程表的编排是一个涉及多种因素的组合规划问题,它要保证在课程安排中教师、学生、教室不能产生冲突(所谓冲突,就是将需上不同课程的两个或多个班安排在了同一时间、同一教室,或为同一教师在同一时间段安排了多门课程等情况),并且要满足教师的要求和资源限制等约束条件。目前,国内的大部分学校仍然采用手工排课的方法。手工排课工作的主要手段是“摆牌”,就是在一个画有空课表的版面上将有课名的小牌摆在适当的位置上,边摆边观察,边调整,凭借经验将各门课摆在合理的位置上,最后形成一

6、个有效的课程表。这种办法没有一定的规律,没有理论指导,更没有数据模型,具有很大的盲目性。所以,要为上千名学生和上百名教师安排出合理的课程表,往往需要花费教务处人员很多的时间,工作量大,排出的课程表不宜调整。随着中国教育体制改革的不断深入,学生人数的不断上升,课程设置不断向深度和广度发展,手工排课的缺点就越来越突出。由于计算机具有运算速度快、处理能力强等特点,很自然地就进入到这一应用领域中。用计算机进行排课能够快速地得到满足约束条件的可行结果,具有排课时间短、省人力和质量高的优点,不但能使教务人员从繁杂的排课任务中解脱出来,而且对于推动教学的发展也起到非常重要的作用。每个学期开学时,教务管理工作

7、中的课程表安排问题,都是教务处面临的一项艰巨任务。排课问题是一个非常棘手却又亟待解决的问题,通常都是使用传统的人工手动排课方法。手工排课不仅劳动强度大,而且排课效率低,很难排出一个让人满意的课程表。时间,教师,教室,班级,课程等限制问题更是难以解决,使用计算机进行自动排课已经成为近年来的热点话题。教学管理的信息化需要计算机辅助排课,而排课理论的研究和软件技术的成熟己为我们提供了计算机自动排课的重要手段,研究一种准确、高效、实用、自动化程度高的排课系统己经成为可能。1.2排课系统国内外现状排课问题是NP完全问题,许多学者分别在理论、启发式搜索技术应用求解、专家系统应用求解和遗传算法应用求解上作了

8、很多研究。国外从20世纪50年代末就对排课问题展开了研究。1963年Gotlieb在他的文章中提出了排课问题的数学模型2,它标志着排课问题的研究正式跨越了科学的殿堂。之后,人们对排课问题的算法做了许多探索,但由于排课问题是NP完全问题,并且易受实际问题边界的影响,大多数求解结果都不够理想。Ferland3等人和吴金荣4把排课问题化成整数规划来解决,但计算量很大,其仅仅适用于规模很小的课表编排,对于大规模复杂的排课情况,至今没有一个切实可行的算法;何永太5和胡顺仁6等人试图用图论中的染色问题来求解排课问题,可惜图的染色问题本身也是NP完全问题。由于问题的复杂,许多文章利用启发式函数来解决排课问题

9、,大多数启发方法都是模拟手工排课的过程来实现的。由于实际的排课问题存在各种各样的限制条件与特殊要求,对这些因素处理的好坏就显得尤为重要。进入20世纪90年代,国外对排课问题的研究仍然非常活跃。如印度Vastapur大学管理学院的Arabinda Tripathy、加拿大Montreal大学的Jean Aubin和JacqueSA Ferland以及Charles Fleutent等。Arabinda Tripathy的工作是针对以“人”为单位进行课表编排的。他运用拉格朗日松弛法和分支定界技术求解,这种方法的缺点是为了减少变量的个数,人为造成科目间的冲突。A.Tripathy还研究了研究生课表编

10、排问题,他采用多重课组的方法来处理冲突(即根据学生选课的矛盾情况,将人数多的课程在一星期内开多次)。JacQuesA.Ferland等人则把排课问题分成两个子问题:时间表问题和分组问题。在时间表问题中,根据学生注册情况、教师和教室的可利用情况形成一个主时间表。对于选课人数较多的大课,一个星期要分成几个时间段来上,分组问题就是将学生分给各时间段。两个问题相关联,通过惩罚因子来构造启发函数。他们研制的SAPHIR课程调度决策支持系统分为数据处理、自动优化、交互优化等几个模块。该系统解决矛盾的主要方法也是采用多重课组。在国内,对于排课系统的研发,林漳希和林尧瑞1984年发表了该课题上的实验性研究成果

11、。成形的系统有大连理工大学1998年推出的教学调度系统版本3.00和由清华大学计算机与信息管理中心开发的综合教务管理系统TISER。这些应用界面很友好的排课软件己经可以帮助排课人员大大提高工作效率。这些系统大多数都是模拟手工排课,以“班”为单位,只能在排课过程中辅助工作人员进行排课,并没有一套完善有效的自动排课算法。当人工输入的条件达到一定的限制程度时,软件运行就有可能出现死锁现象,使得系统的实际应用非常困难19。后期人工调整的工作量并不比重新排课的工作量小很多。一旦出现了这种现象,就要把所有的数据作废或者打乱重排,之前做的工作都付诸东流。高校的课程、教室、教师等因素都十分复杂,排课所需数据量

12、也十分庞大,所以造成的时间、人力损失也非常巨大。课程表问题又称时间表问题,是一个多因素的优化决策问题,也是组合规划中的典型问题,是NP完全的1。对于排课问题的解决,研究人员己经使用了各种不同的算法,但由于该问题的复杂性,所求解也只能是较为合理、较为满意的解。随着人工智能的发展,特别是在计算智能领域的拓展,借鉴于生物界进化思想和遗传算法,由于其超强的并行搜索能力,以及在解决优化问题中表现出来的高度鲁棒性,它已经被广泛应用于各个领域。目前,很多研究人员已使用遗传算法来求解排课问题,如文献20使用遗传算法优化教室的合理利用,文献21的用自适应的遗传算法求解大学课表安排问题,文献22的基于遗传算法排课

13、系统的设计与实现等等。这些应用说明,使用遗传算法来解决排课问题,其结果还是令人较为满意的。教学排课问题是学校每个排课人员最头痛的问题。短时间内没有一个方法来达到学校教师满意的结果。其最大的困难是硬件资源的限制。排课人员在硬件资源兼顾的条件下难于短时间内排出教师满意的课表。“穷举法”可将所有的方式列出然后找出最佳解,但成本太高,时间太长。如一个星期有n个时段可排课,有m位教师需要参与排课平均每位教师一个星期要上i堂课。其排课的组合数有nm*i次。可见穷举法的复杂度有多高。遗传算法是一种通过模拟自然进化过程搜索最优解的方法。本文试图以遗传算法来实现排课问题的最佳解。本课题研究的目的就是实现基于遗传

14、算法的排课系统,并在VB下具体实现,满足日常需求。1.3排课常用算法比较1.3.1贪心算法贪心法(greedy method)是一种改进了的分级处理方法,逐步构造最优解。它从问题的某一个初始解出发,在一定的标准下做出一系列的贪心选择(选择一旦做出,就不可再更改),即当前状态下看上去最优的选择逐步逼近给定的目标以尽可能快的速度求得更好的解 当达到算法中的某一步不能再继续前进时则停止。贪心算法的核心是在所选择的策略中,选一个权值最优的策略作为当前策略。因此贪心算法的好坏主要决定于权值的确定。在排课系统中,贪心算法是从排课问题的某一初始状态出发依据给出的贪心策略朝最终排好全部课程这个目标前进一步,判

15、断是否可以求出可行解的一个解元素如果可以则继续依据贪心策略向给定目标前进求出下一个解元素。直到前进不能再继续时停止。最后由所有得到的解元素组成问题的一个可行解。此时算法结束。贪心算法的缺点在于解的效果比较差而最大优势在于极低的时间复杂度。能做到某种意义上的局部最优。它具有不可后撤性,可以有后效性一般情况下不满足最优化原理。并且不适用于解决可行性问题仅适用于较容易得到可行解的最优性问题。为了尽量减小贪心算法带来的副作用。使得最后得到的解更接近最优解。可以在算法尽可能多的地方使用有效的最优化算法(如动态规划)。贪心算法还可以为搜索算法提供较优的初始界值。1.3.2回溯算法回溯算法也叫试探法它是一种

16、系统地搜索问题的解的方法,可以被认为是一个有过剪枝的DFS(深度优先搜索)过程。它按优先条件向前搜索,以达到目标,但当搜索到某一步时发现原先的选择并不优或达不到目标。就退回一步重新选择。而满足回溯条件的某个状态点称之为回溯点。具体到计算机智能排课系统中,选优条件即为排课数学模型中的约束条件群(需求集中的元素特征与资源集中的元素特征相互作用形成的数学关系)若不满足约束条件群,该选择即为不优或达不到目标 当遍历该步骤的所有可能仍未满足约束条件群则该状态满足了回溯条件,该状态点即为回溯点。回溯算法解决排课问题时首先要描述解的形式,定义一个解空间它包含问题的所有解:其次构造状态空间树,这棵树的每条完整

17、路径都代表了一种解的可能:再次是构造约束函数,通过描述合法解的一般特征用于去除不合法的解,从而避免继续搜索出这个不合法解的剩余部分:然后通过深度优先搜索完成回溯。设置初始化的方案(给变量赋初值,读入已知数据等);变换方式去试探。若全部试完则转 ; 判断此法是否成功(通过约束函数),不成功则转 ; 试探成功则前进一步再试探;正确方案还未找到则转 ; 已找到一种方案则记录并打印;退回一步(回溯),若未退到根则转 ; 已退到根节点则排课结束或打印无排课结果。回溯法适用于解的组合数相当大但仍然有限的那一类问题。它的一个有重要的特性是在搜索执行的同时产生解空问。在搜索期间的任何时刻仅保留从开始节点到当前

18、节点的路径。因此回溯算法的空间需求为一个常数,即从开始节点起最长路径的长度。这个特性非常重要因为解空间的大小通常是最长路径长度的指数或阶乘。所以如果要存储全部解空间的话。再多的空间也不够用。其缺点是时间复杂度较大因此在采用时还需要谨慎。最好是和其它的算法结合使用。1.3.3遗传算法遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法,它是有美国Michigan大学J.Holland教授于1975年首先提出来的,并出版了颇有影响的专著Adaptation in Natural and Artificial Systems,GA这个名称才逐渐

19、为人所知,J.Hilland教授所提出的GA通常为简单遗传算法(SGA)。 遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,而一个种群则由经过基因(gene)编码的一定数目的个体(individual)组成。每个个体实际上是染色体(chromosome)带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群

20、产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小挑选(selection)个体,并借助于自然遗传学的遗传算子(genetic operators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法,与传统的优化算法相比,主要有以下特点:1、 遗传算法以决策变量的编

21、码作为运算对象。传统的优化算法往往直接决策变量的实际植本身,而遗传算法处理决策变量的某种编码形式,使得我们可以借鉴生物学中的染色体和基因的概念,可以模仿自然界生物的遗传和进化机理,也使得我们能够方便的应用遗传操作算子。2、 遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。3、 遗传算法使用多个点的搜索信息,具有隐含并行性。4、 遗传算法使用概率搜索技术,而非确定性规则。根据其算法特点,遗传算法非常适合于应用到排课处理中。具体应用方式将在后面设计部分详细说明。1.4遗传算法国内外现状进入90年代,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。尤其是遗传算法

22、的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传算法进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。此外一些新的理论和方法在应用研究中亦得到了迅速的发展,这些无疑均给遗传算法增添了新的活力。遗传算法的应用研究已从初期的组合优化求解扩展到了许多更新、更工程化的应用方面。随着应用领域的扩展,遗传算法的研究出现了几个引人注目的新动向:一是基于遗传算法的机器学习,这一新的研究课题把遗传算法从历来离散的搜索空间的优化搜索算法扩展到具有独特的规则生成功能的崭新的机器学习算法。这一新的学习机制对于解决人工智能中知识获取和知识优化精炼的瓶颈难题带来了希望。二是遗传算法正日益和

23、神经网络、模糊推理以及混沌理论等其它智能计算方法相互渗透和结合,这对开拓21世纪中新的智能计算技术将具有重要的意义。三是并行处理的遗传算法的研究十分活跃。这一研究不仅对遗传算法本身的发展,而且对于新一代智能计算机体系结构的研究都是十分重要的。四是遗传算法和另一个称为人工生命的崭新研究领域正不断渗透。所谓人工生命即是用计算机模拟自然界丰富多彩的生命现象,其中生物的自适应、进化和免疫等现象是人工生命的重要研究对象,而遗传算法在这方面将会发挥一定的作用,五是遗传算法和进化规划(Evolution Programming,EP)以及进化策略(Evolution Strategy,ES)等进化计算理论日

24、益结合。EP和ES几乎是和遗传算法同时独立发展起来的,同遗传算法一样,它们也是模拟自然界生物进化机制的智能计算方法,即同遗传算法具有相同之处,也有各自的特点。目前,这三者之间的比较研究和彼此结合的探讨正形成热点。1991年D.Whitey在他的论文中提出了基于领域交叉的交叉算子(Adjacency based crossover),这个算子是特别针对用序号表示基因的个体的交叉,并将其应用到了TSP问题中,通过实验对其进行了验证。D.H.Ackley等提出了随即迭代遗传爬山法(Stochastic Iterated Genetic Hill-climbing,SIGH)采用了一种复杂的概率选举机

25、制,此机制中由m个“投票者”来共同决定新个体的值(m表示群体的大小)。实验结果表明,SIGH与单点交叉、均匀交叉的神经遗传算法相比,所测试的六个函数中有四个表现出更好的性能,而且总体来讲,SIGH比现存的许多算法在求解速度方面更有竞争力。H.Bersini和G.Seront将遗传算法与单一方法(simplex method)结合起来,形成了一种叫单一操作的多亲交叉算子(simplex crossover),该算子在根据两个母体以及一个额外的个体产生新个体,事实上他的交叉结果与对三个个体用选举交叉产生的结果一致。同时,文献还将三者交叉算子与点交叉、均匀交叉做了比较,结果表明,三者交叉算子比其余两

26、个有更好的性能。国内也有不少的专家和学者对遗传算法的交叉算子进行改进。2002年,戴晓明等应用多种群遗传并行进化的思想,对不同种群基于不同的遗传策略,如变异概率,不同的变异算子等来搜索变量空间,并利用种群间迁移算子来进行遗传信息交流,以解决经典遗传算法的收敛到局部最优值问题。2004年,赵宏立等针对简单遗传算法在较大规模组合优化问题上搜索效率不高的现象,提出了一种用基因块编码的并行遗传算法(Building-block Coded Parallel GA,BCPGA)。该方法以粗粒度并行遗传算法为基本框架,在染色体群体中识别出可能的基因块,然后用基因块作为新的基因单位对染色体重新编码,产生长度

27、较短的染色体,在用重新编码的染色体群体作为下一轮以相同方式演化的初始群体。2005年,江雷等针对并行遗传算法求解TSP问题,探讨了使用弹性策略来维持群体的多样性,使得算法跨过局部收敛的障碍,向全局最优解方向进化。1.5研究目标及内容1.5.1研究目标对遗传算法进行研究,进而将其应用到排课系统中,利用计算机来模拟手工排课工作,可以抽象问题中的各个要素,数学表达各种约束条件,并根据课表的组织形式和普遍存在的规律,缩减了问题空间的搜索范围,有效组织了排课知识,使其在一定程度上呈现智能化。1.5.2研究内容学校排课问题本质上是时间表问题的一类典型应用实例,是为了解决课程安排对时间和空间资源的有效利用并

28、避免相互冲突。在排课过程中需要考虑课程教学效果、满足教师特殊要求等多项优化指标,将各门课程安排到相应的时间和教室。1)排课问题具体研究的内容如下:(1)遗传算法的理论(2)排课问题的建模(3)遗传算法在自动排课中的应用方法(4)排课算法的实现2)排课问题具体研究的重点和难点如下:(1)深入理解遗传算法理论。(2)排课问题的建模,包括排课问题的要素以及排课过程的约束条件等。(3)遗传算法在排课问题中的应用方法,包括基因编码、初始种群的产生、适应度函数、控制参数的设定等。(4)排课问题本身的求解规模过于庞大,各要素之间的关联层出不穷,以及人们对多个课表优劣评定的准则存在差异,在求解排课问题的过程中

29、,会面对难以穷尽的组合和多个模糊目标的优化问题,实际解决时会受到一些制约。3)排课问题具体研究方法如下:采用循序渐进的方法进行研究,首先必须要学习遗传算法,在学习的基础上进行深入研究,对现行的遗传算法进行一些改进,然后对排课问题进行建模,分析排课问题的要素和约束条件。最后将遗传算法应用到排课系统中,提出一种具体的应用方法并实现排课算法。研究过程中要借助于大量的文献资料,必须要先学习理论,在理论的基础上再进行实践。4)排课问题具体研究步骤如下:(1)大量阅读关于遗传算法的相关文献,理解算法原理。(2)研究排课问题,对排课问题进行建模。(3)对遗传算法进行一些改进。(4)提出遗传算法在自动排课中的

30、应用方法。(5)进行系统的概要设计和详细设计。(6)编码实现排课算法。(7)对系统进行测试和运行。(8)对系统进行回归测试和功能完善。5)排课问题研究用到的工具与框架如下:(1)MyEclipse6.0;(2)开发的环境:JDK1.5;(3)UML建模工具:PowerDesigner12.5;(4)MS SQL Server 2000;1.5.3研究意义排课系统是教学管理系统中的一项重要内容,排课结果的优劣直接影响到学校的正常教学秩序,甚至影响教学质量。排课管理的主要任务是把全校各年级所开设的课程进行汇总,然后根据教学计划和教学资源制订全校各班级的课程表,优化配置各种教学资源,使教学工作科学、

31、高效顺利的进行。研究的意义就在于设计一个好的智能排课系统,从而减轻了教学管理工作者的劳动强度,提高了工作效率,规范了教学管理工作流程。第二章 相关技术基础本章介绍开发中用到的相关技术。2.1 MyEclipse Enterprise Workbench 介绍MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持

32、HTML, Struts, JSF, CSS, JavaScript, SQL, Hibernate。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、

33、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的

34、IDE集大成者,使用者只需下载各种语言的插件即可。2.2.1 Eclipse开发环境Eclipse开发环境被称为Workbench,它主要由三个部分组成:透视图(Perspective)、编辑窗口(Editor)和视图(View)15。所有文件的显示和编辑都包含在编辑窗口里。默认情况下打开的多个文件是以标签(Tag)方式在同一个窗口中排列的。视图是配合编辑窗口并提供了多种相关信息和浏览方式。视图是任何IDE开发环境的核心,用好视图也就是用好工DE开发环境。透视图可以自定义每个视图中包含的视图种类,也可自定义一个新透视图。一个透视图包括一个或多个编辑窗口和视图。2.2.2 Eclipse的主要特

35、点Eclipse的主要特点有以下几方面:(l)开放的可扩展的IDEEclipse平台是一个开放的可扩展的功E。Eclipse平台是建造模块和构造并运行集成软件开发工具的基础。Eclipse平台允许工具建造者独立开发与其它工具无缝集成的工具,用户甚至无须去分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。(2)成功的底层图形界面从Java诞生至今,己经在太多的领域取得成功,然而它却很少在图形接口程序上崭露头角。究其原因,Java语言缺省的图形接口开发包AWT和SWING实在是难辞其咎,无论速度和外观,它们都难以让人接受。如今,E。 1ipse组织编写的SWT开发包,为Java程序员提供了A

36、WT和SWING之外的一个更好的选择。SWT本身仅仅是Eclipse组织为了开发Eclipse集成开发环境所编写的一组底层图形接口API。或许是无心插柳,又或是有意为之。至今为止,SWT无论是在性能和外观上,都超越了Sun公司提供的AWT和SWING。目前, Eclipse IDE版本已经开发到了3.2版本,SWT已经十分稳定。这里稳定包含两层意思:指性能上的稳定,其中的关键是源于SWT的设计理念。SWT最大化了操作系统的图形构API,就是说,只要操作系统提供了相应图形的构件,SWT才自己去做一个模拟的实现。可以看出S盯性能上的稳定大多时候取决于相应操作系统图形构件的稳定性。指 SWTAPI包

37、中的类,方法的名称和结构已经少有改变,程序员不用担心由于Eclipse组织开发进度过快(Eclipse IDE每天都会发布一个Nightly版本),而导致自己的程序代码变化过大。从一个版本的SWT更新至另一个版本,通常只是需要简单将SWT包换掉就可以了。(3)强大的插件加载功能可以通过不断地加载插件来实现同其它产品的合作。整个E。 1ipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件,进而实现功能的扩展。目前,Eclipse已经开始提供C语言开发的功能插件。更难能可贵的是,Eclipse是一个开放源代码的项目,任何人都可以下载Eclipse的源代码,并且在此基

38、础上开发自己的功能插件。也就是说,只要有人需要,就会有建立在Eclipse。之上的COBOL、Perl、Python等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,例如在现有的Java开发环境中加入Tomcat服务器插件。Ec11spe插件可以无限扩展,而且有着统一的外观、操作和系统资源管理,这也是Ec11pse的潜力所在。(4)可以通过导入一些CVS相关的插件来实现版本管理控制的便宜性Eclipse平台提供了对于直接从工作区进行团队开发操作的支持。这种支持允许开发人员并发地与几个独立的资源库以及不同版本的代码或项目进行交互。工作区中的资源允许团队支持组件处理版本和配置管理问

39、题。当然,单个工作区也可以同时访问不同类型的资源库。Eclipse平台并没有提供它自己的代码管理解决方案,它总是依靠外部系统。E1ipse平台只对一个源代码管理系统提供内置支持一一并发版本控制系统CVS。(5)充分的帮助文档值得提出的还有,在下载了Eclipse的多国语言翻译包之后,所有的菜单和联机帮助文档都己经翻译成了中文,使用起来比较方便。2.2 SQL Server 2005Microsoft SQL Server 2005是软件开发中使用非常广泛的数据库管理系统,它是由美利坚合众国的微软公司开发并推出的数据库开发、管理系统。它是由一系列的图形工具整合在一起构成的,这些图形工具主要有服务

40、器管理、企业管理器和查询分析器。服务器管理的主要功能是启动和关闭数据库服务。企业管理器的主要功能是创建、修改和备份数据库。查询分析器的主要功能是交互执行标准T-SQL语句、SQL函数和存储过程,而且具有图形化的查询分析功能。SQL Server 2005作为一款数据库开发与分析的软件,能够方便快捷的为可伸缩性的电子商务、企业ERP和数据仓库等创建出优秀的解决方案。在SQL SERVER的2005版出现时,Internet网络已兴起,所以它为网络应用程序的开发和设计做了很多工作,能很好的适应网路应用程序的数据管理和数据分析。在开发电子商务、数据仓库应用时,如果采用由SQL SERVER 2005

41、作为核心组件之一的Windows DNA(Distributed Internet Architecture)架构,能够使得整个应用的开发周期大大缩短。另外,SQL SERVER 2005全方位支持HTTP和XML(Extensible Markup Language)扩展标示语言。SQL Server 2005具有着性能高和企业级可伸缩性的特点。SQL Server 2005安装部署与Windows NT操作系统之上,与操作系统一起提供了对多处理器、大内存和64位硬件平台的支持。而且SQL Server 2005还支持WindowsNT的多路群集,为较大规模的应用提供了良好的支持。在可管理性

42、和易用性方面,SQL Server的上一个版本7.0在行业内就处于领先地位,而升级版的2005不仅在可管理性和易用性方面做了大量改进,而且在性能、扩展性和安全性方面也做了许多改进。SQL Server 2005能为具有商务活动的网络站点提供优异的性能,具有商务活动的网络站点对性能、可管理性、易用性都有较高的要求,而SQL Server 2005能够很好的做到这些。SQL Server 2005的特点归纳后如下:1SQL Server 2005的数据分析性能是非常高效的SQL Server 2005具有高效的数据操作机制。SQL Server 2005在处理查询时,能够智能优化SQL语句,对Wh

43、ere条件中的多个条件进行分析,找出最佳的过滤及交叉顺序,并且可以将优化好的SQL语句缓存起来,下次再有同样的SQL查询时将直接使用缓存的优化过的SQL语句。2SQL Server 2005的业务扩展性是灵活的数据仓库技术直接回答的是业务问题,其实现方式也是以解决一个个业务需求的形式组织的。随着新业务的出 业务需求建设新的模型,这种堆叠形式的建设方式为整个系统随业务的发展而平稳发展提供了良好的条件。3 SQL Server 2005的安全性是与操作系统集成在一起的Microsoft SQL Server 2005的安全性是与操作系统集成在一起的,从而可以利用windows的强大功能,为数据库用

44、户实现更高的安全性。操作系统提供了OLAP管理器,通过OLAP管理器强大而专业的管理功能,实现对用户权限的更为细致和专业的划分和控制。Microsoft SQL Server 2005具有细致而全面的安全设置选项。数据库用户具有不同的级别划分,数据库管理员可以根据实际情况,对数据库用户进行细致的级别划分,使得数据系统的安全性更有保障。由高到低的级别依次为服务器级、数据库级、多维数据集挖掘模型级、维度成员级和单元级。4SQL Server 2005的易用性SQL Server 2005的企业管理器是图形化工具,界面显示与操作方式都与Windows操作系统的类似,在当前Windows普及的背景下,

45、开发人员可以很快上手并熟悉,基本不用化太多时间专门的学习SQL Server 2005软件的使用。SQL Server 2005可以对工作负载进行动态优化,根据最优的参数设置进行智能调节,从而尽可能减轻数据维护管理人员的工作量。SQL Server 2005还为开发人员提供了各种常用操作的向导程序及功能强大的图形化编辑器。向导程序可以让开发人员能够在图形化界面下,按向导的操作提示逐步完成相关操作,极大的方便了开发人员的使用。图形化编辑器更是使得开发人员可以通过几次选择操作,就能完成本来需要手敲的脚本,大大提高了开发人员的开发效率,而且降低了出错率。SQL Server 2005还提供了将数据导

46、入导出向导,可以方便的将数据库中导出到Excel、txt等格式文件中,也可以这些格式文件中导入数据。第三章 系统分析与初步设计系统分析与初步设计是软件开发中的一个重要阶段,是建立系统初步模型的。3.1系统分析的工作步骤 问题提出可行性分析 下达初步设计任务书 组织队伍,明确分工 制定初步设计大纲下达各子系统设计任务书需求调查与分析确定系统功能目标设计系统总体结构 功能模型设计 信息分类编码设计 初步建立信息模型 界面划分及内外接口要求 确定系统配置 实施进度计划 组织机构设计 经费预算 经济效益分析 编写分析阶段文档资料 修改 评审图 3-1 系统分析的工作步骤首先,是问题提出,即需求的提出,

47、要解决做什么的问题。我们遇到了什么问题,我们的需求是什么。为完成我们的需求,我们需要做的系统都需要什么功能。系统分析的核心是目标分析与需求分析。目标分析是进行组织系统的目标分析和计算机系统目标分析;需求分析是对功能需求和信息需求进行分析。这个阶段的主要目标是针对要开发的开发项目,明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。这个阶段的成果是系统方案说明书或称总体方案, 系统方案说明书是整个系统分析阶段的工作总结,是系统分析人员和用户交流的主要手段,是系统设计阶段工作的重要依据。3.2问题提出即需求提出排课是学校教学管理中十分重要、又相当复杂的管理工作之一,其实质就是为学校所设置的课程安排时间和地点,从而使整个教学能够有计划有秩序的进行。迄今为止,对课程表的研究工作已经进行了长达四十多

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁