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