
# 组件图
组件图用于建模更高级别或更复杂的结构，通常由一个或多个类构建，并提供明确定义的接口。
#### 元素介绍
表1组件图元素介绍 
| 元素名                | 图标                                                                                                                                                                                                                                                    | 含义                                                                                                                     |
|:---|:---|:---|
| Class              | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987007.png "点击放大")                                                                                                                                              | 是对象的集合，展示了对象的结构以及与系统的交互行为。                                                                                             |
| Interface          | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546906999.png "点击放大") ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507072.png "点击放大") | 接口，可以是单个接口，也可以是抽象的一组接口的组合。 圆形接口与矩形接口意义相同，仅形状不同。                                     |
| Component          | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515347156.png "点击放大")                                                                                                                                              | 组件，可独立加载、部署和运行的二进制代码，采用轻量级通讯机制、松耦合高内聚的软件架构单元，部署时不能跨节点类型部署（计算机百科全书：组件是软件系统中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体）。 |
| Interface          | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987009.png "点击放大")![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546907001.png "点击放大")                                      | Required Interface和Provided Interface之间可以建立Dependency，表明一个组件需要的接口是由另外一个组件提供的。                                          |
| Port               | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507074.png "点击放大")                                                                                                                                              | 端口，定义了分类器与其环境之间的交互。                                                                                                    |
| PackagingComponent | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515347158.png "点击放大")                                                                                                                                              | 包装组件，进行版本控制以及包含其它包和元素。                                                                                                 |
| Artifact           | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987011.png "点击放大")                                                                                                                                              | 制品，软件开发过程或系统的部署和运行所使用或产生的物理信息的规范。                                                                                      |
| Object             | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546907003.png "点击放大")                                                                                                                                              | 对象。封装了状态和行为的具有良好定义界面和身份的离散实体，即对象实例。                                                                                    |
| Package            | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507076.png "点击放大")                                                                                                                                              | 包。对元素进行分组，并为分组的元素提供名称空间。一个程序包可能包含其他程序包，从而提供程序包的分层组织。                                                                   |
| Aggregation        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515347160.png "点击放大")                                                                                                                                              | 聚合，是整体与部分的关系，且部分可以离开整体而单独存在。                                                                                           |
| Composition        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987013.png "点击放大")                                                                                                                                              | 组合，是整体与部分的关系，但部分不能离开整体而单独存在。                                                                                           |
| Realization        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546907005.png "点击放大")                                                                                                                                              | 实现，是一种类与接口的关系，表示类是接口所有特征和行为的实现。                                                                                        |
| Dependency         | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507078.png "点击放大")                                                                                                                                              | 依赖，是一种使用的关系，即一个类的实现需要另一个类的协助。                                                                                          |
| Usage              | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515347162.png "点击放大")                                                                                                                                              | 使用，是一种使用的关系。表明一个模块在运行的时候，需要使用另外一个模块。                                                                                   |
| Generalization     | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987015.png "点击放大")                                                                                                                                              | 泛化，表示类与类、接口与接口之间的继承关系，由子对象一方指向父对象一方。                                                                                   |
| Association        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546907007.png "点击放大")                                                                                                                                              | 关联，是一种拥有的关系，它使一个类知道另一个类的属性和方法。                                                                                         |
| Delegation         | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507080.png "点击放大")                                                                                                                                              | 委托，委托关系定义组件外部端口和接口的内部访问方式。                                                                                             |
   
#### 关联接口
在绘制暴露接口与请求接口时，可以通过Association关联连线将两种接口合并。
1. 在左侧工具箱中选择"Provided Interface"，将其拖拽至需要连接的图形上。 
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515507428.png "点击放大")
   
   
2. 拖拽完成松开左键，在弹出的连线选择列表中选择"Association"关联连线。 
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546987361.png "点击放大")
   
   
3. 松开鼠标后即可形成接口合并。 
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546907359.png "点击放大")
   
   
 
#### 建模示例
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783977.png "点击放大")
