ストラタジーナム メニュー

2006年7月14日金曜日

UML中級講座 第70回 パーティション

このブログは、時々外出先で書く事があり、本日は城山ガーデンにある緑茶専門の喫茶店で書いております。
本日の東京地方は朝から30度を超え、ようやくたどりついたこの店で、コンクリートを歩く男女をガラス越しに眺めながら、冷たい緑茶を飲んでほっと一息入れているところです。

さて、今回と次回はパーティションについて解説致します。
今回は、表記法をカバーし、次回はパーティションのメタモデルに触れる予定です。

6−5 パーティション
6−5−1 パーティションの表記

図A09



UML1.Xのアクティビティ図において、誰が各アクションを行うかを表示する手段として、スイムレーンが導入されましたが、UML2.0では、この表記方法がさらに拡大されパーティションと呼ばれるようになりました。
図A09の(a)は、パーティションを用いて、従来のスイムレーンの表記のを行った例です。各アクションの実行主体、グループはパーティションと呼ばれます。
パーティションはさらに細かいレベルまで分割することができ、サブパーティションと呼ばれます。図中のA,Bは、サブパーティションの名前です。
また、パーティションは、対象となるシステムの外側にいる人や組織なども表すことができ、それを示す記号としてステレオタイプ、<>が導入されました。図(a)のパーティション Cは該当システムの外側の存在であることを示しています。
UML2.0では、スイムレーン表記だけではなく、図(b)で示されるような多次元スイムレーン表記も可能となり、図(c)で示されるように各アクションノード内にパーティション名を記入することも可能になりました。なお、アクション内に記入する場合は、図のようにパーティション名を( )で括ります。
図(d)は、(b)と(c)の表記が混在した表現を取っています。この例では、実行主体として二つのクラス、「注文プロセッサ」と「会計係」が登場しますが、それぞれのパーティションが、「東京」と「大阪」の二つの地域に分けられています。この図で注意しなければいけないのは、東京の会計係のパーティション内に表示されている「支払い」アクションノードです。このアクションの実行主体は、東京の会計係ではなく、対象システムの外側にいる「顧客」であることが、ステレオタイプ<>から分かります。

なお、オブジェクトノードをパーティション間の境界線上に置くことは可能ですが、アクションノードを境界線上に書いてパーティション間で共有する形の表記は出来ません。(本来パーティションは、アクションの実行主体、グループを明記する為に導入されたものです。)