选定课题之后,积极投入到本课题中,经过多方请教,在教务处老师详细介绍整个排课流程以及排课注意事项之后,受到很大启发,逐渐明确了排课的目标,对排课有了深刻的理解。结合本院实际情况,借鉴手工排课的经验,定义了智能排课的主要功能。
1. 参数设置:本系统可设置为五天制、六天制等多种排课方式,同2. 时还可以任意制定每天上课的节数。
3. 时间指4. 定:可以任意指5. 定教师或课程的上课时间。
6. 排课方式:本系统采用按时间顺序排课的方法进行自动排课,7. 充分利用教室资源,8. 课程分布均匀,9. 最大程度满足时间指10. 定。
系统整体设计
一)、模块结构图
一般用户 管理员
功能模块很清晰,将用户权限分为一般用户和管理员两种。
根据以上功能模块图,我们将开始本系统的程序开发。
三)、界面设计
本系统界面简单、直观、易操作,
由于界面较多,在此只列出其中的几个,如下:
此为排课初始信息窗体
此窗体为教师特殊要求窗体。
当在文本框中单击一下即为不排课,再单击一下文本框内容消失即为排课。
此窗体为按教室号查询的情况。
由此,开始设计各个子窗体,来完成预先确定的系统功能,子窗体主要有:
1. 排课初始信息
2. 排课特殊要求
3. 老师特殊要求
4. 基本信息的录入与修改
5. 排课处理
6. 查询
详细设计与实现
一)、重点模块流程
排课系统整个过程核心思想的体现。现就将具体算法介绍一下。
在确定教室资源、班级资源、课程资源、教师资源之后,先排合堂课,再排上机课,再排外聘老师课,最后对没有特殊要求老师的课进行合理安排。算法的设计过程中,专业课优先考虑,尽可能把专业课安排在上午,每一位老师任一门课每天不多于两节课,课程安排好之后,对教室进行分配,分配原则是上一门课就分配一个教室,例如:星期三,一、二节上数据结构,就可以对这门课指定一个教室,实现所上课程与教室的一一对应,同时也解决了安排课后没有教室的尴尬。在算法的设计中最大程度的做到教室 ,老师,班级不出现冲突,力求排课算法的合理性。