Chapter 4 相互作用図 FM12010 中山直飛.

Slides:



Advertisements
Similar presentations
All Rights Reserved Copyright © 2004, Takashi Kobayashi 1 ロバストネス分析の演習問題 <問題1> 次の文をよんで問いに答えよ。 顧客は、 ATM により自分の口座から預金を払い出す。 顧客は、 ATM にキャッシュカードを挿入し、個人認証を行う。
Advertisements

クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている.
Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
シーケンス図の生成のための実行履歴圧縮手法
4 相互作用図 後半 FM13001 青野大樹.
相互作用図 FM11010 田中健太.
Chapter3 クラス図(後半)             FM12014 劉鎧誠.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
アルゴリズムとプログラミング (Algorithms and Programming)
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
JavaScript プログラミング入門 2006/11/10 神津.
Knowledge Suite(ナレッジスイート) ファーストステップガイド (管理者向け)
オブジェクト指向プログラミング(4) 静的分析(2)
クラスその2∽(アドバンス)∽ 福岡工業大学  梶原 大慈       .
Chapter5 ステートチャート図 FM 于 聡.
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学特論Ⅲ ユースケース図 後半
ユースケース図の概要 ・UMLの図のひとつ ・ユーザの要求を表現する目的で使用 ・システム開発の初期段階で頻繁に使用.
ユースケース図 FM12012 比嘉久登.
3-5 クラス図の関係その3 福本研究室 神田 祐輔.
顧客/コンタクト管理 SAP Best Practices.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
情報処理Ⅱ 2005年12月9日(金).
クラス図(1) 後半 FM13010 村上 太一.
条件式 (Conditional Expressions)
Chapter 2 ユースケース図 FM12011 バユウユウ 山内研究室
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
ユースケース図2-4~ FM11012 中島拓也.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
オブジェクト プログラミング 第1回.
UMLとは           032234 田邊祐司.
オブジェクト指向モデリング [3] 2003年10月14日.
プログラミング演習3 第2回 GUIの復習.
第11回 アプリケーションの構成 ~CUI自動販売機の完成!~.
ソフトウェア工学 知能情報学部 新田直也.
Chapter7 その他の図 FM13010  須崎研 村上 太一.
その他の図 Chapter 7.
シーケンス図を用いて実行履歴を可視化するデバッグ環境の試作
プログラミング演習3 第2回 GUIの復習.
社会シミュレーションのための モデル作成環境
オブジェクト指向モデリング [2] 2003年10月 7日.
UML関係のTIPS 2008年5月26日 2010年5月16日改訂 海谷 治彦.
相互利用(自己測定)の流れ 依頼者操作 利用者アカウントでログインし、 「研究設備 検索・予約」ボタンを押すと設備一覧が表示されます。
ステートチャート図 前半 FM13003 怡土 宗太.
All Rights Reserved, Copyright © 2004, Kobayashi
シナリオのアニメーション表示による 妥当性確認支援
物理的側面を表現する図 Chapter6 物理的側面を表現する図について徐研究室の大楠が発表します。 FM13005 大楠拓也 徐研究室.
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
UMLの概要とオブジェクト指向の基本概念
マイグレーションを支援する分散集合オブジェクト
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
All Rights Reserved, Copyright © 2004, Kobayashi
オブジェクトの動的支配関係解析を 用いたシーケンス図の縮約
物理的側面を表現する図 石原研 古賀浩之.
第5回 プログラミングⅡ 第5回
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
ソフトウェア工学 知能情報学部 新田直也.
より分かりやすい ユースケースモデルを作る
PROGRAMMING IN HASKELL
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
プログラミング演習I 2003年6月11日(第9回) 木村巌.
木構造の比較に基づく メソッド呼び出し履歴の変化の可視化手法
第10回 関数と再帰.
情報処理Ⅱ 小テスト 2005年2月1日(火).
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Chapter 5-2 ステートチャート図 FM12011 バユウユウ 山内研
Presentation transcript:

Chapter 4 相互作用図 FM12010 中山直飛

目次 1-相互作用図とは 2-シーケンス図 3-シーケンス図(-アドバンス-) 4-コラボレーション図 5-コラボレーション図(-アドバンス-) まとめ 練習問題

