UML用例图设计咨询:双用例还是带条件单例?符号选哪种?
UML用例图设计:拆分用例VS带条件用例的选择及符号规范
这是个很典型的权限差异下的用例设计问题,我结合UML规范和实际项目经验给你梳理清楚:
两种方案的对比与选择
1. 拆分两个独立用例
这种方案是我更推荐的,尤其是考虑到后续扩展性:
- 优势:职责划分清晰,从用例图上就能直观看到Admin和User的权限边界,维护起来更省心。比如以后要给Admin的订单查看功能加“导出订单报表”的扩展用例,直接在
查看全部订单上关联就行,完全不会影响User的用例逻辑。 - 用例命名建议:分别设为
查看全部订单(仅关联Admin参与者)、查看自身订单(仅关联User参与者)。
2. 单个带条件的用例
如果当前两种操作的核心流程完全一致,只是返回的数据范围不同,也可以采用这种方式:
- 适用场景:比如两种查看操作的步骤都是“进入订单页→加载订单数据→展示订单详情”,没有额外的流程差异,这时用单个用例(比如命名为
查看订单)会更简洁。 - 注意:如果后续需求迭代中,两种操作的流程开始分化(比如Admin查看订单需要额外显示风控标记),再拆分用例会增加重构成本,所以要提前评估未来的需求变化。
条件约束的符号规范
在UML用例图的规范中,用来标注参与者与用例之间的权限/访问条件,必须使用方括号[],比如:
- Admin和
查看订单用例的关联上标注:[可查看系统全部订单] - User和
查看订单用例的关联上标注:[仅可查看自身名下订单]
而大括号{}在UML中主要用于表示构造型(Stereotype)(比如<<extend>>、<<include>>这类扩展标记的包裹),并不用来定义这种访问条件,别搞混了哦。
内容的提问来源于stack exchange,提问作者IntoTheDeep
相关产品推荐
相关产品推荐

