Main Content

モデル保守性メトリクス

モデル保守性ダッシュボードは、MATLAB® コード、Simulink® モデル、Stateflow® チャートなどのプロジェクト内のモデル設計アーティファクトからメトリクス データを収集するモデル設計ダッシュボードです。メトリクス データを使用して、モデル開発ライフサイクル全体で設計内のユニットおよびコンポーネントの保守性および複雑度を評価します。ダッシュボードの各メトリクスは、設計の保守性のさまざまな側面を測定します。モデル保守性ダッシュボード内のウィジェットを使用して、概要レベルのメトリクス結果を確認し、設計内のユニットおよびコンポーネントの複雑度を評価します。

あるいは、API 関数を使用して、プログラムによってメトリクス結果を収集できます。API を使用する場合は、メトリクス識別子 (メトリクス ID) を使用して各メトリクスを参照します。関数getAvailableMetricIdsを使用して、使用可能なメトリクス識別子のリストを返すことができます。

使用可能なモデル保守性メトリクスを以下に示します。モデル保守性ダッシュボードに表示されるセクション別にグループ分けしています。

コンポーネントの構造およびインターフェイス

メトリクス説明
Overall Design Cyclomatic Complexityユニットまたはコンポーネントで可能な実行パスの数。
Halstead DifficultyMATLAB コード、Stateflow チャート、および Simulink 設計の全体的な Halstead 難易度を計算。
層の深度モデル コンポーネントがモデルの階層構造内の何レイヤーの深さにあるのか。
Maximum Layer Depthユニットまたはコンポーネントのモデルの階層構造内にあるレイヤーの最大数。
Layer Breadth各アーティファクトに含まれる子モデル コンポーネントの数。
Maximum Layer Breadthユニットまたはコンポーネント内の単一のモデル レイヤーに含まれる子モデル コンポーネントの最大数。
Input and Output Component Interface Portsコンポーネント インターフェイスへの入力端子および出力端子の数。
Input and Output Component Interface Signalsコンポーネント インターフェイスに接続される入力信号および出力信号の数。

判定および設計の循環的複雑度

メトリクス説明
Simulink Decision Countユニットまたはコンポーネントの各レイヤー内の Simulink 判定の数。
Simulink Decision Distributionユニットまたはコンポーネント内の Simulink 判定の分布。
Simulink Design Cyclomatic Complexityユニットまたはコンポーネント内の Simulink モデル コンポーネントを介して可能な実行パスの数。
Stateflow Decision Countユニットまたはコンポーネント内のチャートに含まれている Stateflow 判定の数。
Stateflow Decision Distributionユニットまたはコンポーネント内の Stateflow 判定の分布。
Stateflow Design Cyclomatic Complexityユニットまたはコンポーネント内のチャートを介して可能な実行パスの数。
MATLAB Decision Countユニットまたはコンポーネントに関連付けられている MATLAB コード内の判定の数。
MATLAB Decision Distributionユニットまたはコンポーネント内の MATLAB 判定の分布。
MATLAB Design Cyclomatic Complexityユニットまたはコンポーネント内の MATLAB コードを介して可能な実行パスの数。

Halstead 難易度の内訳

メトリクス説明
Halstead DifficultyMATLAB コード、Stateflow チャート、および Simulink 設計の全体的な Halstead 難易度を計算。
Simulink Halstead ComplexityHalstead 複雑度メトリクスを使用して、Simulink モデル内の演算子とオペランドをカウントし、モデルのボリュームと難易度を計算。
Simulink Halstead Difficultyユニットおよびコンポーネント内の Simulink モデルの Halstead 難易度。
Simulink Halstead Difficulty Distributionユニットおよびコンポーネント内の Simulink モデル全体での Halstead 難易度の分布。
Stateflow Halstead ComplexityHalstead 複雑度メトリクスを使用して、Stateflow チャート内の演算子とオペランドをカウントし、設計のボリュームと難易度を計算。
Stateflow Halstead Difficultyユニットおよびコンポーネント内の Stateflow チャートの Halstead 難易度。
Stateflow Halstead Difficulty Distributionユニットおよびコンポーネント内の Stateflow チャート全体での Halstead 難易度の分布。
MATLAB Halstead ComplexityHalstead 複雑度メトリクスを使用して、MATLAB コード内の演算子とオペランドをカウントし、コードのボリュームと難易度を計算。
MATLAB Halstead Difficultyユニットおよびコンポーネント内の MATLAB コードの Halstead 難易度。
MATLAB Halstead Difficulty Distributionユニットおよびコンポーネント内の MATLAB コード全体での Halstead 難易度の分布。

Simulink アーキテクチャ

メトリクス説明
Overall Blocksユニットまたはコンポーネント内のブロックの全体的な数。
Simulink Blocksユニットまたはコンポーネントの各レイヤー内の Simulink ブロックの数。
Simulink Blocks Distributionユニットまたはコンポーネントの各レイヤー内の Simulink ブロックの数の分布。
Overall Signal Linesユニットまたはコンポーネント内の Simulink 信号線の全体的な数。
Simulink Signal Linesユニットまたはコンポーネントの各レイヤー内の Simulink 信号線の数。
Simulink Signal Lines Distributionユニットまたはコンポーネント内の Simulink 信号線の数の分布。
Overall Goto Blocksユニットまたはコンポーネント内の Goto ブロックの全体的な数。
Simulink Goto Blocksユニットまたはコンポーネントの各レイヤー内の Goto ブロックの数。
Simulink Goto Blocks Distributionユニットまたはコンポーネントの各レイヤー内の Goto ブロックの数の分布。

Stateflow アーキテクチャ

メトリクス説明
Overall Transitionsユニットまたはコンポーネント内の Stateflow 遷移の全体的な数。
Stateflow Transitionsユニットまたはコンポーネント内のチャートに含まれている Stateflow 遷移の数。
Stateflow Transitions Distributionユニットまたはコンポーネント内のチャートに含まれている Stateflow 遷移の数の分布。
Overall Statesユニットまたはコンポーネント内の Stateflow ステートの全体的な数。
Stateflow Statesユニットまたはコンポーネント内のチャートに含まれている Stateflow ステートの数。
Stateflow States Distributionユニットまたはコンポーネント内のチャートに含まれている Stateflow ステートの数の分布。

MATLAB アーキテクチャ

メトリクス説明
Overall MATLAB Effective Lines of Code (eLOC)ユニットまたはコンポーネント内の MATLAB コードの全体的な有効行数。
MATLAB Effective Lines of Code (eLOC)MATLAB コードの有効行数。
MATLAB Effective Lines of Code (eLOC) DistributionMATLAB コードの有効行数の分布。

参考

関連するトピック