【问题标题】:How to show common .h or .pph header file in UML class diagram?如何在 UML 类图中显示常见的 .h 或 .pph 头文件?
【发布时间】:2026-02-05 14:30:01
【问题描述】:

假设我们有一些常见的头文件(例如common.htypedefs.h),其中包含项目的常见类型定义、定义等。

另外,我想在我的所有类图中使用这些头文件(因此,.c 或 .ccp 文件将包括 common.htypedefs.h 文件)。

我正在使用 Enterprise Architect。如何在类图中显示类对这些文件的依赖关系?是否有必要在类图中显示这种关系?

【问题讨论】:

    标签: dependencies include uml header-files class-diagram


    【解决方案1】:

    只需为您的文件使用 Artifact 元素并绘制依赖项。

    但是,我想知道为什么要将它们放在类图中。这是一个部署主题。 UML 中的类与语言无关,任何 .h 都与类设计无关。

    结论:没有必要在类图中显示与 .h 工件的关系。

    【讨论】:

    • 我认为我们可以从您的最后一段中得出“有必要在类图中显示这种关系吗?”的答案是“否!"
    • @Christophe 当然。我会坚持下去的;-)
    【解决方案2】:

    通常,类图不包含源文件的名称。但是有一种方法可以显示您的应用程序的结构以及公共部分的位置。

    如果您有一个由大量类图建模的复杂应用程序,那么您可能已经在 Enterprise Architect 的多个文件夹中组织了这些类图。例如,您可能有一个名为“Types”的文件夹,其中包含一个类图“common”,您在其中建模了“common.h”中包含的所有内容,以及一个类图“typedefs”,您在其中建模了包含在'typedefs.h'。其他文件夹可能代表子系统,例如文件夹“ShoppingCart”包含与购物车有关的所有类图、序列图等。

    在顶层,您可以创建一个包图。在包图中,Enterprise Architect 中的每个文件夹都由一个 UML 包表示。可以使用依赖关系(虚线箭头)显示依赖关系。

    例如,您的包裹图可以显示您的所有包裹(“类型”、“购物车”等)。包“ShoppingCart”和所有其他包都有一个指向包“类型”的虚线箭头。这意味着所有的包都依赖于“类型”的内容。您可以通过关键字≪import≫来装饰箭头,以表明您希望能够在其他包的图表中使用“类型”中的任何元素。

    这是 UML 规范中的一个示例:

    【讨论】: