支付场景的用例图
Use-case diagram for payment scenario
我想澄清用例图中涉及支付的一个场景。有两种付款方式。
- 正在使用卡
- 使用手机号码
这里想澄清一下第二个。要进行移动基本支付,首先用户需要在用户尝试在支付页面中进行支付时添加手机号码。我把它作为 extend 关系。请告诉我这是否正确。
形式上,这是不正确的。用例可以与参与者相关联,但不能与其他用例相关联:两个用例之间的关系可能是 «extend»
,或 «include»
或专业化。因此,Add mobile number
和 mobile
无法与您绘制的图表相关联。
根据你的意思,你可以更正你的图表:
- 通过显示
mobile
包括Add mobile number
(带箭头的虚线),如果你的意思是每次 mobile
被执行, add mobile number
也会被执行。
- 通过显示
Add mobile number
扩展 mobile
(带箭头的虚线),如果你的意思是 在某些情况下 其中 mobile
是已执行,add mobile number
也可能需要执行。
其他符号改进可能是摆脱关联演员和用例的箭头。这是一个过时的符号。
除了这些纯粹正式的评论之外,重要的是要认识到用例应该代表用户的价值目标。虽然我们肯定会同意 payment
是用户的目标,并且我们当然可以理解您希望为不同的支付方式添加扩展的愿望,但我们肯定不会同意 Add mobile number
是目标这一事实为用户。它要么是功能分解,要么是用户界面细节,原则上不应在 UC 图表中记录这两个方面。
我想澄清用例图中涉及支付的一个场景。有两种付款方式。
- 正在使用卡
- 使用手机号码
这里想澄清一下第二个。要进行移动基本支付,首先用户需要在用户尝试在支付页面中进行支付时添加手机号码。我把它作为 extend 关系。请告诉我这是否正确。
形式上,这是不正确的。用例可以与参与者相关联,但不能与其他用例相关联:两个用例之间的关系可能是 «extend»
,或 «include»
或专业化。因此,Add mobile number
和 mobile
无法与您绘制的图表相关联。
根据你的意思,你可以更正你的图表:
- 通过显示
mobile
包括Add mobile number
(带箭头的虚线),如果你的意思是每次mobile
被执行,add mobile number
也会被执行。 - 通过显示
Add mobile number
扩展mobile
(带箭头的虚线),如果你的意思是 在某些情况下 其中mobile
是已执行,add mobile number
也可能需要执行。
其他符号改进可能是摆脱关联演员和用例的箭头。这是一个过时的符号。
除了这些纯粹正式的评论之外,重要的是要认识到用例应该代表用户的价值目标。虽然我们肯定会同意 payment
是用户的目标,并且我们当然可以理解您希望为不同的支付方式添加扩展的愿望,但我们肯定不会同意 Add mobile number
是目标这一事实为用户。它要么是功能分解,要么是用户界面细节,原则上不应在 UC 图表中记录这两个方面。