【问题标题】:showing interface dependencies in UML在 UML 中显示接口依赖项
【发布时间】:2017-02-24 17:36:21
【问题描述】:

假设我有以下接口和类

这对 SomeObject 有关联依赖,就像这样

接口 IDoSomething 是否依赖于 SomeClass?我应该在 UML 中显示这个吗?

显然接口确实有依赖关系,但这对我来说似乎是噪音:

我在想你可以从 DoSomethingImpl 的依赖关系中推断出接口依赖关系,但是如果它实现了多个接口,这将不起作用。

如果接口实现了另一个接口,那么我希望显示依赖关系,但我担心我的 UML 变得不必要地复杂。

什么是合适的做法?

【问题讨论】:

  • 您使用的工具绘制了错误的箭头。我认为这是来自 Mickeysoft 的东西(以做任何事情而臭名昭著),
  • @ThomasKilian 你能详细说明一下吗?我使用的是PlantUML,所以我可能选择了错误的箭头。
  • 连接器的绘制方式至关重要(也是 UML 中最困难的部分)。我无法即时找到摘要,但uml-diagrams.org/association.html 展示了一些示例(尤其是上面的箭头应该是什么样子)。显然该工具执行错误。
  • 那么您是否建议我应该展示一种更具体的依赖形式,例如关联? (选择正确的关系是我有时会遇到的一个难题)
  • 没有。基本上你的图是正确的。只是工具没有显示正确的形式(可能是因为创作者认为箭头应该更“艺术”,在这种情况下这是完全错误的)。

标签: interface dependencies uml


【解决方案1】:

您用来显示依赖关系的方式是完全正确的。这不是噪音,因为您无法从其他关系中获取此信息。另一方面,您不必显示依赖关系,尤其是这种关系很明显(您在参数和操作结果中都引用了此类)。

如果你坚持明确显示依赖关系,但又担心它会降低而不是增加图表的清晰度,你可以将它放在单独的图表上。

我会为可追溯性目的创建一个依赖项(仅当您的工具支持它时)但将其隐藏在图表上。

【讨论】:

  • 一般来说我同意。但不是 您不必显示依赖项。尽管依赖关系是一个弱关系,但它仍然很重要。离开它会给读者呈现一幅不精确的画面。因此,如果未在特定(主)图上显示,则应出现在其他地方的(详细)图上。
  • 从技术上讲,可以暗示模型中存在依赖关系,正如我在回答中所写的那样,因此 modl 将是完整的。此外,您不必在模型中显示系统的每个方面(但显然这方面很重要)。我同意在视觉上显示这种依赖关系(作为依赖关系箭头)是一个好习惯,但这不是强制性的。因此,您不必,但强烈建议在此特定图表或其他地方明确显示它。
  • 那是一个迟到的回复 ;-) 但总的来说我同意。
猜你喜欢
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
相关资源
最近更新 更多