gpt4 book ai didi

UML 用例图 - 扩展点识别

转载 作者:行者123 更新时间:2023-12-05 02:34:34 30 4
gpt4 key购买 nike

您能否告诉我我是否正确理解了用例(和图表)中的扩展点?对于用例“卡支付”和扩展用例“信用卡支付”,是否正确识别扩展点将是“用户点击用卡支付按钮”?还是应该是“系统询问付款方式”?

enter image description here

最佳答案

扩展点识别正确。

然而,问题在于扩展根本不应该是扩展。

来自 UML 规范 2.5:

The extended UseCase is defined independently of the extending UseCaseand is meaningful independently of the extending UseCase. On the otherhand, the extending UseCase typically defines behavior that may notnecessarily be meaningful by itself.

因此您的用例付款应该独立于扩展用例信用卡支付现金支付。这显然不是这种情况,因为您需要扩展用例才能具有有意义且完整的行为。

在这种情况下,有几种使用扩展的替代解决方案。

  • 单个用例:只需将扩展用例合并到主要付款用例中。您可以为不同的支付选项创建替代方案。这可能是最好的选择,因为您的用例无论如何都太细化了。用例应该是关于用户在使用系统时应该拥有的主要目标。与系统提供的功能无关。

  • 包含:您可以使用包含关系(有条件地)将其他用例行为包含到您的主要用例中。这会更合适,因为主要用例依赖于包含的用例的结果,没有它们就不完整。

  • 泛化:您可以将付款专门化为pay by cashpay by credit card。用例之间的泛化是允许的,但很多从业者通常不鼓励。

关于UML 用例图 - 扩展点识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70749362/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com