- 用例图及用例描述(在上一篇里有,就不做赘述)
- 确定各需求条目的优先级,选取优先分析的用例
序号 | 用例/质量需求项名称 | 优先级 | 说明 |
1 | 设定课程信息 | 高 | 必须完整实现 |
2 | 制定课表 | 高 | 同上 |
3 | 制定选课计划 | 中 | 应实现其中大部分功能 |
4 | 制定选课计划【考虑学生数量限制】 | 中 | 尽量实现 |
5 | 查询课表及课程信息 | 高 | 必须完整实现 |
6 | 查询选课计划 | 中 | 应实现其中大部分功能 |
7 | 查询选课学生信息 | 高 | 必须完整实现 |
8 | 用户身份验证 | 高 | 同上 |
9 | 检测课程设置冲突 | 高 | 同上 |
10 | 搜索课程和教师信息 | 高 | 同上 |
11 | 汇总选课计划 | 中 | 应实现其中大部分功能 |
12 | 性能:Req-Performance-001~002 | 高 | 对产品的可接受度影响最大 |
13 | 可靠性:Req-Peliability-001~003 | 高 | 同上 |
14 | 易用性:Req-EasyUse-001~002 | 中 | 对产品的接受度有一定影响 |
15 | 安全性:Req-Authentication-001 | 高 | 对产品的接受度影响最大 |
16 | 安全性:Req-Authorization-001 Req-Audit-001 | 中 | 对产品接受度有一定影响 |
17 | 兼容性:Req-Compatibility-001 | 低 | 可以不实现,但实现可提高接受度 |
18 | 兼容性:Req-Compatibility-002 | 中 | 对产品接受度有一定影响 |
19 | 本地化与国际化:Req-Intl-001 | 低 | 可以不实现,但实现可提高接受度 |
(此处的优先级是我个人的想法,仅作参考)
- 用例的UML顺序图
“制定选课计划”用例的顺序图:
【上图参照课本《软件工程(第4版)》P120页图】
“查询课表及选课信息”用例的顺序图:
“设定课程信息”用例的顺序图:
“汇总选课计划”用例的顺序图:
- 分析类图
(综合所有的用例的顺序图,创建分析类图,优化类图)
【课本P90页图】
- 关键对象(如课程设置对象)的状态图
课程设置对象:
【课本P127页】
学生(教师)对象:
课表对象:
- 核心用例(如制订课表用例)的活动图
“制定课表”用例的活动图:
- 总结
以前在使用课程注册管理系统时,只觉得很方便。如今学习了需求分析去绘制它相关的各种图的时候只觉得麻爪子,每个用例背后对应的操作都很多(我画的并不完善,因为还有很多不懂的地方)。在绘制这些图的时候,我更多的是根据学校的教务系统拥有的功能去对应然后再完善,在有一个成熟目标软件的情况下,我尚且不理解一些图该如何去绘制,可见作为需求工程师的强大(不仅要有很好的业务能力更要有较强的信息化能力,才能成为开发方和用户之间的沟通桥梁)。
这里的用例图、类图、状态图、活动图……这些都还仅包含这个目标软件最简单和基础的一些功能。画完图后,感觉对整个软件的“骨架”和它运作的内部有了初步的认识,希望对最后的编程能有更多帮助。
最后,欢迎大家的指导和探讨。