如何在 class 图中指定顺序很重要的结构

How to specify structure in which order matters in a class diagram

在我之前的 中,我试图实现订购 classes 的想法。虽然我举的例子不合适。

所以这是我想用 UML class 图归因的情况:

在 ODT 文档中我有一个叫做 figure 的东西。该图由两个原子元素组成:imagetitle(图像的)。该标准允许我将 title 放在 image 之上或下方。虽然在我的应用程序中 title 将始终位于 image 下方,如下所示:

因此,就我而言,我想提交标题必须位于图片下方的(更具体的)信息(尽管标准没有强制要求)。因此我想到了在我的 class 图表中进行排序的想法(首先是这个,然后是这个,然后是这个,等等)。因为对我来说这很重要。

这是我绝望的尝试:

是否有任何方法可以通过 UML Class 图来呈现该信息?

在UMLmeta-model中,有meta-elements叫做ClassPropertyClass meta-element 的实例(例如,称为 Figure)可能拥有 Property meta-element 的实例。 Property meta-element 的每个实例都有一个类型(例如,ImageFigure)。您模型中 Property meta-element 的两个实例都未命名,不幸的是,这使得很难引用它们。尽管如此,Class meta-element 的实例拥有的 Property meta-element 的所有实例都是 有序的 。在 UML 工具中创建 属性 时,通常会将其添加到有序列表的末尾。

在您的图表中,有两个已排序的未命名属性(隐含地,基于您首先在工具中创建的属性)。此顺序可以在 UML 兼容工具中看到 并更改 。这是一个示例 UML 模型:

我强烈建议您为所有属性命名,就像我在示例模型中所做的那样。例如,我将它们命名为 titleimage,以 lower-case 字母开头。在其他好处中,您可以通过这种方式在重新订购时更轻松地看到哪个是哪个。

这是专业工具MagicDraw中的一个规范window,您可以在其中按自己喜欢的顺序拖动属性:

您可以更改顺序,让图片出现在标题之前。

P.S., 在分析模型中,如果这个排序是问题域中的重要规则,我实际上会显示 ImageTitle 之间的显式关联关联结束称为 comes beforecomes after.