使用模型可维护性仪表板监控设计复杂性
模型可维护性仪表板从工程中的模型设计工件收集度量数据,以帮助您评估设计的大小、架构和复杂性。
该仪表板分析模型可维护性的不同方面,包括模型设计工件,如 Simulink® 模型、Stateflow® 图和 MATLAB® 代码。模型可维护性度量可以帮助您确定设计中的某些部分是否过于复杂,需要进行重构。低复杂度的设计更易于阅读、维护和测试。
本示例展示了如何收集和探索工程的可维护性度量数据。在更新和开发设计工件时,使用仪表板来评估对复杂性和可维护性的影响。
工程开放模型可维护性仪表盘
1.打开一个包含设计工件的工程。例如,在 MATLAB 命令行窗口中输入:
openProject("cc_CruiseControl");
该工程包含多个模型、测试和需求文件。有关详细信息,请参阅创建工程以使用模型设计和模型测试仪表板。
2.模型可维护性仪表盘是一个模型设计仪表盘,用于显示可维护性度量。要打开模型可维护性仪表板,请使用以下方法之一:
在工程选项卡的工具部分中,点击模型设计仪表板。
在工程中打开一个模型,然后在 App 库中点击模型设计仪表板。
在命令行窗口中,输入:
modelDesignDashboard
仪表板应用程序启动,并为软件单元 cc_ControlMode 打开一个新的模型可维护性选项卡。模型可维护性仪表板显示单元的大小、架构和复杂性的度量结果。

探索工件
仪表板应用程序的左侧是工程面板,其中显示工程中与当前选定仪表板兼容的工件。您可以使用工程面板打开工程中不同工件的仪表板。模型可维护性仪表板可以收集工程中 Units 和 组件 的度量结果。要控制仪表板将哪些对象分类为单元或组件,请参阅将模型按层级结构分类为组件或单元。

当您在工程面板中选择一个工件时,工件面板会显示与该工件相关的其他工件。例如,当您在工程面板中选择 cc_ControlMode 时,工件面板会显示追溯到单元 cc_ControlMode 的工件。功能性需求、设计、测试和测试结果文件夹包含仪表板追溯到当前工件的工件。
3.在工件面板中,展开设计文件夹。对于单元 cc_ControlMode,Design 文件夹显示了相关的数据字典、模型和子系统参考。

探索可维护性度量
打开模型可维护性仪表板时,仪表板会自动收集度量数据,并在仪表板的六个主要部分中显示结果:
组件结构体
组件接口
设计圈复杂度分解
哈尔斯特德难度分析
Simulink 架构
Stateflow 架构
MATLAB 架构
仪表盘的每个部分都包含小组件,可帮助您与度量数据进行交互。
4.在仪表板的组件结构体部分,指向复杂性小组件。小组件右上角出现三个点。

将鼠标指针指向三个点,然后点击帮助图标
,以查看有关该度量以及仪表板如何计算该度量值的更多信息。

5.在 Simulink 架构部分,在信号线行和分布列中,度量结果显示信号线分布中存在异常值。
仪表盘将大部分度量数据分类到左侧的三个分布 bin 中。最右侧的分布 bin 包含超出该范围的度量数据。

6.指向最右侧的分布 bin。工具提示表明模型层次结构中有一层包含 60 到 69 个 Simulink 信号。
模型的其他层包含的信号线较少。例如,最左侧的分布 bin 显示九个模型层,其中包含少于 10 个 Simulink 信号。
7.点击最右侧的分布 bin ,查看更详细的度量数据。
仪表板打开小组件的度量详细信息,其中包含度量值表和指向每个相关工件的超链接。表格显示,工件 Control_Mode_StateMachine 包含 60 条信号线。

请注意,从度量详情到模型可维护性的主要结果,cc_ControlMode 有一条面包屑路径。

8.在工件列中,点击控制模式状态机以在 Simulink 中打开工件。
在这个示例中,工件 Control_Mode_StateMachine 是模型 cc_ControlMode 中的一个子系统。如果子系统顶层的 60 条信号线使设计难以阅读,请重构模型层以提高可读性。
9.要生成模型可维护性度量结果的报告,您可以使用工具栏中的报告按钮。
