4 相互 作用図 後半

22
4 相相相相相 相相 FM13001 相相相相

Upload: dacia

Post on 22-Jan-2016

53 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: 4 相互 作用図 後半

4 相互作用図 後半

FM13001 青野大樹

Page 2: 4 相互 作用図 後半

4-4 コラボレーション図• コラボレーション図・・・相互作用の参加者を中心にメッセージのやり取りを表現するもの

Page 3: 4 相互 作用図 後半

4-4 コラボレーション図

• UML1.x

アクター1

オブジェクト 1

オブジェクト 2

オブジェクト 31:Message1()

2:Message2() 3:Messa

ge3()

オブジェクト

リンク メッセージ

シーケンス番号

メッセージラベル

Page 4: 4 相互 作用図 後半

4-4 コラボレーション図

• UML2.x

アクター1

ライフライン 1

ライフライン 2

ライフライン 31:Message1()

2:Message2() 3:Messa

ge3()

ライフライン

メッセージ

シーケンス番号

メッセージラベル

Page 5: 4 相互 作用図 後半

4-4 コラボレーション図

• UML1.xのコラボレーション図でのオブジェクトは次のように表示できる

田中さん 田中さん:会員 :会員

オブジェクト名のみ

オブジェクト名と

クラス名

クラス名のみ

Page 6: 4 相互 作用図 後半

4-4 コラボレーション図

リンク• 2つのオブジェクト間にリンクがあるということは、そのオブジェクト間に何らかのデータのやり取りや関係があることを表現している

会員リスト 会員

Page 7: 4 相互 作用図 後半

4-4 コラボレーション図

メッセージ

• 同期メッセージで、操作の呼び出しで実現する

• 非同期メッセージで、階層化していないメッセージ呼び出し

• 同期メッセージのリターン

Page 8: 4 相互 作用図 後半

4-4 コラボレーション図

メッセージラベル

• シーケンス番号が整数の場合はメッセージ送信の順番を表し、アルファベットの場合は並行処理を表現する

先行子 ガード条件 シーケンス式 返却値 : = メッセージ名  ( 引数並び )

シーケンス番号 繰り返し式 :

Page 9: 4 相互 作用図 後半

4-4 コラボレーション図

お客さん

1:商品情報: =表示()Webウィンド

ウ 商品リスト

2:商品情報: =商品情報取得()

3:商品情報: =商品情報取得()

商品

6:選択()

5:選択()

4:表示()

Page 10: 4 相互 作用図 後半

4-4 コラボレーション図

• マルチオブジェクトとは複数のオブジェクトで構成される集合体である

会員店員 会員

1:会員情報取得()

Page 11: 4 相互 作用図 後半

4-4 コラボレーション図

• メッセージを繰り返しオブジェクトに対して送信したいときは、シーケンス式に以下の形式で繰り返しを記述する

会員店員 会員

1*[i=1..n]:

1*[i=1..n]:会員情報: =会員情報取得(会員 ID)

Page 12: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽並行処理(∽アドバンス)• 複数のメッセージが同時に送信されていることを示す

1:表示()Webウィンド

ウ 商品リスト

3b*[i=1..n]:表示()イメージリス

トイメージ

2b:表示()

イメージ商品商品

3a*[i=1..n]:表示()

2a:表示()

同時並行処理

Page 13: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

先行子(∽アドバンス)• 先行子に書かれた 1つ以上のシーケンス番号のメッセージ送信がすべて行われるまで、メッセージ送信が可能にならない

     シーケンス番号 1,シーケンス番号 2,…/

Page 14: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

1:表示()Webウィンド

ウ 商品リスト

3b*[i=1..n]:表示()イメージリス

トイメージ

2b:表示()

イメージ

商品商品

3a*[i=1..n]:表示()2a:表示()

ボタン

2a,2b /2:表示()

2a,2bメッセージ送信後

Page 15: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

アクティブオブジェクト(∽アドバンス)• アクティブオブジェクトは制御する流れを 1つ所有し、制御活動を開始して、相互作用の流れを制御するオブジェクトである

• アクティブオブジェクトは別のオブジェクトの制御化では稼働しない

• 一度生成されると他のアクティブオブジェクトと独立して稼働する

Page 16: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

課長

社員 1

2b:書類のコピー

顧客

1:トラブル報告

社員 3

社員 22c:関係者の招集

2a:会議室の用意

Page 17: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

仕様レベルコラボレーション図(∽アドバンス)• 仕様レベルコラボレーション図ではオブジェクト同士の協調関係の中で、定義された役割(ロール)を表現する

/役割(ロール)名: クラス名

Page 18: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

/買い手:会社

購入会社 *

商品

/売り手:会社

購入品 **販売品

販売会社 *販売活動の協調関係

買い手という役割の会社

Page 19: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

役割(ロール)名を入れたインスタンスレベルのコラボレーション図

オブジェクト名  /役割(ロール)名: クラス名

商品

A会社 /売り手:会社

B会社 /買い手:会社

2:販売会社名取得()

1:購入()

Page 20: 4 相互 作用図 後半

4-5 コラボレーション図∽(アドバンス)∽

相互作用参加者の比較• インスタンスレベルのオブジェクト( UML1.x)

• 仕様レベルのオブジェクト( UML1.x)

• ライフライン( UML2.x)

オブジェクト名:クラス名

/役割(ロール)名:クラス名

役割(ロール)名:クラス名

Page 21: 4 相互 作用図 後半

Chapter4 まとめ• オブジェクト指向のシステムは“登場人・物”同士でメッセージのやり取りをすることにより、プログラムが進行していく。そのやり取りを UMLでは相互作用図で表現する

• 相互作用図にはシーケンス図とコラボレーション図がある

• シーケンス図は時系列に沿ってメッセージのやり取りをする

Page 22: 4 相互 作用図 後半

Chapter4 まとめ

• コラボレーション図はオブジェクトを中心にメッセージの流れを表現する

• UML2.xのシーケンス図ではオブジェクトの代わりにライフラインで表現する