存储和显示计数值 - Activity 图 UML

Storing and displaying counted values - Activity Diagram UML

简单地用圆角矩形来描绘动作,用矩形来描绘执行动作的 class 图。

现在有这个售票柜台,可以在您购买停车票时显示并记录停车票(结构已预先确定)的总分钟数。然后当清空售票机时,它会打印总数。计数或其他任何东西是否需要放在一个矩形中,或者是否可以将计数总分钟数放在一个圆角矩形中?例如:为了将每张票保存到 'total' 我有一个动作图,上面写着“存储总计分钟数”,然后我说“删除分钟数”并返回到我的图的开头(下一个客户)。

所以基本上我不明白的是:首先,计数和存储值只能在圆角矩形中完成吗?其次,如果票需要显示“您在 Y 号停车位预留了 X 分钟”。我不能只说打印分钟和打印停车号码吗?我该怎么做?

你应该停止谈论圆角和直角矩形。适当地使用 Action 和 Class。您的图表显示了 activity 的操作,它是某些用例(场景)的一部分。现在,activity 图应该通过特定控制流中的操作来解释一些 activity(或 UC 场景)。这主要是一个业务角度,您以此为基础与演员交谈以确保他的要求得到正确理解。

在稍后的设计阶段,您使用该图表绘制 class 模型。您可以使用设计好的 classes 来装饰该 AD,以描述它们与流量控制的关系。但是,这样做并不常见。通常您将 AD 保持原样并并行启动 class 设计。您应该做的是创建 link classes 和用例的协作。对于细粒度设计,您创建调用行为的操作(即 class 操作在活动操作过程中执行所需的操作)。 Alternatively/aditionally 您使用序列图来显示 class 协作。

回复。您在标题中的问题:您不会在 AD 中显示计数器,因为这涉及到很多编程细节。但是,您可以像 :Ticket 一样显示 objects 并使用这些进行流量控制。

P.S。作为旁注:您需要一个 Merge 用于上行控制流循环。否则你将在 Select next... 处锁定,因为它需要两个令牌并且只会获得一个。有点吹毛求疵,因为任何人都能理解它的意思。但是从纯 UML 的角度来看,这是错误的(相应地,自动化不会 运行 使用该输入)。