我正在尝试创建用例的UML图。
我想代表以下内容:
我希望它显示为线性过程,而不是循环显示自身,因此很清楚这些步骤是什么以及采取这些步骤的顺序。
我想要做的一个人为的例子是:
@startuml
left to right direction
title: Bank Account
Client --> (NEW) : Request an Account
(NEW) --> Bank
Bank --> (OPENED) : Create an account number
(OPENED) --> Client1
Client1 --> (DEPOSIT) : Deposit some cash
@enduml
看起来像这样:
但是,如您所见,要实现此目的,我将Client
和Client1
作为两个单独命名的参与者,否则该图将不是线性的。看起来像这样:
您似乎可以在不开设帐户的情况下存入一些现金。
所以我希望它呈线性的原因是,为了显示一些现金,您必须先开设一个帐户。
我该怎么做?
我可以将Client1
重命名为Client
还是应该使用其他类型的图表?还是其他?
答案 0 :(得分:7)
我不熟悉Plant UML,但是我想说的是您要生成的模型不是用例模型。用例是一种封装步骤(即它们将其隐藏)以专注于业务价值的抽象。尽管在第二张图中使用了箭头并使用了标签来暗示条件,但与第一个相比,这更接近成为正确的用例模型。
我认为您所追求的实际上是一个流程图,例如可能使用BPMN或可能是Activity Diagram生成的。
答案 1 :(得分:2)
用例图既不打算显示动作的顺序,也不打算显示应用于动作的约束。它仅显示系统向用户提供的操作(或功能)。其他图表或文字说明用于指示可以执行或不能执行操作的顺序以及可能的约束条件(例如先决条件-用户可以开始特定用例之前必须满足的条件)
您肯定应该使用第二张图,而不必担心操作顺序。
您会看到箭头的方法并不统一,有人说根本不应该使用箭头,因为UML规范中没有提到它们。另一个人说,由于这是一种关联,因此允许使用箭头,并且在这种情况下,它们显示哪一侧发起交互(因此,主要参与者(触发用例的一方)将具有指向用例的箭头,而所有其他(次要)参与者用例中包含的箭头将指向它们。
答案 2 :(得分:0)
您似乎可以在不开设帐户的情况下存入一些现金。
除了其他两个响应中所说的那样,您还会犯两个错误
第一个涉及您使用的演员,对我而言,您没有帐户就不能成为客户。演员必须好好命名,不要忘记演员代表角色。
第二个是您假设用例图中看不到最多的内容。这是错误的,用例不仅是名称,例如用例可以有前提条件,而用例“存款”的前提条件是您拥有帐户。