1、xx 论文 前言 I前言随着我国科学技术的进步和综合国力的增强,计算机在我们学习生活中有着越来越多的应用,我们对计算机的依赖也越来越强烈。可以说,离开了计算机我们的日常生活都不能得到保证。然而,在计算机如此普及的今天,有一些领域却还没有广泛应用这个强大的工具,比如说学校的排课。为此,我们开发了这个高校智能排课系统,旨在能为学校解决一点实际问题,同时积累一点开发经验,为以后的功能完善打下一定的基础。本系统一共由四个人完成,对于几个即将毕业的大学生。开发经验不足是最大的问题。在开发过程中我们本着积极的学习精神,遇到问题迎头而上,解决问题后又倍感欣慰。同组的几位同学有着较强的团队合作精神,相互之间讨
2、论、解决问题的合作精神更值得称赞。指导老师吴志诚积极负责,引导和监督我们的开发过程。这几个月的系统开发时间里,我们学到了很多。我们能在以后的工作学习做了一个好的开头。并能将这种不怕困难的精神坚持到底。xx 论文 摘要 II摘要现代大学的学科设置越来越科学,大学的学习方式也在不断的更新,许多国内的大学开始向国际化方向发展,采用学分制的管理系统。然而,要采用这样一种先进的模式,首先要面对就是学生选课时所依据的排课表该如何生成的问题。在以往的教学管理中,许多高校只能通过人工的方式生成。伴随着学科范围的不断扩大,各个院系的学科科目也越来越多,庞大的课时、教师、教室信息令学校的教务安排人员眼花缭乱,无法
3、迅速、高效地完成排课任务。智能排课系统就是为了解决这一问题而开发的。它对旧的排课方式方法是一种革命性的冲击。智能排课系统具有高效性、灵活性、可重复利用性等特点。它可以轻松、合理的解决了高校的排课问题。关键词:排课算法;排课系统;智能;课表调整;JSP;xx 论文 ABSTRACT IIIABSTRACTThe modern university disciplines installation is more and more science, a lot of domestic universities begin to develop toward internationalization
4、, adopt the administrative system of the credit system. But is it adopt advanced mode this to want, should first face it is whom student base on at the course of selecting that arrange this problem of how to produce of the school timetable. In past teaching management, a lot of universities can only
5、 produce through artificial way. Following the constant enlargement of the discipline range, discipline subject of all institute department is getting more and more too, make educational administration of the school arrange personnel dazzledly in huge period, teacher, classroom information, it is un
6、able to accomplish the task of arranging the lesson fast, high-efficient. It is developed in order to solve this problem that intelligence arranges the lesson system. It is a kind of revolutionary impact to old arranging the methods of the lesson. It last lesson intelligence the systems there is eff
7、iciency, flexibility, can such characteristics as re-utilizing, etc. It can light, reasonable settlement university arrange the problem of the lesson.Keywords: Arrange a lesson of algorithms; Arrange the lesson system; Intelligence; the school timetable is adjusted; JSP;xx 论文 目录 IV目录前言 .I摘要 .IIABSTR
8、ACT.III第一章 绪论 .11.1 项目背景 .11.2 本文所作工作 .1第二章 相关技术介绍 .32.1 JSP 简介 .32.1.1 JSP 开发背景及发展趋势 .32.2.2 JSP 编程的特点及优势 .32.2 JDBC 简介 .62.2.1 JDBC 概述 .72.2.2 JDBC 的设计目标 .72.2.3 主要的 JDBC 类 .92.2.4 排课系统调度模块所用的 JDBC API .102.3 MVC 模式与 WebWork 框架简介 .112.3.1 MVC 模式构建思想 .112.3.2 WebWork 框架 .12第三章 需求分析 .143.1 排课系统使用现状
9、.143.2 本系统的主要作用 .143.3 系统的开发前瞻 .15第四章 总体设计 .164.1 系统功能模块划分 .164.1.1 系统管理与维护 .164.1.2 排课算法设计与实现 .164.1.3 课表查询与打印 .164.1.4 课表调整与调度 .17xx 论文 目录 V4.2 系统数据库设计 .174.2.1 整体实体关系图 .174.2.2 课表调度模块主要数据表 .184.2.3 数据流 .194.2.4 数据字典 .20第五章 课表调整与调度模块的详细设计与实现 .215.1 课表调整与调度模块首页 .215.2 时间和教室都调换功能设计 .215.2.1 查询调换功能设计
10、 .225.2.2 直接调换功能设计 .275.3 其他功能设计 .305.3.1 教室调换功能设计 .305.3.2 时间调换功能设计 .325.4 MVC 与 WebWork 在排课系统中的应用 .335.4.1 WebWork 的搭建过程 .345.4.2 WebWork 在本系统中的例子 .35第六章 系统运行情况 .38第七章 尚待解决的问题 .40致谢 .41参考文献 .42附录 关于向软件业投资的方向的一些看法 .431 操作系统 .432 开发工具 .443 应用软件 .44Appendix: Some Views in the Direction Making the Inv
11、estment of the Software Industry.471.Operating System .472 Developing Instruments .483 Application Software .49理学学士学位论文 第一章 绪论 1第一章 绪论1.1 项目背景排课是每一个学校必须面对的问题,以前各学校的排课都是通过手工排出来了,不仅效率低,而且可变更性差,通常是经过很多次调整后确定的,给教学工作带来极大的不便。在计算机被广泛应用的今天,我们要充分利用计算机的优势,不仅大大提高了工作效率,而且提高了排课的可重用性。使排课不再成为各学校的难题。尤其对于复杂的信息管理,计算机
12、能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了利用计算机进行排课而设计的。现今,有很多的学校尚未使用计算机进行排课。根据调查得知,他们以前对排课的主要方式是通过手工处理,首先统计教师、班级人数、上课时间,首先进行第一次排课,得出一个初稿,再在这个基础之上进行多次修改,直到满意为止。这样看来,缺乏系统,规范的方法。尽管有的学校有计算机,但是尚未用于排课,没有发挥它的效率,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个排课系统,使排课工
13、作规范化,系统化,程序化,避免排课的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改排课情况。1.2 本文所作工作第一章是绪论部分,分析了智能排课系统开发的背景,正确定位本系统。第二章介绍了开发本系统的相关技术,主要有:JSP、JDBC、MVC 模式和 Web Work。为系统的开发提供了技术支持。第三章是排课系统的需求分析,简单介绍了本系统的作用、使用现状、和开发预想。第四章根据第三章的需求分析结果进行了总体设计规划。这一章将详细介绍本系统的功能和设计细节。包括系统功能模块设计和数据库设计。第五章着重介绍了调整与调度模块的详细开发过程。这一章是本文的重点。第六章对系统介绍
14、了运行平台级平台搭建过程。本系统是在 JSP+SQL Server 2000理学学士学位论文 第一章 绪论 2的基础上开发的。第七章分析了系统现在存在或将来可能出现的问题,为系统的茁壮成长定下调子。理学学士学位论文 第二章 相关技术介绍3第二章 相关技术介绍2.1 JSP简介本系统的开发语言为 JSP,作为一门随同 Java 发展起来的技术,JSP 有着它独特魅力,成为广大系统、网络开发者的最爱。2.1.1 JSP开发背景及发展趋势就目前的现状和发展趋势来看,Internet 已经全面深入的渗入人们的日常生活中,并且人们对于它的这种依赖只会加强,而不会减弱。使用网络对很多人来说已经不再是一个新
15、事物,电子商务、信息查询、交友聊天等诸多实际需求的出现,是人们早已不再满足于 Web 技术发展初期的由文本、图形、和超链接组成的静态信息的发布与交流,为了扩展它的功能,我们需要将 Web 技术和数据库连接,是用户得到更多的信息和有用数据。人们希望网络编程语言简洁、易懂、功能强大,更希望 Web 技术能做到和操作系统无关,使开发出来的产品可重用性和可扩展性得到更大的发挥。在这种大背景下,JSP 应运而生了,它很好的解决了上述问题,因此,JSP 与 ASP、PHP 共同成为当今 Web 编程的三大主流技术,但 JSP 在网络安全性、高效性等方面比其它两种做得更好,可以说 JSP 必将取代其他两种技
16、术。2.2.2 JSP编程的特点及优势JSP 是英文 Java Server Pages 的缩写,它是 Sun 公司开发的一种新型动态网页编程技术。JSP 源代码能直接插入到 HTML 中,只需要在代码前后加上作为标志就行了,由于 JSP 技术是从 Java 编程语言中的 Servlet 技术扩展而来,因此它成功的实现了动态页面和静态页面的分离以及程序代码与硬件平台的无关性。JSP 为创建显示动态生成内容的 Web 页面提供了一个简捷而快速的方法。 JSP 技术的设计目的是使得构造基于 Web 的应用程序更加容易和快捷,而这些应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同
17、工作。 JSP 规范是 Web 服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页 HTML 文件 (*htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 标记(tag),就构成了 JSP 网页( *.JSP)。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序片段,然后将执行结果以 HTML 格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,理学学士学位论文 第二章 相
18、关技术介绍4可以实现无 Plugin,无 ActiveX,无 Java Applet,甚至无 Frame。 JSP 技术在多个方面加速了动态 Web 页面的开发:2.2.1.1 内容的生成和显示进行分离使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面。使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格) 。生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和 Beans 中,那么其他人,如 Web 管理
19、人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器端,JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问 JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件) ,并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 HTML 的 Web 浏览器的完全可用性。2.2.2.2 强调可重用的组件绝大多数 JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享
20、和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。2.2.3.3 采用标识简化页面开发Web 页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page 技术封装了许多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。标准的 JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP 技术是可以扩展的。今后,第三
21、方开发人员和其他人员可以为常用功能创建自己的理学学士学位论文 第二章 相关技术介绍5标识库。这使得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用 Java 技术家族的一部分,以及 Java2(企业版体系结构)的一个组成部分,JSP 技术能够支持高度复杂的基于 Web 的应用。 由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译成为 Java Servlet, JSP 页面就具有 Java 技术的所有好
22、处,包括健壮的存储管理和安全性。作为 Java 平台的一部分, JSP 拥有 Java 编程语言“一次编写,各处运行“的特点。随着越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与 Java 2 平台,企业版(J2EE)和 Enterprise JavaBean 技术整合时,JSP 页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于 Web 的应用是必需的。2.2.4.4 技术分析 Microsoft 公司的 ASP 技术也是动态网页开发技术。JSP 和 ASP 从形式上非常相似,ASP 程序员一眼就能认出以
23、及。但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:1、JSP 的效率和安全性更高ASP 以源码形式存放,以解释方式运行,每次 ASP 网页调用都需要对源码进行解释,运行效率不高。另外,IIS 的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP 开发的网站,ASP 程序全部被人下载了去。JSP 在执行以前先被编译成字节码 (byte code),字节码由 Java 虚拟机(Java Virtual Machine)解释执行,比源码解释的效率高;服务器上还有字节码的 Cache 机制,能提高字节码的访问效率。第一次调用 JSP网页可能稍慢,因为它被编译成 Cache,以后就快得多了。同时,JSP 源程序不大可能被下载,特别是 JavaBean 程序完全可以放到不对外的目录中。2、JSP 的组件 (Component) 方式更方便ASP 通过 COM 来扩充复杂的功能,如文件上载、发送 email 以及将业务处理或者复杂计算分离出来成为独立可重复利用的模块。JSP 通过 JavaBean 实现了同样的功能扩充。在开发方面,COM 的开发远比 JavaBean 复杂和繁琐,学会 ASP 不难,但学会开