当我在寻找系统的参与者时,我对“外部实体”的含义感到困惑。
例如,如果案例研究是一台洗衣机,那么是否存在为机器提供电力的演员“权力”?“权力”是外部实体吗?
当我在寻找系统的参与者时,我对“外部实体”的含义感到困惑。
例如,如果案例研究是一台洗衣机,那么是否存在为机器提供电力的演员“权力”?“权力”是外部实体吗?
SysML 比 UML 为您提供更好的服务,尽管有模仿 SysML 的 UML 配置文件。在 SysML 中,您通过Port
连接到Block
. 有几个使用 SysML 的示例(我在运行中找到了这个,但可能有更好的教程)。所以我的建议是你看看OMG 发布的 SysML。
在 UML 中,Actor的定义是:
指定用户或 与主题交互的任何其他系统所扮演的角色。Actor 对与主体交互(例如,通过交换信号和数据)但在主体外部的实体所扮演的角色类型进行建模。(OMG 定义)见参考
当我们对任何系统进行建模时,Subject将其视为任何事物。因此,主体外部并与主体交互的A module, A component, A subsystem, even a use case and etc.
所有事物都可以成为参与者。
出于这个原因,演员有 3 种类型,应该在主体外部:
示例 1:假设我们正在建模 ATM。所以主题是ATM。因此,客户(来自主体外部)与主体交互。那么客户可以是一个演员。
示例 2:软件系统使用 Google API。因此,如果假设主题是 Google 系统,那么与 Google 交互的其他软件也可以是参与者。
示例 3:假设我们正在对系统中的一个模块进行建模。所以,主题就是那个模块。来自外部(我们的模块)的另一个模块可以与我们的模块交互并且可以是参与者。
示例 4:我们正在建模并专注于用例。所以,主题就是这个用例。来自我们用例外部的另一个用例与我们的用例交互(例如包含关系)。所以其他用例可以成为我们用例的参与者
示例 5:我们正在建模洗衣机,洗衣机是我们的主题。任何从主体外部启动机器的客户都可以成为我们主体(洗衣机)的参与者。
示例 6:我们正在为洗衣机内部建模(就像它的电机引擎一样)。所以马达引擎是我们的主题,而力量在外部。所以 Power 可以成为我们系统的参与者(洗衣机内部电机引擎)
最后: Subject的含义与Subjects of Observers of Observers的观点有关。在我们的项目中确定了 Subject 的含义之后,External就可以很容易地确定 Subject 了。