不整合検出プラグイン

クラス図とシーケンス図の不整合をチェックする機能です。
ライフラインのベースとなるクラスやメソッドの存在、クラス間の関係、可視性などを元に、シーケンス図で描かれている相互作用の不整合を検出し、警告します。また、検出された不整合項目一覧は、Excelに出力できます。

概要

インストール

  1. 上記Downloadボタンから qualitysuite_consistent-x.x.x.jar ファイルをダウンロードします。
  2. .jar ファイルを、astah*図上にドラッグ&ドロップします。
  3. プラグイン概要のダイアログが表示されるので[はい]を選択します。
  4. 次に表示されるメッセージに従ってastah*を再起動します。
    astahプラグイン
  5. 図を開いて、astah*画面右下(拡張ビュー)に[不整合]タブが表示されていれば、インストールは完了です。
    不整合チェックプラグイン
  6. 拡張ビューが開かない場合は、[表示] - [拡張ビューの表示/非表示]をクリックしてください。
    拡張ビュー


リファレンス


当プラグインをインストール後にシーケンス図を含むファイルを開くと、情報が[不整合]タブに表示されます。

■ 各カラムの説明 ■


不整合チェックプラグイン
カラム名 説明
No 昇順番号
エラーメッセージ
シーケンス図名 シーケンス図名を、::区切りのフルパス表示します。
メッセージ情報 戻り値 = シーケンス図番号:メッセージ名(引数名:型名):戻り値型
ソースライフライン名 ライフライン名:クラス名
ターゲットライフライン名 ライフライン名:クラス名
エラーレベル critical_icon 致命的なエラー 設計に致命的な問題が存在する可能性を示します。(修正が必要)
error_icon エラー 設計に問題が存在する可能性を示します。(修正が必要)
warning_icon 警告 設計に潜在的な問題が存在する可能性を示します。(調査が必要)
notice_icon 通知 注意喚起を表示します。


■ 各ボタンの説明 ■


不整合チェックプラグイン
ボタン名 説明
モデル更新時に、自動的にモデルを検証 自動的にタブを更新 モデル更新時に、自動的に不整合タブも更新 (デフォルト:ON)
タブの更新 タブの更新 [更新]ボタンをクリックすると、不整合タブを更新
タブの内容をMicrosoft Excelにエクスポート Excelにエクスポート [Excelにエクスポート]ボタンをクリックすると、不整合タブの内容をexcelに出力 (詳しく見る)


■ エラーチェック ■


プロジェクト内の全シーケンス図の全メッセージに対して不整合をチェックします。表示対象エラー名、エラー内容は下記の通りです。

優先順位 エラーメッセージ名 エラー
レベル
エラー内容 備考
1 ソースライフライン({0})およびターゲットライフライン({1})のベースクラスが存在しません notice_icon 通知 ライフラインのベースとなるクラスが存在しない
対応:ライフラインのプロパティビューから設定する
{0}:ソースライフライン名
{1}:ターゲットライフライン名
2 ライフライン({0})のベースクラスが存在しません notice_icon 通知 ライフラインのベースクラスが存在しない
対応:ライフラインのプロパティビューから設定する
{0}:ライフライン名
3 メッセージが操作({0})に割り当てられていません notice_icon 通知 メッセージが操作に割り当てられていない
対応:メッセージのプロパティビューから設定する
{0}:メッセージ名
4 メッセージが操作({0})に割り当てられていません({1}に存在) notice_icon 通知 メッセージが操作に割り当てられていない
対応:メッセージのプロパティビューから設定する
{0}:メッセージ名
{1}:存在するクラス名
5 操作({0})の可視性が不正です({1}に存在) error_icon エラー メッセージに割り当てられた操作の可視性が不正 {0}:メッセージ名
{1}:クラス名
6 操作({0})が存在しません critical_icon 致命的なエラー メッセージ受信側ライフラインのベースクラスに、該当する操作が存在しない {0}:対象メッセージ名
7 操作({0})の可視性が不正です warning_icon 警告 メッセージに割り当てられた操作の可視性が不正 {0}:メッセージ名
8 ソースクラス({0})からターゲットクラス({1})を参照できません warning_icon 警告 メッセージ送信側ライフラインと受信側ライフラインのベースクラス間が、参照可能な関係にない {0}:ソースクラス名
{1}:ターゲットクラス名


■ 不整合に対する操作 ■


不整合ビューに表示された各行に対してできる操作は次の通りです。

不整合チェックリストに対してできる機能


■ QuickFix(未対応) ■


右クリック後[QuickFix]を選択すると、解決の提案が可能な不整合について、複数の解決提案を表示します。
但し、解決の提案がない不整合については、[QuickFix]は非活性となります。




利用方法


■ 検出された不整合の解消例 ■

  1. 拡張ビューの[不整合]タブを選択します。エラーメッセージの一覧が表示されます。
    一番上に「ライフライン(undefined)のベースクラスが存在しません」というエラーが出ているので、これを解決しましょう。
    まずは、右クリックして[図要素へジャンプ] - [(表示される図名)]をクリックします。
  2. 図要素にジャンプ
  3. 対象の図が開きます。undefinedライフラインを選択して、プロパティビューの[ベース]タブで[新規作成]ボタンを押してベースクラスを作成します。ベースクラスは、下記のように新規作成することもできますし、
  4. ベースクラスの新規作成

    プロジェクト内に存在するクラスを選択してして設定することも可能です。設定方法は、操作ガイドもご参照ください

    ベースクラスの選択
  5. これで一つエラーを解消できました。解消されると、エラー行が[不整合]タブからエラーが消えます。
    次は「操作が存在しません」というエラーを解消しましょう。先ほどと同様に[図要素へジャンプ]-[シーケンス図名]をクリックして図を開きます。 対象のメッセージを選択して、プロパティビューの[ベース]タブの[新規作成]から操作を設定しましょう。新規作成、もしくは
  6. 操作の新規作成

    ターゲットライフラインのベースクラスが持つ操作一覧から選択して設定することもできます。設定方法は、操作ガイドもご参照ください

    操作の選択
  7. 次は「参照ができない」エラーを解消しましょう。
  8. 参照ができない旨のメッセージ
  9. クラス図を表示して、足りないクラスを追加し、クラス間に適当な関連を持たせることでエラーを解消できます。
  10. クラス追加しエラー解決

■ 不整合タブの内容を Microsoft Excel にエクスポートする ■

  1. [不整合]タブ右端にある[Excelにエクスポート]ボタンをクリックします。
    Excelにエクスポートボタン
  2. エクスポートダイアログが表示されます。[生成]ボタンをクリックすると不整合タブの内容が出力されます。
    エクスポート画面
  3. 「作成したドキュメントを自動的に開く」チェックボックスにチェックがある場合、Excelに出力後、そのファイルが開きます。
    出力されたExcel画面

旧バージョンのダウンロード

対応エディション リリース日 バージョン ダウンロード
astah* professional、UML
6.8 - 8.3
2019.4.11 1.3.5