1.相互作用図とは 前回のクラス図で表現してきたものはユーザ領域が静的なものだった 相互作用図では動的な側面について見ていく オブジェクト指向のシステムでは“もの”同士のやり取りを相互作用図で表現する

1.相互作用図とは 図:打ち合わせ日設定のメッセージのやり取り 6月1日のスケジュールは? スケジュール帳 空いてます 田中さん 6月1日の予約をお願いします 会議室 予約完了しました 佐藤さん

佐藤さん 田中さん スケジュール帳 会議室 佐藤さん 田中さん 会議室 スケジュール帳 1.打ち合わせ?(6/1) 2.スケジュール?(6/1) 4.了解 3.空き 5.予約(6/1) 6.完了 1.打ち合わせ?(6/1) 佐藤さん 田中さん 4.了解 6.完了 5.予約(6/1) 3.空き 2.スケジュール?(6/1) 会議室 スケジュール帳

相互作用図はこのような“登場人物・物”同士のメッセージのやり取りを表現する クラスはあくまでも概念なので、実際にメッセージを送っているのはこの“登場人物・物”です 相互作用図には以下の2種類が存在する シーケンス図 コラボレーション図

2.シーケンス図 シーケンス図は時系列に沿って相互作用の参加者同士のメッセージのやり取りを表現する シーケンス図は相互作用の参加者間のメッセージのやり取りをライフライン(生存線)とライフライン間に引いた矢印、およびメッセージラベルで表現します

UML1.x 図4-2-A シーケンス図 UML1.xでは相互作用の参加者をオブジェクトで表現 点線はライフライン メッセージは上から下へ呼ばれる ※そのためシーケンス番号は省略可 アクター1 オブジェクト1 オブジェクト2 オブジェクト3 1.メッセージ1() 2.メッセージ2() ライフライン(生存線) メッセージ 3.メッセージ3() シーケンス番号 メッセージラベル

UML2.x 図4-2-B シーケンス図 UML2.xでは相互作用の参加者をライフラインで表現 sd シーケンス図1 アクター1 ライフライン1 ライフライン2 ライフライン3 メッセージ1() ライフライン(生存線) メッセージ2() メッセージ メッセージ3()

UML1.x シーケンス図でのオブジェクト クラスから生成されたものがオブジェクト オブジェクトは図のように、左のほうから、オブジェクト名のみ、オブジェクト名とそのクラス名、クラス名のみ(無名オブジェクト)で表記できる インスタントラーメン インスタントラーメン:商品 :商品 オブジェクト名のみ オブジェクト名とクラス名 クラス名のみ 意味はどれも同じ

例 レンタルビデオ店 分析が進むとオブジェクト名は意味をなさなくなるので、オブジェクト名を表記せずにクラス名のみにすればいい。 例 レンタルビデオ店 オブジェクト名の変化 星間戦争 星間戦争:ビデオテープ :ビデオテープ 店員B 店員B 貸出処理をする() 貸出処理をする() 貸出処理をする() 店員B 分析が進むとオブジェクト名は意味をなさなくなるので、オブジェクト名を表記せずにクラス名のみにすればいい。

UML1.x ライフライン(生存線) UML1.xではライフライン(生存線)はオブジェクトからのびる点線として表記 点線はオブジェクトが存在している生存期間を示す :商品リスト インスタントラーメン:商品 商品価格取得 ライフライン(生存線)

UML2.x ライフライン UML2.xではライフラインは点線に加えて、相互作用に参加する参加者名を記した長方形も含んだものになった :商品リスト インスタントラーメン:商品 商品価格取得 ライフライン(生存線)

シーケンス図のメッセージ メッセージを送る側から送られる側に矢印を引く メッセージは3種類存在する ○先端を塗りつぶした矢印 同期メッセージ ○矢印 非同期メッセージ ○点線矢印 先端を塗りつぶした矢印のリターン

