このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
モデル保守性ダッシュボードを使用して設計の複雑度を監視する
モデル保守性ダッシュボードでは、設計のサイズ、アーキテクチャおよび複雑度を評価するのに役立つよう、プロジェクト内のモデル設計アーティファクトからメトリクス データを収集します。
ダッシュボードは、Simulink® モデル、Stateflow® チャート、MATLAB® コードなどのモデル設計アーティファクトからモデルの保守性のさまざまな側面を解析します。モデル保守性メトリクスは、設計の一部が複雑すぎてリファクタリングが必要であるかどうかを判定するのに役立ちます。設計の複雑度が下がると、読みやすく、保守とテストも容易になります。
この例では、プロジェクトの保守性メトリクス データを収集して確認する方法について説明します。設計アーティファクトを更新して開発する際に、ダッシュボードを使用して複雑度と保守性に与える影響を評価します。
プロジェクトに対してモデル保守性ダッシュボードを開く
1.設計アーティファクトを含むプロジェクトを開きます。この例では、MATLAB コマンド ウィンドウで次のように入力します。
openProject("cc_CruiseControl");
プロジェクトにはいくつかのモデル、テスト、要件ファイルが含まれています。
2.モデル保守性ダッシュボードは、保守性メトリクスを表示するモデル設計ダッシュボードです。モデル保守性ダッシュボードを開くには、以下のいずれかの方法を使用します。
[プロジェクト] タブの [ツール] セクションで、[モデル設計ダッシュボード] をクリックします。
プロジェクトでモデルを開き、[アプリ] ギャラリーで [モデル設計ダッシュボード] をクリックします。
コマンド ウィンドウで次を入力します。
modelDesignDashboard
ダッシュボード アプリが起動し、ソフトウェア コンポーネント cc_CruiseControl
のための新しい [モデル保守性] タブが開きます。
プロジェクトのアーキテクチャを確認する
ダッシュボード アプリの左側には [プロジェクト] パネルがあり、現在のプロジェクトのユニットとコンポーネントのアーキテクチャが表示されます。[プロジェクト] パネルを使用して、プロジェクト アーキテクチャ内のさまざまなユニットとコンポーネント用のダッシュボードを開くことができます。ソフトウェア コンポーネントにはコンポーネント アイコン が、ソフトウェア ユニットにはユニット アイコン が使用されています。
3.[プロジェクト] パネルでコンポーネント [cc_CruiseControl] を展開します。コンポーネント cc_CruiseControl
には 4 つのソフトウェア ユニット cc_ControlMode
、cc_DriverSwRequest
、cc_LightControl
、および cc_ThrottleController
が含まれています。
4.ユニット [cc_ControlMode] を選択して、そのソフトウェア ユニット用にモデル保守性ダッシュボードを開きます。特定のユニットまたはコンポーネントに対してダッシュボードが使用できない場合は、そのユニットまたはコンポーネントの名前がグレー表示になります。
モデル保守性ダッシュボードに、ユニットのサイズ、アーキテクチャ、複雑度のメトリクス結果が表示されます。
設計アーティファクトを確認する
ダッシュボード アプリの左下には選択したユニットまたはコンポーネント内のアーティファクトを表示する [アーティファクト] パネルがあります。[機能要件] フォルダー、[設計] フォルダー、[テスト] フォルダー、および [テスト結果] フォルダーには、現在のユニットまたはコンポーネントまでダッシュボードがトレースしたアーティファクトが含まれています。
たとえば [プロジェクト] パネルで [cc_ControlMode] が選択されると、[アーティファクト] パネルにはユニット cc_ControlMode
に関連付けられているアーティファクトが表示されます。
5.[アーティファクト] パネルで [設計] フォルダーを展開します。ユニット cc_ControlMode
について、[設計] フォルダーには関連付けられているデータ ディクショナリ、モデル、サブシステム参照が表示されます。
ダッシュボード アプリのツールストリップで [凡例] ボタンをクリックして、ダッシュボードがトレースするアーティファクトのアイコンの一覧を表示できます。
保守性メトリクスを確認する
モデル保守性ダッシュボードを開くと、ダッシュボードは自動的にメトリクス データを収集して、結果をダッシュボードの 6 つのメイン セクションに表示します。
コンポーネントの構造
コンポーネント インターフェイス
設計の循環的複雑度の内訳
Halstead 難易度の内訳
Simulink アーキテクチャ
Stateflow アーキテクチャ
MATLAB アーキテクチャ
ダッシュボードの各セクションには、メトリクス データを操作するのに役立つウィジェットが含まれています。
6.ダッシュボードの [コンポーネントの構造] セクションで、[複雑度] ウィジェットにカーソルを合わせます。ウィジェットの右上隅に 3 つのドットが表示されます。
3 つのドットにカーソルを合わせてヘルプ アイコン をクリックし、メトリクスについての詳細情報と、ダッシュボードでメトリクスの値がどのように計算されるかを表示します。
7.[Simulink アーキテクチャ] セクションの [信号線] 行の [分布] 列に、メトリクス結果として信号線の分布の外れ値が表示されます。
ダッシュボードは、ほとんどのメトリクス データを左側の 3 つの分布ビンに分類しました。最も右側の分布ビンには、範囲外のメトリクス データが含まれています。
8.最も右側の分布ビンにカーソルを合わせます。モデルの階層構造の 1 つの層に、60 ~ 69 の Simulink 信号が含まれていることがツールヒントに示されます。
モデルの他の層は、含まれている信号線はより少ないです。たとえば、最も左側の分布ビンには、9 つのモデル層に 10 未満の Simulink 信号が含まれていることが示されます。
9.最も右側の分布ビンをクリックして、メトリクス データをさらに詳細に確認します。
ダッシュボードでそのウィジェットの [Metric Details] が開き、メトリクス値と関連する各アーティファクトへのハイパーリンクの表が示されます。この表には、アーティファクト [Control_Mode_StateMachine] に 60 の信号線が含まれていることが示されています。
[Metric Details] から [cc_ControlMode] のメインの [Model Maintainability] の結果に戻る階層リンクがあることに注意してください。
10.[アーティファクト] 列で、[Control_Mode_StateMachine] をクリックして Simulink のアーティファクトを開きます。
この例では、アーティファクト Control_Mode_StateMachine
はモデル cc_ControlMode
内のサブシステムです。サブシステムの最上層にある 60 の信号線によって設計が読みにくくなっているようであれば、モデル層をリファクタリングして可読性を向上させます。