【问题标题】:Class diagram - multiple classes uses same class类图 - 多个类使用同一个类
【发布时间】:2016-11-24 09:29:46
【问题描述】:

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

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

【问题讨论】:

    标签: oop uml class-design class-diagram


    【解决方案1】:

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

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

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

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

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

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

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

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

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

    【讨论】:

    • 顺便说一下 - 您有只有 4 个使用货币的类? ;-)
    • 不,实际上还有更多 ;) 感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 2014-02-27
    • 2012-03-16
    相关资源
    最近更新 更多