类图 - 多个类使用相同的类

时间:2016-11-24 09:29:47

标签: oop uml class-design class-diagram

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

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

1 个答案:

答案 0 :(得分:4)

没有错,类的可重用性是有价值的。实际上这是标准情况。

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

  1. 从使用类到使用的类绘制关联关系(线)。
  2. 将该属性放在正在使用的类的正确区域中,并将其作为属性类型(在冒号后面)放入已使用类的名称。
  3. 第一种方法的好处是你可以立即看到类之间的依赖关系。

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

    我想你的一个问题是你会有很多指向你班级的关系(在你的情况下Currency)。别担心。您不必将所有内容都放在一个图表中。在一个图表上放置一个完整的类规范,其中包含使用其他东西的关系,然后在定义使用您的类的元素的图表上只放置带有名称(没有任何隔间)的类框。它将使您的模型可读。并且在一些CASE工具的支持下,您将能够看到此类的所有关系和依赖关系。顺便说一下UML规范的编写方式。查看如何在图表中使用Namespace(以及其他许多图表)。

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

    对于Currency,您的套餐可能类似于Utils。它还可以包含其他元素,如DateAddress等。注意 - 这些是典型示例,可能每个分析师/设计人员/程序员迟早都必须处理这些元素。如果你很好地构建它们,你将真的能够在将来的应用程序中重用它们。

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