我刚学习UML,并质疑如何正确定义actor。我知道演员在系统中扮演角色,我没有确定人类演员的问题。我的问题是如何确定非人类外部组件是系统中的参与者。
例如,在家庭自动化系统中,房主和系统安装者将是演员。将门传感器或咖啡机命名为演员是否正确?这些组件接收来自主计算机模块的信号,并且可以编写用例以对其采取的操作(即打开/关闭咖啡机)。
主计算机/服务器是“系统”还是由计算机/服务器集合和所有组件(照明模块,咖啡机,门传感器)组成的系统?
答案 0 :(得分:0)
我认为你必须首先定义系统的界限,然后更容易理解外部演员,但要记住演员通常被视为黑盒子。
例如,如果自动化系统发现食品供应不足并需要补货,则可能会在在线服务上发起订单;在这种情况下,接受此类订单的在线系统是一个参与者,您不需要知道它将如何处理订单,您作为自动化系统的开发人员需要知道它的公共接口才能与它进行交互。
演员是与您正在尝试开发的系统交互的某人或某物(另一个系统)。更正式地,演员发起用例。
答案 1 :(得分:0)
@Stef - 演员还可以协助主要演员实现用例的既定目标。您的示例中的在线服务就是这种情况。在线服务不会在此处启动任何用例,但在接收订单时,它将成为Order Food Supplies用例的次要参与者。