【问题标题】:What are the details in this UML instance?这个 UML 实例中的细节是什么?
【发布时间】:2013-07-26 10:27:17
【问题描述】:

到目前为止,这些是所做的假设,如果这些假设是错误的,请更正这些假设。

  • 山可以有 0 到多个分类(不确定是否相反)
  • 0 to Many Mountains 有 0 to Many Routes
  • 一条路线有 0 到多方
  • 0 to Many Party have 1..6 walkers(不太明白这个)
  • 0 多方有指南
  • 一个指南可以有 0 到多个资格(看起来很奇怪)

【问题讨论】:

    标签: uml diagram class-diagram


    【解决方案1】:

    首先,让我明确一点,此图显示的是类,而不是实例。其次,该图缺少一些关联端名称、多重性和可导航性。第三,你的一些子弹是向后的。您是否偶然尝试顺时针读取关联结束? (有一些符号,或者至少是有人这样做,这不是一个好主意。)

    我刚刚扫描了 UML 规范以提醒自己未指定关联端多重性的默认值是什么,但我找不到它。我认为我记得它是 [1..1],但是自从我在与 OMG 的一位 XMI 专家的随意交谈中偶然发现该信息以来已经有好几年了。这是始终指定它是什么的一个很好的理由!属性的默认值为 [1..1],因此关联结束默认值可能相同。

    多重性和关联端名称属于其属性类型旁边,因此,例如,您的项目符号:

    • 山可以有 0 到多个分类(不确定是否相反)

    应该是:“一个分类可以分类许多山脉”或“一个山脉被一个分类分类”。如果图表显示您无法从分类导航到山(或使用新的“点表示法”来显示分类不拥有 Mountain 类型的属性),则会更清楚。

    你的子弹:

    • 0 到许多缔约方有 1..6 个步行者

    也不正确。每行应该只描述一个方向,而不是两个方向。该项目符号应拆分为“一个派对包含 1 到 6 个步行者”和“一个步行者可以参加多个派对”。这两行更有意义。

    我不会为你纠正所有的问题。希望你能明白要点。

    【讨论】:

      【解决方案2】:

      我发现您的解释存在 2 个问题:

      1. 您对多样性的解释过于直接。请记住,UML 应该有助于理解,而不是混淆。
      2. 您的解释中有几个错误。一般来说,2-way 关系可以翻译成一个或两个合理的陈述:X [m..n]---[k..l] Y 将被解读为:

      X 使用/寻址/利用/依赖/等。在 k..l Y 上

      Y 使用/寻址/利用/依赖/等。在 m..n X 上

      我会将您的图表翻译成以下语句:

      • 一个分类可以应用于任意数量的山峰,每座山峰都有一个资格
      • 一座山可以通过任意数量的路线,路线可以穿过任意数量的山脉
      • 一条路线可由多方走,每一方走一条特定的单条路线
      • 一个派对由 1 到 6 名步行者组成,一名步行者可以参加任意数量的派对
      • 一个派对链接一个向导,一个向导可以负责多个派对
      • 一个资格可以应用于任意数量的向导,每个向导都有一个资格

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        • 1970-01-01
        • 2020-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多