如何从用例图中识别正确的主要参与者?

How to identify the correct primary actor from the use case diagram?

我根据一个场景创建了一个用例图,我总共确定了 5 个参与者。

但是,我正在尝试确定正确的主要参与者。

我不确定团队领导和维护工程师是否是主要参与者,因为他们的工作非常密切。

主要参与者始终是触发用例的参与者。作为所考虑系统的外部人员,他是从使用该系统中获得附加值的人。一个用例很可能有多个主要参与者。对于 Install UC,它将是 LeaderEngineer.

相比之下,所谓的次要参与者仅以在主要参与者触发的动作过程中某处需要其交互的方式参与。

有时创建一个所有主要参与者都继承的参与者是有意义的。你会给那个演员他扮演的角色名称。就像在剧院里一样。因此,对于两个“主要”参与者,您可以简单地从 LeaderEngineeer 进行概括。这意味着 Leader 继承自 Engineer,因此可以访问 Install 用例。所以基本上 Leader 充当 作为 Engineer (这很有意义)。

这里有两个级别。

对于整个系统或整个用例图,通常可能有几个主要参与者:

The primary actors are the ones for whom the system is built; they are the ones to whom the system provides sufficient economic value to warrant its construction.
- Bittner & Spence in Use Case Modeling

单个用例级别,通常可能有一个主要参与者:

The primary actor of a use case is the stakeholder that calls on the system to deliver one of its services. (...) The primary actor is oten, but not always the actor who triggers the use case.
- Cockburn in Writing effective use cases

在你的情况下,它更加模棱两可,因为你似乎有 13 个用例分布在 3 个不同的系统之间(还有一些浮动在两者之间):你在哪个级别寻找主要参与者?

提示,与您的问题无关**

  1. 仔细阅读叙述,区分用户分配的位置和他们使用的软件系统(我怀疑只有一个系统在起作用);
  2. 请记住,用例不是系统外的用户任务,而是用户希望通过系统实现的目标(例如,“Return 部分”是否对应于 activity 在系统中?)
  3. 请记住,某些参与者可能对应于应与您正在设计的系统交互的其他系统(例如,FMS 是否真的在您的范围内,或者它是配角?)