当我在寻找系统的参与者时,我对“外部实体”的含义感到困惑。
例如,如果案例研究是一台洗衣机,那么为机器提供动力的参与者“动力”是否存在? “权力”是外部实体吗?
最佳答案
在 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
当我们对任何系统进行建模时,主体都将其视为任何事物。 一个模块、一个组件、一个子系统,甚至一个用例等等。
因此,所有外部到主题并与主题交互的东西都可以是一个参与者。
因此,Actor 有 3 种类型,应该在主题外部:
- 人类
- 其他系统
- 时间
示例 1:假设我们正在为 ATM 建模。所以主题是ATM。因此,客户(来自主体外部)与主体进行交互。然后 Customer 可以成为 Actor。
示例 2:软件系统使用 Google API。因此,如果假设主体是 Google System,则与 Google 交互的其他软件可以是参与者。
示例 3:假设我们正在为系统中的一个模块建模。所以,主题就是那个模块。来自外部(我们模块的)的另一个模块可以与我们的模块交互并且可以是参与者。
示例 4:我们正在建模并专注于一个用例。所以,主题是这个用例。来 self 们用异常(exception)部的另一个用例与我们的用例交互(例如包含关系)。所以其他用例可以成为我们用例的参与者
示例 5:我们正在对洗衣机建模,而洗衣机是我们的主题。任何从主题外部启动机器的客户都可以成为我们主题(洗衣机)的参与者。
示例 6:我们正在为洗衣机内部建模(就像它的发动机一样)。所以电机引擎是我们的主体,而动力是外部的。所以 Power 可以成为我们系统的参与者(洗衣机内置发动机)
最后:Subject的含义与Viewpoints of Observers of the Subject有关。在我们的项目中确定了 Subject 的含义后,External the Subject 就很容易确定了。
关于uml - 用例图中的外部实体 (UCD UML 2.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47914288/