
# 构建模型
#### 2.4.1构建模型的元素要与指定的构建模型层次结构保持一致
**详细描述**
在构建模型中创建构建元素，构建元素在架构树中与上下级元素的关系层级结构要与构建模型架构方案配置定义的层次结构一致，即该构建元素与上层父级元素、下层子级元素的父子关系（也称上下层级关系）、以及它们之间的连线关系和方向指向，都要与层级规则中定义的保持一致。
**检查范围**
当前模型工程中的所有符合定义规则的构建元素（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 构建模型的基础构造型与自定义构造型元素才认定为构建元素）。
1. 在构建模型图上创建出来的构建元素；
2. 引用到构建模型中的构建元素（包含关联空间中的引用的构建元素）；
**如何检查**
查询基于模型图构建的构建模型架构树，找出与架构方案不匹配（标红）的元素。
**正确示例**
架构层级规则示例：
关联父级：配置的是当前层级元素与上一层级的元素之间的连线类型和父子关系指向。
嵌套：是否支持当前类型的元素与同类型元素建立关系。
嵌套关系：当前类型的元素与同类型元素建立连线关系类型，默认为父指向子（即被指向的一方为子）。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783557.png "点击放大")
图中绘图示例1--包含的父子关系和连线关系：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971663805.png "点击放大")
架构信息树展示结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522310355.png "点击放大")
**错误示例**
错误示例场景1：方案中未配置元素关系，但是绘图中新增了关系。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944544712.png "点击放大")
架构信息树中报错：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522470405.png "点击放大")
架构检查结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971663845.png "点击放大")
#### 2.4.2构建模型不能存在游离的构建模型元素
**详细描述**
构建模型元素不能独立存在于构建模型架构树之外，必须要与架构树上的构建元素建立关联关系。
**检查范围**
当前模型工程中的所有符合定义规则的构建元素（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 构建模型的基础构造型与自定义构造型元素才认定为构建元素）。
1. 在构建模型图上创建出来的构建元素；
2. 引用到构建模型中的构建元素（包含关联空间中的引用的构建元素）；
**如何检查**
查询基于模型图（只有构建模型图内的构建元素参与构树）并展示不匹配元素构建的构建模型架构树，找出所有构建元素中不在架构树中的构建元素。
**正确示例**
按构建规则构建的架构信息树：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944385368.png "点击放大")
模型图示例：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783537.png)
**错误示例**
场景一：独立存在的构建元素
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944544708.png)
检查结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522470627.png "点击放大")
#### 2.4.3构建模型同一个树的同一层上不能有同名同类型的元素
**详细描述**
在同一棵构建架构信息树上，在同一个父元素节点下面，不能存在类型相同，并且名称也相同的构建元素；
**检查范围**
当前模型工程中的所有符合定义规则的构建元素（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 构建模型的基础构造型与自定义构造型元素才认定为构建元素）。
1. 在构建模型图上创建出来的构建元素；
2. 引用到构建模型中的构建元素（包含关联空间中的引用的构建元素）；
**如何检查**
查询基于构建模型图（只有构建模型图内的构建元素参与构树）构建的构建模型架构树，找出同一节点下同名同类型的构建元素。
**正确示例**
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971663841.png)
**错误示例**
错误示例场景1：同父节点下面存在类型相同，名称相同的构建元素。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944544672.png)
检查结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002522470649.png "点击放大")
#### 2.4.4构建元素与代码元素需存在build from关系
**详细描述**
在构建模型图上，构建元素与从代码模型中引用过来的代码元素如果存在连线关系，必须为build from的构建关系，且方向指向必须从构建元素指向代码元素。
**检查范围**
当前模型工程中的所有符合定义规则的构建元素（定义规则：工程设置 \> 构造型下，绑定到4+1视图 : 构建模型的基础构造型与自定义构造型元素才认定为构建元素）。
1. 在构建模型图上创建出来的构建元素；
2. 引用到构建模型中的构建元素（包含关联空间中的引用的构建元素）；
3. 引用到构建模型中的代码元素（代码元素的定义参考代码模型检查章节）；
**如何检查**
检查构建模型中构建元素与引用过来的代码元素之间的连线关系类型是否为build from，如果不存在，则列出这类不符合规则的构建元素。
**正确示例**
构建元素与引用过来的代码元素存在连线关系，关系为Build From类型，且方向由构建元素指向代码元素。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001971783581.png)
**错误示例**
错误示例场景1：构建元素与代码元素之间的连线关系类型不对。
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000001944544700.png)
检查结果：
![](https://support.huaweicloud.com/usermanual-codeartsmodeling/zh-cn_image_0000002490271004.png "点击放大")
