
# 构建模型
构建模型定义软件编译构建结构及工具链，构建模型建立代码到运行期文件的映射和追溯关系。
#### 元素介绍
表1构建模型元素介绍 
| 元素名             | 图标                                                                                                       | 含义                                                                                                   |
|:---|:---|:---|
| Exec Trgt       | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546903367.png "点击放大") | 表示逻辑对象构建的二进制结果（.so/.bin/rpm等）。                                                                       |
| Compile Trgt    | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515343520.png "点击放大") | 表示逻辑对象构建的二进制编译结果（.o/obj/.a等），专指提供二进制编译结果给其他对象使用的场景，其他场景不用体现Compile Trgt。                             |
| Build Tools     | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515503436.png "点击放大") | 表示逻辑对象构建时所需的构建工具。 【建议】Build Tools嵌套可以作为分组来区分不同类型的工具集合，作为构建时引用。 |
| OpenSource      | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546983365.png "点击放大") | 表示逻辑对象构建时所需的开源软件代码。                                                                                  |
| ThirdParty      | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546903369.png "点击放大") | 表示构建中所使用的第三方元素。                                                                                      |
| OperatingSystem | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515343522.png "点击放大") | 表示逻辑对象构建时所需的操作系统。                                                                                    |
| BuildEnv        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515503438.png "点击放大") | 表示构建使用的构建环境信息。                                                                                       |
| Container       | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546983369.png "点击放大") | 表示逻辑对象构建时所需的容器。                                                                                      |
| Virtual Machine | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546903371.png "点击放大") | 表示逻辑对象构建时所需的虚拟机。                                                                                     |
| Platform        | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515343524.png "点击放大") | 表示逻辑对象引用的平台。                                                                                         |
| Composition     | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515503440.png "点击放大") | 组合，是整体与部分的关系，但部分不能离开整体而单独存在。                                                                         |
| Aggregation     | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546983371.png "点击放大") | 聚合，是整体与部分的关系，且部分可以离开整体而单独存在。                                                                         |
| Dependency      | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546903373.png "点击放大") | 依赖，是一种使用的关系，即一个类的实现需要另一个类的协助。                                                                        |
| Usage           | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515343528.png "点击放大") | 使用，是一种使用的关系。表明一个模块在运行的时候，需要使用另外一个模块。                                                                 |
| Deployed To     | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002515503442.png "点击放大") | 部署关系是一种依赖关系，在部署图中，指一个工件被部署到一个节点或可执行目标上。                                                              |
| Build From      | ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002546983373.png "点击放大") | 构建关系，表示当前构建结果从某一代码目录或者代码文件构建而来，仅适于构建元素与代码元素之间的关系，连线方向由构建元素指向代码元素。                                    |
   
#### 前提条件
因为构建模型主要是描述创建出来的构建元素与代码元素的Build From构建关系，所以在绘制构建模型设计前必须要先完成代码模型的设计。
#### 建模步骤
1. 创建构建模型。 
   创建新的构建模型图或者在已有的构建模型图中进行绘图设计，如果设计内容过多，可根据实际情况将内容进行拆分，创建多个构建模型图，在对应的构建模型图中去建立关系。
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971784089.png "点击放大")
   
   
2. 引用代码元素到构建模型。 
   将代码元素引用到构建模型中跟代码模型中的步骤2一样，有两种方式，从工程树上将代码元素拖入到构建模型图中选link方式引用 ；另一种从代码模型图中多选复制元素，以引用方式粘贴到构建模型图中。
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385916.png "点击放大")
   
   
3. 建立代码元素与构建元素的Build From构建关系。 
   在步骤2中将代码元素引用到构建模型图后，再从工具箱中构建模型图形库中拖入构建元素，创建与代码元素需要建立关系的构建元素，并建立构建元素与代码元素的Build From关系，同时需要创建一些构建过程中构建元素使用到的构建工具和依赖的构建环境、平台等信息，并建其中的连线关系。
   ![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385920.png "点击放大")
   
   
 
