扩展与基本用例

时间:2012-01-28 06:31:12

标签: uml use-case

在我的模块/子系统中,仅使用父系统的核心数据处理的精简版本,以便哪一个(选项1/2/3)是正确的?

[核心数据处理是真实和完整的商业案例,但该图所属的子系统不会使用这个完整的场景,而只是它的某些部分]

enter image description here

2 个答案:

答案 0 :(得分:2)

选项1表示修剪数据处理(TDP)永远不会由actor直接触发,而是在条件X(您可以在扩展点中指定的条件)变为true时执行。 因此,它是一个流程路径,并非在核心数据处理(CDP)的所有执行中都发生。用户执行CDP,有时CDP将流量控制提供给TDP。在这种情况下,TDP不需要是一个完整的用例(见后)。

选项2表示选项1,如果您添加了关联的演员和CDP,以及用户可以直接触发TDP的事实。选项2对我来说并不是那么有意义(但我对你的用例的语义不是很了解)。

选项3意味着TDP是由用户直接触发的自治流程,并且作为一个完整的用例:它为价值链带来价值并使系统保持一致状态。

选项1和选项3可以正确但在不同级别(1 @业务级别和3 @系统级别)。显然,在这种解释中,选项1的参与者与选项3的参与者不同,更具体地说,选项3的参与者是CDP(实际上“在选项1中”调用“TDP”)。

关于选项1和2我同意Oleksi如果不在其他用例中重复使用,则不会显示扩展用例。

答案 1 :(得分:1)

选项2和3都是正确的。我之前没见过选项1。

如果您只在一个地方使用核心数据处理,我不会费心扩展它。也就是说,如果您不在多个位置重用Core Data Processing,请使用选项3,否则使用选项2。

通常您希望您的用例图尽可能简单,因此请避免指定太多。你真的需要在这个用例中指定核心数据处理吗?如果你认为这个级别很重要,那就加入它。否则,只需坚持使用最简单的图表来获取消息。