シーケンス図のメッセージ 同期メッセージ 矢印 階層化しているメッセージ オブジェクト1 オブジェクト2 オブジェクト3 オブジェクト4 同期メッセージ 矢印 階層化しているメッセージ オブジェクト1 オブジェクト2 オブジェクト3 オブジェクト4 メッセージ1 メッセージ2 メッセージ3 メッセージ4 メッセージ1の中でメッセージ2を呼び出しメッセージ2の中でメッセージ3を呼び出す メッセージ1が終了するとメッセージ4が呼び出される

シーケンス図のメッセージ 非同期メッセージ 矢印 階層化していないメッセージ オブジェクト1 オブジェクト2 オブジェクト3 非同期メッセージ   矢印 階層化していないメッセージ オブジェクト1 オブジェクト2 オブジェクト3 メッセージ1 メッセージ2 メッセージ3 メッセージ1が終了しなくてもメッセージ3が呼び出される

シーケンス図のメッセージ リターン 矢印 オブジェクト1 オブジェクト2 オブジェクト3 オブジェクト4 メッセージ1 メッセージ2 リターン        矢印 オブジェクト1 オブジェクト2 オブジェクト3 オブジェクト4 メッセージ1 メッセージ2 メッセージ3 リターン2 リターン1 リターン3 メッセージ4 リターン4

3.シーケンス図-(アドバンス)- ユースケースのすべての流れ(イベントフロー)に対応するようなシーケンス図を見ていく ユースケースの流れを表現するために分岐が必要 そのほかにも、生成/消滅、活性区間、再帰などを使用する

UML1.x 図4-9-A 分岐、生成/消滅、 活性区間、再帰を入れたシーケンス図 オブジェクトの生成 オブジェクト2 :クラス2 オブジェクト3 :クラス3 アクター オブジェクト1 :クラス1 op0 ライフラインの分岐 [x>0]op2 (case1) op1 [x<=0]op2 (case2) 活性区間 op3 再帰 オブジェクトの消滅

UML2.x 図4-9-B 分岐、生成/消滅、 実行指定、再帰を入れたシーケンス図 ライフラインの生成 ライフライン2 :クラス2 ライフライン3 :クラス3 アクター ライフライン1 :クラス1 op0 処理の分岐 op1 alt [x>0]  op2     (case1) 実行指定 [x<=0]  op2     (case2) op3 再帰 ライフラインの消滅

UML1.x オブジェクトの表記(-アドバンス) オブジェクトの表記には、オブジェクトのみ、オブジェクト名とそのクラス名のみ、クラス名のみ(無名オブジェクト) ※シーケンスのオブジェクトのところで前述 表記でオブジェクトのクラスがどこのパッケージに所属しているかを修飾できる オブジェクト名:パッケージ名::クラス名 インスタントラーメン:食品::商品 パッケージ名で修飾された オブジェクト名

UML1.x活性区間(制御フォーカス) UML2.x実行指定(-アドバンス) 活性区間は次の2つを表現する オブジェクトがある手続き(操作)を実行する期間 手続き(操作)の実行とその手続きを呼び出す側の制御の関係

活性区間により操作の実行する期間を表現したシーケンス図 ○オブジェクトがある手続き(操作)を実行する期間 メッセージ2はメッセージ1の活性区間の長さの2倍 2倍の処理時間がかかる オブジェクト1 :クラス1 オブジェクト2 :クラス2 foo() Message1() foo()の実行期間にはメッセージ1、2の実行期間が含まれる R1 実行する期間 Message2() R2

活性区間により操作の制御関係を表現したシーケンス図 ○手続き(操作)の実行とその手続き呼び出す側の制御の関係 オブジェクト1 :クラス1 オブジェクト1 :クラス1 オブジェクト2 :クラス2 foo() Message1() Message2() Message1()はR2,R3が戻り値として返ってくるまでの期間を制御 foo()はR1が戻り値として返ってくるまでの期間を制御 R2 Message3() R3 R1

オブジェクト、UML2.x ライフラインの生成、消滅(アドバンス) オブジェクトの生成と消滅 生成 インスタントラーメン:商品 消滅 オブジェクトが消滅する時点には、×印を記述する

UML2.xでは生成のメッセージが点線になる UML2.x オブジェクトの生成と消滅 生成 インスタントラーメン:商品 UML2.xでは生成のメッセージが点線になる

