ObjectSquare [2007 年 4 月号]

[技術講座]


ちょっとうれしい UML 2.0 のこんな技
アクティビティパーティションの巻

(株)オージス総研
UML 2.0 勉強会
山内 亨和

はじめに

 UML 1.X の頃のアクティビティ図にはパーティションというモデル要素がありました。
 スイムレーンといったほうがピンとくるかもしれませんね。スイムレーンはパーティションの表記法名です。

 パーティションはアクティビティ図を縦に区切る表記法で、一般的には業務フローの登場人物を表現するために使います。図 1 はパーティションを使った業務フローの例です。


図 1 パーティションの例

 UML 2.0 ではパーティションの表現能力が格段に向上しています。本稿では業務フローの例を交えながら、パーティションの活用パターンを解説します。

 ※ 正確にはアクティビティパーティションという名前なのですが、長ったらしいのでパーティションと省略します。

例題を理解する - 本の予約業務(図書館)の業務フロー -

 図書館の本の予約業務を例に(使い古されたドメインですが)、パーティションを説明します。
 本の予約から貸し出しまでの業務の流れは主に 2 つのパターンに分かれます。

他の図書館に在庫がある場合


図 2 他の図書館に在庫がある場合の業務

他の図書館に在庫がない場合


図 3 他の図書館に在庫がない場合の業務

パーティションの使い方を理解する

 本の予約業務はとてもシンプルな業務ですが、パーティションを学ぶには適しています。業務フローを表現するために、様々なパーティションを使い方をするからです。

 まずは本の予約業務に登場する用語を種類ごとに整理してみましょう。以下は用語の一部です。

 このうち、「組織」「人」「役割」「時間」を表現するのにパーティションが使えます。

活用パターン(1) 登場人物を表現する

 大抵の業務フローには複数の人・組織が登場します。
本の予約業務では貸出先図書館、配達員、予約先図書館、受付係、整理係などの人や組織が登場しています。

UML 1.X の頃は業務フローの登場人物を表現するためにパーティションを使っていましたが、UML 2.0 でも同じです。図 4 はパーティションを使った業務フローです。本の予約業務の登場人物のうち、貸出先図書館、配達員、予約先図書館を表現しています。


図 4 本の予約業務の登場人物を表現した業務フロー

 UML 1.X と UML 2.0 では微妙にパーティションの表記法が違います。UML 2.0 ではパーティション名の周りを四角で囲うように変わりました。なんとなく UML 1.X の頃の表記法とくらべて野暮ったさがなくなったような気がしませんか。

活用パターン(2) 登場人物の役割を表現する

 1 つの業務フローに同じ種類の人・組織が別の役割で登場することがあります。
本の予約業務では、図書館が貸出先と予約先という 2 つの役割で登場しています。

 UML 2.0 ではパーティションに役割を表現できるようになりました。図 5 の業務フローのように、パーティション名を「貸出先:図書館」「予約先:図書館」と記述して役割を表現します(属性の表記法と似ています)。


図 5 図書館の役割を明示した業務フロー

活用パターン(3) 組織階層を表現する

 組織には会社 -> 部 -> 課 -> 社員、といったような階層があります。
本の予約業務の例では、図書館には受付係や整理係を担当する職員が働いています。

 UML 2.0 ではパーティションを階層的に表現できるようになりました。図 6 の業務フローのように、「予約先:図書館」パーティションの中に「受付係:職員」「整理係:職員」パーティションを配置して組織階層を表現します。


図 6 図書館と職員の組織階層を表現した業務フロー

活用パターン(4) タイムスケジュールを表現する

 業務フロー中の作業はそれぞれ別の日・時間に行うことがあります。
本の予約業務の例では、本の予約と回収は予約日に、本の返却は返却日に、本の配達と連絡は引当日翌日に、本の貸出は引当日翌日〜1週以内までというスケジュールで業務が進んでいきます。

 UML 2.0 ではパーティションを縦方向でも横方向でも、縦方向と横方向を組み合わせた表形式でもパーティションを表現できるようになりました。例えば、図 7 の業務フローのように縦パーティションに組織・人を横パーティションに時間を表現するなどといった使い方をします。


図 7 タイムスケジュールを表現した業務フロー

参考文献

[1] 『その場でつかえるしっかり学べる UML 2.0』オブジェクトの広場編集部/著, 秀和システム


記事の内容を5点満点で評価してください。
1点 2点 3点 4点 5点
記事に関するコメントがあれば併せてご記入ください。


© 2007 山内亨和
Prev Index
PrevIndex