Eri*_* T. 2 uml use-case use-case-diagram
考虑以下情况:
我有一个Web服务,提供有关在线商店中订单的信息。在另一台机器上,有一个Windows服务,该服务每小时从Web服务中检索一次订单,并将数据写入数据库。Windows服务代替了计划任务,而是使用Windows服务,因为它提供了tcp终结点,因此客户端可以手动(使用简单的桌面应用程序)命令服务检索特定顺序的数据。
我不确定必须在哪里放置Windows服务。它是在给定的时间间隔内调用Web服务的主要参与者,但由于它对客户端的命令做出反应,因此它是次要参与者。
在这种情况下,我应该如何继续创建用例图?
答案取决于您认为系统的情况。
如果您的系统同时包含Web服务和Windows服务作为(多层)系统的一部分,则参与者都不是。Windows服务提供的功能将是一种(或更多,取决于服务的复杂性)用例。如果您认为该Web服务可能会成为Windows服务中包含的第二个用例(一种罕见的情况,但可以在此处使用)。
这些零件在单独的机加工中这一事实并不能改变任何事情。通常的方法是数据库具有独立的计算机,但是没有人合理地认为数据库与系统是独立的。
如果将Windows服务视为一个单独的系统,则实际上将有两个用例图,每个系统用例图一个。
在这种情况下,Windows服务的用例图将以客户端为主要参与者,将包含Web服务的系统为次要参与者。
在具有webservice的系统的用例图中,您的主要参与者是Windows服务系统(作为一个整体,而不是服务本身)。在此图中,根本没有显示客户端,因为它不与系统交互。
即使您将Windows服务和Web服务都视为一个系统,您仍然可以描述组件的用例,而不是整个系统。在这种情况下,方法将类似于两个系统的情况。