演習 2.8: 振込シーケンス図の作成

この演習では、振込シーケンス図を作成します。振込シーケンス図は、機能タスクのワークフローを表示します。

振込参加プログラム図は、残高表示機能タスク内のクラスの構造をモデル化したものです。また、この図は各クラス間に存在する関係も表示します。ただし、機能タスクのワークフローは表しません。ユースケースの実現は、シーケンス図を利用してこの静的情報を表します。

振込シーケンス図は、ユーザーがメインメニューの 「振込 (Transfer Money)」 をクリックしたときに発生するステップを表示します。 このシーケンス図は、ユースケース参加プログラムをライフラインとしてモデル化し、データ・フローをメッセージとしてモデル化して、ユースケースのワークフローを表します。シーケンス図でユースケースのワークフローをモデル化すると、それぞれのクラスに存在する操作を発見できます。振込シーケンス図の操作を発見し作成しながら、振込参加プログラム図を完成します。

モデル化は反復プロセスです。システムの詳細を発見すれば、いつでもシーケンス図を変更できます。このチュートリアルでは、完全な振込シーケンス図を作成します。

振込シーケンス図およびライフラインの作成

ワークフローをモデル化する前に、まずシーケンス図のライフラインをモデル化する必要があります。シーケンス図のライフラインは、ユースケース参加プログラムによって形成されます。

シーケンス図およびライフラインを作成するには、以下のようにします。
  1. 「モデル・エクスプローラー」ビューで、 「口座処理 (Account Operations)」「«use case realization» 振込 («use case realization» Transfer Money)」「«use case realization» 振込 - 基本フロー («use case realization» Transfer Money - Basic Flow)」と展開し、 「«use case realization» 振込 - 基本フロー («use case realization» Transfer Money - Basic Flow)」図をダブルクリックします。
  2. 「モデル・エクスプローラー」ビューで、「ユースケース・モデル」を展開し、「口座処理 (Account Operations)」パッケージで、「顧客 (Customer)」アクターをクリックして図にドラッグします。
  3. 「モデル・エクスプローラー」ビューの「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、MenuForm クラスをクリックして、「顧客 (Customer)」ライフラインの右方へドラッグします。
  4. 「モデル・エクスプローラー」ビューの「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、TransferMenuForm クラスをクリックして、「MenuForm」ライフラインの右方へドラッグします。
  5. 「モデル・エクスプローラー」ビューの「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、TransferMoneySummaryForm クラスをクリックして、「TransferMenuForm」ライフラインの右方へドラッグします。
  6. 「モデル・エクスプローラー」ビューの「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、TransferMoneyControl クラスをクリックして、「TransferMoneySummaryForm」ライフラインの右方へドラッグします。
  7. 「モデル・エクスプローラー」ビューの「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、Account クラスをクリックして、「TransferMoneySummaryForm」ライフラインの右方へドラッグします。
  8. 「口座 (Account)」ライフラインをクリックし、「プロパティー」 ビュー内の「一般」ページで、ライフラインに借方 (debit) という名前を付けます。
  9. 「モデル・エクスプローラー」ビュー内の「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、Account クラスをクリックして、「借方:口座 (debit:Account)」ライフラインの右方へドラッグします。
  10. 「口座 (Account)」ライフラインをクリックし、「プロパティー」ビュー内の「一般」ページで、ライフラインに貸方 (credit) という名前を付けます。
  11. 「モデル・エクスプローラー」ビュー内の「口座処理分析要素 (Account Operations Analysis Elements)」パッケージで、Transfer クラスをクリックして、「貸方:口座 (credit:Account)」ライフラインの右方へドラッグします。

振込シーケンス図のライフラインの作成が完了しました。このライフラインは、振込参加プログラム図で識別した参加プログラムを表します。ライフラインは連続して編成され、図の左側に 1 次メッセージ - 開始クラスを添えて整列されます。口座参加プログラムが図の中で 2 回発生することに注意してください。一方の口座ライフラインは引き落とされる口座を表し、他方の口座ライフラインは入金される口座を表します。

メッセージ・フローのモデル化

この演習では、シーケンス図のメッセージ・フローをモデル化します。シーケンス図のメッセージは、システム内のクラス間におけるデータ・フローを表します。

振込メッセージ選択を作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「顧客 (Customer)」ライフラインをクリックして、「MenuForm」ライフラインへドラッグします。
  3. ダイアグラム・エディターで、任意の場所をクリックします。
  4. 「操作名の入力」ウィンドウで、メッセージに振込の選択 (select Transfer Money) という名前を付けます。
振込メニュー項目のモデル化が完了しました。この項目は、MenuForm クラスの振込選択操作に対応します。メッセージを作成すると、「新規操作の作成」リストからオプションの選択を求めるプロンプトが出されました。振込選択と入力して、MenuForm クラスに新規操作を追加しました。

