Download presentation
Presentation is loading. Please wait.
1
相互作用図 FM11010 田中健太
2
4‐4 コラボレーション図 (UML2.X:コミュニケーション図)
シーケンス図 上から下に時系列に沿ってメッセージのやり取り コラボレーション図 相互作用の参加者を中心にメッセージのやり取り
3
UML1.x コラボレーション図 相互作用の参加者をオブジェクトとして表現する オブジェクト間にリンクと呼ばれる実線を引く
メッセージラベル オブジェクト1 オブジェクト3 シーケンス番号 2:Message() 3:Message3() 1:Message1() オブジェクト2 アクター リンク メッセージ 相互作用の参加者をオブジェクトとして表現する オブジェクト間にリンクと呼ばれる実線を引く その上に矢印およびメッセージラベルを表記する
4
UML2.x コミュニケーション図 UML2.xでコラボレーション図はコミュニケーション図に名称が変更に なった。
ライフライン メッセージラベル ライフライン1 ライフライン3 シーケンス番号 2:Message() 3:Message3() 1:Message1() ライフライン2 アクター リンク メッセージ UML2.xでコラボレーション図はコミュニケーション図に名称が変更に なった。 シーケンス図と同様にオブジェクトの代わりにライフラインを用いる ライフラインは長方形のみをさす
5
コラボレーション図でのオブジェクト オブジェクト名のみ オブジェクト名とクラス名 クラス名のみ 田中さん 田中さん:会員 :会員
6
リンク リンクは2つのオブジェクト間を実線で接続する。 データのやり取りや関係があることを表現している。
会員リスト 会員 リンクは2つのオブジェクト間を実線で接続する。 データのやり取りや関係があることを表現している。 コラボレーション図ではまず、オブジェクト間にリンクの実線を引いてから メッセージの矢印を置く。
7
コラボレーション図のメッセージ リンク上に記述するメッセージには3種類ある。 先端を塗りつぶした矢印 同期メッセージ 矢印 非同期メッセージ
同期メッセージ 矢印 非同期メッセージ 点線矢印 先端を塗りつぶした矢印のリターン
8
コラボレーション図のメッセージ 店長 店員B 店員A 1:来店者数の調査() 3:トイレ掃除()
9
コラボレーション図のメッセージ メッセージラベル シーケンス式は以下の形式で記述する シーケンス番号 繰り返し式:
先行子 ガード条件 シーケンス式 返却値 := メッセージ名(引数並び) シーケンス式は以下の形式で記述する シーケンス番号 繰り返し式: シーケンス番号が、整数の場合はメッセージの送信の順番を示す アルファベットの時は並行処理を表現する
10
コラボレーション図のメッセージ Webウィンドウ 商品リスト 商品 5:選択() 1:商品情報:=表示() 4:表示()
2:商品情報:=商品情報取得() 6:選択() 3:商品情報:=商品情報取得() : お客さん
11
マルチオブジェクト マルチオブジェクトとは複数のオブジェクトで構成される集合体
1:会員情報取得() 店員 会員 マルチオブジェクトとは複数のオブジェクトで構成される集合体 同一のクラスから作成された複数のオブジェクトを一度に生成して表現し たいときに表記する。 マルチオブジェクトは長方形を二つ重ねるように表記する。
12
繰り返し 1はシーケンス番号 「*」は繰り返し *[i=1..n]と記述することのより、n回のメッセージを繰り返すことを意味 している
1*[i=1..n]:会員情報:=会員情報取得(会員ID) 会員 店員 1はシーケンス番号 「*」は繰り返し *[i=1..n]と記述することのより、n回のメッセージを繰り返すことを意味 している
13
4‐5 コラボレーション図 コラボレーション図のメッセージ
4‐5 コラボレーション図 コラボレーション図のメッセージ 先行子 ガード条件 シーケンス式 返却値 := メッセージ名(引数並び) 2a、3a/ [ID番号>100] 1c*[i=1..n] 会員情報 := 会員情報取得(会員ID) 先行子はこのメッセージが送信する前に送信しておくべき他のメッセージの シーケンス番号を示します。 先行子、ガード条件、返却値はオプショナルです。 ガード条件にはメッセージが送信される条件を記述する。
14
並行処理 複数のメッセージが同時に送信されていることを示すため、シーケンス番 号の末尾にアルファベットを付ける Webウィンドウ 商品リスト
イメージリスト イメージ 商品 1:表示() 2a:表示() 2b:表示() 3a*[i=1..n]:表示() 3b*[i=1..n]:表示() 複数のメッセージが同時に送信されていることを示すため、シーケンス番 号の末尾にアルファベットを付ける
15
先行子 先行子に書かれた1つ以上のシーケンス番号を持つメッセージ送信がす べて行われるまでは、メッセージ送信が可能にならないことを示す
Webウィンドウ 商品リスト イメージリスト イメージ 商品 1:表示() 2a:表示() 2b:表示() 3a*[i=1..n]:表示() 3b*[i=1..n]:表示() ボタン 2a,2b/2:表示() 先行子に書かれた1つ以上のシーケンス番号を持つメッセージ送信がす べて行われるまでは、メッセージ送信が可能にならないことを示す
16
アクティブオブジェクト アクティブオブジェクトは制御する流れを一つ所有し、制御活動を開始し て、相互作用の流れを制御するオブジェクト
アクティブオブジェクトは別のオブジェクトの制御下では稼働しない 一度生成されると他のアクティブオブジェクトと独立して稼働する 独自の制御スレッドを持たないオブジェクトをパッシブオブジェクトという 課長 社員1 社員2 社員3 顧客 2a:会議室の用意 2b:書類のコピー 1:トラブル報告 2c:関係者の招集
17
仕様レベルコラボレーション図 /役割(ロール)名:クラス名 /買い手 :会社
/買い手 :会社 仕様レベルコラボレーション図ではオブジェクト同士の協調関係の中で、 定義された役割(ロール)を表現する コラボレーション図では同じクラスでも、異なる役割を演じることがあるた め、役割を”/”のあとに記述する
18
仕様レベルコラボレーション図 販売会社 /売り手:会社 販売品 購入会社 購入品 /買い手:会社 商品 販売活動の協調関係
19
インスタンスレベルのコラボレーション図 A会社/売り手:会社 商品 B会社/買い手:会社 2:販売会社名取得() 1:購入() オブジェクト名については以下の形式でオブジェクト名とクラス名の間 を”/”で区切って役割(ロール)を記述する オブジェクト名 /役割(ロール)名 :クラス名 A会社 /売り手 :会社
20
相互作用参加者の比較 UML1.xのインスタンスレベルのオブジェクト オブジェクト名:クラス名 仕様レベルのオブジェクト
オブジェクト名:クラス名 仕様レベルのオブジェクト /役割(ロール)名:クラス名 UML2.xのライフライン 役割(ロール)名:クラス名
21
Chapter4 まとめ 登場人・物同士のメッセージのやり取りをUMLでは相互作用図で表現す る シーケンス図
時系列に沿って上から下に表現する メッセージはライフラインの点線から他のライフラインの点線に引く アイコンの下にライフラインの点線を配置してオブジェクトが存在している ことを表現する コラボレーション図 オブジェクトを中心にメッセージの流れを表現する オブジェクト同士をリンクで接続し、矢印を配置し、メッセージ名をシーケ ンス番号付きで記述する オブジェクト名、クラス名にロール(役割)を付け加えることができる UML2.x(コミュニケーション図)ではオブジェクトのかわりにライフライン で表現する
22
練習問題 問題1 以下の図について、正しい記述を選択しなさい
練習問題 問題1 以下の図について、正しい記述を選択しなさい ①「操作1()」のメッセージが終了した時 点で、「A」「B」「C」全て残っている可 能性がある。 ②このシーケンス図では「A」「B」「C」は必 ず一度は生成されるということを表し ている。 ③「×」印は、各メッセージが失敗したこと をしめしている。 ④長方形のアイコンの下にある「□」(白 抜きの長方形)はメッセージの制御 期間とメッセージの関係を表現してい る。 ⑤長方形のアイコンの下にある「□」(白 抜きの長方形)はライフライン(生存 線)を表現している。 B 生成 A 操作1 操作2 生成 C 操作3 × ×
23
練習問題 問題2 シーケンス図とコミュニケーション図の特徴に関して適切な説明文を選択しなさい
練習問題 問題2 シーケンス図とコミュニケーション図の特徴に関して適切な説明文を選択しなさい ①シーケンス図は、時系列に従った処理の流れを見るのに適しているが、 コミュニケーション図は、相互作用の参加者の接続関係をみるのに適し ている。 ②シーケンス図は相互作用の参加者の接続関係をみるのに適しているが、 コミュニケーション図は時系列に従った処理の流れを見るのに適してい る ③シーケンス図は、非同期のメッセージを見るのに適しているが、コミュニ ケーション図は時系列に従った処理の流れを見るのに適している。 ④シーケンス図は時系列に従った処理の流れを見るのに適しているが、コ ミュニケーション図は、オブジェクトのライフサイクルを表現するのに適し ている。
24
練習問題 問題3 A ① C B A B C ② A C B ③ A C B ④ A C B OP1 OP2 OP3 OP4
練習問題 問題3 A ① 3:OP3 1:OP1 以下のシーケンス図に対応するコミュニケー ション図を選択しなさい C B 2:OP2 A B C 4:OP4 ② A OP1 1:OP1 3:OP3 OP2 C B OP3 2:OP2 4:OP4 ③ OP4 A 3:OP3 1:OP1 C B 2:OP2 ④ 4:OP4 A 1:OP1 3:OP3 C B 2:OP2 4:OP4
25
練習問題 問題4 先行子についての説明で適切なものを選択しなさい
練習問題 問題4 先行子についての説明で適切なものを選択しなさい ①あるメッセージ送信の後に分岐するときには、それぞ れのメッセージのシーケンス番号を指定する。 ②あるメッセージ送信と同時に送信すべきメッセージの シーケンス番号を指定する。 ③あるメッセージ送信の後に送信すべきメッセージの シーケンス番号を指定する。 ④あるメッセージ送信の前に送信すべきメッセージの シーケンス番号を指定する。
26
練習問題 問題5 この図は何を表しているか適切なものを選択しなさい
練習問題 問題5 この図は何を表しているか適切なものを選択しなさい :会員 ①パート ②パッケージ ③ライフライン ④クラス ⑤コンポーネント
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.