关于为自助结账选择哪个 UML 图的建议

Advice on which UML diagram to choose for self service checkout

一道作业题:

Use an appropriate UML diagram, to describe the process of using a self-service-checkout to purchase stuff from a shop.

The diagram should focus primarily on the required actions taken by the checkout software in completing the transaction.

我选择将其作为 activity 图表来执行,因为它清楚地显示了结账软件在完成交易时所采取的操作。

这是正确的做法吗?有什么建议吗?

要求是描述一个流程,着重于一些动作。您可以将此视为条件反射:在 UML 中,processes and process decomposition are best described with activity diagrams.

你可以佐证这个结论,排除法推理。在all the UML diagrams中,过程和动作是关于系统的行为而不是结构。所以必然是行为图:

  • 您可以轻松消除use-case,因为他们的重点是目标。此外 use-case 之间没有顺序,这使得它们不适合描述动作流。
  • 你也可以去掉交互图,因为重点是元素和它们的交换。
  • 状态机图可以表示完成某些行为所需的事件流或动作流。但重点更多的是状态,以及状态之间的转换是如何触发的。所以更多的是相反的重点。