面向对象分析与设计:实验3 教学管理系统分析类

实验1:https://blog.csdn.net/weixin_42263049/article/details/89949813
实验2:https://blog.csdn.net/weixin_42263049/article/details/89949985

五、分析类图

面向对象分析与设计:实验3 教学管理系统分析类
面向对象分析与设计:实验3 教学管理系统分析类面向对象分析与设计:实验3 教学管理系统分析类面向对象分析与设计:实验3 教学管理系统分析类
面向对象分析与设计:实验3 教学管理系统分析类

六、类图说明

1.系统使用者身份类

说明:记录系统使用者的ID、在系统中的角色。
属性:

属性名 可见性 类型 含义
账号ID 公有 string 登陆用的账号id
角色 公有 string 用户在系统中的角色

行为:无

2.用户信息类

说明:作为用户信息列表中的元素,作为登录时比较的依据
属性:

属性名 可见性 类型 含义
账号ID 公有 string 登录用的账号id
密码 公有 string 登录用的密码,可能需要加密
身份 公有 string 用户在系统中的身份

行为:无

3.用户信息列表

说明:系统中所有用户的登录凭据组成的列表
属性:

属性名 可见性 类型 含义
用户表 私有 用户信息类表 所有用户的登录凭据组成的列表

行为:无

4.课室占用者

说明:可能会有需要占用课室的时候的一类人员,具体分类可继续往下细分。
属性:

属性名 可见性 类型 含义
用户ID 受保护 String
密码 受保护 String
职务 受保护 String

行为:

行为名 用况 内容
查询空教室 4 返回各个教学楼的空教室信息列表
获取用户信息 6 获取ID、职务
申请占用用课室 6
查询课室申请表 8 返回自己提交的申请表和对应的审批情况(未审批,不批准,批准)
5.表单操作

说明:对课室申请表的操作
属性:无
行为:

行为名 用况 内容
提交 5,6 传入基本信息,新建课室申请表对象
批阅 7 传入状态和表id,申请表状态被修改
获取未批阅申请表 7 将课室申请表中状态为未批阅的表找出并传回
查询 8 传入查询人的唯一id_A,查询返回申请人id_B和id_A相同的申请表列表
6.课室申请表

说明:包含具体课室申请表的内容,每一个实例为一张申请表。
属性:

属性名 可见性 类型 含义
识别id 受保护 string 不同申请表识别id不同
申请人 受保护 string 申请人姓名
申请人id 受保护 string 申请人id
申请教室所在教学楼 受保护 string 教学楼名字
申请教室号 受保护 string 教室号
状态 受保护 char “-”为未批阅,”y”已批,”n”不批

行为:

行为名 用况 内容
设置信息 5 传入基本信息,新建申请表对象,生成唯一识别id
发送申请 5
被提交 6 传入基本信息,新建申请表对象,生成唯一识别id
被查询 7 如果申请表状态为未批阅,则返回申请表基本信息
被批阅 7 传入状态char,替换申请表状态
被查询 8 传入申请人id,返回申请表基本信息
7.课室管理员

说明:这是负责管理分配课室的一类人员
属性: 无

行为:

行为名 用况 内容
维护课室信息 3 根据已有的清空更新课室信息列表,供学生和教师进行查询
批准或拒绝申请表 7 可以获取状态为未审批的申请表,通过日程安排和教室被占用情况,主观判断是修改申请表为批准,还是未批准,传回状态修改申请表
8.课程管理员

说明:
属性:

属性名 可见性 类型 含义
用户ID 受保护 String
密码 受保护 String
职务 受保护 String

行为:

行为名 用况 内容
获取用户信息 5 获取ID、职务
申请使用课室 5
9.管理课室信息

说明:用来提供查看课室信息、修改课室信息的类
属性: 无

行为:

行为名 用况 内容
查看教室信息 7 供课室管理员判断课室的分配情况,返回课室的使用情况数组[周][天][时段]
占用课室 7 供课室管理员分配课室,传入要申请占用的教学楼,教室号,使用周、天、时段,返回boolean类型表示是否占用成功
10.课室信息

