用例图中的外部实体 (UCD UML 2.0)

External Entities in Use Case Diagram (UCD UML 2.0)

我在寻找系统的参与者时对 "external entity" 的含义感到困惑。

例如,如果案例研究是一台洗衣机,那么向机器供电的参与者 "Power" 是否存在? "Power" 是外部实体吗?

在 UML 中,Actor 的定义是:

specifies a role played by a user or any other system that interacts with the subject . An Actor models a type of role played by an entity that interacts with the subject (e.g., by exchanging signals and data), but which is external to the subject. (OMG Definition) see reference

当我们对任何系统建模时,主题任何事物 视为A module, A component, A subsystem, even a use case and etc. 所以,所有 外部 到主题并与主题互动的东西,都可以是演员。

因此,Actor 有 3 种类型,应该在主题外部:

  1. 人类
  2. 其他系统
  3. 时间

示例 1:假设我们正在为 ATM 建模。所以主题是ATM。因此,客户(来自主体外部)与主体进行交互。然后 Customer 可以成为 Actor。

示例 2:一个软件系统使用 Google API。因此,如果假设主体是 Google 系统,则与 Google 交互的其他软件可以是参与者。

例3:假设我们正在对系统中的一个模块进行建模。所以,主题就是那个模块。来自外部(我们模块的)的另一个模块可以与我们的模块交互并且可以是参与者。

示例 4:我们正在建模并专注于用例。所以,主题是这个用例。来自我们用例外部的另一个用例与我们的用例交互(例如包含关系)。所以其他用例可以成为我们用例的参与者

示例 5:我们正在对洗衣机建模,洗衣机是我们的主题。任何从主题外部启动机器的客户都可以成为我们主题(洗衣机)的参与者。

示例 6:我们正在为洗衣机内部建模(就像它是发动机)。所以电机引擎是我们的主体,而动力是外部的。所以 Power 可以成为我们系统的参与者(洗衣机内置发动机)

最后Subject的意思和Subject的观察者的观点有关.当我们在项目中固定了Subject的含义后,External the Subject就很容易确定了。

尽管有模仿 SysML 的 UML 配置文件,但 SysML 比 UML 更适合您。在 SysML 中,您通过连接到 BlockPort 供电。有几个使用 SysML 的例子(我发现 this one, but there are probably better tutorials). So my advice is that you have a look into SysML published by OMG.