毕业论文——大学排课系统的设计与实现.doc

上传人:滴答 文档编号:1255603 上传时间:2019-01-19 格式:DOC 页数:57 大小:815.50KB
下载 相关 举报
毕业论文——大学排课系统的设计与实现.doc_第1页
第1页 / 共57页
毕业论文——大学排课系统的设计与实现.doc_第2页
第2页 / 共57页
毕业论文——大学排课系统的设计与实现.doc_第3页
第3页 / 共57页
毕业论文——大学排课系统的设计与实现.doc_第4页
第4页 / 共57页
毕业论文——大学排课系统的设计与实现.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、 毕业设计说明书大学排课系统的设计与实现院 、 部: 计算机与信息科学学院 学生姓名: 指导教师: 职称 专 业: 信息与计算科学 班 级: 完成时间: I摘 要排课是高校教学管理中最基本、最重要、同时也是最复杂的管理工作之一, 其实质就是使学生、教室和教师的时间相互协调,安排合理的课程表,使教学工作有效有序的进行。排课系统属于信息数字化校园系统的一部分,它依靠计算机来完成复杂的排课部分,避免了手工排课产生的老师上课时间冲突和教室冲突。本系统利用 Java 作为前台开发工具,Oracle 数据库管理系统设计的数据库作为后台。设计此系统前先做了需求分析,根据大学排课的复杂特点及现有的排课系统的功

2、能局限性,以基于优先级的算法为主要思想,设计一种编码码简单、易于系统实现的排课算法,并根据要求设计出课表优化目标函数,通过目标函数值的比较在可行课表中找出较优解。本文主要介绍排课系统的设计构思和实现过程。通过一步步地介绍,让读者体会一个系统的制作大致要做些什么,有哪些过程。本系统用面向对象的方法对排课系统进行分析,进行模块划分设计过程中再根据具体情况对算法进行改造和补充,设计合理的大学排课系统。本系统在设计时力求用户界面友好,基本功能完备,操作简单易用,便于维护。最后,本系统实现了大学排课、查询、补课等功能。关键词:大学排课系统;基于优先级算法;大型数据库;JavaIIABSTRACTCour

3、se scheduling is one of the most basic, most important, is also the most complicated management work of college teaching management, its essence is to make the students, teachers and teachers of the time coordination, reasonable arrangement of the curriculum, the teaching work effectively and orderl

4、y. A part of the course scheduling system belongs to the information of digital campus system, it depends on the computer to accomplish the complicated part of course arranging, avoiding manual course arranging the teacher in the class time conflict and classroom conflicts.The system uses Java as a

5、development tool, Oracle database management system design of the database as a background. The design of this system before the demand analysis, according to the university course timetabling complex characteristics and existing rows of functional limitation of class system, with the algorithm base

6、d on priority as the main idea, design a simple code course scheduling algorithm, easy implementation, and is designed according to the schedule optimization objective function, through the target the function value compared to find better solutions in the feasible timetable.This paper mainly introd

7、uces the design and realization process of course scheduling system. A step by step through the introduction, let the reader experience to make a system about what to do, what process. The system using object-oriented method to analyze the course scheduling system, divided the process design module

8、and according to the specific situation of reconstruction and supplement of the algorithm, the rational design of University Course Scheduling system. The system in the design sought to be user friendly interface, the basic function is complete, easy to use, easy to maintain. Finally, this system re

9、alizes the university course scheduling, query, remedial function.Keywords:University course Scheduling System;Based on priority algorithm;Database;Java目 录1 绪论 .11.1 开发背景 .11.2 开发意义 .11.3 开发目标 .21.4 国内外研究现状 .21.5 小结 .22 开发工具简介 .32.1 MyEclipse8.5 .32.2 Oracle 数据库 .42.3 小结 .53 系统需求分析 .63.1 系统开发步骤 .63.

10、2. 用户需求 .73.3 功能需求 .73.4 可行性分析 .83.5 小结 .94 系统概要设计 .104.1 系统功能分析 .104.2 系统模块划分 .104.3 小结 .125 数据库设计 .135.1 数据库概念结构设计 .135.2 数据库逻辑结构设计 .155.3 系统 E-R 图 .175.4 小结 .186 系统详细设计 .196.1 用户注册 .196.2 用户登录 .206.3 用户管理界面 .216.4 基础信息页面 .226.5 排课 .226.6 查课 .286.6.1 教师查课 .286.6.2 学生查课 .296.7 补课 .316.8 小结 .317 系统测

11、试 .327.1 测试方法介绍 .327.2 测试工具介绍 .337.3 本系统的测试 .337.4 小结 .35结 论 .36参考文献 .37致 谢 .38附 录 .3911 绪论1.1 开发背景随着信息化社会的发展趋势,各行各业的信息化工作势在必行。作为信息化社会的一员,高等院校的信息化工作必须迎合需要,才能提高办学效率,更好地完成教学任务,跟上社会发展步伐。那么如何推进高校的信息化工作呢?计算机的广泛普及,使高校办公自动化工作的有了很大推进,教务管理自动化也逐渐深入每个学校的教务处。在学校教务工作中,每学期的课程表的排定工作占有很大比重。因此排课是学校管理中十分重要的工作,但又相当复杂,

