论文摘要
新学期开始,对每个高校来说,首当其冲的问题就是安排学生的课程设置。由于高校班级、课程数都相对较多,手工排课不可避免地要带来教师资源或教室资源的冲突的问题。在信息高速发展的今天,把纷繁芜杂的事情交给计算机来做,才能快速,高效地解决问题。排课管理的主要任务是把各系或各授课部门的课程申请进行汇总,然后根据教学计划或教学环节制订全校各班级的课表。为了使课表的编排更准确、合理、快速,高校教务部门已用计算机来进行排课管理,并先后开发出一些适用的排课软件系统。这个自动排课系统,便是集中考虑了课程、学生、教师及教室等各个方面的因素而开发出来的集合理、方便、快捷于一体的优秀的软件,它遵循了高校编排课表所依据的基本原则和模糊性原则。其主要功能包括:教学计划设置,自动排课与手工排课相结合,优秀的查询功能,课表打印功能。教学计划包括班级、课程、教师信息的设置.在系统设计过程中,本着“抓大放小”的原则,考虑主要因素,用评价函数的思想将“组合爆炸”问题进行简化,自动排课与手动调整相结合,能够解决这些问题。排课问题从数学上讲,是一个在时间、教师、学生和教室四维空间,以教学计划和各种特殊要求为约束条件的组合规划问题,其实质就是解决各因素之间的冲突。我们分析了国内外对排课问题的研究,根据高职院校的教学体制的特点,采用了化整为零的思想及优先级算法。该算法通过划分等价类、计算优先级等方法降低了课程调度的算法复杂性,从而可以以较快的速度获得较为满意的排课结果。本文采用Rational统一过程(RUP)为软件开发方法,以统一建模语言(UML)为分析设计描述语言,以山东协和职业学院的排课业务为对象进行需求分析,对计算机排课系统进行了系统设计,具体分析设计了用户管理、自动排课、课程管理、课表查询、课表输出等功能模块。本文介绍了系统开发的背景和国内外排课问题的发展现状,简要描述了系统需要解决的主要问题和系统的开发模式,对系统的需求分析和架构设计进行了详细描述,对系统部分功能的实现进行了介绍,并对教学计划和排课算法两个关键问题进行描述。