• Imagix 4D ユーザガイド
  • 目次

UML 図ビュー

統一モデリング言語(UML)は、オブジェクト指向システムのフォワードエンジニアリングのための主な手法として圧倒的な支持を得ています。この手法では、クラス図がシステムの静的設計の主要な表現となります。UMLクラス図ビューは、現在のソフトウェア内のクラス、インターフェース、コラボレーションとその関係を理解するための表現を提供します。

Imagix 4DのUMLクラス図は標準のUML記法を使用しています。各クラスはボックスで表され、各ボックスは3つのコンパートメントに分割されています。上部にはクラス名が表示されます。次に、属性(非関数メンバ)がリストされます。下部のコンパートメントには操作(メンバ関数またはメソッド)が表示されます。

属性と操作メンバの名前の前には、メンバの可視性を示す記号が付いています:
   +-# パブリックのメンバ
   -+# プライベートの非公開メンバ
   #+- 保護されたメンバ
この指標に使用される色は標準のカラースキームに従っており、緑はメンバが変数であることを示し、青はメンバが関数であることを示します。

関係情報

複数のクラスが図に表示されるとすぐに、図は関係情報を表示し始めます。どの関係タイプが表示されるか、およびそれがどのように表示されるかは、[表示形式] ダイアログで制御されます。

これには、クラスレベルと基礎メンバレベルの両方の関係が含まれます。表示する関係タイプを制御することで、必要な情報を確認しつつ情報過多を避けることができます。

継承

UMLクラス図において、最も基本的な関係はクラス継承です。

表示される関係タイプを制御できますが、[表示形式] ダイアます。ログでは、図の自動レイアウトに使用されるクラス間の関係タイプが少なくとも1つは常に表示されるように保証されています。デフォルトでは、クラス継承が使用され

集約

もう一つのクラス間の関係タイプは集約です。集約は、あるクラスが別のクラスのメンバを宣言する場所を示します。

ここでは集約関係が図に追加されています。この表示のサイズが縮小されているため見えにくいですが、集約を表す各線には多重度の数値が含まれています。

関連

関連とは、UMLでメンバ間の関係を指す用語です。ダイアログでは、どの種類のメンバ間の関係を表示するかを選択できます。

このグラフでは、関数メンバ間の呼び出し関係が有効になっています。赤い線は異なるクラスの関数メンバ間の呼び出しを表しています。

複雑度の管理

UMLクラス図は、構造ビューおよびシーケンス図ビューと同様にImagix 4Dのグラフィッククエリ機能を共有しているため、関心のあるクラス構造の特定部分を解析することができます。解析が進むにつれて、図はすぐに非常に大きくなる可能性があります。サイズを制限する一つの方法は、クラスコンテナボックスを縮小して、他の表示されているクラスのメンバと関連するクラスメンバのみを表示することです。

この縮小は、[表示形式] ダイアログの [メンバ] タブを通じて実現されます。クラスコンテナ内に表示されるメンバの種類を制御することができます。

メンバ設定とメンバ間の関係(関連)設定は、図に表示される実際のメンバと関係を決定する際に相互に作用します。メンバ間の関係は、表示されているメンバに対してのみ表示できます。そして、形式がすべてのメンバではなく関連メンバを表示するように設定されている場合、メンバ間の関係設定が表示されるメンバを制限します。

クラスの調査範囲が拡大すると、これだけの情報でも単一の図としては過剰になることがあります。このような現実的なUMLクラス図の利用をサポートするために、[表示形式] ダイアログには補完的で焦点を絞った表示に情報を移す設定があります。これは、[メンバ] タブの上部にある[折りたたみ]チェックボックスを使用して行います。

結果として得られる折りたたまれた図では、クラスの属性と操作がそれぞれメンバの数を示す単一のエントリに縮小されます。同様に、関連は属性および/または操作エントリ間のすべての関係を表す単一の線に折りたたまれます。これにより、図のサイズと複雑度が大幅に削減されます。クラスメンバや関連の隠れた詳細を確認するには、特定の属性/操作エントリまたは関係線をクリックします。そのクラスや関連の詳細はシンボルパネルに表示されます。ここでは、シンボルパネルはクラスbEncoderとクラスoTPU間の関連線をクリックした結果を示しています。特定の関数メンバとそれらが関与する呼び出しを確認できます。

UMLファイル図

UMLクラス図ビューはC++およびJavaコードの表示にのみ利用できますが、Cソフトウェアを解析するための類似のビューであるUMLファイル図もあります。

UMLファイル図は、ファイルレベルでシステムの静的設計を示すために同じ基本的なアプローチを適用します。メンバと関係はファイルを表すボックス内に表示されます。類似の [表示形式] ダイアログにより、表示されるファイルメンバシンボルタイプと関係タイプが制御されます。

UMLクラス図で使用されるパブリック/プライベート/保護された記法が拡張されています:
   *=. グローバルメンバ
   =*. 静的メンバ
   .*= ローカルメンバ

クラスの継承と集約は、ファイル間の中央の関係としてファイルインクルードに置き換えられます。メンバ間の関連については、関係タイプのリストが若干拡張され、定義および依存関係の表示が可能になります。

UMLタスクコラボレーション図

UMLタスクコラボレーション図は、マルチタスキングやマルチスレッドシステムの解析をサポートするため、タスクが共有変数を通じてどのように通信するかを示すことに焦点を当てています。このビューは、ハッサン・ゴマによって記述されたCOMETメソドロジーに基づいています。同じタスク定義タスクフローチェックレポートで使用されます。

この図は2つの列で構成されています。左側のボックスは、プロジェクトのために指定されたタスクを表しています。右側のボックスは、タスク間で共有されるデータのセットを表しています。このセットは自動的に定義され、タスクによって同様に扱われる変数を組み合わせています。

タスクと共有データを結ぶ線は、変数の読み取り(オレンジ)と変数の設定(青)を区別するために標準のImagix 4Dカラースキームを使用しています。細い線は常にクリティカルリージョン内で発生する使用を表します。太い線は、少なくとも一部の変数使用が保護されていないことを示しています。

表示形式ダイアログ

UMLタスクコラボレーション図の内容は、[表示形式] ダイアログを通じて制御されます。

表示されるデータ共有を制御するための広範囲なフィルタが用意されています。異なるフィルタを適用すると、図はすぐに更新され、現在選択されている関係と共有データのみが表示されます。

[表示形式] ダイアログには、タスクおよび共有データボックス内に表示される内容を制御する [メンバ] タブもあります。

詳細レポート

この図は、UMLタスクコラボレーション詳細レポートによって補完されます。[表示形式] ダイアログまたは表示メニューから起動でき、このレポートは図に表されたデータ使用の詳細をリストします。

レポートの形式は複数のタスクでセットされる変数レポートに似ています。ただし、レポートの内容は図に表示される特定のデータ使用に一致します。図のフィルタリングを変更すると、レポートも更新され、現在表示されているデータ使用を反映します。