処理の分岐(-アドバンス) UML1.xでは1つのオブジェクトのライフラインで処理が分岐する場合、ライフラインも分岐する 分岐は並行処理ではなく、処理の流れが複数存在していることを表す

UML1.x 処理の分岐の例 どちらの操作も登録()で会員が登録されるが、引数が異なり、別の操作が呼び出されるのでライフラインの分岐が必要 :画面 :特別会員 :一般会員 :会員リスト [特別会員]生成() ライフラインの分岐 登録(特別会員) [一般会員]生成() 処理の分岐 登録(一般会員) どちらの操作も登録()で会員が登録されるが、引数が異なり、別の操作が呼び出されるのでライフラインの分岐が必要

UML2.x 処理の分岐の例 UML2.xでは処理の分岐は結合フラグメントを用いて、2つ以上の区画で別々に表現する 結合 フラグメント :画面 :特別会員 :一般会員 :会員リスト alt [特別会員] 生成() 登録(特別会員) 結合 フラグメント 処理の分岐 [一般会員] 生成() 登録(一般会員)

再帰呼び出し(-アドバンス) オブジェクトが自分自身の操作を呼び出すときは、そのオブジェクト自身のライフラインの点線に対して、メッセージを記述する  (再帰呼び出し)

再帰呼び出しの例 :表示画面 商品リストObj:商品リスト //表示画面の操作のイメージ 商品一覧表示(){ お客さん 商品一覧表示() 生成() 商品リストObj:商品リスト 商品情報の取得() 商品情報 表示() 再帰呼び出し //表示画面の操作のイメージ 商品一覧表示(){      商品リストObj=商品リスト.生成(): //商品リストのオブジェクト生成      商品情報=商品リストObj.商品情報の取得(); //「商品情報の取得」を呼ぶ      self.表示(); //自分の操作、「表示()」を呼ぶ

オブジェクトの配置順 シーケンス図のオブジェクトはできるだけ見やすいように左から順に配置する 順番を入れ替える :クラス3 :クラス3 :クラス1 :クラス2 :クラス3 :クラス1 :クラス2 :クラス3 :アクター :アクター メッセージ1() メッセージ1() メッセージ2() メッセージ2() メッセージ3() メッセージ3() シーケンス図のオブジェクトはできるだけ見やすいように左から順に配置する

4.コラボレーション図 –UML2.x コミュニケーション図- しかし、視点が異なり、シーケンス図では上から下に時系列にメッセージのやり取りをしていましたが、コラボレーション図は相互作用の参加者を中心にメッセージのやり取りを表現する ※そのためコラボレーション図ではシーケンス番号は必須となる

UML1.x 図4-19-A コラボレーション図 相互作用の参加者をオブジェクトとして表現 1.Message1() オブジェクト1 オブジェクト3 メッセージラベル 3.Message3() 2.Message2() メッセージ アクター1 リンク シーケンス番号 オブジェクト2 相互作用の参加者をオブジェクトとして表現 オブジェクト間にリンクと呼ばれる実戦を引き、その上に矢印およびメッセージラベルを表記

UML2.x 図4-19-B コミュニケーション図 UML2.xではコラボレーション図がコミュニケーションズに名称変更 ライフライン 1.Message1() ライフライン1 ライフライン3 メッセージラベル 3.Message3() 2.Message2() メッセージ アクター1 シーケンス番号 ライフライン2 UML2.xではコラボレーション図がコミュニケーションズに名称変更 UML2.xのシーケンス図と同様にオブジェクトの代わりにライフラインを用いる しかし、ライフラインは長方形のみを指す

UML1.x コラボレーション図での オブジェクト オブジェクトはシーケンス図と同様、オブジェクトのみ、オブジェクト名とそのクラス名、クラス名のみで表記できる オブジェクト名のみ オブジェクト名とクラス名 クラス名のみ 田中さん 田中さん:会員 :会員

リンク リンクは2つのオブジェクト間を実線で接続する リンク 会員リスト 会員

