Uml 用例所需的两个参与者可以是同一个人吗?

Uml 用例所需的两个参与者可以是同一个人吗?,uml,use-case-diagram,Uml,Use Case Diagram,我已经看到了下面的用例图 给出的问题是“用例需要多少人?” 我被教导,演员被用来模拟领域中的某些角色,“真实”的人可以扮演多个角色 严格按照这个定义,一个人同时扮演两个角色就足够了,但我不确定我是否遗漏了什么,因为直觉上应该有一个原因,为什么有两个演员在场。 一个“真实”的人就够了吗 是的,这是可能的 例如,设想一个系统允许跟踪软件中的错误,参与者可以 用户:在系统中添加新错误报告以发出问题信号的人 修正者:修正错误的人 如果开发软件的人员在intern中检测到缺陷,则该团队的同一人可以

我已经看到了下面的用例图

给出的问题是“用例需要多少人?”

我被教导,演员被用来模拟领域中的某些角色,“真实”的人可以扮演多个角色

严格按照这个定义,一个人同时扮演两个角色就足够了,但我不确定我是否遗漏了什么,因为直觉上应该有一个原因,为什么有两个演员在场。 一个“真实”的人就够了吗

是的,这是可能的

例如,设想一个系统允许跟踪软件中的错误,参与者可以

  • 用户:在系统中添加新错误报告以发出问题信号的人
  • 修正者:修正错误的人

如果开发软件的人员在intern中检测到缺陷,则该团队的同一人可以担任这两个角色


在我的论坛中,当用户请求注册时,我手动接受或不接受注册以拒绝垃圾邮件发送者

确保测试我同时扮演了用户和管理员的角色


等等,有很多这样的案例

这个问题似乎假设演员就是人。然而事实并非如此:一个系统可以是另一个与用例主题交互的系统

严格地说,如果A和B是系统,那么根本不需要人员

但即使图中的所有参与者都是人类:图中的角色是未指定的。大多数人认为这意味着1,即强制演员。然而,未指明的意思是我们不知道。它可以是(至少,因为UML2.5)
0..1
,这样与主体交互只需要一个参与者,剩下的第二个是可选的


最后,正如您已经正确分析和Bruno确认的,即使需要两个参与者,也可能是同一个人。

警告使用正确的命名/标记,您在问题和相关标记中使用了“UML活动图”,而不是“用例图”。我同意大多数人都错了,他们认为这意味着1。然而,下一个最常见的误解是,它意味着未指定。实际上,这意味着建模者不想在图表中提及它。我们必须查看模型才能找到答案。在那里,我们可能会发现,它实际上是未指明的。令人惊讶的是,这意味着1。它的意思是1,因为属性
lower
upper
有一个派生,在未指定
lowerValue
upperValue
的情况下,其计算结果为1。当然,你仍然可以争辩说,隐式和显式之间是有区别的。