表示メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「MenuForm」ライフラインをクリックして、「TransferMoneyForm」ライフラインへドラッグします。
  3. 「操作名の入力」ウィンドウで、メッセージに表示 (display) という名前を付けます。

メッセージの記入および処理依頼を作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「顧客 (Customer)」ライフラインをクリックして、「TransferMoneyForm」ライフラインへドラッグします。
  3. 「プロパティー」ビュー内の「一般」ページで、メッセージに記入および処理依頼 (fill-in and submit) という名前を付けます。

振込メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyForm」ライフラインをクリックして、「TransferMoneyControl」ライフラインへドラッグします。
  3. 「操作名の入力」ウィンドウで、メッセージに振込 (借方, 貸方, 金額) (transfer (debit, credit, amount )) という名前を付けます。

撤回メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「借方:口座 (debit:Account)」ライフラインへドラッグします。
  3. 「操作名の入力」ウィンドウで、メッセージに撤回 (金額) (withdraw ( amount )) という名前を付けます。

預金メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、TransferMoneyControl ライフラインをクリックして、「貸方:口座 (credit:Account)」ライフラインへドラッグします。
  3. 「操作名の入力」ウィンドウで、メッセージに預金 ( 金額 ) (deposit ( amount )) という名前を付けます。

«create»\CalledOperation\ メッセージを作成するには、以下のようにします。
  1. パレット内の「非同期メッセージ 」の横で、下矢印をクリックし、「メッセージの作成」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「振込 (Transfer)」ライフラインへドラッグします。

setDebitAccount メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「振込 (Transfer)」ライフラインへドラッグします。
  3. ダイアグラム・エディターで、任意の場所をクリックします。
  4. 「操作名の入力」ウィンドウで、メッセージに setDebitAccount (借方) (setDebitAccount ( debit )) という名前を付けます。

setCreditAccount メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「振込 (Transfer)」ライフラインへドラッグします。
  3. ダイアグラム・エディターで、任意の場所をクリックします。
  4. 「操作名の入力」ウィンドウで、メッセージに setCreditAccount (貸方) (setCreditAccount ( credit )) という名前を付けます。

setAmount メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「振込 (Transfer)」ライフラインへドラッグします。
  3. ダイアグラム・エディターで、任意の場所をクリックします。
  4. 「操作名の入力」ウィンドウで、メッセージに setAmount (金額) (setAmount ( amount )) という名前を付けます。

表示メッセージを作成するには、以下のようにします。
  1. パレットで、「非同期メッセージ」をクリックします。
  2. ダイアグラム・エディターで、「TransferMoneyControl」ライフラインをクリックして、「TransferMoneySummaryForm」ライフラインへドラッグします。
  3. 「操作名の入力」ウィンドウで、メッセージに表示 (振込) (display ( transfer )) という名前を付けます。

振込シーケンス図のモデル化が完了しました。この図は、ユーザーがメインメニューの 「振込 (Transfer Money)」 をクリックしたときに発生するステップのシーケンスを示します。顧客が「振込 (Transfer Money)」をクリックすると、画面にフォームが表示されます。次に、顧客がフォームに記入します。フォームが TransferMoneyController クラスに送信され、このクラスが取り引き撤回情報付きのメッセージを debit:Account クラスに送信します。次に、TransferMoney クラスが預金取り引き情報を credit:Account クラスに送信します。TransferMoneyController クラスは振込オブジェクトを作成して、このオブジェクトに借方、貸方、および金額情報を渡し、その結果、取り引きを実行できるようになります。次に、ユーザーにメッセージが表示されます。 作成した図は次のようになります。

振込シーケンス図

振込シーケンス図によって、振込ユースケースの実現が完成します。振込機能タスクの静的および動的情報のモデル化が完了しました。振込参加プログラム図を開くと、シーケンス図でメッセージとして作成した操作が含まれています。振込参加プログラム図は、次のようになります。

振込参加プログラム図
注意: 振込シーケンス図には、データ・フローが 1 つしか含まれないため、「モデル・エクスプローラー」ビューから「«use case realization» 振込 - 代替フロー n («use case realization» Transfer Money - Alternative Flow n)」パッケージを削除できます。このパッケージはテンプレートに含まれていますが不要です。パッケージを削除するには、「モデル・エクスプローラー」ビューで、「«use case realization» 振込 - 代替フロー n («use case realization» Transfer Money - Alternative Flow n)」パッケージを右クリックして、「モデルから削除」をクリックします。

継続する場合は、『演習 2.9: 小切手換金参加プログラム図の作成』に進みます。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.