用例图 - 两个参与者对应一个用例

3
我希望您能为一个存储信息系统提供用例。我需要在用例图上呈现所有者的需求,其中包括客户登录后进行购物以及管理员登录后管理价格等。
我能否从一个用例中概括登录系统 - 两个演员与一个用例结合(如下)?如何“改进”这个图表?

enter image description here

2个回答

1

UML没有规定当多个参与者与同一个用例相关联时的语义。例如,这可能意味着只有其中一个参与者参与而另一个不参与,也可能意味着两个参与者同时参与,或者两个参与者先后参与。

当然,参与者和用例都是分类器。因此,您可以使用用例或参与者的泛化(如此处所示的示例)。

但是,您的图表虽然在语法上是正确的,但存在一些问题:

  • 首先,“管理员账户”不是一个用例:它对参与者不产生任何可观察的结果;它是系统的内部细节。因此,它不符合用例的UML标准。
  • 然后,“登录”,“确认密码”(以及可能的“结账”?)不符合用户目标。正如这里所解释的那样,这在UML规范上并不 fundamentally 错误,但这是一种不好的做法。用例旨在描述参与者的目标,而不是过程或用户界面的细节。
  • 也许我有点老派,但您还应该用表示“主题”的框将用例包围起来,即所考虑的系统。

0

这并没有什么特别的魔法,UML用例描述了一个情况,并且可以有多个用户。

也许只需要把共享的用例移动到旁边。

但是,由于用例图支持用户继承,就像它们是类一样,可能会添加一个类似于“GenericUser”的通用抽象超类,带有共享的用例,以及类似于“User”和“Admin”的子类,带有自己特定的用例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接