基于Java Web的高校排课系统的设计与实现.docx
《基于Java Web的高校排课系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java Web的高校排课系统的设计与实现.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要基于 Java Web 排课系统的设计与实现摘要排课问题是一个NP完全问题,是一个多约束的、多目标的组合优化问题。而传统的手工排课的方式,不仅繁琐、极易出错,而且不能全面地考虑对教学资源的合理利用。因此,设计一个能够根据约束条件,自动安排课程的智能排课系统, 是现在高校教务管理的迫切需求。本文通过对排课系统的分析,阐述了基于Java Web平台下的排课系统的Web 解决方案。本系统采用了 B/S 结构,采用了基于 JSP Model2 的 MVC 设计模式, 大大简化了系统开发的困难。本文选用了遗传算法来解决排课问题,阐述了遗传算法的基本原理与算法流程,以及在排课问题中的具体实现。关键词:
2、排课系统;MVC;JSP Model2 ;Java WebIIAbstractCourse Arrangement System Design and Implementation Based on WebAbstractCourse timetabling problem is a NP complete problem, and is a combinatorial optimization problem with a variety of constraints and a multiobjective optimization. the traditional manual meth
3、od , is not only tedious and error-prone, and can not fully take the reasonable use of the teaching resources into consideration. Therefore, designing a course arrangement system that can arrange the course arrangement automatically according to the constraints is the urgent demand of university edu
4、cational administration management now.Through the analysis of the curriculum arrangement system, this paper expounds the web solutions of curriculum arrangement system based on Java Web platform . This system adopts B/S structure, and using the MVC design pattern based on JSP Model2,greatly simplif
5、ying the difficulties of system development. This paper use genetic algorithm to solve the course timetabling problem, and expounds the basic principle of genetic algorithm , the algorithm flow, and the concrete implementationin the problem.Keyword: Course Arrangement System; MVC; JSP Model2; Java W
6、eb目录目录摘要IAbstractII第一章 绪论11.1 课题背景与意义11.2 国内外发展现状11.3 本文的研究目标2第二章 相关开发技术32.1 网络结构32.2 JSP 技术32.3 MVC 模式介绍52.4 本章小结6第三章 排课系统分析与设计73.1 排课系统需求分析73.2 排课系统功能架构分析93.3 数据库设计12第四章 排课系统算法设计184.1 遗传算法介绍184.2 排课系统算法设计194. 3 本章小结26第五章 排课系统实现与测试275.1 登录模块实现与测试275.2 基本信息管理模块实现与测试285.3 手动排课模块实现与测试295.4 自动排课模块实现与测试
7、305.5 课表查询模块实现实现与测试305.6 本章小结31第六章 总结与展望326.1 总结326.2 展望32参考文献33致谢35III绪论第一章 绪论1.1 课题背景与意义随着我国在校大学生人数快速增长,教学资源相对紧缺,合理安排课程变得尤为重要。这不仅是保证教学质量的关键,也是充分利用教学资源的关键。在排课问题中,不仅需要消除排课过程中产生的各种冲突,如教室冲突、教师冲突等,还要考虑到单双周课时、合班课、分班课、体育课与选修课等众多因素。然而,目前国内市场很多的排课软件都是通用的,并不能满足高校个性化教学的需求。所以如何设计一个即高效又人性化的智能排课系统是一项很有意义的研究。为了适
8、应当前高校教务管理逐步趋向高效化、快捷化、方便化、人性化的管理风格,为了方便用户管理信息,查询信息,以及信息的及时反馈与沟通,本文采用了基于 Web 的应用体系结构。1.2 国内外发展现状排课问题隶属于运筹学范畴。由于排课问题涉及到教室、教师和班级等教学资源在时间片上的组合优化,排课问题被划为了时间表问题(Time Table Problems, 即 TTS)。对于排课问题首次正式地描述,是 1963 年 Gotlieb 在他所发表的The Construction of Class-Teacher Time-Tables中,他首次提出了排课问题的数学模型,但并未找出一个有效的算法。1976
9、年,S Even 用数学方法证明了排课问题是一个 NP 问题。这也就意味着该问题是找不到最优解的,只有相对最优近似解。随着对排课问题研究的不断深入,一些学者提出了许多解决该问题的算法。传统的高校排课算法有:贪婪算法、专家系统法、图论方法,这些方法只能针对个别的实际问题,没有通用性,而且关联规则很难获取,求解结果不理想 24。后来,一些学者们对利用人工智能技术来解决排课问题进行了大量的研究,提出了一些解决方法,如遗传算法、蚁群算法、模拟退火算法等等。这些算法是目前在解决排课问题时首先考虑的方法,但是这些算法也存在着一些缺陷,例如收敛速度慢、容易陷入局部最优解。我国对于排课问题的研究相对较晚。相对
10、较早的排课问题的研究成果是, 1984 年林漳希和林尧瑞发表的人工智能技术在课表编排中的应用,该成果对后续研究提供了很大的帮助。目前国内的排课系统已有很多,具有代表性的计算排课系统有南京工学院的 UTSS 系统、大连理工大学的智能教学组织管理及课程调度系统、清华大学的 TISER 系统、浙江大学的正方现代教学管理信息系统等20。21.3 本文的研究目标本文主要的研究目标是:1. 剖析排课问题,研究排课时需要考虑的问题,并提出解决方法。2. 利用遗传算法解决排课问题。3. 了解 Web 开发过程,掌握相关理论与技术。相关开发技术第二章 相关开发技术2.1 网络结构本系统采用了B/S结构,以下是对
11、B/S结构的简介。2.1.1 B/S 结构B/S结构,即Browser/Server(浏览器/服务器) 结构,是基于Web的发展而形成的。B/S结构分为三个部分:客户端、Web服务器端、数据服务器。在开发过程中,现在把B/S模式分为三个层次:表示层、业务逻辑层、和数据访问层,分别对应B/S结构中的三个部分(如图2.1所示)。客户端表示层:用于处理用户输入,以及请求处理结果的输出。WEB 服务器业务逻辑层:执行业务逻辑,向数据库发送请求。数据服务器数据存储层:运行SQL 语句。图 2.1 B/S 结构简图在 B/S 结构中,用户通过在浏览器输入 URL 地址,浏览器通过域名解析到主机 IP 地址
12、,并向Web 服务器发送 HTTP 请求。Web 服务器接收请求,连接数据服务器,并发送数据处理请求,数据服务器处理请求并将结果返回给 Web 服务器。Web 服务器接收数据处理结果,做出 HTTP 响应,浏览器接受并显示响应结果。2.1.2 B/S 结构的优缺点优点:1. 对客户端硬件要求低。2. 易于维护与升级。3. 软件重用性好。缺点:1. 响应速度相对较慢。2. 安全性相对弱。3. 服务器负荷重。2.2 JSP 技术6目前流行的三种动态页面技术有ASP(Active Server Pages),JSP(Java Server Pages),PHP(Hypertext Preproces
13、sor)等。本文采用JSP来开发排课系统。JSP是由SUN公司倡导、许多公司参与一起建立的一种动态网页编程技术标 准15。它基于Java技术,支持跨平台、跨Web服务器技术,拥有JavaBean与扩展标记库技术,是Servlet技术的扩展。早期的Java Web层体系结构中只有Servlet, Servlet接受用户提交的请求,做出相应的业务处理,然后生成HTML页面返回给 浏览器显示。这一系列的动作均是Servlet来做的。但是Servlet中不能像PHP、ASP 等一样嵌入HTML代码,所以利用Servlet来输出HTML非常困难。为了克服Servlet的这些弱点,Sun公司推出了JSP技
14、术。JSP包含很多技术, 包括JavaBean,自定义标签,EL表达式,JSTL标准标签类库等15。JSP页面的执行过程:Web 容器服务器端2.向服务器发送浏览请求1.输入 URL 地址3.调用某个JavaBean 组件4.JavaBean 返回的数据用户客户端浏览器7.显示 HTML6.返回 HTML页面做出响应JavaBean( 基 于Java 组件)5. 读取数据库或者文件DB在HTML文件中,加入JSP指令元素、JSP脚本、JSP动作元素,这样就构成了JSP网页。当用户请求JSP页面时,web服务器接受用户访问JSP页面的请求, 如果是第一次访问该JSP页面,web容器中的JSP引擎
15、将该页面转换为Java程序, 然后进行编译为.class文件。然后执行.class文件,web容器再将生成的响应页面返回给用户客户端浏览器显示。JSP页面页面访问过程如图2.2所示:JSP的优点:图2.2 JSP页面访问过程图1. 跨平台,一处编写随处运行;2. 实现了内容生成与显示的分离;3. 可连接大多数数据库,利用 JDBC 连接数据库;4. 可复用性好,支持可重用的基于组件的设计;5. 安全性好;6. 支持分布式处理;7. 适用于大型系统的开发; JSP的缺点: 1开发周期长;2开发成本高;2.3 MVC 模式介绍2.3.1 MVC 模式简介MVC设计模式是“Model-View-Co
16、ntroller”的缩写,即“模式一视图一控制器”。在MVC模式中,应用程序被划分成模型(Model)、视图(View)和控制器(Controller)三个组件14,如图2.3所示。各个组件的定义与作用如下:Model(模型):该组件是应用程序最核心的部分,包含了应用程序的业务数据和业务处理逻辑。View(视图):该组件代表用户看到并与之交互的界面。视图的功能就是向用户显示数据,向用户提供输入数据的接口。Controller(控制器):该组件用于处理用户的请求,对模型和视图进行匹配, 协同完成用户的请求。选择视图(控制器)接受用户请求 调用模型响应用户请求选择视图显示相应结果业务处理(视图)显
17、示模型状态 接受数据更新请求把用户输入数据传递给控制器用户请求状态查询通知更新数据(模型)代表应用程序状态响应状态查询 处理业务流程通知视图业务状态更调用事件2.3.2 MVC 模式的优点图 2.3 MVC 模式图1. 模型、视图、控制器三者相对独立,降低了层与层之间的依赖,便于维护。2. 模型与视图分离,提高了应用程序的重用性。3. 提高了应用程序开发的灵活性,只需在稍作改动,就可轻松地实现许多功能。2.3.3 MVC 模式的JSP Model2 实现请求控制层(Servlet)例示Web 浏览器DB模型层(JavaBean)响应视图层(JSP)选择视图在Java Web 开发中,通常把 S
18、ervlet+JSP+JavaBean 的模型称为Model2 模型, 这是一个遵循 MVC 模式的模型。其中,JSP 作为视图层,JavaBean 作为模型层, Servlet 作为控制层。JSP Model2 实现 MVC 模式的结构图如图 2.4 所示:图 2.4 MVC 的 JSP Model2 实现结构图JSP Model2 的工作流程:当用户在视图层发送请求,控制层Servlet 接受该请求,并调用模型层的业务逻辑中相应的方法,得到处理结果,再将结果放到某个域对象中,传递给 JSP 页面,由视图层显示给用户。2.4 本章小结本章主要介绍了本系统开发过程中用到的开发技术,介绍了本系统
19、的采用的服务器端脚本语言 JSP,并介绍了 MVC 设计模式以及 MVC 设计模式在 JSP Model2 中的实现。排课系统分析与设计第三章 排课系统分析与设计3.1 排课系统需求分析系统需求分析的基本任务是准确地回答“系统主要是做什么?”这个问题, 即清楚、准确、具体地描述信息系统必须具有的功能、性能、运行规格的等要求10。本排课系统的设计目的,主要就是减轻人工排课的劳动强度,并为学生、教师和管理人员提供便利,实现信息的及时发布和反馈,人性化地进行教务管理。本系统的用户共有 3 类,分别是管理员、学生和教师。对于管理员,登录后,可以实现根据教学计划导入课程,对学生、教师、教室、班级等基本信
20、息进行维护, 以及处理教师或者学生提交的调课申请或者建议。学生登录后,可以查询课表安排,及对个人信息的维护,提交意见或建议。教师登录后,可以查询课表安排, 提交调课申请,及对个人信息的维护。综上所述,本系统的主要功能有:1. 系统登入功能:对于不同的用户,登录后产生不同的用户界面;2. 基本信息管理:对教师、教室等基本数据信息的增、删、改、查操作3. 排课管理:根据教学计划以及约束条件自动排课;然后,进行手工调整课表安排并进行冲突检测;4. 课表查询显示:根据查询条件显示并打印相应课表安排;5. 系统用户管理:授权与撤销用户的权限,以及修改用户密码。6. 课表建议管理:可以提出课表建议,并且查
21、询、处理课表建议。3.1.1 排课系统数据流图数据流图(Data Flow Diagram,DFD)是描述软件系统结构中数据处理过程的一种有力的图形工具10。排课系统数据流图,如下所示:1. 顶层数据流图系统管理员输入基本信息排课系统打印课程表学生、教师图3.1 顶层数据流图9系统管理员维护基本信息自动排课课程表手工调整打印课程表学生、教师2. 第一层数据流图3. 第二层数据流图图3.2 第一层数据流图基本信息表课课程表程表表 课程课程表系统管理员事务维护基本事务信息自 动排课手 工调整产 生课表课程表学生、教师3.1.2 排课约束条件图 3.3 第二层数据流图排课问题就是根据约束条件,对教师
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Java Web的高校排课系统的设计与实现 基于 Java Web 高校 系统 设计 实现
限制150内