> 文章列表 > jsp高校智能排课系统设计(源代码+论文)

jsp高校智能排课系统设计(源代码+论文)

jsp高校智能排课系统设计(源代码+论文)

现代大学的学科设置越来越科学,大学的学习方式也在不断的更新,许多国内的大学开始向国际化方向发展,采用学分制的管理系统。然而,要采用这样一种先进的模式,首先要面对就是学生选课时所依据的排课表该如何生成的问题。在以往的教学管理中,许多高校只能通过人工的方式生成。伴随着学科范围的不断扩大,各个院系的学科科目也越来越多,庞大的课时、教师、教室信息令学校的教务安排人员眼花缭乱,无法迅速、高效地完成排课任务。智能排课系统就是为了解决这一问题而开发的。它对旧的排课方式方法是一种革命性的冲击。智能排课系统具有高效性、灵活性、可重复利用性等特点。它可以轻松、合理的解决了高校的排课问题。

第一章 绪论

1.1  项目背景

排课是每一个学校必须面对的问题,以前各学校的排课都是通过手工排出来了,不仅效率低,而且可变更性差,通常是经过很多次调整后确定的,给教学工作带来极大的不便。在计算机被广泛应用的今天,我们要充分利用计算机的优势,不仅大大提高了工作效率,而且提高了排课的可重用性。使排课不再成为各学校的难题。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了利用计算机进行排课而设计的。

现今,有很多的学校尚未使用计算机进行排课。根据调查得知,他们以前对排课的主要方式是通过手工处理,首先统计教师、班级人数、上课时间,首先进行第一次排课,得出一个初稿,再在这个基础之上进行多次修改,直到满意为止。这样看来,缺乏系统,规范的方法。尽管有的学校有计算机,但是尚未用于排课,没有发挥它的效率,资源闲置比较突出,这就是管理信息系统的开发的基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。基于这此问题,我认为有必要建立一个排课系统,使排课工作规范化,系统化,程序化,避免排课的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改排课情况。

1.2  本文所作工作

第一章是绪论部分,分析了智能排课系统开发的背景,正确定位本系统。

第二章介绍了开发本系统的相关技术,主要有:JSP、JDBC、MVC模式和Web Work。为系统的开发提供了技术支持。

第三章是排课系统的需求分析,简单介绍了本系统的作用、使用现状、和开发预想。

第四章根据第三章的需求分析结果进行了总体设计规划。这一章将详细介绍本系统的功能和设计细节。包括系统功能模块设计和数据库设计。

第五章着重介绍了调整与调度模块的详细开发过程。这一章是本文的重点。

第六章对系统介绍了运行平台级平台搭建过程。本系统是在JSP+SQL Server 2000的基础上开发的。

第七章分析了系统现在存在或将来可能出现的问题,为系统的茁壮成长定下调子。

第二章 相关技术介绍

2.1  JSP简介

    本系统的开发语言为JSP,作为一门随同Java发展起来的技术,JSP有着它独特魅力,成为广大系统、网络开发者的最爱。

2.1.1  JSP开发背景及发展趋势

就目前的现状和发展趋势来看,Internet已经全面深入的渗入人们的日常生活中,并且人们对于它的这种依赖只会加强,而不会减弱。使用网络对很多人来说已经不再是一个新事物,电子商务、信息查询、交友聊天等诸多实际需求的出现,是人们早已不再满足于Web 技术发展初期的由文本、图形、和超链接组成的静态信息的发布与交流,为了扩展它的功能,我们需要将Web技术和数据库连接,是用户得到更多的信息和有用数据。人们希望网络编程语言简洁、易懂、功能强大,更希望Web技术能做到和操作系统无关,使开发出来的产品可重用性和可扩展性得到更大的发挥。在这种大背景下,JSP应运而生了,它很好的解决了上述问题,因此,JSP与ASP、PHP共同成为当今Web编程的三大主流技术,但JSP在网络安全性、高效性等方面比其它两种做得更好,可以说JSP必将取代其他两种技术。

2.2.2  JSP编程的特点及优势

JSP是英文Java Server Pages的缩写,它是Sun公司开发的一种新型动态网页编程技术。JSP源代码能直接插入到HTML中,只需要在代码前后加上<%…%>作为标志就行了,由于JSP技术是从Java编程语言中的Servlet技术扩展而来,因此它成功的实现了动态页面和静态页面的分离以及程序代码与硬件平台的无关性。

JSP为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。 JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.JSP)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。

JSP技术在多个方面加速了动态Web页面的开发:

2.2.1.1  内容的生成和显示进行分离

  使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2.2.2.2  强调可重用的组件

绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者Enterprise JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

2.2.3.3  采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。

由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言"一次编写,各处运行"的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java 2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。

2.2.4.4  技术分析

Microsoft 公司的 ASP 技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出<% %>以及<%= %>。但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:

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不难,但学会开发COM可不简单。而JavaBean就简单多了,从本文上述示例中可以看出开发JavaBean很方便。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户权限控制、email自动回复等等。

3、JSP的适应平台更广

ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。

JSP的具体执行过程如下:

1、由客户端的浏览器,以超文本形式通过表单向Web服务器提出请求。

未完待续...