演员在使用时应该是次要的吗;异步地;? 在UML用例图中,考虑两个名为A和B的参与者,以及一个名为“组织事件”的用例。

演员在使用时应该是次要的吗;异步地;? 在UML用例图中,考虑两个名为A和B的参与者,以及一个名为“组织事件”的用例。,uml,use-case,use-case-diagram,Uml,Use Case,Use Case Diagram,我们想对这样一个事实进行建模,即A可以使用建模的系统启用“组织事件”,但B需要批准组织的发生。然而,事实证明,B可能在一周后批准,也就是说,相当异步地批准是可以的 在这种情况下: B应该是UC的第二角色吗?但是,UC的“激活时间”与B给予批准所需的时间一样长,比如数周,这难道不奇怪吗 或者,是否应该有第二个名为“批准组织”的UC,其中B是主要参与者?但是这个图表并不能清楚地表明B确实参与了a所做的“组织活动” 您可以为actorB使用单独的UC批准事件对其进行建模。UCOrganize eve

我们想对这样一个事实进行建模,即A可以使用建模的系统启用“组织事件”,但B需要批准组织的发生。然而,事实证明,B可能在一周后批准,也就是说,相当异步地批准是可以的

在这种情况下:

  • B应该是UC的第二角色吗?但是,UC的“激活时间”与B给予批准所需的时间一样长,比如数周,这难道不奇怪吗
  • 或者,是否应该有第二个名为“批准组织”的UC,其中B是主要参与者?但是这个图表并不能清楚地表明B确实参与了a所做的“组织活动”

您可以为actor
B
使用单独的UC
批准事件对其进行建模。UC
Organize event
只是在日程表中放置一些事件。但只有获得批准,才能举行一些UC活动,如
cateet event
。为此,您将附加一个约束,该约束读取
{UC批准此事件的事件必须已执行}
或类似内容


Organize event
Approve event
之间的«include»关系意味着后一个UC只能在完成第一个UC后才能完成。这与所需的异步性相矛盾。

如果认可是组织的一部分,那么您就处于案例1中。次要参与者参与到该UC中,但不是“异步地”,同步地或不同步地谈论(a)是没有意义的。为了使UC清晰,文本定义必须描述两个参与者的角色,以及组织可能需要很长时间的事实


但是有两个UCs来区分创造和(非)认可似乎更清楚。在这种情况下,没有UC“组织活动”,“组织活动”是主题。当然,“创建事件”的执行是“批准事件”的先决条件


我认为选项2是最好的。可能会有人想详细解释为什么这是最好的选择。