ObjectSquare [1999 年 8 月号]

[オブジェクト指向モデリング言語 UML]
   - 情報処理 VOL.40 NO.1, NO.3より -


UMLダイアグラム

アーキテクチャのためのダイアグラム

(1)コンポーネント図(Component Diagram)

パッケージ概念と依存関係を使って,クラスファイルやコンポーネントからアプリケーションやサブシステム,バージョンやシステムがいかに構成されるかを表現したものがコンポーネント図である.

コンポーネントとは,コンパイルやリンクや実行の単位となるものを指す.したがって,ソースファイル,実行モジュール,Windows環境のDLL(Dynamic Link Library)もコンポーネントである.たとえば,C++の場合,複数のヘッダファイルとボディファイル,1つの主プログラムファイル間のインクルード関係に基づく依存関係のグラフがコンポーネント図を構成する.また,コンポーネントをグループ化したパッケージもコンポーネントと考えられる.

さらに,コンポーネント図では,インタフェース記号とそれへの破線矢印を用いて,どのコンポーネントがどのコンポーネントの実装するインタフェースを利用するかを明示することもできる.

図-10 コンポーネント図の例

(2)配置図(Deployment Diagram)

ハードウェアにどうソフトウェアを配置するかという観点からシステムを表現したものが配置図である.そのために,ネットワーク内のサーバやクライアント,プロセッサやデバイスを抽象化したノードという概念を導入し,そこにプロセス,スレッドをどう割付け,さらにコンポーネントをどう配置するかを示す.プロセス間通信やネットワーク接続等をノード間の関連として表現する.

ノードは立方体シンボルで表し,ノードの性格を強調したい場合は,ステレオタイプ<<device>>等を使う.ノード間の関連に対しても,必要に応じて,ステレオタイプ<<IIOP>>, <<TCP/IP>>, <<RS-232C>>等を付加する.

配置図において,必要に応じて各ノード内に,オブジェクト図を表示することも,コンポーネント図を表示することもできる.

分散処理で問題になるのが,実際の物理的なオブジェクトの配置(deployment)と移動(migration)である.UMLでは「ノード」によって,オブジェクトの場所やネットワークのトポロジを抽象的に議論できる.計算リソースを保有する物理要素がノードと考えられる.

配置図の中でインタフェースを使うことにより,サーバオブジェクトの位置および提供するサービスを示すことができるが,クライアントオブジェクトも明示したければ,クライアントとサーバ間に依存関係の矢印を引く.また,オブジェクトやコンポーネントのノード間での移動(オブジェクトの動的再配置,いわゆるマイグレーション)やコピー(レプリケーション機能)を示したければ,配置図内で,旧オブジェクトと新オブジェクト間で《becomes》や《copies》といったラベル付き依存関係の矢印を引けばよい.

図-11 配置図の例


© 1999 OGIS-RI Co., Ltd.

Prev.

Index

Next