类图 - 多个类使用同一个类

Thi*_*ruG 2 oop uml class-design class-diagram

我正在为作业设计一个类图。在这个设计中,我使用一个名为 的单独类Currency来定义货币值及其功能。至少有四个其他类必须使用这个Currency类。

  • 如何在类图中显示它?我的意思是,我是否需要绘制从Currency班级到所有其他班级的关系(连接线)?
  • 有没有更好的办法 ?
  • 我在这里做错了什么?

Ist*_*ter 5

没有错,类的可重用性很有价值。其实这是一个标准的情况。

如果您在另一个类中使用这个类作为属性,您有两个选项来描述它:

  1. 绘制从使用的类到使用的类的关联关系(线)。
  2. 将属性放在正在使用的类的适当隔间中,并作为属性的类型(在冒号之后)放置所用类的名称。

第一种方法的好处是您可以立即看到类之间的依赖关系。

如果您使用类而不直接作为属性类型,则使用最适合您要描述的情况的其他关系类型。

正如我想象的那样,您的担忧之一是您将有很多关系指向您的班级(在您的情况下) Currency)。别担心。您不必将所有内容都放在一个图表中。将您的类的完整规范放在一个图表上,其中包含那些使用其他东西的关系,然后只将带有名称的类框(没有任何隔间)放在定义使用您的类的元素的图表上。它将使您的模型具有可读性。并且在某些 CASE 工具的支持下,您无论如何都将能够查看该类的所有关系和依赖项。顺便说一下,这就是 UML 规范的编写方式。例如,在那里的图表(以及许多其他图表)中如何使用命名空间。

当然,我并不是建议为每个元素创建一个图表来定义它。不。将它们收集在逻辑包中(嘿 - 这正是包的用途!)并为每个包制作一个类图。如果包变得太大 - 您可能需要将其拆分为较小的子包。

对于Currency您的 Package 可能类似于Utils. 它也可以包含其他元素一样DateAddress等等。注意-这些都是典型的例子,大概每一个分析师/设计师/程序员迟早必须应付这些元素。如果您将它们构建得很好,您将真正能够在未来的应用程序中重用它们。

最后一个想法。当您构建“基于包”的类图时,您可能还需要一个图表来显示来自多个包的特定部分,以阐明您的系统/业务/任​​何内容。这也绝对没问题。在这里,CASE 工具的另一个好处是它可以保持模型的一致性。