【问题标题】:When should I use the dependency keyword <<use>> in UML diagram?什么时候应该在 UML 图中使用依赖关键字 <<use>>?
【发布时间】:2018-11-26 09:10:19
【问题描述】:

参考this source,UML的定义是

依赖关系是一种有向关系,用于表明某个 UML 元素或一组元素需要、需要或依赖于其他模型元素以进行规范或实现。

然后,根据教科书UML Distilled,在Class Diagram: The Essentials -> Dependency一节中,关键字&lt;&lt;use&gt;&gt;被描述为

源需要目标来实现。

在这里,我看不出一般的 dependency 行和特定的 &lt;&lt;use&gt;&gt; 关键字之间有什么区别。在任何情况下&lt;&lt;use&gt;&gt; 是必要的还是只是多余的?

【问题讨论】:

  • 在我看来也是多余的。我只是在那里写与类表示的数据的含义相关的语义 cmets。我认为根据使用的约定,可能有多种有效的方法。
  • 是的,确实取决于约定。但是,UML Distilled 书中提到的 UML as blueprint 中使用的正式 UML 怎么样?还是我们不允许只使用通用依赖行,而是始终指出关键字(然后关键字&lt;&lt;use&gt;&gt; 变得有用)?
  • 对不起,帮不上忙,没有书。

标签: uml


【解决方案1】:

根据 UML 2.5:

7.8.4 依赖[类]

7.8.4.1 说明

依赖关系是一种关系,表示单个模型元素或一组模型元素需要其他模型元素来进行规范或实现。这意味着客户端元素的完整语义在语义上或结构上取决于供应商元素的定义。

7.8.23 用法[类]

7.8.23.1 说明

Usage 是一种依赖关系,其中客户端元素需要供应商元素(或元素集)才能完全实现或操作。

因此,主要区别在于仅用于依赖关系的“规范”。基本上,这意味着如果您只是在概念上需要一些其他类但实际上在运行时不需要它,那么您也可以拥有依赖关系。 &lt;&lt;use&gt;&gt; 是一种更强的关系,需要对另一个类进行“物理”使用。我认为超过 99% 的情况都是如此,您可以离开 &lt;&lt;use&gt;&gt;

【讨论】:

  • 顺便说一句,你能举一个在规范中找到但在运行时不需要的例子吗?
  • 您可以将规范的东西想象成“我的想法来自”,它是从不同的方向衍生和发展的。不过,我没有具体的例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-10
  • 2010-09-09
  • 1970-01-01
  • 2011-06-30
  • 1970-01-01
  • 2011-01-21
相关资源
最近更新 更多