高校自动排课系统的研究与开发-毕业论文.doc
文本预览下载声明
本科毕业论文
(科研训练、毕业设计)
题 目:高校自动排课系统的研究与开发
姓 名:
学 院:软件学院
系:
专 业:软件工程
年 级:
学 号:
指导教师(校内): 职称:
指导教师(校外): 职称:
年 月 日
高校自动排课系统的研究与开发
摘要 排课是高校教学管理中最基本、最重要、同时也是最复杂的管理工作之一,为了实现高校课程的自动编排,我们根据实际的需求进行分析,设计了基于时间片模式的排课算法,并依据课程的性质设定排课的优先级,建立了一个可行的排课系统,该系统由四个模块组成。本文阐述了系统的整体结构以及实现方法,以及数据库及各个模块的设计实现,着重阐述了数据库以及手动调课模块的设计实现。
关键词 时间片模式 排课系统 数据集
目录
第一章 引 言 1
第一节 问题的提出 1
第二节 解决方法及难点 1
第二章 排课系统内容及分析 2
第一节 需求分析 2
第二节 系统总体结构 2
第三节 系统的实现及流程 3
第三章 数据库的设计 4
第一节 Microsoft Access数据库 4
第二节 排课系统数据库设计 4
第四章 系统主要模块的设计及实现 8
第一节 数据录入模块的设计及实现 8
第二节 自动排课模块的设计及实现 8
第三节 查询模块的设计及实现 8
第四节 手动调课的设计及实现 8
结论 11
致谢语 12
参考文献 12
第一章 引 言
第一节 问题的提出
课程表是高校赖以正常进行的依据。高校的课程表的编排有其自身的特点:首先,选课灵活;其次,每门课的上课人数参差不齐;第三,课程变化大;第四,多班合班上课。从以上可以看出高校的课表编排具有很大的灵活性。但是目前国内的许多高校仍然采用手工排课的方法,随着学校规模的扩大,涉及的因素越来越多,使得这项工作耗费了大量的人力。传统的人工编排课程,因其问题有规模大、涉及面广、影响因素多、结构复杂等特点,需要花费教务人员大量的时间。这不仅使工作效率低,同时也是一种人力的浪费。
随着计算机在办公自动化中的广泛应用,利用计算机自动排课,可以大大提高排课效率,合理分配有限的教室和教师资源,尽可能减少认为因素影响,使得课程表更合理。
利用计算机进行排课的核心问题就是使用适当的优化算法提高排课系统的可行性。
第二节 解决方法及难点
本系统设计了一个基于时间片模式的算法解决各种约束之间的冲突,同时设置了优先级,使课程编排的时间模式比较合理。另外,在自动排课的基础上提供了手动调课的功能,提高用户的满意度。
该算法设置了以时间为核心,为各个课时寻找合适的课程。这种算法通过找出教师、教室、修课班的共同空闲时间再进行排课,降低排课冲突发生的频率。同时为了使得排课的结果较为合理,在时间片模式的基础上,对课程设置了课程的属性,以此来设定排课的顺序,对必修课程优先编排,并尽量编排在上午,而且系统设置了手动调整功能。
本系统实现的难点主要有以下两点:
1.算法的设计。由于排课系统涉及的因素多,要做到考虑全面、没任何疏忽冲突很困难。因此,如何设计一个算法既能快速排课,有能较为合理的解决用户的各种需求是本次设计的一大难点。
2.系统的通用性。由于设计过程中,排课所用数据与程序结合过于紧密,限制了系统的通用性。因此,设计的系统不易扩充。如何改善也是一个难点。
排课系统内容及分析
需求分析
排课过程的实质是:在现有资源的约束下,得到一个相对最佳的课程与其它各种资源的匹配,即得到一个相对比较合理的课程表。
该系统有以下约束条件:
绝对约束条件:
同一授课对象在同一排课单元只能上一门课。
同一教室(或实验室等)在同一时间只能排一门课。
每位教师在同一排课单元,只能在一个教室(或实验室等)上一门课。
一些课程的特殊性(如体育类课程、艺术类课程等)。
相对约束条件:
教师对课日课时的要求。
教室容量与学生人数匹配。
同一门课上课教室(或实验室等)相对固定。
? 课程对时间的特殊要求(比如:必修课优先安排在早上)。
计算机编排完课程后,应可以对这个结果进行各种条件的查询,并可以根据情况输出各种形式的表格,以便于教务人员进行处理。
第二节 系统总体结构
在对当前有关学校需求分析的基础之上,我们小组讨论确立了系统的总体结构。本系统包含四个子系统,他们分别为:录入子系统、自动排课子系统、查询子系统、资料维护子系统。系统的总体结构设计如下图所示:
图 系统总体结构
第三节 系统的实现及流程
在综合考虑各种排课的约束条件的基础上,我们设计了基于时间片模式的排课算法。我们将每周的上课时间定为5天,每天4节课(早上两节课,下午和晚上各一节,每节课包含两小节)
显示全部