【问题标题】:How to use Subsetted Property in UML?如何在 UML 中使用子集属性?
【发布时间】:2013-11-30 18:57:39
【问题描述】:

子集属性在 UML 规范图中广泛使用。

  • 子集属性的语义(含义)是什么?
  • 如何使用 UML 子集属性?

一个真实的例子会很棒

编辑:

UML 规范 2.5(Beta) 的以下屏幕截图

请告诉我这个图中的子集是什么意思?

【问题讨论】:

    标签: properties eclipse-plugin uml ooad


    【解决方案1】:

    根据 UML 2.4.1 规范,子集属性引用了该属性被约束为子集的属性。 真实世界的例子是什么意思?我猜UML规范就是其中之一…… 但是您可能会在所有应用程序中发现这种属性,其中一个对象与另一个对象关联,并且这种关联是在它们的两个子类型的上下文中重新定义的。 例如,Animal 类可以与Limb 类相关联。我们还可以定义两个类HumanLeg 分别扩展AnimalLimb。最后,我们可以关联HumanLeg,这将是对先前存在的关联的重新定义。

    希望对你有帮助, BR

    【讨论】:

    • 感谢@Red beard 的热心帮助:) #我所说的真实世界示例是来自物理世界(狗、人、...)的示例,可以帮助我理解子集属性. #是的,我可以在规范中找到这种类型的属性,但在我的问题的编辑部分中我无法像这样弄清楚。 #在您的示例中,在哪里可以找到subsetting propertysubsetted property? #你的回答让我觉得专业化和重新定义是一样的?这是你想说的吗?
    • 嗨,我更新了我以前的内容以便澄清一点。现在,如果查看 7.3.45 部分的约束部分中的 UML 2.4.1 规范,第四个约束由“必须从包含重新定义属性的更通用分类器继承的重新定义属性”来描述。所以是的,子属性与类继承有关。
    【解决方案2】:

    简答

    由于有两个约束可能会产生问题并且它们有些相关(它们让我想到了这个问题;-))让我来描述它们,即 subsets重新定义

    总而言之 - 重新定义更改(提供更精确)模型的相同关系但在专门的类中的逻辑,而 subsets 显示相同类的不同关系之间的关系(它们可能是继承的,但不是必须的)并表明处于一种关系中的对象会创建处于其他关系中的对象的子集。

    更详细的答案

    重新定义

    重新定义 以某种方式改变关系的逻辑,以实现与关系相关联的类的特化。例如。虽然动物可以有任意数量的肢体(章鱼 8 和蜈蚣 - 谁知道......),但人类总是有 4 个。所以我们有一个从 Human 到 Limb 的关系,目标名称为肢体,但改变了多重性(到 4 个)。 图 1 - 正常肢体 - 重新定义

    可能还会有进一步的变化,比如我们可能会定义一个专门用于 Limb 的新类 JointLimb。由于人类只有 JointLimb,我们的关系不仅会改变多样性,还会在关系的两端只允许一个专门的类。 图 2 - 关节肢体 - 重新定义

    子集

    另一方面,subsets 表明处于单一关系(具有 subsets 约束)的对象同时也处于某种其他关系(一个指向子集约束),即关系一中的一组对象是关系二中的对象的子集。在我们的例子中,我们将有新的 Hand 和 Leg 类专门类 Limb(或后一个示例中的 JointLimb)。由于每个手(分别为腿)是一个肢体(JointLimb),因此从人到手(腿)的关系将具有多重性 2,目标名称为手(腿),并将受到 子集肢体 的约束。 图 3 - 正常肢体 - 子集 图 4 - JointLimb - 子集

    虽然在前面的示例中,我们有一个与继承有些相关的子集,但不一定是这种情况。让我们考虑类 Car 和类 Wheel。一辆汽车配备了车轮(这是一个关系装备车轮),其中一些(例如乘用车为 4 个)安装了车轮,而一些(乘用车为 1 个)是备用车轮。 MountedWheel 和spareWheel 子集都配备了Wheel。 图 5 - 汽车 - 子集

    对不起,我还不能放图片,也不能放超过2个链接,所以你必须关注this link才能看到示例。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      相关资源
      最近更新 更多