《本科毕业论文-基于Java Web的高校排课系统的设计与实现(终稿).docx》由会员分享,可在线阅读,更多相关《本科毕业论文-基于Java Web的高校排课系统的设计与实现(终稿).docx(59页珍藏版)》请在第一文库网上搜索。
1、密级:NANCHANG UNIVERSITY学士学位论文THESIS OF BACHELOR(20102014 年)题 目基于Java Web的高校排课系统的设计与实现学院:信息工程学院系 信管系专业班级:学生姓名:学号:指导教师:职称:起讫 日期: 20142162014530摘要基于Java Web排课系统的设计与实现摘要排课问题是一个NP完全问题,是一个多约束的、多目标的组合优化问题。而传统的手工排课的方式,不仅繁琐、极易出错,而且不能全面地考虑对教学资源的合理利用。因此,设计一个能够根据约束条件,自动安排课程的智能排课系统,是现在高校教务管理的迫切需求。本文通过对排课系统的分析,阐述了
2、基于Java Web平台下的排课系统的Web解决方案。本系统采用了 B/S结构,采用了基于JSPModel2的MVC设计模式,大大简化了系统开发的困难。本文选用了遗传算法来解决排课问题,阐述了遗传算法的基本原理与算法流程,以及在排课问题中的具体实现。关键词:排课系统;MVC; JSP Model2 ; Java WebAbstractCourse Arrangement System Design andImplementation Based on WebAbstractCourse timetabling problem is a NP complete problem, and is a
3、 combinatorialoptimization problem with a variety of constraints and a multiobjective optimization,the traditional manual method , is not only tedious and error-prone, and can not fullytake the reasonable use of the teaching resources into consideration. Therefore,designing a course arrangement syst
4、em that can arrange the course arrangementautomatically according to the constraints is the urgent demand of universityeducational administration management now.Through the analysis of the curriculum arrangement system, this paper expoundsthe web solutions of curriculum arrangement system based on J
5、ava Web platform .This system adopts B/S structure, and using the MVC design pattern based on JSPModel2,greatly simplifying the difficulties of system development. This paper usegenetic algorithm to solve the course timetabling problem, and expounds the basicprinciple of genetic algorithm , the algo
6、rithm flow, and the concrete implementationin the problem.Keyword: Course Arrangement System; MVC; JSP Model2; Java Web目录摘要AbstractII第一章绪论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 遗传算法介
7、绍184.2 排课系统算法设计194.3 本章小结26第五章排课系统实现与测试275.1 登录模块实现与测试275.2 基本信息管理模块实现与测试285.3 手动排课模块实现与测试295.4 自动排课模块实现与测试30305.5 课表查询模块实现实现与测试5.6 本章小结31第六章总结与展望32326.1 总结6.2 展望32参考文献33致谢35Hi绪论第一章绪论1.1 课题背景与意义随着我国在校大学生人数快速增长,教学资源相对紧缺,合理安排课程变得尤为重要。这不仅是保证教学质量的关键,也是充分利用教学资源的关键。在排课问题中,不仅需要消除排课过程中产生的各种冲突,如教室冲突、教师冲突等,还要
8、考虑到单双周课时、合班课、分班课、体育课与选修课等众多因素。然而,目前国内市场很多的排课软件都是通用的,并不能满足高校个性化教学的需求。所以如何设计一个即高效又人性化的智能排课系统是一项很有意义的研究。为了适应当前高校教务管理逐步趋向高效化、快捷化、方便化、人性化的管理风格,为了方便用户管理信息,查询信息,以及信息的及时反馈与沟通,本文采用了基于Web的应用体系结构。1.2 国内外发展现状排课问题隶属于运筹学范畴。由于排课问题涉及到教室、教师和班级等教学资源在时间片上的组合优化,排课问题被划为了时间表问题(Time Table Problems,即TTS)O对于排课问题首次正式地描述,是196
9、3年Gotlieb在他所发表的TheConstruction of Class-Teacher Time-Tables中,他首次提出了排课问题的数学模型,但并未找出一个有效的算法。1976年,S Even用数学方法证明了排课问题是一个NP问题。这也就意味着该问题是找不到最优解的,只有相对最优近似解。随着对排课问题研究的不断深入,一些学者提出了许多解决该问题的算法。传统的高校排课算法有:贪婪算法、专家系统法、图论方法,这些方法只能针对个别的实际问题,没有通用性,而且关联规则很难获取,求解结果不理想24 o后来,一些学者们对利用人工智能技术来解决排课问题进行了大量的研究,提出了一些解决方法,如遗传
10、算法、蚁群算法、模拟退火算法等等。这些算法是目前在解决排课问题时首先考虑的方法,但是这些算法也存在着一些缺陷,例如收敛速度慢、容易陷入局部最优解。我国对于排课问题的研究相对较晚。相对较早的排课问题的研究成果是,1984年林漳希和林尧瑞发表的人工智能技术在课表编排中的应用,该成果对后续研究提供了很大的帮助。目前国内的排课系统已有很多,具有代表性的计算排课系统有南京工学院的UTSS系统、大连理工大学的智能教学组织管理及课程调度系统、清华大学的TISER系统、浙江大学的正方现代教学管理信息系统等20 o1.3 本文的研究目标本文主要的研究目标是:1 .剖析排课问题,研究排课时需要考虑的问题,并提出解
11、决方法。2 .利用遗传算法解决排课问题。3 . 了解Web开发过程,掌握相关理论与技术。1相关开发技术第二章相关开发技术2.1 网络结构本系统采用了B/S结构,以下是对B/S结构的简介。2.1.1 B/S 结构表示层:用于处理用户输入,以及请求处理结果的输出。B/S结构,即Browser/Server(浏览器/服务器)结构,是基于Web的发展而形成的。B/S结构分为三个部分:客户端、Web服务器端、数据服务器。在开发过程中,现在把B/S模式分为三个层次:表示层、业务逻辑层、和数据访问层,分别对应B/S结构中的三个部分(如图2.1所示)。客户端 二WEB服务器业务逻辑层:执行业务逻辑,向数据库发
12、送请求。数据服务器数据存储层:运行SQL语句。图2.1B/S结构简图在B/S结构中,用户通过在浏览器输入URL地址,浏览器通过域名解析到主机IP地址,并向Web服务器发送HTTP请求。Web服务器接收请求,连接数据服务器,并发送数据处理请求,数据服务器处理请求并将结果返回给Web服务器。Web服务器接收数据处理结果,做出HTTP响应,浏览器接受并显示响应结果。2.1.2 B/S结构的优缺点优点:1 .对客户端硬件要求低。2 .易于维护与升级。3 .软件重用性好。缺点:1 .响应速度相对较慢。2 .安全性相对弱。3 .服务器负荷重。2.2 JSP技术目前流行的三种动态页面技术有ASP (Acti
13、ve Server Pages), JSP(Java ServerPages), PHP(Hypertext Preprocessor)等。本文采用JSP来开发排课系统。JSP是由SUN公司倡导、许多公司参与一起建立的一种动态网页编程技术标准|15。它基于Java技术,支持跨平台、跨Web服务器技术,拥有JavaBean与扩展标记库技术,是Servlet技术的扩展。早期的Java Web层体系结构中只有Servlet,Servlet接受用户提交的请求,做出相应的业务处理,然后生成HTML页面返回给浏览器显示。这一系列的动作均是Servlet来做的。但是Servlet中不能像PHP、ASP等一样
14、嵌入HTML代码,所以利用Servlet来输出HTML非常困难。为了克服Servlet的这些弱点,Sun公司推出了JSP技术。JSP包含很多技术,包括JavaBean,自定义标签,EL表达式,JSTL标准标签类库等。JSP页面的执行过程:在HTML文件中,加入JSP指令元素、JSP脚本、JSP动作元素,这样就构成了JSP网页。当用户请求JSP页面时,web服务器接受用户访问JSP页面的请求,如果是第一次访问该JSP页面,web容器中的JSP引擎将该页面转换为Java程序,然后进行编译为.class文件。然后执行.class文件,web容器再将生成的响应页面返回给用户客户端浏览器显示。JSP页面
15、页面访问过程如图2.2所示:Web容器服务器端1 .输入URL地址2 .向服务器发送浏览请求3 .调用某个JavaBean 组件4 .JavaBean 返回的数据7客户端浏览器7 .显示HTML6.返回HTML页面做出响应JavaBean(基于Java组件)5.读取数据库或者文件 .图2.2 JSP页面访问过程图JSP的优点:1 .跨平台,一处编写随处运行;2 .实现了内容生成与显示的分离;3 .可连接大多数数据库,利用JDBC连接数据库;4 .可复用性好,支持可重用的基于组件的设计;5 .安全性好;6 .支持分布式处理;7 .适用于大型系统的开发;JSP的缺点:1 .开发周期长;2 .开发成本高;2.3 MVC模式介绍2.3.1 MVC模式简介M