在用例图中,动物可以作为参与者吗?

3

我正在为兽医领域的犬类开发用例图。然而,我困惑是否应将犬作为参与者,因为它无法与系统进行交流。但是,系统所做的一切完全取决于犬,如检查、注射等。

2个回答

1

什么是演员?

关键在于精确定义考虑的系统(在UML术语中称为主体),因为这决定了什么是或不是演员:

每个用例都指定了一个主体可以与一个或多个演员协作执行的某些行为。
(...) 演员模拟了一种由与其相关联的用例的主体进行交互的实体扮演的角色(例如,通过交换信号和数据)。演员可以代表人类用户、外部硬件或其他系统扮演的角色。

更一般的需求分析概念是利益相关者。所有演员都是利益相关者,但可能有不是演员的利益相关者,例如,如果他们间接从系统中获益。

狗算不算演员?

这取决于考虑的系统。主要情况如下:

  • 该系统是仅供兽医使用的应用程序:狗不是演员。该系统支持兽医实现他/她的目标。狗与系统之间没有直接交互(除非它跳到键盘上)。然而,狗间接受益于该系统,因此您可以将其视为利益相关者(不应在图表上表示)

  • 该系统由一个兽医应用程序和与狗交换信号的设备组成(例如,用于AI吠叫分析的麦克风、摄像头、心血管监测电极、超声波扫描仪等)。狗是演员,即使狗在交互中被动并且没有意识到有计算机参与其中。狗是次要演员,因为用例主要支持兽医的目标。

  • 该系统是兽医诊所:您正在进行业务分析。狗主人将是主要演员,因为他/她与诊所互动以实现自己的目标,即让他/她最好的伴侣保持健康。狗将是次要演员,因为它也会出于主人的用例与诊所互动(有意或无意)。但在这种分析中,兽医将成为考虑的系统的一部分,而不是演员。

根据您问题的措辞,您很可能处于第一种情况。


0

我认为它应该是一个次要角色。这意味着它将参与用例,但不会启动它。您可以简单地将其留空,或者如果您打算区分不同的动物,也可以使用一般形式(如哺乳动物)。

实际上,演员是从所考虑的系统中获得增值的人/物。我认为喂养宠物也有一个动物作为主要演员。可能在这里不是这种情况,但请考虑谁获得了增值:那就是(主要)演员。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接