コラボレーション図のメッセージ コラボレーション図ではリンク上にメッセージを記述する リンク上に記述するメッセージは次の3つがある ○先端を塗りつぶした矢印 同期メッセージ ○矢印 非同期メッセージ ○点線矢印 先端を塗りつぶした矢印のリターン

コラボレーション図のメッセージ コラボレーション図のメッセージの例 非同期 ライフライン1 ライフライン3 同期 ライフライン2

メッセージはメッセージラベルを付ける シーケンス式は以下で表す 1 商品情報:=表示() シーケンス番号 繰り返し式 : シーケンス番号 繰り返し式 :          シーケンス番号が整数なら順番を示しアルファベットが入っていたら並行処理を表す 先行子 ガード条件 シーケンス式 返却値 :=メッセージ名(引数並び)               1     商品情報:=表示()

コラボレーション図の例 再帰メッセージ シーケンス番号 4:表示() 5:選択 返却値 1:商品情報:=表示() 2:商品情報:=商品情報取得() Webウィンドウ 商品リスト お客さん 6:選択() 3:商品情報:=商品情報取得() メッセージ 1のメッセージを送信すると2、3のメッセージが送信されWebウィンドウに返却値が返ってくる 4で表示され5で選択する そのメッセージが「商品」に6の選択として届く 商品

UML1.x マルチオブジェクト マルチオブジェクトは複数のオブジェクトで構成される集合体 同一のクラスから生成された複数のオブジェクトを一度に生成して表現するとき使う マルチオブジェクト 1:会員情報取得() 店員 会員

繰り返し 1*[i=1…n]: 会員情報 :=会員情報取得(会員ID) 先行子 ガード条件 シーケンス式 返却値 :=メッセージ名(引数並び)             1*[i=1…n]: 会員情報 :=会員情報取得(会員ID) 繰り返し 1*[i=1…n]:会員情報:=会員情報取得(会員ID) 店員 会員

5.コラボレーション図-(アドバンス)- コラボレーション図のメッセージ 先行子はこのメッセージが送信される前に送信しておくべき他のメッセージのシーケンス番号を示す 先行子 ガード条件 シーケンス式 返却値 :=メッセージ名(引数並び) 2a,3a/ [ID番号>100]  1c*[i=1…n]: 会員情報 :=会員情報取得:= (会員ID)

並列処理(-アドバンス) 複数のメッセージが同時に送信されていることを示すためにシーケンス番号の末尾にアルファベットを付けます。 商品リスト 3a*[i=1…n]:表示() 商品リスト 商品 2a:表示() 表示 Webウィンドウ 2b:表示() 3b*[i=1…n]:表示() 同時並行処理 イメージリスト イメージ

先行子(-アドバンス) 先行子に書かれた1つ以上のシーケンス番号をもつメッセージ送信がすべて行われるまでは、メッセージ送信が可能にならないことを示す。先行子はメッセージの先頭に記述する 先行子 ガード条件 シーケンス式 返却値 :=メッセージ名(引数並び) 2a,2a/    2: :=表示() 最後に/を置く

商品リストとイメージリストに表示メッセージを送信後、ボタンに表示のメッセージを送信する 3a*[i=1…n]:表示() 商品リスト 商品 2a:表示() 1:表示() Webウィンドウ 2b:表示() 3b*[i=1…n]:表示() 2a,2b/2:表示() イメージリスト イメージ 2a.2bメッセージ送信後 ボタン

アクティブオブジェクト アクティブオブジェクトは制御する流れ(プロセスやスレッド)を1つ所有し、制御活動を開始して、相互作用の流れを制御するオブジェクト 2a:会議室の用意 社員1 アクティブオブジェクト パッシブ オブジェクト 2b:書類のコピー 社員2 課長 2c:関係者の収集 1:トラブル報告 社員3 顧客

UML1.x 仕様レベルコラボレーション図 (-アドバンス) 仕様レベルコラボレーション図ではオブジェクト同士の協調関係の中で、定義された役割(ロール)を表現する /役割(ロール)名: クラス名 /買い手      : 会社

仕様レベルコラボレーション図の例 販売活動の協調関係 /売り手:会社 商品 /買い手:会社 販売会社 売り手という役割の会社 販売品 購入者 商品 /買い手:会社 買い手という役割の会社

