更新时间:2024-10-15 GMT+08:00
分享

代码模型

2.3.1代码模型的元素要与指定的代码模型层次结构保持一致

详细描述

在代码模型中创建代码元素,代码元素在架构树中与上下级元素的关系层级结构要与代码模型架构方案配置定义的层次结构一致,即该代码元素与上层父级元素、下层子级元素的父子关系(也称上下层级关系)、以及它们之间的连线关系和方向指向,都要与层级规则中定义的保持一致。

检查范围

当前模型工程中的所有符合定义规则的代码模型元素(定义规则:工程设置>构造型下,绑定到4+1视图 : 代码模型的基础构造型与自定义构造型元素才认定为代码模型元素)。

  1. 在代码模型图上创建出来的代码模型元素;
  2. 引用到代码模型中的代码元素(包含关联空间中的引用的代码元素);

如何检查

查询基于代码模型图构出的代码模型架构树,找出与架构方案不匹配(标红)的元素。

正确示例

架构层级规则示例:

关联父级:配置的是当前层级元素与上一层级的元素之间的连线类型和父子关系指向。

嵌套:是否支持当前类型的元素与同类型元素建立关系。

嵌套关系:当前类型的元素与同类型元素建立连线关系类型,指向关系默认为父指向子(即被指向的一方为子)。

图中画法示例1--包含的父子关系:

架构信息树展示结果:

当架构树上没有标红元素,就没有2.3.1的检查错误结果。

错误示例

场景一:方案中没有配置子节点,但是在画图设计中绘制了子节点。

File画在Repo Grp下是子节点,但方案中Repo Grp没有配置File为子节点。

架构信息树中报红:

架构检查结果:

2.3.2代码模型不能存在游离的代码模型元素

详细描述

代码模型元素不能独立存在于代码架构树之外,必须要与架构树上的代码元素建立关联关系。

检查范围

当前模型工程中的所有符合定义规则的代码模型元素(定义规则:工程设置>构造型下,绑定到4+1视图 : 代码模型的基础构造型与自定义构造型元素才认定为代码模型元素)。

  1. 在代码模型图上创建出来的代码模型元素;
  2. 引用到代码模型中的代码元素(包含关联空间中的引用的代码元素);

如何检查

查询基于模型图(只有代码模型图内的代码元素参与构树)并展示不匹配元素构出的代码模型架构树,找出所有代码元素中不在架构树中的代码元素。

正确示例

按代码架构方案构建的架构信息树:

模型图示例:

错误示例

场景一:存在没有连线且没有与包含关系的独立元素。

检查结果:

2.3.3代码模型同一个树的同一层上不能有同名同类型的元素

详细描述

在同一棵代码架构信息树上,在同一个父元素节点下面,不能存在类型相同,并且名称也相同的元素。

检查范围

当前模型工程中的所有符合定义规则的代码模型元素(定义规则:工程设置>构造型下,绑定到4+1视图 : 代码模型的基础构造型与自定义构造型元素才认定为代码模型元素)。

  1. 在代码模型图上创建出来的代码模型元素;
  2. 引用到代码模型中的代码元素(包含关联空间中的引用的代码元素);

如何检查

查询基于代码模型图(只有代码模型图内的代码元素参与构树)构出的代码模型架构树,找出同一节点下同名同类型的代码元素。

正确示例

错误示例

场景一:同父元素下面存在同类型且同名称的元素。

按逻辑规则构建的架构信息树,树上不会显示异常。

检查结果:

2.3.4代码元素与逻辑元素只能是manifest关系,且代码元素只能对应一个逻辑元素

详细描述

代码元素与逻辑元素之间的连线类型只能使用manifest连线,且指向方向由代码元素指向逻辑元素;一个代码元素只能连到一个逻辑元素上,而逻辑元素可以连线多个代码元素,即由多个代码元素指向构成。

检查范围

当前模型工程中的所有符合定义规则的代码模型元素(定义规则:工程设置>构造型下,绑定到4+1视图 : 代码模型的基础构造型与自定义构造型元素才认定为代码模型元素)。

  1. 在代码模型图上创建出来的代码模型元素;
  2. 引用到代码模型中的代码元素(包含关联空间中的引用的代码元素);

如何检查

检查所有的代码模型图中的代码元素与逻辑元素之间的连线关系是否为manifest连线关系,并检查代码元素是否只与一个逻辑元素有manifest关系,如果有2个及以上的逻辑元素则不合规则,会列到检查结果中。

正确示例

错误示例

场景一:一个代码元素对应到两个及两个以上的逻辑元素(一对多)。

架构规则检查结果,列出不符合检查项的代码元素:

2.3.5逻辑元素至少与一个代码元素存在manifest关系

详细描述

逻辑模型中的逻辑元素或从逻辑模型引用到代码模型中的逻辑元素至少要与一个代码元素中间有manifest连线关系。

当前规则支持配置检查类型后,已包含3.1.1的检查项,建议使用2.3.6检查项即可,3.1.1可不再重复检查。

检查范围

  1. 在逻辑模型图上创建出来的逻辑模型元素;
  2. 引用到代码模型中的逻辑元素;
  3. 排除Interface、Provided Interface、Required Interface元素。

如何检查

检查规则配置中勾选要检查的元素类型,服务、微服务、组件、模块是默认强制勾选的检查类型,检查这类元素在代码模型图中是否与代码元素存在manifest连线关系,由代码元素指向逻辑元素,不存在对应的代码元素则不符合规则 ,将该类逻辑元素列出到检查结果中。

正确示例

错误示例

引用过来的逻辑元素Interface没有对应任何代码元素。

相关文档