模型可维护性度量
模型可维护性仪表板是一个模型设计仪表板,它收集工程中模型设计工件的度量数据,例如 MATLAB® 代码、Simulink® 模型和 Stateflow® 图。使用度量数据来评估模型开发生命周期中设计中单元和组件的可维护性和复杂性。仪表盘中的每个度量都衡量了设计可维护性的不同方面。使用模型可维护性仪表板中的小组件来查看高级度量结果,并衡量设计中单元和组件的复杂性。
或者,您可以使用 API 函数以编程方式收集度量结果。使用 API 时,请使用度量标识符(度量 ID)来引用每个度量。您可以使用函数 getAvailableMetricIds 返回可用度量标识符的列表。
以下是可用的模型可维护性度量,按它们在模型可维护性仪表板中出现的部分进行分组:
组件结构体和接口
| 度量 | 描述 |
|---|---|
| 总体设计圈复杂度 | 单元或组件可能的执行路径数量。 |
| 霍尔斯特德难度 | 计算 MATLAB 代码、Stateflow 图和 Simulink 设计的总体 Halstead 难度。 |
| 层深度 | 模型组件在模型层次结构中深度是多少层? |
| 最大层深度 | 单元或组件模型层次结构中的最大层数。 |
| 层宽 | 每个工件包含的子模型组件数量。 |
| 最大层宽 | 单元或组件中单个模型层包含的子模型组件的最大数量。 |
| 输入输出组件接口端口 | 组件接口的输入端口数和输出端口数。 |
| 输入输出组件接口信号 | 连接到组件接口的输入信号和输出信号的数量。 |
决策与设计圈复杂度
| 度量 | 描述 |
|---|---|
| Simulink 决策计数 | 您的单元或组件每一层中的 Simulink 决策数。 |
| Simulink 决策分布 | 您所在单位或组件中 Simulink 决策的分布情况。 |
| Simulink 设计圈复杂度 | 单元或组件中 Simulink 模型组件的可能执行路径数量。 |
| Stateflow 决策计数 | 您所在单元或组件的图中 Stateflow 决策的数量。 |
| Stateflow 决策分布 | 您所在单位或组件中 Stateflow 决策的分布情况。 |
| Stateflow 设计圈复杂度 | 单元或组件中图可能执行路径的数量。 |
| MATLAB 决策计数 | 与您的单元或组件关联的 MATLAB 代码中的决策数量。 |
| MATLAB 决策分布 | 您所在单位或组件中 MATLAB 决策的分布情况。 |
| MATLAB 设计圈复杂度 | 单元或组件中 MATLAB 代码的可能执行路径数。 |
哈尔斯特德难度分析
| 度量 | 描述 |
|---|---|
| 霍尔斯特德难度 | 计算 MATLAB 代码、Stateflow 图和 Simulink 设计的总体 Halstead 难度。 |
| Simulink 哈尔斯特德复杂度 | 计算 Simulink 模型中的运算符和操作数,并使用 Halstead 复杂度度量计算模型体积和难度。 |
| Simulink 哈尔斯特德难度 | 您的单位和组件中 Simulink 模型的 Halstead 难度。 |
| Simulink 哈尔斯特德难度分布 | 您的单元和组件中 Simulink 模型的 Halstead 难度分布。 |
| Stateflow 哈尔斯特德复杂度 | 计算 Stateflow 图中的运算符和操作数,并使用 Halstead 复杂度度量计算设计量和难度。 |
| Stateflow 哈尔斯特德难度 | 您的单位和组件中 Stateflow 图的 Halstead 难度。 |
| Stateflow 哈尔斯特德难度分布 | 您的单元和组件中 Halstead 难度在 Stateflow 图上的分布情况。 |
| MATLAB 哈尔斯特德复杂度 | 统计 MATLAB 代码中的运算符和操作数,并使用 Halstead 复杂度度量计算代码量和难度。 |
| MATLAB 哈尔斯特德难度 | 您的单位和组件中 MATLAB 代码的 Halstead 难度。 |
| MATLAB 哈尔斯特德难度分布 | 您的单元和组件中 MATLAB 代码的 Halstead 难度分布。 |
Simulink 架构
| 度量 | 描述 |
|---|---|
| 模块总数 | 单元或组件中的模块总数。 |
| Simulink 模块 | 单元或组件每一层中的 Simulink 块数。 |
| Simulink 模块分布 | 单元或组件每一层中 Simulink 块的数量分布。 |
| 信号线总数 | 单元或组件中 Simulink 信号线的总数。 |
| Simulink 信号线 | 单元或组件每一层中的 Simulink 信号线数量。 |
| Simulink 信号线分布 | 单元或组件中 Simulink 信号线数量的分布。 |
| Goto 模块总数g | 单元或组件中 Goto 块的总数。 |
| Simulink Goto 模块 | 单元或组件每一层中的 Goto 块数。 |
| Simulink Goto 块分布 | 单元或组件每一层中 Goto 块的数量分布。 |
Stateflow 架构
| 度量 | 描述 |
|---|---|
| 转移总数 | 单元或组件中 Stateflow 转换的总数。 |
| Stateflow 转移 | 单元或组件中图的 Stateflow 转换次数。 |
| Stateflow 过渡分布 | 单元或组件中图中 Stateflow 转换次数的分布。 |
| 状态总数 | 单元或组件中 Stateflow 状态的总数。 |
| Stateflow 状态 | 图中单元或组件的 Stateflow 状态数。 |
| Stateflow 状态分布 | 单元或组件中图中 Stateflow 状态数的分布。 |
MATLAB 架构
| 度量 | 描述 |
|---|---|
| 整体 MATLAB 有效代码行 (eLOC) | 单元或组件中有效 MATLAB 代码的总数。 |
| MATLAB 有效代码行数 (eLOC) | MATLAB 代码的有效行数。 |
| MATLAB 有效代码行数 (eLOC) 分布 | MATLAB 代码有效行数的分布。 |
另请参阅
getAvailableMetricIds | 工程模型测试度量 | 模型测试度量 | 代码测试度量