役割名を入れたインスタンスレベルのコラボレーション図 インスタンスレベルのコラボレーション図に役割名を入れたインスタンスレベルのコラボレーション図がある オブジェクト名 /役割(ロール)名: クラス名 A会社       /売り手      : 会社

役割を付けたインスタンスレベルの コラボレーション図の例 A会社/売り手:会社 2:販売会社名取得() 1:購入() B会社/買い手:会社 商品

相互作用参加者の比較 UML1.xのインスタンスレベルのオブジェクトは、下線を引き、 と表記するが、 仕様レベルのオブジェクトは下線を引かず、 と表記する。 UML2.xのライフラインはUML1.xの仕様レベルのオブジェクト同様に下線を引かないが、 と表記し、 “/” はつけない オブジェクト名:クラス名 /役割(ロール)名:クラス名 役割(ロール)名:クラス名

オブジェクト名:クラス名 /役割(ロール)名:クラス名 役割(ロール)名:クラス名 UML1.x インスタンスレベルのオブジェクト 仕様レベルのオブジェクト オブジェクト名:クラス名 /役割(ロール)名:クラス名 UML2.x ライフライン 役割(ロール)名:クラス名

まとめ1 登場人物・物 同士のメッセージのやり取りをUMLでは相互作用図で表現する シーケンス図とコラボレーション図がある シーケンス図は時系列(上から下)にメッセージのやり取りを表現する 一方、コラボレーション図はオブジェクトを中心にメッセージの流れを表現する

まとめ2 シーケンス図はオブジェクトの下に点線を配置してオブジェクトの存在を表現する コラボレーション図ではリンクで接続し、矢印を配置し、メッセージ名をシーケンス番号付きで記述する

練習問題 問題1 以下の図について、正しい記述を選択しなさい。 操作1() A B C 操作2() 操作3()

練習問題 ①「操作1」メッセージが終了した時点で、A、B、Cがすべて残っている可能性がある ③×は各メッセージが失敗したことを示す ④長方形のアイコンの下にある、長方形はメッセージの制御期間とメッセージの関係を示す ⑤長方形のアイコンの下にある、長方形はライフラインを示す

練習問題 問題2 シーケンス図とコミュニケーション図の特徴に関して適切な説明文を選択しなさい。 問題2 シーケンス図とコミュニケーション図の特徴に関して適切な説明文を選択しなさい。 ①シーケンス図は時系列に従った処理の流れを見るのに適しているが、コミュニケーション図は、相互作用の参加者の接続関係を見るのに適している。 ②シーケンス図は相互作用の参加者の接続関係を見るのに適しているが、コミュニケーション図は、時系列に従った処理の流れを見るのに適している。 ③シーケンス図は、非同期のメッセージを見るのに適しているが、コミュニケーション図は、時系列に従った処理の流れを見るのに適している。 ④シーケンス図は、時系列に従った処理の流れを見るのに適しているが、コミュニケーション図は、オブジェクトのライフサイクルを表現するのに適している。

練習問題 問題3 以下のシーケンス図に対応するコミュニケーション図を選択しなさい。 A B C op1 op2 op3 op4

練習問題 ① ② ④ ③ A A C B C B A A C B C B 1:OP1 1:OP1 3:OP3 3:OP3 2:OP2

練習問題 問題4 先行子についての説明で適切なものを選択しなさい。 問題4 先行子についての説明で適切なものを選択しなさい。 ①あるメッセージ送信の後に分岐するときには、それぞれのメッセージのシーケンス番号を指定する。 ②あるメッセージ送信と同時に送信すべきメッセージのシーケンス番号を指定する。 ③あるメッセージ送信の後に送信すべきメッセージのシーケンス番号を指定する。 ④あるメッセージ送信の前に送信すべきメッセージのシーケンス番号を指定する。

練習問題 問題5 この図は何を表しているか適切なものを選択しなさい。 ①パート ②パッケージ ③ライフライン ④クラス ⑤コンポーネント 問題5 この図は何を表しているか適切なものを選択しなさい。 ①パート ②パッケージ ③ライフライン ④クラス ⑤コンポーネント :会員