0

UML

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

  • 一座山可以有 0 到多个分类(不确定是否相反)
  • 0 到许多山脉有 0 到许多路线
  • 一条路线有 0 到多方
  • 0 到许多派对有 1..6 个步行者(不太了解这个)
  • 0 到多方有指南
  • 指南可以有 0 到多个资格(看起来很奇怪)
4

2 回答 2

2

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

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

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

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

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

你的子弹:

  • 0 到多方有 1..6 步行者

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

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

于 2013-07-26T14:12:02.830 回答
1

我看到你的解释有两个问题:

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

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

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

我会将您的图表翻译成以下陈述:

  • 一个分类可以应用于任意数量的山峰,每座山峰都有一个资格
  • 一座山可以被任意数量的路线穿过,路线可以穿过任意数量的山脉
  • 一条路线可以由多方走,每一方走一条特定的单条路线
  • 一个派对由 1 到 6 个步行者组成,一个步行者可以参加任意数量的派对
  • 一方与一名导游联动,一名导游可负责多方
  • 一个资格可以应用于任意数量的向导,每个向导都有一个资格
于 2013-07-26T14:28:32.397 回答