Uml 如果我有一个用例,根据用户的角色有不同的行为,我应该画两个序列图吗?

Uml 如果我有一个用例,根据用户的角色有不同的行为,我应该画两个序列图吗?,uml,sequence-diagram,Uml,Sequence Diagram,如果一个用例由两个不同的用户执行,并且活动流根据该角色而变化,则应在两个不同的序列图中指定每个角色一个?两个不同类型的用户和不同的活动表示两个单独的图。 即使活动没有什么不同,但最好在大多数情况下使用两个单独的图表,以防两个用户没有组成一个组。您有更多的选择。首先,问题是在该用例中是否有不同的主要参与者。如果没有,我想一个用例就足够了。如果您有不同的参与者,但是用例场景在这两种情况下非常相似,并且在小行为或流经用例的人工制品方面不同,那么您可以将其参数化,或者如果差异是孤立的,那么您可以创建一个

如果一个用例由两个不同的用户执行,并且活动流根据该角色而变化,则应在两个不同的序列图中指定每个角色一个?

两个不同类型的用户和不同的活动表示两个单独的图。
即使活动没有什么不同,但最好在大多数情况下使用两个单独的图表,以防两个用户没有组成一个组。

您有更多的选择。首先,问题是在该用例中是否有不同的主要参与者。如果没有,我想一个用例就足够了。如果您有不同的参与者,但是用例场景在这两种情况下非常相似,并且在小行为或流经用例的人工制品方面不同,那么您可以将其参数化,或者如果差异是孤立的,那么您可以创建一个扩展点。请记住,产生的用例和扩展点首先必须有意义,这些机制不仅仅是为了可重用性。一旦有了不同的用例,就需要单独的序列图。对于参数化用例,您可以创建参数化序列图。扩展点通过调用其他行为在序列图中表示,这意味着单独的图。

请记住,序列图表示与系统进行交互以执行给定功能的可能场景。因此,如果两个角色与系统交互的方式不同,那么我建议使用两种不同的序列图


如果差异很小,您可以使用一个带有替代小节的序列图(标准中允许这种可能性,如果您想查看示例,请查看标准文档中的“alt”符号)

活动的顺序是相同的,但如果用户具有特定角色,则有些步骤不会发生。这是否应该被视为一条替代路径?还是一个不同的图表?