jsp高校智能排课系统.docx
- 文档编号:7382483
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:15
- 大小:84.84KB
jsp高校智能排课系统.docx
《jsp高校智能排课系统.docx》由会员分享,可在线阅读,更多相关《jsp高校智能排课系统.docx(15页珍藏版)》请在冰豆网上搜索。
jsp高校智能排课系统
前言
随着我国科学技术的进步和综合国力的增强,计算机在我们学习生活中有着越来越多的应用,我们对计算机的依赖也越来越强烈。
可以说,离开了计算机我们的日常生活都不能得到保证。
然而,在计算机如此普及的今天,有一些领域却还没有广泛应用这个强大的工具,比如说学校的排课。
为此,我们开发了这个高校智能排课系统,旨在能为学校解决一点实际问题,同时积累一点开发经验,为以后的功能完善打下一定的基础。
本系统一共由四个人完成,对于几个即将毕业的大学生。
开发经验不足是最大的问题。
在开发过程中我们本着积极的学习精神,遇到问题迎头而上,解决问题后又倍感欣慰。
同组的几位同学有着较强的团队合作精神,相互之间讨论、解决问题的合作精神更值得称赞。
指导老师吴志诚积极负责,引导和监督我们的开发过程。
这几个月的系统开发时间里,我们学到了很多。
我们能在以后的工作学习做了一个好的开头。
并能将这种不怕困难的精神坚持到底。
摘要
现代大学的学科设置越来越科学,大学的学习方式也在不断的更新,许多国内的大学开始向国际化方向发展,采用学分制的管理系统。
然而,要采用这样一种先进的模式,首先要面对就是学生选课时所依据的排课表该如何生成的问题。
在以往的教学管理中,许多高校只能通过人工的方式生成。
伴随着学科范围的不断扩大,各个院系的学科科目也越来越多,庞大的课时、教师、教室信息令学校的教务安排人员眼花缭乱,无法迅速、高效地完成排课任务。
智能排课系统就是为了解决这一问题而开发的。
它对旧的排课方式方法是一种革命性的冲击。
智能排课系统具有高效性、灵活性、可重复利用性等特点。
它可以轻松、合理的解决了高校的排课问题。
关键词:
排课算法;排课系统;智能;课表调整;JSP;
ABSTRACT
Themodernuniversitydiscipline’sinstallationismoreandmorescience,alotofdomesticuniversitiesbegintodeveloptowardinternationalization,adopttheadministrativesystemofthecreditsystem.Butisitadoptadvancedmodethistowant,shouldfirstfaceitiswhomstudentbaseonatthecourseofselectingthatarrangethisproblemofhowtoproduceoftheschooltimetable.Inpastteachingmanagement,alotofuniversitiescanonlyproducethroughartificialway.Followingtheconstantenlargementofthedisciplinerange,disciplinesubjectofallinstitutedepartmentisgettingmoreandmoretoo,makeeducationaladministrationoftheschoolarrangepersonneldazzledlyinhugeperiod,teacher,classroominformation,itisunabletoaccomplishthetaskofarrangingthelessonfast,high-efficient.Itisdevelopedinordertosolvethisproblemthatintelligencearrangesthelessonsystem.Itisakindofrevolutionaryimpacttooldarrangingthemethodsofthelesson.Itlastlessonintelligencethesystemsthereisefficiency,flexibility,cansuchcharacteristicsasre-utilizing,etc.Itcanlight,reasonablesettlementuniversityarrangetheproblemofthelesson.
Keywords:
Arrangealessonofalgorithms;Arrangethelessonsystem;Intelligence;theschooltimetableisadjusted;JSP;
目录
前言I
摘要II
ABSTRACTIII
第一章绪论1
1.1 项目背景1
1.2 本文所作工作1
第二章相关技术介绍3
2.1JSP简介3
2.1.1JSP开发背景及发展趋势3
2.2.2JSP编程的特点及优势3
2.2JDBC简介6
2.2.1 JDBC概述7
2.2.2 JDBC的设计目标7
2.2.3 主要的JDBC类9
2.2.4 排课系统调度模块所用的JDBCAPI10
2.3MVC模式与WebWork框架简介11
2.3.1MVC模式构建思想11
2.3.2WebWork框架12
第三章需求分析14
3.1排课系统使用现状14
3.2本系统的主要作用14
3.3系统的开发前瞻15
第四章总体设计16
4.1 系统功能模块划分16
4.1.1系统管理与维护16
4.1.2排课算法设计与实现16
4.1.3课表查询与打印16
4.1.4课表调整与调度17
4.2 系统数据库设计17
4.2.1整体实体关系图17
4.2.2课表调度模块主要数据表18
4.2.3数据流19
4.2.4数据字典20
第五章课表调整与调度模块的详细设计与实现21
5.1课表调整与调度模块首页21
5.2时间和教室都调换功能设计21
5.2.1查询调换功能设计22
5.2.2直接调换功能设计27
5.3其他功能设计30
5.3.1 教室调换功能设计30
5.3.2 时间调换功能设计32
5.4MVC与WebWork在排课系统中的应用33
5.4.1WebWork的搭建过程34
5.4.2WebWork在本系统中的例子35
第六章系统运行情况38
第七章尚待解决的问题40
致谢41
参考文献42
附录关于向软件业投资的方向的一些看法43
1操作系统43
2开发工具44
3应用软件44
Appendix:
SomeViewsintheDirectionMakingtheInvestmentoftheSoftwareIndustry47
1.OperatingSystem47
2DevelopingInstruments48
3ApplicationSoftware49
第一章绪论
1.1 项目背景
排课是每一个学校必须面对的问题,以前各学校的排课都是通过手工排出来了,不仅效率低,而且可变更性差,通常是经过很多次调整后确定的,给教学工作带来极大的不便。
在计算机被广泛应用的今天,我们要充分利用计算机的优势,不仅大大提高了工作效率,而且提高了排课的可重用性。
使排课不再成为各学校的难题。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了利用计算机进行排课而设计的。
现今,有很多的学校尚未使用计算机进行排课。
根据调查得知,他们以前对排课的主要方式是通过手工处理,首先统计教师、班级人数、上课时间,首先进行第一次排课,得出一个初稿,再在这个基础之上进行多次修改,直到满意为止。
这样看来,缺乏系统,规范的方法。
尽管有的学校有计算机,但是尚未用于排课,没有发挥它的效率,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
基于这此问题,我认为有必要建立一个排课系统,使排课工作规范化,系统化,程序化,避免排课的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改排课情况。
1.2 本文所作工作
第一章是绪论部分,分析了智能排课系统开发的背景,正确定位本系统。
第二章介绍了开发本系统的相关技术,主要有:
JSP、JDBC、MVC模式和WebWork。
为系统的开发提供了技术支持。
第三章是排课系统的需求分析,简单介绍了本系统的作用、使用现状、和开发预想。
第四章根据第三章的需求分析结果进行了总体设计规划。
这一章将详细介绍本系统的功能和设计细节。
包括系统功能模块设计和数据库设计。
第五章着重介绍了调整与调度模块的详细开发过程。
这一章是本文的重点。
第六章对系统介绍了运行平台级平台搭建过程。
本系统是在JSP+SQLServer2000的基础上开发的。
第七章分析了系统现在存在或将来可能出现的问题,为系统的茁壮成长定下调子。
第二章相关技术介绍
2.1JSP简介
本系统的开发语言为JSP,作为一门随同Java发展起来的技术,JSP有着它独特魅力,成为广大系统、网络开发者的最爱。
2.1.1JSP开发背景及发展趋势
就目前的现状和发展趋势来看,Internet已经全面深入的渗入人们的日常生活中,并且人们对于它的这种依赖只会加强,而不会减弱。
使用网络对很多人来说已经不再是一个新事物,电子商务、信息查询、交友聊天等诸多实际需求的出现,是人们早已不再满足于Web技术发展初期的由文本、图形、和超链接组成的静态信息的发布与交流,为了扩展它的功能,我们需要将Web技术和数据库连接,是用户得到更多的信息和有用数据。
人们希望网络编程语言简洁、易懂、功能强大,更希望Web技术能做到和操作系统无关,使开发出来的产品可重用性和可扩展性得到更大的发挥。
在这种大背景下,JSP应运而生了,它很好的解决了上述问题,因此,JSP与ASP、PHP共同成为当今Web编程的三大主流技术,但JSP在网络安全性、高效性等方面比其它两种做得更好,可以说JSP必将取代其他两种技术。
2.2.2JSP编程的特点及优势
JSP是英文JavaServerPages的缩写,它是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,无JavaApplet,甚至无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或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
2.2.3.3采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。
作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言"一次编写,各处运行"的特点。
随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。
当与Java2平台,企业版(J2EE)和EnterpriseJavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。
2.2.4.4技术分析
Microsoft公司的ASP技术也是动态网页开发技术。
JSP和ASP从形式上非常相似,ASP程序员一眼就能认出<%%>以及<%=%>。
但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:
1、JSP的效率和安全性更高
ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。
另外,IIS的漏洞曾使得许多网站源程序大曝光,包括笔者以前用ASP开发的网站,ASP程序全部被人下载了去。
JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;服务器上还有字节码的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服务器提出请求。
2、服务器得到客户端的请求后,由Web服务器上的JSP引擎把JSP代码、组件、Java脚本以及HTML代码,转换为Servlet代码。
3、JSP引擎服务器端的Java编译器对Servlet代码进行编译
JDK执行编译文件,并向客户端发送HTML文件
2.2JDBC简介
JDBC是执行SQL语句的JavaAPI。
JDBC即“JavaDatabaseConnectivity”(Java数据库连接),它由一组用Java语言编写的类与接口组成,已成为一种数据库连接的标准。
2.2.1 JDBC概述
计算机环境的分布式意味着在分布式环境中的每一个节点都是一个小的计算机单元。
客户机/服务器(C/S)技术是分布式的一个例子。
在它的核心层上,客户机是需求者,服务器是给予者。
但并不是说,客户机就不能够创建新的信息发送给服务器;大多数情况下,很多的客户机连接到一个服务器上。
这个服务器是一个典型的包含所有信息的资源库(因此有了数据库这个术语)。
C/S可以根据许多计算的要求给出各种各样的方案。
Java完美地集成了C/S模式。
网络可能代表着一个最好的例子,从某种角度讲它就是一个分布式C/S环境。
另外,Java正努力改进以便更容易开发C/S程序。
JDBC是Java新增加的内容之一,它几乎使得任何种类的C/S实现更容易。
JDBC是一套API集合,该集合设置了许多允许Java程序连接数据库的框架。
JDBC操作在某些方面看起来和ODBC一样。
区别是ODBC不能在Java程序中直接实现,原因是ODBC是用C语言写的。
然而JDBC提供了JDBC/ODBC之间的桥梁。
使用JDBC可以很容易地把SQL语句传送到任何关系数据库中。
JDBC的基本功能包括建立与数据库的连接,发送SQL语句和处理结果。
JDBC提供了连接数据库的几种方法:
·与数据源直接通信
使用JDBC和数据库已制定的协议时,可使用一个驱动程序直接与数据源通信。
既可以建立自己的驱动程序,也可找一个公用的。
·通过JDBC驱动程序的通信
可连接到一个高标准的驱动程序上,该驱动程序依次与另一个可与数据源通信的专用驱动程序通信。
·与ODBC数据源通信
一个公开可用的专用驱动程序是JDBC/ODBC桥梁驱动程序,它是Javasoft公司开发的,允许应用程序与ODBC数据源相连。
2.2.2 JDBC的设计目标
JDBC设想为建立数据库连接从Java内部填补一个调用级SQLAPI的空白,因此其核心在于执行SQL语句,然后接收其结果。
JDBCAPI由多个抽象的Java接口组成(在Java中,一个接口如同一个类),以满足标准的数据库查询需求,如连接到特定的数据库,执行SQL语句以及处理查询结果。
以图形表示如下(图2-1):
图2-1JDBC连接数据库方式
两个模型说明了分布式计算环境的分类,在其中可以使用JDBC。
第一种情况是有一个大的数据库并希望有直接连接到该数据库的程序。
这是一个两层模型,其中,有一个下载的程序,由其直接连接返回到数据库,处理查询并为用户提供结果。
当在一个安全的环境中运行时,该模型往往是恰当的,例如一个内部的Intranet,在其中允许Java程序直接与数据库通信。
当数据库是只读时,该模型也很适宜。
作为选择,三层模型有一个以Java编写的应用服务器作为访问数据库均媒介。
在这种情况下,可以下载一个与Java应用服务器通信的Java程序,Java程序又转而与相关数据库通信。
当需要额外的约束条件、额外的语义以及不容易直接向数据库表达的数据库访问时,该模型尤为适宜。
JDBC的一个主要目标是既支持两层模型也支持三层模型。
第三章需求分析
自1999年以来,各大高校都在扩招,随着学生的增加,各高校的教师、教室也急剧增加,有些学校甚至新增校区。
因此,高校的课程,教师,教室的安排是比较复杂的,有些老师所带的课程有多门,可能会跨越新老校区。
有些院系在新老校区都有班级,更加增加了排课的困难。
如果采用人工排课,这无疑是一项比较繁重的工作,人工排课有很多问题存在,比如说排课随机性比较大,没有一个严格的规定。
人工排课会消耗大量的工作时间,排课过程也是一个不断修改、尝试的过程,有些排课不太合理的地方往往要等到上课时才能发现,给老师、学生带来了极大的不便,这就降低了教学效率。
3.1排课系统使用现状
目前有些学校也使用计算机排课,在这些学校中,以小学为多,小学的排课比较简单,容易实现。
中学的相对来说比较复杂,但也有比较多的学校使用计算机排课,但并未在一个比较大的区域内形成一个统一的使用规范。
在各高校中,情况就更为复杂了,首先各高校的情况不尽相同,比如校区、院系、教学楼、教师等都各有差别。
因此,要在目前还没有公司或高校能开发出一个软件能排出所有高校的课程,即使一部分高校在使用排课系统,可以说它还不是智能的,或只适合本校或一部分学校。
智能二字只是一个强加上去的。
再从已开发出来的排课系统来看,绝大多数是采用C/S结构,即客户端/服务器结构。
这种模式缺点就是灵活性差、升级困难、维护工作量大,当客户访问量增加时,会极大的降低访问速度。
而本系统采用的是B/S结构,这种结构优点在于:
(1)无须开发客户端软件,维护和升级方便;
(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。
所以,随着Web技术发展的日益成熟,排课系统的C/S结构必将被B/S结构代替。
3.2本系统的主要作用
我们学校的排课都是使用半人工半计算机的方式排出来的,都是经过反复的修改、尝试。
因此效率不是很高。
开发并使用排课系统,是我校要解决的当务之急。
本系统正是顺应了学校的这一要求,严格参照本校的具体情况而开发的。
所以本系统的功能模块的设计、代码的开发都是紧密结合校情的。
改善本校的排课现状、提高排课效率是本系统的要求之一。
如果系统在本校运行成功,以后可以扩充其功能,使之能适应一部分高校的排课情况。
第四章总体设计
4.1 系统功能模块划分
高校智能排课系统在功能上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 高校 智能 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)