首页 > 解决方案 > 存储和显示计数值 - 活动图 UML

问题描述

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

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

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

在此处输入图像描述

标签: umlactivity-diagram

解决方案


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

在稍后的设计阶段,您使用该图来绘制类模型。您可以使用设计的类来装饰该 AD,以描述它们与流控制的关系。但是,这样做并不常见。通常,您将 AD 保留原样并并行开始课程设计。您应该做的是创建协作以链接类和用例。对于细粒度设计,您创建称为行为的操作(即类操作执行活动操作过程中所需的某些操作)。或者/另外,您使用序列图来显示类协作。

回覆。你在标题中的问题:你不会在广告中显示一个计数器,因为这有很多编程细节。但是,您可以显示类似的对象:Ticket并使用这些对象的流控制。

PS附带说明:您需要合并用于上行控制流循环。否则你将被锁定,Select next...因为它需要两个令牌并且只会得到一个。有点吹毛求疵,因为任何人都可以理解这意味着什么。但从纯粹的 UML 视图来看,这是错误的(相应的,自动化不会使用该输入运行)。


推荐阅读