0

在 UML 类图中,如何在不产生错误印象的情况下省略不相关的基类?

让我们考虑以下类层次结构:

类层次结构

Blackbird我想说明s 和Airplanes 都是s的事实FlyingThing。但我不想让我的 UML 类图与Blackbird.

我可以简单地省略Bird,AnimalLivingOrganism,只绘制三个“相关”类。但这看起来好像Blackbird只是FlyingThing从其他任何事物中衍生出来的。

为了防止这种错误印象,我可能会考虑包括Bird类,只留下Animaland LivingOrganism。但是看起来好像Bird根本没有基类。底线:无论我在哪里进行剪辑,它总是看起来好像一个类的基类比它实际的少。

我正在寻找的是某种方式来表明“这个类除了显示的基类之外还有其他基类,但我懒得把它们都画出来。” 我想象一些类似于省略号的东西。有什么标准的表达方式吗?

编辑:

我在这张图中编造了类来说明这个问题。所以问题在于多重继承或这种特定的类设计是否有意义。让我们假设他们这样做。这个问题也不是关于特定的 UML 建模工具——假设我们在这里使用笔和纸。

重新表述我的问题:想象一下,您看到的图表仅包含三个突出显示的类,没有其他内容。您是否会假设该图代表了全部真相并且Blackbird除此之外没有其他基类FlyingThing

  • 如果您认为,是的,Blackbird似乎只派生自FlyingThing:那么必须有一些标准的 UML 语法来表明情况并非如此。

  • 如果您认为,不,图的作者可能省略了其他基类:那么这回答了我的问题,我只是看到实际上没有的问题。:-)

4

3 回答 3

0

除了@Red Beard 所说的正确之外,一些工具使您可以将超链接添加到其他图表(例如,企业架构师):

在此处输入图像描述

因此,您可以添加指向另一个图表的链接,该图表揭示了完整的继承祖先。

但首先考虑一下:

你的类Blackbird真的继承自FlyingThingandBird吗?在某些语言中可能,但不是聪明的设计。

或者你generalization的 FlyingThing 实际上implementation是一个接口?如果是这样,您想使用正确的连接类型(如图所示)。

于 2013-10-11T14:25:03.370 回答
0

我的解决方案是用它的名字(定义)指定超类,你也会提供一些注释以确保目标开发人员不会混淆。例子: 在此处输入图像描述 顺便说一句,我不得不说,这不属于ISO。咖啡效果。

于 2013-10-13T17:19:32.157 回答
0

我很确定你会为每个设计师找到一个解决方案......一张图表暴露了整个模型的一部分和唯一的一部分,所以整个问题是哪一部分?对这个问题的回答很简单,这取决于你想展示什么来理解你的问题。

问候,

BR

于 2013-10-10T06:32:15.653 回答