12、其实质就是为学校所设置的课程安排时间和地点,由此使学校的教学计划能有序开展。那么如何快速合理的排好高校的课程呢?很多高校都采用过手工排课,但传统的人工排课使用手工方法存在许多弊端,如重复结果、效率低下、查找、更新和维护排课结果困难。采用手工排课,往往需要花费教务处工作人员很多时间,要为上千名学生和上百名教师安排出合理的课程表,工作量大,排出的课程不宜调整。因此采取高效的排课方式至关重要。那么如何高效率的完成排课工作呢?自动排课就能解决排课工作量大的低效率问题。利用计算机信息技术,解放双手,做到真正的信息化。1.2 开发意义首先探讨一下排课问题的本质。学校排课就是时间表问题的一类典型应用实例,它

13、要解决的是课程安排对时间和空间资源的利用率,对时间和空间进行有效利用,并且要避免相互冲突。接下来在排课过程中要解决很多问题,如课程的教学效果、教师的特殊要求等多项优化指标。最后将课程安排到相对应的时间和教室。在完成了排课问题的工作后,就能实现自动排课、查课的功能了。比较常见的排课算法有蚁群算法、遗传算法、基于拟人策略算法、改进型回溯算法,但算法的复杂性、算法性能、算法实现难度、编码的复杂程度和排课结果的优良性等方面存在不同程度的差异。根据需求,本文汲取基于优先级的算法思想,设计一种算法编码简单、易于系统实现的排课算法,并根据要求设计出课表优化目标函数,通过目标函数值的比较在可行课表中找出较优解

14、。通过对基于优先级的算法的研究,进而将其应用到排课系统中,利用计算机来模拟手工排课,可以抽象问题中的各个要素、数学表达各种约束条件,并根据课表的组织形式和普遍存在的规律,缩减了问题的搜索范围,有效组织了排课2知识,使其在一定程度上呈现智能化。1.3 开发目标排课系统是学校教学管理系统中的一项重要内容,排课系统的实现结果直接影响到学校的正常教学秩序和教学质量。排课管理的主要任务是把全校各年级所开设的课程进行汇总,然后根据教学计划和教学资源制定全校各个班级的课程表,优化配置各种教学资源,是学校的教学工作科学高效地进行。此次研究的意义在于设计一个智能的排课系统,减轻学校教务管理人员的工作量,提高办学

15、效率,规范教学管理工作。通过对基于优先级的算法的研究,进而将其应用到排课系统中,利用计算机来模拟手工排课,可以抽象问题中的各个要素、数学表达各种约束条件,并根据课表的组织形式和普遍存在的规律,缩减了问题的搜索范围,有效组织了排课知识,使系统在一定程度上呈现智能化。以智能化的排课来解决高校教务处理工作中的繁杂手工排课问题。1.4 国内外研究现状排课问题的实质是什么呢?国内外对于排课问题又有哪些研究及成果呢?在 20 世纪 50 年代末,国外有人开始研究关于如何让安排课表的问题。有些文献试图从图论的角度来求解课表问题,排课问题实际上就是 NP 完全问题。1963 年,Gotlieb 曾提出一个课表

16、问题的数学模型,它标志着排课问题的研究正式进入科学探索阶段。进入 20 世纪 90 年代,国外对排课问题的研究任然非常活跃,例如印度 Vastapur 大学管理学院的 Arabinda Tripathy、加拿大Montreal 大学的 Jean Aubin 和 JacqueSA Feriand 以及 Charles Fleutent 等。1.5 小结 通过分析开发背景、意义及背景,观测国内外关于排课问题的研究,不难发现人们都在探索一种更快,更简便的方法来解决类似于排课这样的复杂、工作量大的问题。本次课题的目的正是要实现一个这样的系统:把复杂的排课问题转化成机器语言,通过计算机程序来安排合理课程

17、,并得到目标课程计划表。现代人类社会的进步依赖于计算机技术的突破,把复杂工作都交给计算机来处理是时代发展的趋势,是技术进步的标志。这也是本系统设计开发的出发点,它的理念就是为用户提供简便易操作的系统,提升用户体验感受。32 开发工具简介不难发现大多数高校的现行教务管理系统均采用网站化管理,这样免去了用户在使用系统时繁杂的安装过程。要实现与教务管理系统很好地对接,因此在设计排课系统时尽可能选用了相同的操作系统和开发工具。此次开发的系统设计采用服务器 windows 7,后台数据库使用 oracle 大型数据库。而客户端采用 window sxp,开发工具为 MyEclipse,应用服务器采用 t

18、omcat。事务处理运行环境为 SSH2 框架。下面来介绍写我所使用的工具,看看为什么要用它来开发大学排课系统。2.1 MyEclipse8.5该版本集成了 Eclipse 3.5.2 的特点,提升了团队协作开发、开发周期管理以及 Spring 和 Hibernate 的更好支持。MyEclipse(MyEclipse Enterprise Workbench)其实也就是将EclipseIDE 进行扩展。在数据库和 JavaEE 的开发、发布以及应用程序服务器的整合方面使用 MyEclipse 可以极大的提高工作效率。总的来说 MyEclipse 是一个很强大的开发工具,它不仅包括了完备的编码

