我只是在学习UML,并且正在质疑如何正确地定义参与者。我知道演员在系统中扮演角色,我在确定人类演员方面没有问题。我的问题是,我如何决定系统中哪些非人类的外部组件是参与者。
例如,在家庭自动化系统中,房主和系统安装者将是参与者。将门传感器或咖啡机命名为演员是否正确?这些组件从主计算机模块接收信号,并且可以为在它们上采取的操作编写用例(例如,打开/关闭咖啡机)。
主计算机/服务器是“系统”还是系统由计算机/服务器和所有组件(照明模块、咖啡机、门传感器)的集合组成?
发布于 2011-03-14 11:42:37
我认为你必须首先定义系统的边界,然后才能更容易理解外部参与者,但请记住,参与者通常被视为黑盒。
例如,如果自动化系统发现食品供应不足,需要补充库存,它可能会在在线服务上发起订单;在这种情况下,接受此类订单的在线系统是一个参与者,您不需要知道它将如何处理订单,作为自动化系统的开发人员,您需要知道它的公共接口以便与其交互。
参与者是与您试图开发的系统交互的某人或某物(另一个系统)。更正式地说,参与者发起用例。
发布于 2011-11-02 00:44:38
@Stef -参与者还可以帮助主要参与者实现用例的既定目标。您示例中的在线服务就是这种情况。在线服务在这里不会发起任何用例,但在接收订单时,它将成为order食品供应用例的次要角色。
https://stackoverflow.com/questions/5294287
复制相似问题