中北大学
课 程 设 计 说 明 书
软件工程大型实验
学生姓名:
学 院:
专 业:
题 目:
成 绩
元琴
学 号: 0806054202
电子与计算机科学技术学院
软件工程
大学排课系统
——数据库及界面子系统
指导教师: 宋礼鹏
职称:
讲师
2010 年 12 月 31 日
1. 设计目的
排课问题即解决各个班级的各门课程在什么时间、地点,由哪位教师讲授的
问题。设计排课系统的算法有一定的复杂性,它涉及到教师、教室、班级、课程
和时间等信息对象,算法的目标是为满足需求而进行合理的资源(如教师、教室
和时间)分配,核心问题是避免资源冲突。
计算机排课是把排课问题看作五元互约束的时空组合优化问题进行求解。五
元是指排课问题中的五个要素即班级、课程、教师、时间和教室的集合,排课的
任务就是要找到一种满足一定约束条件的五元组合。从数学角度来讲,排课问题
就应该是一个互约束的、非线性的、模糊多目标优化的、时空组合问题。即在满
足各种已知的约束条件的情况下找到一组较优的时空组合,同时在具体实践上要
受到教学组织形式、客观物质条件和求解目标等多种因素的相互影响。
2.设计内容
本人在本次课程设计中负责登录以及学生注册,管理员主页以及
教师和学生主页,查询课表以及打印课表,添加教师、教室以及班级
信息。
3.需求描述
图 1 大学排课系统用例图
2
3.1 参与者
学生:查询学生课表,在查询课表时首先应该登录,所以课表查询用例要包
含登陆用例,另外学生是管理员的泛化。
教师:查询教师课表,另外教师是管理员的泛化。
管理员:可以输入信息排课,查询课表信息。排课用例包括输入信息用例,
输入信息时首先应该登录系统,所以输入信息用例应包含登陆用例。
3.2 用例
课表查询:课表查询用例是教师课表查询用例,学生课表查询用例,教室课
表查询用例的泛化。课表查询用例包含登录用例。打印课表是其的扩展用例。
输入信息查询:对排课的基本信息查询。修改信息是其的扩展用例。
排课:排课是整个系统的最关键的用例,也是最复杂的用例。将课程,时间,
教师,班级和教室五者的组合,最后找到目标解,生成教师课表,学生课表以及
教室课表。排课用例包括输入信息用例,输入信息用例又包括登录用例。
登陆:参与者要输入账户名和密码,只有经身份验证后方可进入系统。注册
用例是其的扩展用例。
3.3 主要用例的用例描述
(1)查询输入信息
①用例名称:查询输入信息
②事件流:基本事件流
③前置条件:输入完整的排课信息
④后置条件:输出找到的符合条件的信息,并输出
⑤扩展点:修改信息
⑥基本事件流:
管理员向系统发出“查询输入信息”请求
系统进入查询输入信息窗口
用户根据要求输入要查找的选项
系统输出找到的信息;如果未找到则输出提示“未找到!!!”
3
(2)排课
①用例名称:排课
②事件流:基本事件流和扩展事件流
③前置条件:输入完整的排课信息
④后置条件:完成“排课”
⑤扩展点:无
⑥基本事件流:
管理员向系统发出“排课”请求
系统提示排课要花费较长时间,请确认;A1:取消
系统根据输入的“排课信息”进行排课,并显示排课进度
如果排课完成,显示排课完成信息;A2:无符号要求的解
⑦扩展事件流:
A1:取消
退出该用例,返回排课系统主页
A2:无符号要求的解
显示输入的排课信息不能找的满足的课表;
用户点击确定后,返回排课系统主页
(3)保存课表
①用例名称:保存课表
②事件流:基本事件流
③前置条件:查找到相应的课表
④后置条件:完成“保存课表”
⑤扩展点:无
⑥基本事件流:
参与者向系统发出“保存课表”请求
系统将查询到的课表保存,并输出保存课表成功信息
(4)课表查询
①用例名称:课表查询
4
②事件流:基本事件流和扩展事件流
③前置条件:输入查询信息
④后置条件:完成“课表查询”
⑤扩展点:教室课表查询、班级教师课表查询、教师课表查询
⑥基本事件流:
参与者向系统发出“保存课表”请求;
系统根据参与者的权限进入相应的窗口
用户根据系统的提示输入要查询的课表信息
系统根据用户的输入查询课表信息
系统显示查到的课表信息。A3:未找到
⑦扩展事件流:
A3: 未找到
系统显示未找到信息,请求参与者确认
参与者确认后,返回基本事件流的第(2)步
(5)输入信息
①用例名称:输入信息
②事件流:基本事件流和扩展事件流
③前置条件:管理员登陆
④后置条件:完成“输入信息”
⑤扩展点:登陆
⑥基本事件流:
管理员向系统发出“输入信息”请求
系统转到“输入信息”界面
管理员按照“输入信息”界面的提示,输入信息
管理员点击录入,将信息保存。并输出“信息录入成功!!!”A4:信息不
完整
⑦扩展事件流:
A4:信息不完整
系统输出“录入信息不完整,请补充完整!”
5
用户确定后,返回基本事件流的第(3)步
(6)登陆
①用例名称:登陆
②事件流:基本事件流和扩展事件流
③前置条件:无
④后置条件:进入排课系统主页
⑤扩展点:无
⑥基本事件流:
参与者按照要求输入用户名及密码,并选择登陆的身份模式
参与者点击登陆
系统根据用户名、密码及身份模式进行身份验证
如果验证成功,进入排课系统主页。A5:验证未通过
⑦扩展事件流:
A5:验证未通过
系统提示密码与用户名不匹配
参与者点击确定
返回基本事件流的第(1)步
(7)注册
①用例名称:注册
②事件流:基本事件流和扩展事件流
③前置条件:登陆页面
④后置条件:系统返回登陆页面
⑤扩展点:无
⑥基本事件流:
参与者向系统发出“注册”请求
系统转到“注册”页面
参与者输入各项要求的内容
点击注册
系统根据参与者的录入进行验证
6
如果验证成功,则输出“注册成功!”。A6:输入信息不完整,A7:用户
名已存在
⑦扩展事件流:
A6:输入信息不完整
系统提示“输入信息不完整”
参与者点击确定
系统返回基本事件流的第(3)步
A7:用户名已存在
系统提示“用户名已存在”
参与者点击确定
系统返回基本事件流的第(3)步
4.系统详细分析设计
4.1 顺序图
(1)学生、教师登录
学生 : User
登陆界面
学生注册页
面
数据库
1: 点击学生注册
2: 输入用户名和密码以及选择班级
3: 点击提交
4: 验证用户名是否存在
5: [用户名存在]显示操作失败
6: [用户名不存在]显示注册成功
7: 重填
图 2 教师、学生登录
(2)修改密码
: User
修改密码窗
口
数据库
1: 输入用户名、旧密码、新密码以及选择身份
2: 点击提交
6: 重填
3: 验证用户名是否存在以及密码是否正确
4: [用户名存在且密码正确]显示密码修改完成
5: [用户名不存在或密码错误]显示操作失败
图 3 修改密码
7
(3)课表查询
: User
教师、学生课
表查询窗口
数据库
1: 输入用户名和密码选择教师或学生身份
2: 查询
3: 验证用户名是否存在且密码是否正确
4: [用户名存在且密码正确]显示查询信息
5: [用户名不存在或密码错误]显示操作失败
(4)教师申请调课
图 4 课表查询
教师 : User
教师申请调
课窗口
数据库
1: 输入原课程信息以及调课节次
2: 选择输入申请
4: 选择查询申请
3: 检验输入信息是否与原信息冲突
5: [不冲突]显示调课成功
6: [冲突]显示操作失败
图 5 教师申请调课
4.2 活动图
(1)教师、学生主活动图
[ 用户名、密码、身份不正确 ]
登录
exit/ 进入学生、管理员主页
[ 不成功 ]
修改密码
[ 信息不正确 ]
课表查询
do/ 输入必要信息
do/ 查询
图 6 教师、学生主活动图
8