【问题标题】:Can two actors both required for a usecase be the same person?用例所需的两个参与者可以是同一个人吗?
【发布时间】:2020-09-21 13:16:43
【问题描述】:

我收到了以下用例图。

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

有人告诉我,Actor 用于对领域中的某些角色进行建模,并且“真实”的人可以担任多个角色。

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

【问题讨论】:

  • 警告使用正确的命名/标签,您在问题和相关标签中使用了“UML 活动图”而不是“用例图”

标签: uml use-case-diagram


【解决方案1】:

是的,这是可能的。

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

  • 用户:在系统中添加新的错误报告以表明问题的人
  • 纠正者:纠正错误的人

如果开发软件的人员在实习生中发现的错误被跟踪,该团队的同一个人可以担任这两个角色


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

一定要测试我同时扮演了用户和管理员的角色

等等,这样的情况很多

【讨论】:

    【解决方案2】:

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

    所以严格来说,如果 A 和 B 是系统,那么根本不需要人。

    但即使图中的所有参与者都是人类:图中的multiplicity of actors 未指定。大多数人认为它意味着 1,即强制参与者。但是未指定意味着我们不知道。它可能是(至少,从 UML 2.5 开始)0..1,因此与主体交互只需要一个参与者,剩下的第二个是可选的。

    最后,正如您已经正确分析和布鲁诺确认的那样,即使需要两个演员,也可能是同一个人。

    【讨论】:

    • 我同意大多数人都错了,当他们认为这意味着 1。然而,下一个最常见的误解是,它意味着未指定。实际上,这意味着建模者不想在图表中提及它。我们必须查看模型以找出答案。在那里我们可能会发现,它实际上是未指定的。而且 - 令人惊讶的是 - 这意味着 1。它意味着 1,因为有属性 lowerupper 的推导,在未指定的 lowerValueupperValue 的情况下计算为 1。当然你仍然可以争论,隐式和显式 1 之间是有区别的。
    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 2018-04-22
    • 2014-04-30
    • 2014-12-30
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多