说明:记录课室的基本信息和使用情况,包含一个课室的信息,作为课室信息列表的元素
属性:

属性名 可见性 类型 含义
教学楼 受保护 string 教室所在教学楼
教室号 受保护 string 教室标识
容量 受保护 int 教室可容纳有座位学生最大值
占用表 公有 时段类 包含课室的完整占用信息
校区 公有 string 课室所在校区
楼层 公有 string 课室所在楼层
课室类型 公有 string 课室大小、是否为多媒体教室
备注 公有 string 某些课室的特殊说明
是否启用 公有 bool 该课室能否继续正常提供功能

行为:
行为名 用况 内容
返回空教室信息 4 返回空教室的全部信息
占用课室时段 4 当该周该天该时段未被使用,修改使用情况为u且返回true,否则返回false
获取课室信息 5
检索课室信息 5 将课室信息与数据库核对
返回教室信息 7 返回教室的全部信息
占用课室时段 7 当该周该天该时段未被使用,修改使用情况为u且返回true,否则返回false

11.申请使用课室管理

属性:

属性名 可见性 类型 含义
用户 受保护 User 用户对象的引用
课室列表 受保护 List 用户要申请的课室列表对象
课室申请表 受保护 Table 封装申请信息的对象的引用

行为:

行为名 用况 内容
校验申请信息 5
12.申请占用课室管理

属性:

属性名 可见性 类型 含义
用户 受保护 User 用户对象的引用
课室 受保护 List 用户要申请的课室对象
课室申请表 受保护 Table 封装申请信息的对象的引用

行为:

行为名 用况 内容
校验申请信息 6
13.课室信息列表

说明:包含所有课室信息的列表,供查询使用
属性:

属性名 可见性 类型 含义
课室信息列表 公有 string 由课室信息对象组成的列表

行为:无

14.查询请求表单

说明:包含用户提交的查询请求,由用户在界面上填写
属性:

属性名 可见性 类型 含义
是否查询全部 公有 bool 否,则按条件查询
校区 公有 string 查询的教室所在校区,不使用该条件则为空
教学楼 公有 string 查询的教室所在教学楼,不使用该条件则为空
楼层 公有 string 查询的教室所在楼层,不使用该条件则为空
容纳人数 公有 string 查询的教室可容纳的人数,不使用该条件则为空
时段 公有 时段类 查询教室在选定时段内的空闲情况,不需要在结果中显示则为空

行为:无

15.时段类

说明:包含用户提交查询请求时填写的时段的信息,本质上是一个“时间点”列表
属性:

属性名 可见性 类型 含义
时段列表 公有 时间点列表 一个时间点为一节课,该列表描述了多个的时间点的集合

行为:无

16.时间点类

说明:一个时间点描述了课表上半节课所占有的时间,用课表上的序号表示其在一天中的时间(如:第7节课);还可选地包含了占用者信息(如果仅用于查询目的则可以留空);
属性:

属性名 可见性 类型 含义
日期 公有 日期 该时间点所在日期
序号 公有 int 用课表上的序号表示在一天中的时间
占用目的 公有 string “上课”、“社团活动”等,仅用于填写查询表单则填空
占用者 公有 系统使用者身份类 包含占用的申请人信息,仅用于填写查询表单则填空

行为:无

17.查询结果列表

说明:包含了用户查询课室信息的查询结果的列表
属性:

属性名 可见性 类型 含义
查询结果列表 公有 课室信息类列表 包含了用户查询课室信息的查询结果的列表

行为:无

18.登录控制器

说明:实现登录功能,要判断是否已登录等,要返回登录失败原因
属性:无

行为:

行为名 用况 内容
登录 1 传入用户信息对象看是否登录成功,登录成功则填写系统使用者身份类;登录失败则返回失败原因;
19.查询课室信息控制器

说明:实现根据用户提交的查询表单进行各种查询,并返回查询结果给用户
属性:无

行为:

行为名 用况 内容
查询课室信息 2 传入查询请求表单对象,返回包含查询结果的课室信息列表