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 系统测试 .327.1 测试方法介绍 .327.2 测试工具介绍 .337.3 本系统的测试 .337.4 小结 .35结 论 .36参考文献 .37致 谢 .38附 录 .3911 绪论1.1 开发背景随着信息化社会的发展趋势,各行各业的
2、信息化工作势在必行。作为信息化社会的一员,高等院校的信息化工作必须迎合需要,才能提高办学效率,更好地完成教学任务,跟上社会发展步伐。那么如何推进高校的信息化工作呢?计算机的广泛普及,使高校办公自动化工作的有了很大推进,教务管理自动化也逐渐深入每个学校的教务处。在学校教务工作中,每学期的课程表的排定工作占有很大比重。因此排课是学校管理中十分重要的工作,但又相当复杂,其实质就是为学校所设置的课程安排时间和地点,由此使学校的教学计划能有序开展。那么如何快速合理的排好高校的课程呢?很多高校都采用过手工排课,但传统的人工排课使用手工方法存在许多弊端,如重复结果、效率低下、查找、更新和维护排课结果困难。采
3、用手工排课,往往需要花费教务处工作人员很多时间,要为上千名学生和上百名教师安排出合理的课程表,工作量大,排出的课程不宜调整。因此采取高效的排课方式至关重要。那么如何高效率的完成排课工作呢?自动排课就能解决排课工作量大的低效率问题。利用计算机信息技术,解放双手,做到真正的信息化。1.2 开发意义首先探讨一下排课问题的本质。学校排课就是时间表问题的一类典型应用实例,它要解决的是课程安排对时间和空间资源的利用率,对时间和空间进行有效利用,并且要避免相互冲突。接下来在排课过程中要解决很多问题,如课程的教学效果、教师的特殊要求等多项优化指标。最后将课程安排到相对应的时间和教室。在完成了排课问题的工作后,
4、就能实现自动排课、查课的功能了。比较常见的排课算法有蚁群算法、遗传算法、基于拟人策略算法、改进型回溯算法,但算法的复杂性、算法性能、算法实现难度、编码的复杂程度和排课结果的优良性等方面存在不同程度的差异。根据需求,本文汲取基于优先级的算法思想,设计一种算法编码简单、易于系统实现的排课算法,并根据要求设计出课表优化目标函数,通过目标函数值的比较在可行课表中找出较优解。通过对基于优先级的算法的研究,进而将其应用到排课系统中,利用计算机来模拟手工排课,可以抽象问题中的各个要素、数学表达各种约束条件,并根据课表的组织形式和普遍存在的规律,缩减了问题的搜索范围,有效组织了排课2知识,使其在一定程度上呈现
5、智能化。1.3 开发目标排课系统是学校教学管理系统中的一项重要内容,排课系统的实现结果直接影响到学校的正常教学秩序和教学质量。排课管理的主要任务是把全校各年级所开设的课程进行汇总,然后根据教学计划和教学资源制定全校各个班级的课程表,优化配置各种教学资源,是学校的教学工作科学高效地进行。此次研究的意义在于设计一个智能的排课系统,减轻学校教务管理人员的工作量,提高办学效率,规范教学管理工作。通过对基于优先级的算法的研究,进而将其应用到排课系统中,利用计算机来模拟手工排课,可以抽象问题中的各个要素、数学表达各种约束条件,并根据课表的组织形式和普遍存在的规律,缩减了问题的搜索范围,有效组织了排课知识,
6、使系统在一定程度上呈现智能化。以智能化的排课来解决高校教务处理工作中的繁杂手工排课问题。1.4 国内外研究现状排课问题的实质是什么呢?国内外对于排课问题又有哪些研究及成果呢?在 20 世纪 50 年代末,国外有人开始研究关于如何让安排课表的问题。有些文献试图从图论的角度来求解课表问题,排课问题实际上就是 NP 完全问题。1963 年,Gotlieb 曾提出一个课表问题的数学模型,它标志着排课问题的研究正式进入科学探索阶段。进入 20 世纪 90 年代,国外对排课问题的研究任然非常活跃,例如印度 Vastapur 大学管理学院的 Arabinda Tripathy、加拿大Montreal 大学的
7、 Jean Aubin 和 JacqueSA Feriand 以及 Charles Fleutent 等。1.5 小结 通过分析开发背景、意义及背景,观测国内外关于排课问题的研究,不难发现人们都在探索一种更快,更简便的方法来解决类似于排课这样的复杂、工作量大的问题。本次课题的目的正是要实现一个这样的系统:把复杂的排课问题转化成机器语言,通过计算机程序来安排合理课程,并得到目标课程计划表。现代人类社会的进步依赖于计算机技术的突破,把复杂工作都交给计算机来处理是时代发展的趋势,是技术进步的标志。这也是本系统设计开发的出发点,它的理念就是为用户提供简便易操作的系统,提升用户体验感受。32 开发工具简
8、介不难发现大多数高校的现行教务管理系统均采用网站化管理,这样免去了用户在使用系统时繁杂的安装过程。要实现与教务管理系统很好地对接,因此在设计排课系统时尽可能选用了相同的操作系统和开发工具。此次开发的系统设计采用服务器 windows 7,后台数据库使用 oracle 大型数据库。而客户端采用 window sxp,开发工具为 MyEclipse,应用服务器采用 tomcat。事务处理运行环境为 SSH2 框架。下面来介绍写我所使用的工具,看看为什么要用它来开发大学排课系统。2.1 MyEclipse8.5该版本集成了 Eclipse 3.5.2 的特点,提升了团队协作开发、开发周期管理以及 S
9、pring 和 Hibernate 的更好支持。MyEclipse(MyEclipse Enterprise Workbench)其实也就是将EclipseIDE 进行扩展。在数据库和 JavaEE 的开发、发布以及应用程序服务器的整合方面使用 MyEclipse 可以极大的提高工作效率。总的来说 MyEclipse 是一个很强大的开发工具,它不仅包括了完备的编码、调试、测试和发布功能,而且完整地支持 HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。因此是功能丰富的 JavaEE 集成开发环境。为什么 MyEclipse 的功能非常强大呢?首先 Myeclipse 是一个十分优秀的Eclipse 插件集合,它的支持也十分广泛,尤其是对各种开源产品的支持十分不错,可以用来开发 Java, J2EE 项目。MyEclipse 目前支持的