文档详情

高校排课系统的研究与设计-毕业论文.doc

发布:2018-05-14约6.47千字共16页下载文档
文本预览下载声明
本科毕业论文 (科研训练、毕业设计) 题 目:高校排课系统的研究与设计 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 高校排课系统的研究与设计 摘要 本论文针对排课系统,描述了该系统存在的问题及研究的意义,介绍了过去对该问题的研究情况,阐述了该排课系统的需求分析及意义,详细描述了系统的整体结构和实现方法,根据厦门大学教学排课需要,重点描述了自动排课算法的设计与实现。时间选择的灵活性、优先级的计算、等价类的划分、算法复杂性的降低等进行了自我特色的改进,并在编程上得到实现。 关键词:自动排课 排课算法 优先级 目录 引言 1 第一章 绪论 1 第一节 问题的提出 1 第二节 计算机自动排课的发展历程 1 第三节 本课题的意义 2 第二章 课题内容及系统分析 3 第一节 需求分析 3 第二节 系统总体设计 3 ? 数据库设计及维护 3 ? 资源录入 3 ? 自动排课 4 ? 查询模块 4 第三章 算法的设计及实现 4 第一节 资源约束性检查 5 第二节 信息检索和提取 5 第三节 信息匹配 5 第四节 数据更新 8 第四章 遇到的困难、解决方案及待解决的问题 10 第一节 遇到的困难 10 第二节 解决方案 10 第三节 待解决的问题 10 第五章 结论 11 致谢语: 11 参考文献: 11 第一节 问题的提出第二节 计算机自动排课的发展历程Arabinda Tripathy、加拿大的Montreal大学的Jean Aubin 和 Jacques Ferland 等。目前,解决课表问题的方法有:模拟手工排课发,图论方法,拉格朗日松弛法,二次分配型法等多种方法。由于课表约束复杂,用数学方法进行问题描述往往导致问题规模剧烈增大,这已经成为应用数学编程解决课表问题的巨大障碍。国外的研究表明,解决大规模课表编排问题单靠数学方法是行不通的,而利用运筹学中分层规划的实现将问题分解,将是一个有希望得到成功的方法。 第三节 本课题的意义 采用计算机排课,教学中的信息可以一目了然,对于优化学生四年的学习进程,评估每位教师对教学的贡献,领导合理决策等都具有重要的意义,因此研究和实现排课系统来辅助教务人员编排课表,可以达到减轻劳动,提高效率和质量的效果。必将大大推动教学的良性循环。见下图: 课表在教学中的地位和作用: 本课题根据厦门大学排课的实践要求,分析了排课问题的数学模型,设计了一种基于优先级的自动排课算法,该算法通过划分等价类、计算优先级等方法大大降低了课程调度的算法复杂性,从而可以以较快的速度获得较为满意的排课结果。同时,在设计算法的过程中我们也非常注意其普遍适用性,使其不仅仅局限于厦门大学的具体情况,此外,该算法对于解决其他多约束、大规模时间问题也将会具有一定的参考价值。该系统的主要功能是在用户输入排课所需要的数据之后,以不同的方式进行排课,然后就可以把排好的课表以多种形式进行打印输出。 第二章 课题内容及系统分析 第一节 需求分析 自动排课系统目的在于较好的处理教师、学生和班级三者间的关系,他们间的相互约束总体分为两类: 绝对性约束 同一个教师在同一时间只能上一门课 同一教室在同一时间只能允许一个班级上课 最大班级人数一定要小于最大教室容量 计划课程的数量一定要小于等于教室数量乘以二十 多媒体课程数小于等于多媒体体教室数乘以二十 多媒体课程一定要有多媒体设备 满足教室强制性占用不能安排课程的时间 满足老师不能上课的时间 相对性约束 必修课应尽量安排在上午 不要求多媒体的必修课在教室无法满足的情况下可以占用多媒体教室 选修课应尽量安排的下午和晚上 不要求多媒体的选修课在教室无法满足的情况下可以占用多媒体教室 尽量满足教师选择自己不想上课的时间 第二节 系统总体设计 自动排课系统共分为四个模块 数据库设计及维护 共分为十个表,其中有五个是对应的备份表,五个主要为运算服务的表为:开课计划表、教师信息表、班级信息表、教室信息表和课程表。程序在排课过程中从开课计划表中读取课程信息,根据课程信息去教师表和班级表提取对应的教师信息和班级信息,根据教师的时间标记和班级的时间标记生成新的时间标记,用新的时间标记去匹配一间教室,匹配成功后生成新的课程表信息。数据备份表主要是为了防止排课前的信息丢失,如果自动排课不理想的话,可以把排课前的数据还原回来,重新进行排课。 资源录入 资源录入共分为四个部分: 开课计划录入,对应开课计划表,保存开课信息 教师表录入,包括教师编
显示全部
相似文档