PowerPoint プレゼンテーション

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のシーケンス図ではオブジェクトの代わりに
ライフラインで表現する