UML 节点和 UML 组件有什么区别?

What is the difference between a UML node and a UML component?

我正在为 Apple Watch Extension 设计 UML 图。我应该如何使用 UML 表示主机应用程序? UML 节点还是 UML 组件?请注意,扩展应用程序和 iPhone 应用程序(主机应用程序)之间可以进行应用程序间通信。

UML 节点显然是用来描述物理资源的,所以你的手表就是一个节点,而组件通常被理解为一个 software 组件。既然你想为软件建模,那就选择组件(这也将很好地可视化扩展和主机之间的插入)。

uml-diagrams.org 将基本区别解释为 "node is a deployment target" while "component is a structured class representing a modular part of a system"

它们通常用于不同种类的图表,具有不同的目的。例如在 UML Class Diagram 中,扩展应用程序和 iPhone 应用程序都将表示为 UML Class

但是,您可以创建自定义图表,混合您需要的任何 UML 工件 - 让读者清楚地了解您的设计信息

-节点代表系统的物理部分。例如,服务器,网络和打印机等

-组件代表系统的任何部分,它可能是驻留在节点上的物理方面,例如库、文件、可执行文件、文档、程序包等。

-Component - 指的是 类 的模块,代表独立的系统或子系统,能够与 system.so 的其余部分交互,它告诉谁执行系统功能。

组件是参与系统执行的东西;节点是执行组件的东西。 组件代表逻辑元素的物理封装;节点 表示组件的物理部署。