基本情報技術者 2018年 秋期 午前(科目A) 問46
問題文
UML2.0のシーケンス図とコミュニケーション図のどちらにも表現されるものはどれか。
選択肢
ア:イベントとオブジェクトの状態
イ:オブジェクトがある状態にとどまる最短時間及び最長時間
ウ:オブジェクトがメッセージを処理している期間
エ:オブジェクト間で送受信されるメッセージ(正解)
UML2.0のシーケンス図とコミュニケーション図のどちらにも表現されるものはどれか【午前2 解説】
要点まとめ
- 結論:シーケンス図とコミュニケーション図の両方で表現されるのは、オブジェクト間で送受信されるメッセージであり、相互作用の核心を示します。
- 根拠:シーケンス図は時系列のメッセージ列を、コミュニケーション図はオブジェクト間のリンクとそのメッセージを表現する点でメッセージが共通要素です。
- 差がつくポイント:実行期間(アクティベーション)や状態遷移、時間制約はシーケンス図や別の図で扱うため、両図で共通とは限らない点を押さえてください。
正解の理由
正解: エ: オブジェクト間で送受信されるメッセージ
シーケンス図もコミュニケーション図も「オブジェクトの相互作用(インタラクション)」を表現するUML図であり、両者ともオブジェクト間でやり取りされるメッセージ(呼び出し、信号など)を主要要素として描きます。シーケンス図は時間軸上でメッセージの順序や応答を表し、コミュニケーション図はオブジェクト間のリンク構造上でメッセージとその順序(番号付け等)を示します。したがって「メッセージ」は両方に共通する表現要素です。
シーケンス図もコミュニケーション図も「オブジェクトの相互作用(インタラクション)」を表現するUML図であり、両者ともオブジェクト間でやり取りされるメッセージ(呼び出し、信号など)を主要要素として描きます。シーケンス図は時間軸上でメッセージの順序や応答を表し、コミュニケーション図はオブジェクト間のリンク構造上でメッセージとその順序(番号付け等)を示します。したがって「メッセージ」は両方に共通する表現要素です。
よくある誤解
- シーケンス図のアクティベーション(実行期間)を見て「処理時間も両方で表される」と考える誤解:実行期間はシーケンス図では表現可能でも、コミュニケーション図では通常表現されません。
- 「オブジェクトの状態やイベントも両方で表される」とする誤認:状態は状態図(State Machine)で表し、イベントはメッセージとして登場する場合もあるが「状態遷移そのもの」は両図の共通表現ではありません。
解法ステップ
- 各選択肢が「何を表すものか」を明確に読む(メッセージ、状態、時間、実行期間など)。
- UMLの図ごとの目的を思い出す:シーケンス図=時系列のインタラクション、コミュニケーション図=オブジェクト間の構造とメッセージ。
- 「両方に共通して表現される要素」を探す。メッセージは双方で明確に表現される要素である。
- 他の選択肢(状態、最短/最長時間、処理期間)がどちらの図で主に表現されるかを確認して除外する。
- 結論としてメッセージ(エ)を選ぶ。
選択肢別の誤答解説
- ア: イベントとオブジェクトの状態
- 誤り:イベント(発生事象)はメッセージと関連することもあるが、オブジェクトの「状態(ステート)」自体は状態図が主であり、両図で共通に表現される要素とは言えません。
- イ: オブジェクトがある状態にとどまる最短時間及び最長時間
- 誤り:時間の最短/最長滞在期間はタイミング図や状態機械の制約で扱うことが多く、シーケンス図/コミュニケーション図の共通表現ではありません。
- ウ: オブジェクトがメッセージを処理している期間
- 誤り:シーケンス図ではアクティベーションで処理期間を示唆できますが、コミュニケーション図では処理の「期間」を明示的に表す表現は標準的ではありません。したがって両方に共通とは言えません。
- エ: オブジェクト間で送受信されるメッセージ
- 正解:両図ともインタラクションの基本要素としてメッセージを表現します(シーケンス図は時間軸、コミュニケーション図は構造上のリンクと番号付けで順序を示す)。
補足コラム
- シーケンス図(Sequence Diagram)
- 時間を縦軸にとり、ライフライン、メッセージ、アクティベーション(実行期間)や応答を明示できます。順序が直感的に分かるため、ユースケースの時系列検証に向きます。
- コミュニケーション図(Communication Diagram、旧コラボレーション図)
- オブジェクト間のリンク(コネクタ)上にメッセージを配置し、メッセージ番号で順序を示すため、オブジェクト関係の視点で相互作用を表現する際に有効です。
- メッセージの種類
- 同期呼び出し、非同期呼び出し、戻り値(応答)、シグナルなどがあり、どちらの図でも区別可能ですが表現方法が異なります。
- 実務上の使い分け
- 振る舞いの順序やタイミングが重要ならシーケンス図、オブジェクトのやり取りや構造が重要ならコミュニケーション図を使うと効果的です。
FAQ
Q1: シーケンス図にあるアクティベーションはコミュニケーション図で表せますか?
A1: 厳密な「期間」をコミュニケーション図で表す標準的手段は少なく、アクティベーションの詳細はシーケンス図が適しています。
A1: 厳密な「期間」をコミュニケーション図で表す標準的手段は少なく、アクティベーションの詳細はシーケンス図が適しています。
Q2: メッセージとイベントは同じものですか?
A2: 完全には同じではありません。メッセージはオブジェクト間の呼び出しや信号で、これがオブジェクト内部のイベント(受信イベント)を引き起こします。
A2: 完全には同じではありません。メッセージはオブジェクト間の呼び出しや信号で、これがオブジェクト内部のイベント(受信イベント)を引き起こします。
Q3: 順序はコミュニケーション図でどう表現しますか?
A3: メッセージに番号(1, 1.1, 1.2 など)を付けて順序や入れ子を表現します。
A3: メッセージに番号(1, 1.1, 1.2 など)を付けて順序や入れ子を表現します。
Q4: 時間制約はどの図で表現すべきですか?
A4: タイミングが重要ならタイミング図(Timing Diagram)を用いるか、シーケンス図に注釈や制約を付けます。
A4: タイミングが重要ならタイミング図(Timing Diagram)を用いるか、シーケンス図に注釈や制約を付けます。
関連キーワード: UML、シーケンス図、コミュニケーション図、メッセージ、ライフライン、アクティベーション、コラボレーション図、タイミング図、モデル化、相互作用

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

