计算机自动排课系统设计与实现 下载本文

的基础上进行深入研究,对现行的遗传算法进行一些改进,然后对排课问题进行建模,分析排课问题的要素和约束条件。最后将遗传算法应用到排课系统中,提出一种具体的应用方法并实现排课算法。研究过程中要借助于大量的文献资料,必须要先学习理论,在理论的基础上再进行实践。

4)排课问题具体研究步骤如下:

(1)大量阅读关于遗传算法的相关文献,理解算法原理。 (2)研究排课问题,对排课问题进行建模。 (3)对遗传算法进行一些改进。

(4)提出遗传算法在自动排课中的应用方法。 (5)进行系统的概要设计和详细设计。 (6)编码实现排课算法。 (7)对系统进行测试和运行。 (8)对系统进行回归测试和功能完善。 5)排课问题研究用到的工具与框架如下: (1)MyEclipse6.0; (2)开发的环境:JDK1.5;

(3)UML建模工具:PowerDesigner12.5; (4)MS SQL Server 2000; 1.5.3研究意义

排课系统是教学管理系统中的一项重要内容,排课结果的优劣直接影响到学校的正常教学秩序,甚至影响教学质量。排课管理的主要任务是把全校各年级所开设的课程进行汇总,然后根据教学计划和教学资源制订全校各班级的课程表,优化配置各种教学资源,使教学工作科学、高效顺利的进行。研究的意义就在于设计一个好的智能排课系统,从而减轻了教学管理工作者的劳动强度,提高了工作效率,规范了教学管理工作流程。

第二章 相关技术基础

第二章 相关技术基础

本章介绍开发中用到的相关技术。

2.1 MyEclipse Enterprise Workbench 介绍

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持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、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

2.2.1 Eclipse开发环境

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

每个视图中包含的视图种类,也可自定义一个新透视图。一个透视图包括一个或多个编辑窗口和视图。

2.2.2 Eclipse的主要特点 Eclipse的主要特点有以下几方面: (l)开放的可扩展的IDE

Eclipse平台是一个开放的可扩展的功E。Eclipse平台是建造模块和构造并运行集成软件开发工具的基础。Eclipse平台允许工具建造者独立开发与其它工具无缝集成的工具,用户甚至无须去分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

(2)成功的底层图形界面

从Java诞生至今,己经在太多的领域取得成功,然而它却很少在图形接口程序上崭露头角。究其原因,Java语言缺省的图形接口开发包AWT和SWING实在是难辞其咎,无论速度和外观,它们都难以让人接受。如今,E。 1ipse组织编写的SWT开发包,为Java程序员提供了AWT和SWING之外的一个更好的选择。SWT本身仅仅是Eclipse组织为了开发Eclipse集成开发环境所编写的一组底层图形接口API。或许是无心插柳,又或是有意为之。至今为止,SWT无论是在性能和外观上,都超越了Sun公司提供的AWT和SWING。目前, Eclipse IDE版本已经开发到了3.2版本,SWT已经十分稳定。这里稳定包含两层意思:

①指性能上的稳定,其中的关键是源于SWT的设计理念。SWT最大化了操作系统的图形构API,就是说,只要操作系统提供了相应图形的构件,SWT才自己去做一个模拟的实现。可以看出S盯性能上的稳定大多时候取决于相应操作系统图形构件的稳定性。

②指 SWTAPI包中的类,方法的名称和结构已经少有改变,程序员不用担心由于Eclipse组织开发进度过快(Eclipse IDE每天都会发布一个Nightly版本),而导致自己的程序代码变化过大。从一个版本的SWT更新至另一个版本,通常只是需要简单将SWT包换掉就可以了。

(3)强大的插件加载功能

可以通过不断地加载插件来实现同其它产品的合作。整个E。 1ipse体系结构就像一个大拼图,可以不断地向上加插件,同时,现有插件上还可以再加插件,