OOAD 中的 UML 组件图是什么?符号、示例
UML 中的组件图是什么?
UML 组件图 用于将大型系统建模为易于管理的较小子系统。UML 组件图用于表示系统的不同组件。在对大型面向对象系统进行建模时,需要将系统分解为可管理的子系统。
组件是系统中可替换且可执行的部分,其实现细节是隐藏的。组件提供一组组件实现或执行的接口。组件还需要接口才能执行功能。
组件图符号
以下是 UML 组件图符号:
元件

Node
OOAD 中的组件是什么?
组件是系统中可替换且可执行的部分,其实现细节是隐藏的。组件提供一组组件实现或执行的接口。组件还需要接口才能执行功能。
它是系统的一个模块化部分,封装了系统的内容。它们是系统的逻辑元素,在系统执行过程中起着至关重要的作用。
组件类似于一个黑盒子,其外部行为由提供的接口和所需的接口定义。
UML 组件的结构
组件用分类器矩形刻板表示为:
<< 组件 >>:组件详细信息对外隐藏,组件名称放置在矩形框中央,矩形框右上角显示组件图标(可选)。
组件 UML 表示如下:
组件图中的接口
接口是一组命名的公共功能。它通过一个 类图 或子系统。接口符号不能实例化。它声明了一个契约,该契约可以由零个或多个分类器(例如类或子系统)实现。
任何实现接口的东西都会接受该接口的功能并同意遵守该接口定义的契约。
如果实现语言不支持接口,则使用抽象类,接口的命名方式与类相同, 大驼峰命名法.
组件图中有两种类型的接口:
- 提供的接口
- 所需接口
我们可以使用组装连接器连接提供的和所需的接口。
性能
- 它增加了类的灵活性和可扩展性。
- 它减少了实现依赖性。
缺点
- 额外的灵活性会导致复杂的类别。
- 太多的界面会使系统难以理解。
组件图子系统
它是一个组件库,可作为大型系统的分解单元。它是一种逻辑结构,用于将庞大的系统分解为较小的系统(称为子系统)。此过程使管理每个子系统变得轻松高效。
子系统在运行时无法实例化,但可以初始化其内容。当子系统连接时,它会创建一个单一系统。
组件图中的端口
端口是分类器和外部环境之间的交互点。它将语义上一致的一组提供和需要的接口组合在一起。端口可以在 UML 中使用,而无需指定端口的名称。端口可能具有可见性。当端口绘制在分类器的边界上时,这意味着该端口是公共的。这也意味着所有使用的接口都是公共的。
当在分类器内部绘制端口时,它要么是受保护的,要么是私有的。
端口还具有多重性,表示端口分类器的实例数量。UML 图中端口的表示如下:
这里,port1 绘制在边界上,这意味着它具有公共可见性。
如何绘制组件图
绘制 UML 组件图的方法如下:
步骤1) 组件不过是系统的一个可执行部分。各种组件共同构成一个系统。组件图在任何系统的执行阶段都得到广泛使用。
步骤2) 在对组件图进行建模之前,必须了解系统内的所有组件。应提及每个组件的工作原理。组件图用于分析系统的执行情况。
步骤3) 还应该深入探索每个组件,以了解组件与系统中其他物理工件的连接。
步骤4) 各种工件、库和文件之间的关系是组件图建模期间所需的基本内容。
UML 组件图示例
下面是 UML 组件图的一个示例:
为什么要使用组件图?
UML 组件图具有重要意义。组件图与其他图表有各种不同。其他图表用于表示系统、系统的工作或系统的架构。组件图用于描述系统各个组件的工作和行为。
它表示系统执行过程中每个组件的行为方式。
这些是统一建模语言的静态图。组件图用于表示任何时间实例中的组件结构和组织。
组件图用于对子系统进行建模。这些子系统共同代表任何系统的整个工作视图。单个组件无法可视化整个系统,但多个组件的集合可以。
因此,组件图用于:
- 表示运行时任何系统的组件。
- 它有助于系统测试。
- 它可视化了各个组件之间的连接。
何时使用组件图?
组件图不同于其他 UML 中的图表。组件图用于显示软件系统的各种组件以及单个系统的子系统。它们用于表示系统的物理事物或组件。它通常将系统的结构和组织可视化。
它描述了各种组件如何共同构成一个功能齐全的单一系统。我们可以单独显示每个组件,也可以将其作为一个单元集体显示。
- 组件图用于对系统的组件组织进行建模。
- 它们用于根据功能将单个系统划分为各个子系统。
结语
- 组件是系统中可替换且可执行的部分。
- 组件提供组件所实现或执行的一组所需接口。
- 这些是统一建模语言的静态图。
- 它是系统的一个模块化部分,封装了系统的内容。
- 组件图用于表示系统各个组件的工作和行为。
- 各种组件共同构成一个单一系统。