扩展用例与基本用例
在我的模块/子系统中,将仅使用父系统核心数据处理的精简版本,因此哪一个(选项 1/2/3)是正确的?
[核心数据处理是真实且完整的业务案例,但该图所属的子系统不会使用这个完整的场景,而仅使用其中的某些部分]
In my module/subsystem, trimmed down version of core data processing of the parent system will be used ONLY so which one (option 1/2/3) is correct?
[The Core Data Processing is the real and complete business case but the subsystem, to which this diagram belongs, will not use this complete scenario but just some parts of it]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
选项 1 意味着修剪数据处理 (TDP) 永远不会由参与者直接触发,而是在条件 X(您可以在扩展点中指定的条件)变为真时执行。
因此,这是一个在核心数据处理(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 不显示扩展用例,如果它们没有在不同的其他用例中重用。
option 1 means that Trimmed Data Processing (TDP) is never triggered directly by the actor but executed when a condition X (the one you could specify in an extension point) becomes true.
So it is a flow path that NOT in all the execution of Core Data Processing (CDP) happens. User executes CDP and sometimes CDP give the flow control to TDP. In this case TDP is NOT required to be a complete use case (see after).
option 2 means option 1, if you add an association btw the actor and CDP, plus the fact that the user can trigger TDP directly. Options 2 makes not so much sense to me as is ( but I haven't understood very well the semantic of yours use cases).
option 3 means that TDP is an autonomous flow triggered directly by the user and, as a complete use case: it brings value to the value-chain and leave the system in a consistent state.
Option 1 and option 3 can be both correct but at different level (1 @ business level and 3 @ system level). Clearly in this interpretation the actor of option 1 is different from the actor of option 3, and more specifically, the actor of option 3 is CDP (which in fact "invokes" TDP in option 1).
About option 1 and 2 I agree with Oleksi do not show extended use cases if they are not reused among different others use cases.
选项2和3都是正确的。我以前没见过选项1。
如果您只在一处使用核心数据处理,我就不会费心扩展它。也就是说,如果您不在多个地方重用核心数据处理,请使用选项 3,否则请使用选项 2。
通常您希望用例图尽可能简单,因此请避免指定太多。您真的需要在此用例中指定核心数据处理吗?如果您认为它在这个级别上很重要,那么请将其包括在内。否则,就坚持使用最简单的图表来传达信息。
Option 2 and 3 are both correct. I haven't seen option 1 before.
If you only use Core Data Processing in one place, I wouldn't bother extending it. That is, use option 3 if you don't reuse Core Data Processing in more than one place, otherwise use option 2.
Usually you want your use case diagrams to be as simple as possible, so avoid specifying too much. Do you really need to specify Core Data Processing in this use case? If you think it's important at this level, then include it. Otherwise, just stick with the simplest diagram that gets the message across.