19、、调试、测试和发布功能,而且完整地支持 HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。因此是功能丰富的 JavaEE 集成开发环境。为什么 MyEclipse 的功能非常强大呢?首先 Myeclipse 是一个十分优秀的Eclipse 插件集合,它的支持也十分广泛,尤其是对各种开源产品的支持十分不错,可以用来开发 Java, J2EE 项目。MyEclipse 目前支持的功能有:Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC 数据库链接工具等等。MyEcli

20、pse 是几乎囊括了目前所有主流开源产品的专属 eclipse 的开发工具。从 MyEclipse 的构成上来看,它有如下特征:(1)JavaEE 模型J2EE 容易让初学者误解是独立于一套 Java 的技术方案。从更深层次来看,Java 诞生十年,多年前的业务组件还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。(2)WEB 开发工具Java WEB 技术开发技术如下:基本的网页设计语言:html、javascript、css;动态网站:java、jsp(servlet 属于 jsp 中的)以上的作用是从前台网页获取数据和后台4数据库进行交互;数据库:mysql、sqlserver

21、、sqlite、access、oracle,数据库用于保存网站的一下信息(例如:用户信息、网站功能等) 。(3)EJB 开发工具EJB 是 sun 的服务器端组件模型,EJB 最大的用处是部署分布式应用程序,并且使用 EJB 技术部署的分布式系统可以不限于特定的平台。(4)应用程序服务器的连接器(5)JavaEE 项目部署服务为搭建伸缩性强、灵活易于维护的商务系统提供优秀机制。(6)数据库服务实现数据的共享、减少数据冗余、有利于数据的独立性,从而实现数据集中管控。(7)MyEclipse 整合帮助正因为 MyEclipse 具有以上七种功能模块类别的划分,使得它在实际应用中能够实现单独模块的扩

22、展,并且不会影响到其他模块的正常工作。简单而言,MyEclipse 是 Eclipse 的一个插件,是一款功能强大的 JavaEE集成开发环境,支持代码编写、配置、测试以及除错。需要指出的是 MyEclipse5.5 以后版本安装时不需安装 Eclipse。2.2 Oracle 数据库Oracle 数据库系统是美国 ORACLE 公司提供的世界上第一个关系数据库管理系统,由于其优越的安全性、完整性、稳定性和支持多种操作系统、多种硬件平台等特点,成为了最流行的数据库之一。 Oracle 之所以如此流行,主要是因为它的如下特点:(1)支持多用户、大事务的事务处理;(2)提供标准操作接口;(3)分布

23、式处理功能;(4)用 ORACLE 能轻松的实现数据仓库的操作。随着 Oracle 的发展,他也增加了许多新的特性:网络计算数据库、Oracle Real Application Clusters、自动存储管理、信息供应、数据库自动管理、物化视图与查询重写、闪回版本查询与闪回错误操作、数据泵等等。Oracle 也有很多优点,让我最终选择用它做数据库后台,其主要优点有以下几点:(1)拥有很强的有用性;(2)强大的可扩展性;(3)数据的安全性高。5在了解了 Oracle 数据库后,我们来对 ORALCE 和 Microsoft SQL Server 进行比较。Microsoft SQL Serve

24、r 不提供直接的客户开发工具和平台,它只提供了两个接口:ODBC 和 DB-Library。Microsoft SQL Server 的并行实施和共存模型并不成熟,很难处理日益增多的日常数据,及伸缩性有限。在安全方面,Microsoft SQL Server 并没有获得任何安全证书。在客户端支持 C/S 结构,只支持 windows 客户。虽然 Microsoft SQL Server 操作简单,但只有图形界面。在兼容方面,完全代码重写,延迟较大,并且不完全兼容。而 Oracle 采用的是并行服务器模式。如果数据库数量达到 GB 以上时,在提高系统的性能方面可以从两方面入手,一种是提高单台服务

25、器的性能,第二就是增加服务器数目。基于此,如果我们是提高单台服务器的性能,选择 Oracle 数据库较好,为什么呢?因为 Oracle 数据库能在对称多 CPU 的系统上提供并行处理。分析到了这里,大家就知道为什么要选择 Oracle 而不选择 Sybase SQL Server 了。我现在从事的排课系统的开发,要求有较高的实时性,并且考虑到数据量大,我们后台基本采取的是 Ooracle 大型数据库,以便更好地进行开发工作。 22.3 小结关于开发工具的选择,我们要根据具体的情况来看待,不能笼统地说哪个好我们就用哪个。根据系统的需要,技术开发的要求,我们来选择合适的工具,力求事半功倍。最后选取了主流的开发工具 MyEclipse,后台采用 Oracle 大型数据库管理数据操作,以适应不断扩展的数据量,方便今后的数据管理工作。2孙风栋Oracle 10g 数据库基础教程J北京:电子工业出版社,2012.19-35

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。