面向对象分析与设计:实验3 教学管理系统分析类
实验1:https://blog.****.net/weixin_42263049/article/details/89949813
实验2:https://blog.****.net/weixin_42263049/article/details/89949985
五、分析类图
六、类图说明
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 | 传入查询请求表单对象,返回包含查询结果的课室信息列表 |