対象試験と出題頻度
UML(統一モデリング言語)は、基本情報技術者・応用情報技術者で出題されるテーマです。
「クラス図」「ユースケース図」「シーケンス図」「アクティビティ図」など、各ダイアグラムの役割や特徴を正確に区別できるかが問われます。
出題頻度は高く、ほぼ毎回いずれかの図が登場する定番分野です。
詳細をクリックして確認
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)必ず覚えておくべき
用語の定義
情報処理試験を勉強していると、「UMLって図がたくさんあるけど、結局何をするためのもの?」と混乱しがちです。
UML(Unified Modeling Language:統一モデリング言語)とは、一言で言うと
「ソフトウェアの構造や動きを、共通のルールで図にして表現するための標準モデリング言語」
のことです。
イメージとしては、「建築における設計図面のルール」です。
建築の世界では、壁を二重線で描く、ドアを円弧で描く、といった図面の記法が統一されています。
誰が描いても、誰が読んでも同じ意味に解釈できるから設計図として機能します。UMLは、この「図面のルール」をソフトウェア開発の世界に持ち込んだものです。
📊 UML(統一モデリング言語)の基本情報
| 項目 | 内容 |
|---|---|
| 正式名称 | Unified Modeling Language(ユニファイド・モデリング・ランゲージ) |
| 標準化団体 | OMG(Object Management Group)/ISO/IEC 19505(UML 2.x) |
| 主な用途 | オブジェクト指向開発における設計・分析工程の図式表現 |
| 図の総数 | UML 2.x で14種類(構造図7種+振る舞い図7種) |
詳細解説
1990年代、オブジェクト指向開発の現場ではブーチ法、OMT法、OOSE法など複数のモデリング手法が乱立していました。開発者ごとに記法が異なるため、図を見ても解釈が食い違うという問題が起きていました。
この混乱を解消するため、グラディ・ブーチ、ジェームズ・ランボー、イヴァー・ヤコブソンの3人が各手法を統合し、1997年にOMG(Object Management Group)がUML 1.1を標準仕様として採択しました。
その後改訂を重ね、現行のUML 2.xでは14種類のダイアグラムが定義されています。
構造図と振る舞い図の2分類
UMLの14種のダイアグラムは、大きく「構造図(Structure Diagrams)」と「振る舞い図(Behavior Diagrams)」の2つに分かれます。
構造図はシステムの静的な側面(クラスやコンポーネントの関係)を、振る舞い図はシステムの動的な側面(処理の流れやオブジェクト間のやり取り)を表現します。
📊 UMLダイアグラム一覧(構造図・振る舞い図)
| 分類 | 図の名称 | 何を表すか | 試験頻出度 |
|---|---|---|---|
| 構造図 | クラス図 | クラスの属性・操作と、クラス間の関連(汎化・集約など) | ★★★ |
| オブジェクト図 | ある時点でのインスタンス間の関係 | ★☆☆ | |
| パッケージ図 | パッケージ(名前空間)の依存関係 | ★☆☆ | |
| コンポーネント図 | コンポーネント同士のインタフェースと依存 | ★☆☆ | |
| 配置図 | ハードウェアノードとソフトウェア成果物の配置 | ★☆☆ | |
| 複合構造図 | クラスやコンポーネントの内部構造 | ― | |
| プロファイル図 | UML自体の拡張メカニズム | ― | |
| 振る舞い図 | ユースケース図 | アクタ(利用者)とシステム機能の対応関係 | ★★★ |
| シーケンス図 | オブジェクト間のメッセージを時系列で表現 | ★★★ | |
| アクティビティ図 | 処理の流れ(フローチャートのUML版) | ★★☆ | |
| 状態マシン図 | オブジェクトの状態遷移 | ★★☆ | |
| コミュニケーション図 | オブジェクト間のメッセージとリンク構造 | ★☆☆ | |
| タイミング図 | 状態変化のタイミング(時間軸を明示) | ― | |
| 相互作用概要図 | 複数の相互作用図をまとめた概要 | ― |
試験で問われる主要4図の特徴
14種すべてを暗記する必要はありません。
FE・APの午前で問われるのは主にクラス図、ユースケース図、シーケンス図、アクティビティ図の4つです。
それぞれの特徴を「何を見るか」で整理します。
▶ クラス図 ― システムの骨格を描く(クリックで展開)
クラス図は構造図の代表格で、クラスの名前・属性(データ)・操作(メソッド)を1つの矩形に3段で表記します。クラス同士の関係は「関連」「汎化(継承)」「集約」「コンポジション」などの線で結びます。
|
動物
– 名前: String
– 年齢: int + 鳴く(): void
+ 食べる(): void |
|
▲
汎化(継承) |
|
犬
– 犬種: String
+ お手(): void
|
▲ クラス図の例:「犬」は「動物」を汎化(継承)している
ここだけは確実に押さえてください。
クラス図に書く3要素は「クラス名・属性・操作」です。「インスタンス」や「メッセージ」はクラス図の構成要素ではありません。
▶ ユースケース図 ― 利用者視点で機能を整理する(クリックで展開)
ユースケース図は振る舞い図の一種で、システムが外部に提供する機能(ユースケース)と、その利用者や外部システム(アクタ)の対応関係を表します。
要求分析の段階で「このシステムは誰のために何をするのか」を可視化する目的で使います。
顧客
ECサイト
管理者
▲ アクター(棒人間)はシステム境界の外側、ユースケース(楕円)は内側に配置する
ユースケース図の核心は「システムとアクタの相互作用」を表すこと。
選択肢に「クラスと関連」「状態遷移」が出てきたらクラス図や状態マシン図の説明なので除外できます。
▶ シーケンス図 ― メッセージの時系列を追う(クリックで展開)
シーケンス図は、オブジェクト間でやり取りされるメッセージを時系列に表す振る舞い図です。
縦軸が時間、横軸にオブジェクト(ライフライン)を並べ、矢印でメッセージの送受信を記述します。
▲ シーケンス図の例:上から下に時間が流れる
構成要素は「ライフライン(縦の破線)」「アクティベーション(実行中を示す矩形)」「メッセージ(矢印)」の3つ。「オブジェクト間の相互作用を時系列に表す図はどれか」と聞かれたらシーケンス図が正解です。
▶ アクティビティ図 ― 処理の流れを図式化する(クリックで展開)
アクティビティ図は、ある振る舞いから次の振る舞いへの制御の流れを表現する図です。
フローチャートに近い見た目ですが、並行処理(フォーク・ジョイン)やスイムレーン(担当者の区分け)も表現できる点が異なります。
▲ アクティビティ図の例:在庫ありなら梱包と決済を並行処理後に発送
「ある振る舞いから次の振る舞いへの制御の流れ」という表現が出たらアクティビティ図です。
「オブジェクトの状態遷移」と混同しないでください。状態遷移は状態マシン図の役割です。
では、これらのダイアグラムが試験でどのように出題されるか見ていきましょう。
💡 UMLの核心を3行で
・ソフトウェアの構造や振る舞いを共通ルールで図にするための標準モデリング言語
・構造図(静的)と振る舞い図(動的)の2系統、計14種のダイアグラムで構成
・試験頻出はクラス図・ユースケース図・シーケンス図・アクティビティ図の4つ
試験ではこう出る!
UMLは、FE・APの午前問題でほぼ毎回出題される定番テーマです。出題パターンは大きく3つに分かれます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| FE R6免除 問34 |
UML2.0でオブジェクト間の相互作用を時系列に表す図を選ぶ問題。 | ・正解はシーケンス図 ・アクティビティ図・コンポーネント図・状態遷移図がひっかけ |
| FE R3免除 問45 |
ユースケース図の説明として正しいものを選ぶ問題。 | ・「システムとアクタの相互作用」が正解 ・クラス図やDFDの説明がひっかけ |
| FE H31春 午前 問46 |
UMLにおける振る舞い図の説明のうち、アクティビティ図はどれかを選ぶ問題。 | ・「制御の流れ」がアクティビティ図の決め手 ・シーケンス図・ユースケース図・状態マシン図との区別 |
| AP R2秋 午前 問27 |
UMLのクラス図から関係データベースの定義を解釈する問題。 | ・多重度(1対多)の読み取り ・外部キー・候補キーの導出 |
📝 IPA試験での出題パターン
パターン1:「○○図の説明を選べ」
4つのダイアグラムの説明文が並び、指定された図に該当するものを選ぶ形式。ユースケース図・シーケンス図・アクティビティ図・状態マシン図の4つが入れ替わりで出題される。それぞれのキーワード(「アクタとの相互作用」「時系列のメッセージ」「制御の流れ」「状態遷移」)を覚えておけば即答できる。
パターン2:「クラス図に記述するものを選べ」
クラス図の構成要素(クラス名・属性・操作・関連)を問う形式。ライフラインやメッセージフローはシーケンス図やコミュニケーション図の構成要素なのでひっかけになる。
パターン3:「クラス図の多重度を読み取れ」
APで出やすい形式。クラス図の多重度(1..*、0..1 など)からデータベース定義や候補キーを導出する読み取り問題。
試験ではここまででOKです。14種すべてを暗記する必要はなく、上記4図+クラス図の多重度表記を押さえれば得点できます。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. UMLにおけるユースケース図の説明として、最も適切なものはどれでしょうか?
- A. システムに対する要求機能を、アクタとシステムの相互作用として表現する。
- B. クラスの属性・操作と、クラス間の汎化・集約などの関連を表現する。
- C. オブジェクト間でやり取りされるメッセージの流れを時系列に表現する。
正解と解説を見る
正解:A
解説:
ユースケース図は、システムが外部に提供する機能(ユースケース)と、それを利用するアクタとの相互作用を表す図です。要求分析段階で「誰が」「何をするか」を整理する目的で使われます。
選択肢Bはクラス図の説明です。クラス図はシステムの静的構造を表す構造図であり、振る舞い図であるユースケース図とは分類が異なります。選択肢Cはシーケンス図の説明です。シーケンス図はオブジェクト間のメッセージのやり取りを時系列に沿って記述するものであり、利用者視点の機能一覧を表すユースケース図とは役割が異なります。
よくある質問(FAQ)
Q. UMLはオブジェクト指向以外の開発でも使えますか?
使えます。UMLはオブジェクト指向開発で生まれた記法ですが、アクティビティ図でビジネスプロセスを整理したり、ユースケース図で要件をまとめたりする場面は開発手法を問いません。実務ではWebアプリケーションの画面遷移をステートマシン図で描くケースもあります。ただし、試験では「オブジェクト指向開発で用いられる標準表記法」として出題されるため、オブジェクト指向と紐づけて覚えておいてください。
Q. UMLとDFD(データフローダイアグラム)は何が違いますか?
DFDはデータの流れに着目してシステムの機能を表現する構造化分析の手法であり、UMLには含まれません。UMLはオブジェクト(データ+振る舞い)を単位として設計するのに対し、DFDはプロセス・データストア・データフロー・外部エンティティの4要素でデータの入出力を整理します。過去問でもユースケース図の選択肢にDFDの説明が紛れ込む出題があるため、「DFDはUMLの仲間ではない」と明確に区別してください。
Q. コミュニケーション図とシーケンス図はどう使い分けますか?
どちらもオブジェクト間のメッセージのやり取りを表す「相互作用図」ですが、視点が異なります。シーケンス図は時間の流れを重視し、上から下への時系列でメッセージを並べます。コミュニケーション図はオブジェクト同士のリンク構造(どのオブジェクトとどのオブジェクトがつながっているか)を重視し、メッセージには番号を振って順序を示します。試験での出題頻度はシーケンス図が圧倒的に高いため、コミュニケーション図は「構造重視のシーケンス図の別表現」と理解しておけば十分です。
Q. UMLの多重度で「0..*」と「1..*」の違いは何ですか?
「0..*」は「0個以上(なくてもよい)」、「1..*」は「1個以上(必ず1つは存在する)」を意味します。例えば「顧客」と「注文」の関係で、顧客側に「1」、注文側に「0..*」が付いている場合、「1人の顧客は注文を0件以上持ちうる(まだ注文していない顧客もいる)」と読みます。AP午前のクラス図問題では、この多重度の読み取りから外部キーや候補キーを導出する問題が出るため、「0」と「1」の違いを正確に区別できるようにしてください。