gpt4 book ai didi

uml - 正确指定主要/次要参与者(UML 用例图)

转载 作者:行者123 更新时间:2023-12-01 04:34:07 24 4
gpt4 key购买 nike

考虑以下情况:

我有一个网络服务,可以提供有关网上商店订单的信息。在另一台机器上有一个 Windows 服务,它每小时从 Web 服务中检索一次订单并将数据写入数据库。使用 Windows 服务而不是计划任务,因为它提供了一个 tcp 端点,因此客户端可以手动(使用简单的桌面应用程序)命令该服务检索特定顺序的数据。

我不确定我必须在哪里放置 Windows 服务。它是在给定时间间隔内调用 Web 服务的主要参与者,但它是次要参与者,因为它对客户端的命令使用react。

我应该如何继续为这个场景创建用例图?

最佳答案

答案取决于您认为自己的系统是什么。

一个系统

如果您的系统同时包含 web 服务和 windows 服务作为您(多层)系统的一部分,那么两者都不是参与者。 Windows 服务提供的功能将是一个(或多个,取决于服务的复杂性)用例。如果您假设 webservice 它可能成为第二个用例,它包含在 windows 服务中(一种罕见的情况,但在这里有效)。

这些零件是单独加工的这一事实并没有改变任何事情。数据库有它的独立机器是一种常见的方法,但没有人合理地认为它与系统本身是分离的。

两个系统

如果您将 Windows 服务视为一个单独的系统,那么您实际上会有两个用例图,每个系统一个。

在这种情况下,Windows 服务的用例图将客户端作为主要参与者,将包含 Web 服务的系统作为次要参与者。

在具有 web 服务的系统的用例图中,您的主要参与者将是 windows 服务系统(再次作为一个整体,而不是服务本身)。在此图中,根本没有描绘客户端,因为它不与系统交互。

作为系统的组件

即使您将 windows 服务和 web 服务都视为一个系统,您仍然可以描述组件的用例而不是整个系统。在这种情况下,方法将类似于使用两个系统的情况。

关于uml - 正确指定主要/次要参与者(UML 用例图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com