顺序图:演员对象?


11

最可能的答案是“否”,但我对此表示怀疑。演员可以当班吗?

我知道actor会触发事件并且可以有提示,但是如果有一个模拟actor的类(例如用户类),我们可以在它们之上调用方法吗?还是这完全是对演员角色的误解,演员角色与代表阶级混在一起?

假设是正确的:

假设正确的例子

怀疑是否正确:

在此处输入图片说明

Answers:


8

在UML中,Actor始终是超出您要构建的系统/软件范围的事物(系统或人员)。将角色与类的实例/对象恰好等同于在系统中对角色的某些方面进行建模是完全错误的。

在所示的UML图中,参与者“用户”(带有棍子图标)代表操作系统的现实世界中的人。该类User代表该人的模型,该模型捕获与您相关的特征。此类仅存在于您的系统中。
这使得类和参与者是两个不同的实体,因此也应该在图中显示出来。


“ Actor总是超出您要构建的系统/软件范围。” 尽管如此,actor通过启动调用堆栈直接与某些Class的对象进行交互。因此,他某种程度上系统的一部分(他由UI层中的另一个任意类表示,该类很可能不是由类图建模的)。起初这似乎真的违反直觉,并且可能是某些人感到困惑的根源。
dvdblk

演员是一个单独的实体。即使系统不存在,Actor也存在。Actor会启动,关闭甚至向系统提供输入,但不会坐在软件系统内部执行系统的任何任务。系统独立于演员工作。对象可以模拟现实世界中的角色,但仍然依赖人类角色进行直接或间接的启动,退出和输入。
user2994783
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.