中北大学
课 程 设 计 说 明 书
软件工程大型实验
袁亚琴
学 号: 0806054104
电子与计算机科学技术学院
软件工程
大学排课系统
——排课算法子系统
学生姓名:
学 院:
专 业:
题 目:
成 绩
指导教师:
宋礼鹏
职称:
讲师
2010 年 12 月 31 日
1.设计目的
制定一个学校的排课计划是一项非常耗时且相当辛苦的工作。在一所高校一
个课程表的制定是一个难题,因为在有关课程表的问题上有很多的限制条件得考
虑,还有大量的数据空间被挖掘。课程编排系统是一个学校不可缺少的部分,它
的内容对于学校的决策者和管理者来说都至关重要,所以自动排课系统应该能够
为用户提供充足的信息和快捷的查询手段。
按照软件工程基本原理,运用 UML 中所学的知识,设计开发一个大学排课系
统。通过对排课系统的分析、设计与实现,将原理与应用相结合,让自己学会如
何把书本上学到的知识用于解决实际问题,培养自己的动手能力;另一方面,使
自己能深入理解和灵活掌握教学内容。
2.设计内容
本人在本次课程设计中完成的内容有:
(1)手动排课与自动排课功能的实现。
(2)班级、教师及教室课表查询功能的实现。
3.需求描述
学生
教师
提出课表修改请求
<>
课表查询
校管理员
添加教师信息
删除教师信息
添加班级信息
删除班级信息
院管理员
添加教室信息
删除教室信息
添加课程信息
课表修改
排课
删除教学计划
添加教学计划
删除课程信息
自动排课
手动排课
图 1 大学排课系统用例图
1
表 1 自动排课用例描述
用例名称:自动排课
用例概述:根据课程时间、教师的基本信息、班级课程设置的信息、多媒体使用情况、座位
数与上课班级人数协调情况合理的安排上课教室、时间及代课教师,使得资源充
分利用而且不冲突
主要参与者:校管理员
次要参与者:院管理员
前置条件:教师、班级和教室信息全部添加完
后置条件:生成课表
基本事件流:(1)收集教师、班级、教室的信息
(2)根据多媒体的需求、教室座位数等优先为上课班级总人数多的班级安排上
课教室和时间
(3)根据教师的基本信息和代课意向,优先考虑安排教师的代课要求
(3)为已安排教室和时间的课程的代课教师安排其他教学任务的教室和时间。
(4)为已安排教室、时间及代课教师的课程的班级安排其他课程的教室、时间
及代课教师
(5)合理调整教师每周授课的学时数
(6)重复以上操作,直到所有的课程安排完
表 2 课表查询用例描述
用例名称:课表查询
用例概述:教师、学生、院管理员、校管理员根据自己的需求对课表进行不同类型的查询
主要参与者:教师、学生、院管理员、校管理员
基本事件流:(1)用户启动课表查询用例
(2)学生选择学生课表查询用例,查询学生课表
(3)教师选择教师课表查询用例,查询教师课表
(4)院管理员和校管理员根据需求选择不同课表查询用例,查询课表
4.系统详细分析设计
4.1 顺序图
2
: 手动排课界面
: 手动排课界面
: 录入按钮
: 录入按钮
: 控制类
: 控制类
数据库数据库
: 主界
: 主界
面
面
:校管理员
:校管理员
1: 登录系统
2: 点击进入
3: 输入排课信息
4: 点击鼠标
5: 获取排课信息
9: 排课成功
6: 检验信息是否合法
7: 信息合法
8: 录入排课信息
图 2 手动排课顺序图
数据库数据库
:校管理员
:校管理员
: 主界面
: 主界面
: 自动排课按键
: 自动排课按键
: 控制类
: 控制类
1: 鼠标点击
2: 获取信息
3: 更新数据库
4: 提示排课成功
图 3 自动排课顺序图
3
: 班级课表界面
: 班级课表界面
: 查看按钮
: 查看按钮
: 控制类
: 控制类
数据库数据库
: 用
: 用
户
户
1: 输入班级编号
2: 点击鼠标
3: 获取班级编号
6: 显示班级课表
4: 检验是否存在该班级课表
5: 存在该班级课表
图 4 班级课表查询顺序图
: 教师课表界面
: 教师课表界面
: 查看按钮
: 查看按钮
: 控制类
: 控制类
: 数据库
: 数据库
: 用
: 用
户
户
1: 输入教师编号
2: 点击鼠标
3: 获取教师编号
6: 显示教师课表
4: 检验是否存在该教师课表
5: 存在该教师课表
图 5 教师课表查询顺序图
4
: 教室课表界面
: 教室课表界面
: 查看按钮
: 查看按钮
: 控制类
: 控制类
: 数据库
: 数据库
: 用
: 用
户
户
1: 输入教室编号
2: 点击鼠标
3: 获取教室编号
6: 显示教室课表
4: 检验该教室课表是否存在
5: 该教室课表存在
图 6 教室课表查询顺序图
4.2 活动图
修改密码
登陆系统
[NO]
用户身份不是校管理员或院管理员[ YES ]
管理班级信
息
管理教师信
息
管理教室信
息
管理课程信
息
管理教学计
划
用户不是校管理员[ YES ]
[NO]
手动排课
自动排课
课表查询
退出系统
图 7 大学排课系统活动图
5
4.3 类图
图 8 大学排课系统类图
6
4.4 部署图
登录界
面
主界面
信息管
理界面
排课界
面
进行信
息管理
进行排
课
课表查
询界面
进行课
表查询
密码修
改界面
进行密
码修改
数据库
图 9 大学排课系统部署图
4.5 构件图
7