0

我正在学习 UML,并且一直在阅读有关用例的信息。我看到的所有示例都处理单个系统,我想知道如何对端到端流程进行建模。因此,我制作了一个相当典型的企业场景,并且一直在尝试对其进行建模。我有一些我无法回答的问题。

场景: 我的业务用例是购物者创建了一个购物车,供应商将其作为订单接收。

端到端的流程是:

  1. 购物者创建购物车
  2. 经理审查购物车并批准/拒绝,并在采购系统中创建采购订单。
  3. 采购系统将所有新创建的 PO 发送到其各自供应商的系统。
  4. 供应商接收作为订单的采购订单。

然而,魔鬼在细节中,所以我决定通过添加以下细节使其更复杂:

  1. 购物采购系统通信是点对点和实时的。
  2. 采购订单可以通过传真或互联网发送给供应商。所有 PO 在发送给供应商之前都会进入队列。该队列每 X 分钟处理一次。我选择了 10 分钟作为间隔
  3. 采购-供应商连接使用中间件 (ESB)。

问题:

  1. 我相信我有 3 个系统用例:Shopper-Creates Cart、Manager-Reviews the Cart、Time-Send PO to Vendors。即使我在采购系统和供应商系统之间有一个 ESB 系统,是否正确?
  2. 由于中间件不是上述用例之一的参与者,我应该在哪里建模 ESB 参与流程(采购-> ESB,ESB-> 供应商)?
  3. 我绘制 2 个系统边界还是 1 个系统边界?我相信我应该将供应商系统作为次要参与者,因此我只有购物系统和采购系统。还是我将它们合并到一个 E2E 系统(例如采购系统)中?
4

2 回答 2

0

用例旨在描述系统的用户(参与者)如何与系统交互。它们应该足够简单,让您的客户能够理解。因此,在你开始用用例问题打破你的头脑之前,问问自己谁是你的客户,以及你如何通过创建用例来为他创建一个更好的系统。

(对不起哲学答案......)

于 2012-06-30T09:25:39.907 回答
0
  1. 我会创建单独的用例来审查、批准和拒绝购物车,但否则我认为你的用例应该足够准确。由于您的参与者不直接使用 ESB 系统,因此我认为它与用例图中无关。
  2. 您可以创建一个组件图来更详细地对不同系统及其子系统之间的关系建模,这在用例图中是可能的或合理的。如果您愿意,您可能可以将 ESB 隔离在它自己的系统边界中,并将用例“将 PO 交付给供应商”标记为与连接相关的用例的依赖项。
  3. 我建议使用两个或三个系统边界,具体取决于您是否为 ESB 创建自己的边界。如果供应商的系统超出了您的范围,您可能不需要对其建模太详细——接收 PO 就足够了。
于 2012-06-30T10:23:37.970 回答