(完整word版)UML大作业-排课系统
- 格式:doc
- 大小:127.96 KB
- 文档页数:19
面向对象的系统分析与设计(UML)课程作业自动排课系统第 1 组小组成员1:小组成员2:小组成员3:评分标准班级学号姓名承担工作自我打分教师打分评语自动排课系统一.系统功能分析:系统功能描述:(1). 课程规划人员必须在排课之前规划好本学期各专业的课程,并且要保证各个专业学生学期总学时不高于某个规定值。
(2). 教师可以提前申请教授课程,可以根据自己的代课课程提出对媒体教室的需求。
需要教师填写个人代课意向申请,教师意向将在系统排课时被优先考虑。
(3).系统根据教室的多媒体安装情况、座位数,专业课程设置情况,教师意向,选课学生数量等信息进行排课,使尽可能满足各种用户的要求;支持教师对课表更改进行申请,系统给予微调整。
(4)教室管理员根据对教室设备的更新情况修改教室配置的基本信息。
(5)系统管理员规定一确定时间进行系统自动排课,到这一时间时,系统将自动进行排课,生成课表。
(6).课表生成后,所有用户将有权对课表按班级、教师、教室等不同方式进行的查询。
二.UML图1.活动图(1).课表自动生成活动图(2).教师申请更改课表活动图教师系统班级教室班级课程表[NO][YES][YES][NO]读取教师代课意向是否有代课资格读取课程设备要求读取课程授课时间要求安排课程授课时间为班级分配代课教师查看班级人数查询满足要求的空闲教室安排课程授课教室是否满足所有的条写入班级课程表[YES][YES][NO][NO]班级可调课时查询设置查询课时为不可调课时提交申请可使用教室查询更改课表是否存在班级可调课时是否存在教室可使用2. 用例图安排代课教师(from Usecase)课表生成(from Usecase)申请课表更改(from Usecase)<<include>>安排上课教室及时间(from Usecase)<<include>><<extend>>提交个人意向(from Usecase)<<extend>>课表更改(from Usecase)<<extend>>规划专业课程(from Usecase)<<extend>>学生(from Actor)任课教师(from Actor)系统管理员(from Actor)课程规划人员(from Actor)课表查询(from Usecase)<<extend>><<extend>>教室使用状态设置(from Usecase)教室管理员(from Actor)<<extend>>用例描述文档:用例编号UC001用例名称系统自动排课参与者系统管理员教师课程规划人员过程描述1)收集整理教师的代课意向,教师意向享有优先权。
2)查询空闲时间表数据库,班级课程数据表,教室媒体信息选择第一适合时间。
3)根据教师申请更改课表进行微调整。
4)根据教室多媒体信息变更进微调整。
用例编号UC002用例名称教室时间安排参与者系统管理员教师教室管理员过程描述1)根据教师的个人意向、课程讲授时间需求和教室的多媒体安装情况、座位数安排教室,时间,保证教师的讲授时间不冲突。
2)为已安排教室和时间的课程的代课教师安排其他教学任务的教室和时间。
3)重复1) 2) 操作,直至将所有课程安排完成。
4)对课表进行微调用例编号UC003用例名称申请更改课表参与者教师过程描述1) 当教师对已排好的课表不满时,可向系统管理员提出更改申请,在资源允许的情况下对课表进行修改。
2) 教师用户登录系统后,选择需要更改课表的班级、节次。
选择能满足该班级教学的教室,包括教室座位数,多媒体安装情况等。
3) 提交申请。
3. 概念层次类图1..11..1 1..*1..1*1..*1..*1..*访客教师个人意向学生系统管理员教师班级课程表容器班级课程表课程课程规划人员课程规划教室4.顺序图: 系统管理员 : 管理窗口 : 教师个人意向: 教师 : 教室 : 课程规划人员: 课程规划: 课程表结点1: 课程规划管理( )5: 设置接受个人意向时限(Date)6: 设置个人意向(String, Boolean)8: 接收个人意向填写(教师个人意向)9:10: 读取教师个人意向( )11: 验证代课资格(课程)2: 构造课程规划( )3:4:7: 构造个人意向( )12: 分配教室(班级, Boolean)13:17: 18: 14: 构造课程表结点(班级, Integer, 教室)15: 添加到班级课程表(班级)16:5.状态图(1).班级课程表状态图(2).班级状态图生成前生成后更改使用废弃执行自动课表生成[ 提交申请截止时间起 ]更改课表[ 教师用户成功提交更改课表申请 ]课表适用学期结束班级课程表状态图注册注销正常添加新班级注册操作错误注销班级[ 学生毕业 ]班级状态图(3).教室状态图教室状态图空闲预留专用授课占用更改教室[ 教师成功申请更改课表 ]教室初始设置安排授课[ 自动排课时 ]取消预留设置6.逻辑层次类图1..11..10..10..*1..* 1..*0..10..*访客+++++按照课程查看课表()按照教室查看课表()按照教师查看课表()查看课表生成时间()登陆() ()教师个人意向+++意向人代课课程意向上课时间要求: Tea : Les : boo ++读取教师个人意向 构造个人意向 ()学生++++学号姓名专业班级: in : st : st : in+选课 ()系统管理员+管理人姓名: int +++++添加教师 ()注册新班级 ()注销班级 ()注销学生 ()设置排课时间 ()教师+++教师编号教师姓名教师个人意向++++设置个人意向()验证代课资格()调课申请提交()注销() ()班级++++班级编号专业班级人数班级课程表: int : std : int : Cla++新班级注册 ()班级注销 ()课程表容器++课程表编号使用班级: std:: int班级课程表+++++++上课时间课程任课教师教室上课班级学年学期: in : Le : Te : R : C : in : st课程+++++课程编号课程名称使用限制学分学时: in : st : bo : in : in课程规划人员+课程规划管理 ()课程规划+++专业学期规划课程: st : st : Le ++获取班级规划构造课程规划教室----教室楼号教室号多媒体安装情况座位数: int : int : boo : int++++设备更新 ()设备删除 ()设置教室专用信息 ()分配教室 ()7.设计层次类图1..11..1**1..*1..*0..10..*访客+++++按照课程查看课表() ()按照教室查看课表() ()按照教师查看课表() ()查看课表生成时间() ()登陆() (): ClassTimeTable : ClassTimeTable : ClassTimeTable : int : void教师个人意向+++意向人代课课程意向上课时间要求: Teacher : Lesson : bool ++读取教师个人意向 ()构造个人意向 (): void : Lesson学生++++学号姓名专业班级: int: std::string : std::string : int+选课 (): ClassTimeTable系统管理员+管理人姓名: int +++++添加教师 ()注册新班级 ()注销班级 ()注销学生 ()设置排课时间 (): Teacher : Class : void : void : bool教师+++教师编号教师姓名教师个人意向: int : std::string : bool ++++设置个人意向() ()验证代课资格() ()调课申请提交() ()注销() (): bool : bool : bool : void班级++++班级编号专业班级人数班级课程表: int: std::string : int: ClassTimeTable++新班级注册 ()班级注销 (): int : void课程表容器++课程表编号使用班级: std::string: int班级课程表+++++++上课时间课程任课教师教室上课班级学年学期: int : Lesson : Teacher : Room : Class : int: std::string课程+++++课程编号课程名称使用限制学分学时: int: std::string : bool : int : int课程规划人员+课程规划管理 (): Lesson课程规划+++专业学期课程规划: std::string : std::string : Lesson ++获取班级规划课程 ()构造课程规划 (): void : void教室----教室楼号教室号多媒体安装情况座位数: int : int : bool : int++++设备更新 ()设备删除 ()设置教室专用信息 ()分配教室 (): bool : void : void : void8.组件图9.部署图自动排课系统课表生成收集教师代课意向课表查询课表更改安排代课教师安排授课时间、教室自动排课系统构件图10.持久类类图及关系模型 (1).持久类类图1..*1..11..*0..*学生教师班级班级课程表课程教室(2).对应关系模型教师(教师编号,教师姓名)学生(学号,姓名,专业,班级)班级(班级编号,专业,班级人数,班级课程表)课程(课程编号,课程名称,使用限制,学分,学时)班级课程表(上课时间,课程,任课教师,上课班级,学年,学时)。