コンポジット・アクティビティは、任意のレベルの詳細や複雑さをサブアクティビティ図で表すことができます。最上位ダイアグラムと同様に、ドリルダウン・ダイアグラムは、スイムレーン、アクティビティ、オブジェクト・フロー状態およびルーティングを使用してビジネス・プロセス・フローを表します。また、このドリルダウン・ダイアグラムには、ダイアグラムが表すシステムの開始状態を示す1つの初期状態、およびその終了状態を示す1つ以上の最終状態も備えています。
ドリルダウン・ダイアグラムで表すビジネス・プロセスの結果は、残りのアクティビティ・モデルに組み込まれるように、最上位ダイアグラムに渡す必要があります。これを行うには、ドリルダウン・ダイアグラムの最終状態の前にある最終アクティビティでオブジェクト・フロー状態を使用して、メッセージを最上位ダイアグラムに渡します。最上位ダイアグラムでは、このメッセージが、ドリルダウン・アクティビティから続く同一の一致するオブジェクト・フロー状態によって取得されて、残りのシステムに渡されます。
注意: 「ダイアグラムに追加」コマンドを使用すると、既存の要素のコピーを適用できます。
アクティビティ・モデラーでコンポジット・アクティビティの内容を正しく検出して処理するには、サブアクティビティ図と最上位ダイアグラムで一致するオブジェクト・フロー状態を検出する必要があります。アクティビティ・モデラーで一致するオブジェクト・フロー状態を検出できない場合、ドリルダウンは無視されます。
図1に、サブアクティビティ図と最上位ダイアグラムで一致するオブジェクト・フロー状態の例を示します。「エクスポートのための消去」コンポジット・アクティビティは、「エクスポート・ライセンスの取得」アクティビティで終了するシステムを表します。「ライセンス[取得済]」オブジェクト・フロー状態は「[取得済]」状態を最上位ダイアグラムに渡します。最上位ダイアグラムでは、「エクスポートのための消去」から続く「ライセンス[取得済]」オブジェクト・フロー状態でこれを取得します。
図1: 最上位ダイアグラムとドリルダウン・ダイアグラムで一致するオブジェクト・フロー状態を示したコンポジット・アクティビティ
判断では、複数の結果となる場合があります。判断の結果は、オブジェクト・フロー状態によって表されます。指定したコンテンツ・ベースのルーティング・コードによって、メッセージがルーティングされるブランチが決まります。ドリルダウン・ダイアグラムが判断で終了する場合は、コンポジット・アクティビティから続く各オブジェクト・フロー状態のコピーが最上位ダイアグラムに表示される必要があります。このメッセージ・ルーティング情報は、ドリルダウン・ダイアグラムのオブジェクト・フロー状態から最上位ダイアグラムの対応するオブジェクト・フロー状態に渡され、次に残りのシステムに送信されます。
たとえば、図2の「エクスポートのための消去」はコンポジット・アクティビティで、オーダーを消去するにはドリルダウン・ダイアグラムの「エクスポート・ライセンスの取得」か「特別な許可の取得」のいずれかを満たす必要があります。指定したコンテンツ・ベースのルーティング・コードによって、最上位ダイアグラムに送信されるのが「ライセンス[取得済]」か「許可[取得済]」メッセージかが決まります。最上位ダイアグラムでは、適切なオブジェクト・フロー状態のコピーによってメッセージとルーティング情報が取得され、メッセージが残りのシステムに送信されます。
別の方法として、ドリルダウン・ダイアグラムでオブジェクト・フロー状態と終了点の間の遷移に対してシグナルを定義します。次に、これらの定義したシグナルによって、ソースが最上位アクティビティの遷移に対して起動するイベントを定義します。この方法では、最上位ダイアグラムにオブジェクト・フロー状態のコピーを含める必要がありません。
図2: 判断について一致するオブジェクト・フロー状態を示すコンポジット・アクティビティ
同期ポイントは、1つのオブジェクト・フローのみ処理できる結合を表します。ドリルダウン・ダイアグラムが同期ポイントで終了する場合は、メッセージを表すオブジェクト・フロー状態のコピーが最上位ダイアグラムに表示される必要があります。
たとえば、図3の「エクスポートのための消去」はコンポジット・アクティビティで、「オーダー[消去済]」メッセージを送信するには、「ライセンス[取得済]」および「宣言[完了済]」の両方を完了する必要があります。「オーダー[消去済]」メッセージは、最上位ダイアグラムの対応するオブジェクト・フロー状態によって取得され、残りのシステムに送信されます。
図3: 同期ポイントについて一致するオブジェクト・フロー状態を示すコンポジット・アクティビティ
関連トピック
Copyright © 1997, 2007, Oracle. All rights reserved.