4 相互作用図 後半 FM13001 青野大樹 4-4 コラボレーション図 • コラボレーション図・・・相互作用の参加者を中心に メッセージのやり取りを表現するもの 4-4 コラボレーション図 • UML1.x オブジェクト メッセージ ラベル オブジェクト1 アクター1 オブジェクト3 リンク メッセージ オブジェクト2 シーケンス 番号 4-4 コラボレーション図 • UML2.x ライフライン メッセージ ラベル ライフライン1 ライフライン3 アクター1 メッセージ ライフライン2 シーケンス 番号 4-4 コラボレーション図 • UML1.xのコラボレーション図でのオブジェクトは次 のように表示できる 田中さん 田中さん:会員 オブジェクト名のみ オブジェクト名 と クラス名 :会員 クラス名のみ 4-4 コラボレーション図 リンク • 2つのオブジェクト間にリンクがあるということは、そ のオブジェクト間に何らかのデータのやり取りや関 係があることを表現している 会員リスト 会員 4-4 コラボレーション図 メッセージ • 同期メッセージで、操作の呼び出しで実現する • 非同期メッセージで、階層化していないメッセージ呼 び出し • 同期メッセージのリターン 4-4 コラボレーション図 メッセージラベル 先行子 ガード条件 シーケンス式 返却値 : = メッセージ名 (引数並び) シーケンス番号 繰り返し式 : • シーケンス番号が整数の場合はメッセージ送信の 順番を表し、アルファベットの場合は並行処理を表 現する 4-4 コラボレーション図 例 4:表示() 5:選択() 1:商品情報:=表示() 2:商品情報:=商品情報取得() Webウィンドウ お客さん 商品リスト 6:選択() 3:商品情報:=商品情報取得() 商品 4-4 コラボレーション図 • マルチオブジェクトとは複数のオブジェクトで構成さ れる集合体である 1:会員情報取得() 店員 会員 会員 4-4 コラボレーション図 • メッセージを繰り返しオブジェクトに対して送信した いときは、シーケンス式に以下の形式で繰り返しを 記述する 1*[i=1..n]: 1*[i=1..n]:会員情報:=会員情報取得(会員ID) 店員 会員 会員 4-5 コラボレーション図∽(アドバン ス)∽ 並行処理(∽アドバンス) • 複数のメッセージが同時に送信されていることを示 す 同時並行処理 2a:表示() 1:表示() 商品リスト Webウィンドウ 3a*[i=1..n]:表示() 2b:表示() 3b*[i=1..n]:表示() イメージリスト イメージ イメージ 商品 商品 4-5 コラボレーション図∽(アドバンス)∽ 先行子(∽アドバンス) • 先行子に書かれた1つ以上のシーケンス番号のメッ セージ送信がすべて行われるまで、メッセージ送信 が可能にならない シーケンス番号1,シーケンス番号2,…/ 4-5 コラボレーション図∽(アドバンス)∽ 3a*[i=1..n]:表示() 2a:表示() 1:表示() 商品 商品 商品リスト Webウィンドウ 2b:表示() 2a,2b /2:表示() 3b*[i=1..n]:表示() ボタン イメージリスト 2a,2bメッセージ送信後 イメージ イメージ 4-5 コラボレーション図∽(アドバンス)∽ アクティブオブジェクト(∽アドバンス) • アクティブオブジェクトは制御する流れを1つ所有し、 制御活動を開始して、相互作用の流れを制御する オブジェクトである • アクティブオブジェクトは別のオブジェクトの制御化 では稼働しない • 一度生成されると他のアクティブオブジェクトと独立 して稼働する 4-5 コラボレーション図∽(アドバンス)∽ 社員1 課長 社員2 1:トラブル報告 顧客 社員3 4-5 コラボレーション図∽(アドバンス)∽ 仕様レベルコラボレーション図(∽アドバンス) • 仕様レベルコラボレーション図ではオブジェクト同士 の協調関係の中で、定義された役割(ロール)を表 現する /役割(ロール)名: クラス名 4-5 コラボレーション図∽(アドバンス)∽ 販売活動の協調関係 販売会社* /売り手:会社 購入会社* *販売品 購入品* /買い手:会社 買い手という役割の会社 商品 4-5 コラボレーション図∽(アドバンス)∽ 役割(ロール)名を入れたインスタンスレベルのコラボ レーション図 オブジェクト名 /役割(ロール)名: クラス名 A会社/売り手:会社 2:販売会社名取得() 1:購入() B会社/買い手:会社 商品 4-5 コラボレーション図∽(アドバンス)∽ 相互作用参加者の比較 • インスタンスレベルのオブジェクト(UML1.x) オブジェクト名:クラス名 • 仕様レベルのオブジェクト(UML1.x) /役割(ロール)名:クラス名 • ライフライン(UML2.x) 役割(ロール)名:クラス名 Chapter4 まとめ • オブジェクト指向のシステムは“登場人・物”同士で メッセージのやり取りをすることにより、プログラムが 進行していく。そのやり取りをUMLでは相互作用図 で表現する • 相互作用図にはシーケンス図とコラボレーション図 がある • シーケンス図は時系列に沿ってメッセージのやり取 りをする Chapter4 まとめ • コラボレーション図はオブジェクトを中心にメッセー ジの流れを表現する • UML2.xのシーケンス図ではオブジェクトの代わりに ライフラインで表現する
© Copyright 2025 ExpyDoc