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