当我在寻找系统的演员时,我对“外部实体”的含义感到困惑。
例如,如果案例研究是洗衣机,那么为机器供电的演员“电源”是否存在? “权力”是外部实体吗?
答案 0 :(得分:1)
在UML中, Actor 的定义是:
指定用户或任何其他系统所扮演的角色 与主题进行互动。演员模拟由与主题交互的实体所扮演的角色类型(例如,通过 交换信号和数据),但在主题外部。 (OMG定义)see reference
当我们对任何系统进行建模时,主题会将视为 。 A module, A component, A subsystem, even a use case and etc.
因此,对主题外部并与主题互动的所有内容都可以是演员。
出于这个原因,演员有3种类型,应该在主题的外部:
示例1 :假设我们正在为ATM建模。所以主题是ATM。因此,客户(来自外部主体)与主题互动。然后客户可以成为一名演员。
示例2 :软件系统使用Google API。因此,如果假设该主题是Google系统,则与Google交互的其他软件可以是演员。
示例3 :假设我们正在为系统中的模块建模。所以,主题是那个模块。来自外部(我们模块)的另一个模块可以与我们的模块交互,可以是演员。
示例4 :我们正在建模并专注于用例。所以,主题是这个用例。我们的用例外部的另一个用例与我们的用例交互(例如Include关系)。因此,其他用例可以是我们用例的参与者
示例5 :我们正在塑造洗衣机和洗衣机是我们的主题。任何从主题外部启动机器的客户都可以成为我们主题(洗衣机)的演员。
示例6 :我们正在对洗衣机内部进行建模(就像它的汽车发动机一样)。所以汽车发动机是我们的主体,动力是外在的。所以Power可以成为我们系统的演员(洗衣机内部电机引擎)
最后:主题的含义与主题观察者的观点有关。在我们的项目中修正了主题的含义后,可以轻松确定外部主题。
答案 1 :(得分:1)
使用SysML比使用UML更好,尽管UML的配置文件模仿SysML。在SysML中,您通过附加到Port
的{{1}}提供电源。有几个使用SysML的例子(动态我发现this one,但可能有更好的教程)。所以我的建议是你要看看SysML published by OMG。