シーケンス図は、基本情報技術者・応用情報技術者で繰り返し出題されるUMLの定番テーマです。
対象試験と出題頻度
シーケンス図は、基本情報技術者・応用情報技術者で出題されるテーマです。
UMLのダイアグラム比較問題として定番化しており、「ユースケース図」「クラス図」「アクティビティ図」「状態マシン図」との違いを正確に区別できるかが問われます。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「シーケンス図って何を描く図?コミュニケーション図やアクティビティ図とどう違うの?」と混乱しがちです。
シーケンス図(Sequence Diagram)とは、一言で言うと
「オブジェクト間のメッセージのやり取りを、時間の流れに沿って表現するUMLの図」
のことです。
イメージとしては、「LINEのグループチャットの履歴」です。
グループチャットでは、誰が誰にいつメッセージを送り、いつ返信が来たかが上から下へ時系列で並びます。途中で別の人が会話に加わることもあります。
シーケンス図もまさにこの構造で、登場するオブジェクトを横に並べ、上から下へ「誰が誰に何を送ったか」を矢印で記述します。
📊 シーケンス図の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Sequence Diagram |
| UMLでの分類 | 相互作用図(Interaction Diagram)/振る舞い図の一種 |
| 主な利用工程 | 外部設計・内部設計・詳細設計 |
| 構成要素 | ライフライン、メッセージ(矢印)、実行仕様(アクティベーション)、複合フラグメント |
解説
オブジェクト指向設計では、複数のオブジェクトが互いにメッセージをやり取りして処理を進めます。
しかし「どのオブジェクトが、どの順番で、何を呼び出しているのか」は、ソースコードだけでは追いにくい場面が多々あります。
この問題を解決するために、オブジェクト間の呼び出し順序を時間軸で図式化するシーケンス図が使われます。
4つの構成要素
シーケンス図を読み書きするうえで押さえるべき構成要素は4つです。
| 要素 | 記号 | 役割 |
|---|---|---|
| ライフライン | 四角+下向き破線 | 相互作用に参加するオブジェクトを表す。上部の四角にオブジェクト名(またはクラス名)を書き、下へ伸びる破線が時間軸になる |
| メッセージ | 水平の矢印 | ライフライン間を結ぶ矢印。実線矢印は同期メッセージ(呼び出し)、破線矢印は戻り値(応答)を示す |
| 実行仕様 (アクティベーション) |
縦長の細い長方形 | ライフラインの破線上に重ねて描く長方形。そのオブジェクトが処理を実行している期間を表す |
| 複合フラグメント | 四角い枠+ラベル | 条件分岐(alt)やループ(loop)などの制御構造を囲む枠。枠の左上にオペレータ名を記述する |
図解:ECサイトの「商品購入」シーケンス図
具体例として、ECサイトで顧客が商品を購入する流れをシーケンス図で表現します。
ECサイト「商品購入」のシーケンス図
▲ 実線矢印=同期メッセージ(呼び出し) / 破線矢印=戻り値(応答)
上から下へ時間が流れる
メッセージの種類
シーケンス図で使われる矢印には種類があり、それぞれ意味が異なります。
| 矢印の形 | 名称 | 意味 |
|---|---|---|
| ──▶(実線・塗り矢印) | 同期メッセージ | 呼び出し先の処理が完了するまで待機する。メソッド呼び出しが代表例 |
| ──>(実線・開き矢印) | 非同期メッセージ | 呼び出し後、完了を待たずに次の処理へ進む。イベント通知が代表例 |
| – – ->(破線・開き矢印) | 戻りメッセージ | 同期メッセージに対する応答(戻り値)。省略されることも多い |
コミュニケーション図との違い
シーケンス図と混同されやすいのがコミュニケーション図です。両者は「オブジェクト間のメッセージのやり取り」を表す点は同じですが、着眼点が異なります。
シーケンス図 vs コミュニケーション図
シーケンス図
着眼点:時間の順序
軸:縦軸が時間、横軸にオブジェクト
向いている場面:処理の実行順序を正確に追いたいとき
コミュニケーション図
着眼点:オブジェクト間の関係
軸:自由配置+番号で順序を示す
向いている場面:どのオブジェクト同士がつながっているかを把握したいとき
※ どちらにも「オブジェクト間のメッセージ」は表現される(FE H30秋 問46で出題)
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 シーケンス図の核心を3行で
・オブジェクト間のメッセージを時間軸に沿って上→下で記述するUMLの相互作用図
・構成要素は「ライフライン(破線)」「メッセージ(矢印)」「実行仕様(長方形)」「複合フラグメント(枠)」の4つ
・コミュニケーション図とは「時間順序 vs オブジェクト間の関係」で使い分ける
試験ではこう出る!
シーケンス図は、FE・APの午前問題でUMLダイアグラム比較問題として繰り返し出題されています。
出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE H29秋 午前 問46 |
UML2.0でオブジェクト間の相互作用を時系列に表す図を選ぶ問題。 | ・正解は「シーケンス図」 ・アクティビティ図・コンポーネント図・状態遷移図がひっかけ |
| FE H30秋 午前 問46 |
シーケンス図とコミュニケーション図の両方に表現されるものを選ぶ問題。 | ・正解は「オブジェクト間で送受信されるメッセージ」 ・「処理している期間」はシーケンス図だけの要素 |
| FE H19秋 午前 問45 |
UMLのクラス図に記述するものを選ぶ問題。 | ・「アクティベーション、オブジェクト、ライフライン」はシーケンス図の構成要素として除外する |
| AP H22春 午前 問44 |
FE H29秋 問46と同一構成の問題(流用)。 | ・FEとAPで同じ問題が出回る典型例 |
| AP H24秋 午前 問44 |
UMLでメッセージによる相互作用を表せる図を選ぶ問題。 | ・正解は「シーケンス図」 ・コンポーネント図・ステートチャート図がひっかけ |
📝 IPA試験での出題パターン
パターン1:「時系列で相互作用を表す図を選べ」
4つのUMLダイアグラム名が並び、該当するものを選ぶ形式。キーワードは「時系列」「相互作用」「メッセージ」。「アクティビティ図」(制御フロー)や「状態遷移図」(状態変化)の説明に引っかからないこと。
パターン2:「構成要素を選べ」
各UML図の構成要素が選択肢に並び、シーケンス図のものを選ぶ(または除外する)形式。「ライフライン」「アクティベーション」「メッセージ」がシーケンス図の要素。ここだけは確実に押さえてください。
パターン3:「コミュニケーション図との共通点・相違点を問う」
両図に共通する「メッセージ」と、シーケンス図固有の「処理している期間(アクティベーション)」の区別が問われる。
試験ではここまででOKです。複合フラグメントの詳細(alt / loop / opt など)まで午前で問われることはほぼないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. UML2.0において、オブジェクト間の相互作用を時系列に表す図はどれでしょうか?
- A. システムに対する要求機能を、利用者や外部システム(アクター)とシステムの相互作用として表現する図。
- B. クラスの属性・操作と、クラス間の汎化や集約などの静的な関連を表現する図。
- C. ライフラインを縦に並べ、オブジェクト間で送受信されるメッセージの流れを時間の経過に沿って表現する図。
正解と解説を見る
正解:C
解説:
シーケンス図は、オブジェクト間のメッセージのやり取りを時間の流れに沿って記述するUMLの相互作用図です。ライフライン上にメッセージを矢印で描き、上から下へ処理の順番を追える点が最大の特徴です。
選択肢Aはユースケース図の説明です。ユースケース図はアクターとシステム機能の対応関係を表す振る舞い図であり、時系列を扱うものではありません。選択肢Bはクラス図の説明です。クラス図はシステムの静的構造を表す構造図であり、メッセージの流れは描きません。
よくある質問(FAQ)
Q. シーケンス図の「複合フラグメント」にはどんな種類がありますか?
代表的なものは「alt(条件分岐)」「loop(繰り返し)」「opt(任意実行)」「par(並行処理)」の4つです。altはif-else、loopはfor/whileに相当すると考えるとわかりやすいです。IPA午前試験ではここまでの詳細は問われませんが、APの午後問題でシーケンス図を読む際に登場する場合があります。
Q. シーケンス図は設計のどの段階で書くものですか?
主に外部設計(基本設計)から詳細設計の段階で使います。「画面→コントローラ→DB」のように、処理の呼び出し順序をチーム内で確認・共有するのが主な目的です。要件定義段階では、先にユースケース図で「誰が何をするか」を整理し、その後シーケンス図で「具体的にどう動くか」を詳細化する流れが一般的です。
Q. シーケンス図とタイミング図はどう違いますか?
どちらも時間軸を持つ相互作用図ですが、着眼点が異なります。シーケンス図は「メッセージの送受信の順序」に着目するのに対し、タイミング図は「各オブジェクトが特定の状態にどのくらいの時間とどまるか」に着目します。FE H30秋 問46の選択肢イ「最短時間及び最長時間」はタイミング図の特徴であり、シーケンス図の要素ではありません。
Q. 実務でシーケンス図を描くツールは何が使われていますか?
PlantUMLやMermaidが代表的です。どちらもテキストベースで記述するため、Gitでの差分管理と相性が良く、開発チームでの共有に適しています。GUI操作で描きたい場合はdraw.io(diagrams.net)やLucidchartが定番です。IPA試験では特定ツールの知識は不要ですが、実務で使う場面は非常に多いです。