基本情報技術者試験のUMLと状態遷移図を、IPAのシラバスVer.9.2とOMGのUML 2.5.1、公開問題で整理。ステートマシン図の記号と書式、入力/出力つきの状態遷移図の読み方、決定表(デシジョンテーブル)を、自作の例と検算つきで解説します。
目次
結論:UMLは、オブジェクト指向設計の標準化された表記法で、シラバスVer.9.2はクラス図・ユースケース図・ステートマシン図・シーケンス図などを用語例に挙げています。そのうち基本情報技術者試験の状態遷移図は、状態を丸や角丸の四角、遷移を矢印で表し、矢印のラベルに「いつ(入力・イベント)」「何が出る(出力)」を書く図です。シラバスVer.9.2では、基礎理論のオートマトン、UMLのステートマシン図、構造化設計の手法に載っています。解き方は、初期状態から入力を1つずつ読み、矢印をたどって状態と出力を書き出すことです。2022年のサンプル問題 科目A 問4が、入力/出力つきの状態遷移図を読む形の問題でした。
シラバスの版:基本情報技術者試験のシラバスはVer.9.2。最終確認日:2026-10-21。出典:IPA 試験要綱・シラバスについて。
UMLの版:OMGのUML仕様は2.5.1を参照。最終確認日:2026-10-21。出典:OMG Unified Modeling Language 2.5.1。
シラバスで、状態遷移図とUMLが載っている場所
シラバスVer.9.2で、状態遷移図・ステートマシン図・決定表が出てくる主な場所は次のとおりです(全部ではありません。表の後に、そのほかの場所を挙げます)。
| 場所 | 内容(シラバスの記述) |
|---|---|
| 大分類1 基礎理論/中分類1/3. 情報に関する理論/(6)オートマトン | 「有限オートマトンの概念,形式言語との関係,状態遷移表,状態遷移図を理解する。」 |
| 大分類4 開発技術/中分類12 システム開発技術/1. システム要件定義・ソフトウェア要件定義/(7)業務分析や要件定義に用いられる手法/⑥ UML | 用語例 クラス図,操作,属性,ロール名,パッケージ図,ユースケース図,ステートマシン図,シーケンス図,コミュニケーション図 |
| 同上/⑧ その他の手法 | 用語例 決定表(デシジョンテーブル),SysML |
| 大分類4 開発技術/中分類12 システム開発技術/2. 設計/(9)ソフトウェア設計手法/③ 構造化設計/(b)構造化設計の手法 | 「流れ図,DFD,構造化チャート,状態遷移図などがあることを理解する。」 |
表のほかにも、次の場所の用語例に出てきます(上の表と同じ版。すべてを網羅したものではなく、この記事の確認で見つけた範囲です)。
- 中分類13 ソフトウェア開発管理技術/(2)構造化手法:用語例に「状態遷移図」
- 中分類2 アルゴリズムとプログラミング/アルゴリズム設計:本文に「決定表(デシジョンテーブル)」
- 中分類12/モジュール仕様の作成:用語例に「決定表」
- 中分類18/要件定義の手法:用語例に「DFD,決定表(デシジョンテーブル),UML,DOA」
- 中分類2/その他の言語:用語例に、UMLの図(アクティビティ図などの一部)
出典:IPA 基本情報技術者試験(レベル2)シラバス Ver.9.2(表の場所は PDFのページ 10・52〜53・56〜57)。ITパスポートの用語解説はUMLにあります。
UMLとは:オブジェクト指向設計の表記法
シラバスは、UMLを「オブジェクト指向設計の標準化された表記法」と説明し、「UMLで用いる図式の種類,特徴,UMLを用いてシステムの仕組みを表現する方法を理解する」としています。仕様を管理しているのはOMG(Object Management Group)で、仕様書はUML 2.5.1です。
試験では、図の名前と、その図が何を表すかを結びつけます(当サイトの整理で、シラバスの用語例にある図を、表す内容で分けたものです)。
| 図 | 表すもの |
|---|---|
| クラス図 | クラスの属性・操作と、クラス同士の関係(構造) |
| パッケージ図 | モデルの要素をまとめた単位(パッケージ)と、その依存関係 |
| ユースケース図 | 利用者(アクター)がシステムで何をするか |
| ステートマシン図 | 状態と、イベントによる状態の変化(振る舞い) |
| シーケンス図 | オブジェクト間のメッセージのやり取りの順序(時間の流れ) |
| コミュニケーション図 | オブジェクト同士のつながりと、メッセージのやり取り |
ステートマシン図の読み方:状態・遷移・開始と終了の記号
OMGのUML 2.5.1は、ステートマシン図の記号を次のように定めています(記号の説明は第14章。PDFのページ 361・369・373)。
- 状態(State):角の丸い長方形で、中に状態名を書く
- 初期状態(initial Pseudostate):小さな黒丸
- 終了状態(FinalState):黒丸のまわりを円で囲んだ記号
- 遷移(Transition):状態から状態への矢印。ラベルの書式は「トリガー [ガード] / 振る舞い」(トリガー=きっかけになるイベント、ガード=成り立つときだけ遷移する条件、振る舞い=遷移のときに行う動作で、すべて省略できる)
出典:OMG Unified Modeling Language 2.5.1(14.2.4.4 State、14.2.4.5 FinalState、14.2.4.6 Pseudostate、14.2.4.8 Transition)。仕様書の原文は英語です。ここでの日本語訳は当サイトのものです。
自作の例で、ラベルの読み方を確認します。状態は「待機」「PIN入力」「操作中」「ロック」の4つ、初期状態は「待機」とします。
| 今の状態 | きっかけ(イベント) | 次の状態 |
|---|---|---|
| 待機 | カード挿入 | PIN入力 |
| PIN入力 | PIN正しい | 操作中 |
| PIN入力 | PIN誤り(3回目未満) | PIN入力 |
| PIN入力 | PIN誤り(3回目) | ロック |
| PIN入力 | 取消 | 待機 |
| 操作中 | 終了 | 待機 |
この表にない組(たとえば「待機」で「PIN正しい」)は、何も起きず状態が変わらない約束とします。PIN誤りの回数は、カード挿入のたびに0から数える約束とします。UMLの書式では、4行目は「PIN誤り [誤りが3回目]」と書けます。
この表で3つの入力列をたどった結果です(Pythonで状態遷移を実行し、手でも追って確認しました)。
| イベントの列(左から順に) | 状態の推移 |
|---|---|
| カード挿入、PIN誤り、PIN正しい、終了 | 待機→PIN入力→PIN入力→操作中→待機 |
| カード挿入、PIN誤り、PIN誤り、PIN誤り、PIN正しい | 待機→PIN入力→PIN入力→PIN入力→ロック→ロック(ロックでは「PIN正しい」で変わらない) |
| PIN正しい、カード挿入、取消 | 待機→待機→PIN入力→待機 |
検算(別の考え方):2行目は、PIN誤りが3回目に達した時点でロックになります。ロックから出る遷移を表に書いていないので、その後のイベントでは状態が変わりません。1行目はPIN誤りが1回だけなので、ロックに入らず、PIN正しいで操作中に進みます。
入力/出力つきの状態遷移図:矢印のラベルを「入力/出力」と読む
オートマトンの問題では、矢印のラベルが「入力/出力」の形で、入力を1つ読むたびに出力が1つ決まります。2022年のサンプル問題 科目A 問4は、入力記号と出力記号の集合が {0, 1} のオートマトンについて、状態遷移図で示され、S1 が初期状態、遷移の矢印のラベルが入力/出力を表す、という形で、与えられた入力列に対する出力列を選ぶ問題です(問題文の条件。数値は掲載しません)。
自作の例です。状態は S0(直前の入力が0、または入力なし)と S1(直前の入力が1)の2つで、初期状態は S0 とします。
| 今の状態 | 入力 | 出力 | 次の状態 |
|---|---|---|---|
| S0 | 0 | 0 | S0 |
| S0 | 1 | 1 | S1 |
| S1 | 0 | 1 | S0 |
| S1 | 1 | 0 | S1 |
入力列 10110 を左から順に読みます。
- 1文字目 1:S0 で入力1 → 出力1、S1 へ
- 2文字目 0:S1 で入力0 → 出力1、S0 へ
- 3文字目 1:S0 で入力1 → 出力1、S1 へ
- 4文字目 1:S1 で入力1 → 出力0、S1 のまま
- 5文字目 0:S1 で入力0 → 出力1、S0 へ
出力列は 11101 です。検算(別の考え方):この表の出力は「今の入力と、直前の入力が異なるとき1」(排他的論理和)になっています。10110 の各文字を直前の文字(最初は0)と比べると、1と0(異なる)→1、0と1→1、1と0→1、1と1(同じ)→0、0と1→1 で、11101 と一致します。Pythonでも同じ結果でした。
解き方の手順です。
- ① 初期状態に印を付ける
- ② 入力を左から1文字ずつ読み、「今の状態+入力」に当たる矢印のラベルを探す
- ③ 出力を書き、次の状態に印を移す
- ④ 選択肢と照らし合わせる前に、出力列の長さが入力列と同じか確かめる
状態遷移図を表に直すと、読み間違いが減ります(当サイトの提案)。
この論点の問題を解く(状態遷移図・UML)
公開問題で、状態遷移図とUMLの図式を扱った問題の例です。
- 入力/出力つきの状態遷移図から出力列を求める(2022年サンプル問題 科目A 問4)
- UMLを用いて表した図の概念データモデルの解釈を選ぶ(2022年サンプル問題 科目A 問22)
- UMLのアクティビティ図の特徴を問い、選択肢にステートマシン図に当たる説明を含む(平成31年度春期 午前 問46)
出典:2022年サンプル問題 科目A、平成31年度春期 午前。平成31年度春期 午前 問46の選択肢エは、「一つのオブジェクトの状態がイベントの発生や時間の経過とともにどのように変化するかを表現する」という文で、これが状態の変化を表す図の特徴にあたります(この問題の正解はアのアクティビティ図で、エは状態の変化を表す図の説明にあたる、誤りの選択肢です)。
確認した範囲は、令和5〜8年度の科目A・B公開問題とサンプル問題の科目A・Bの全文です。このうち令和5〜8年度の問題冊子には、「ステートマシン図」「状態遷移図」「UML」「決定表」の語を含む問題はありませんでした(令和7年度 科目A 問11の選択肢に「状態遷移」の語が1か所あるだけで、E-R図の説明の誤りの選択肢です。2026-10-21 時点)。サンプル問題は科目Bに、ゲームの状態遷移を木構造として扱う問題があります。
決定表(デシジョンテーブル):条件の組合せごとに動作を決める
決定表は、条件の真偽の組合せ(規則)ごとに、行う動作を表にしたものです。条件が2つなら規則は4つ(2の2乗)、3つなら8つになります(真偽の組合せをすべて並べた場合。「−(どちらでもよい)」でまとめると規則は減ります)。真理値表(論理回路の記事)と同じ考え方で、組合せを漏れなく並べられる点が強みです。
自作の例です。「会員である」「購入額が1万円以上」の2条件で、動作は「送料を無料にする」「会員割引をする」とします。送料は購入額だけで決まり、割引は会員かどうかだけで決まる、という約束です。
| 規則 | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| 会員である | Y | Y | N | N |
| 購入額が1万円以上 | Y | N | Y | N |
| 送料を無料にする | ○ | ○ | ||
| 会員割引をする | ○ | ○ |
検算:4つの規則は、会員の有無と金額条件の組合せ(Y,Y)(Y,N)(N,Y)(N,N)をすべて含み、重複も漏れもありません。送料無料は金額条件がYの規則1・3、会員割引は会員がYの規則1・2だけに付いており、約束と一致します。
勉強の進め方(当サイトの提案)
IPAの案内ではなく、当サイトの提案です。
- ① 状態遷移図は、必ず表に直してから入力列をたどる
- ② 矢印のラベルが「入力/出力」か「イベント [ガード] / 動作」かを最初に確認する
- ③ UMLの図は、名前と「構造・振る舞い・順序」のどれを表すかをセットで覚える
- ④ 決定表は、条件の数から、組合せをすべて並べたときの規則の数(2のn乗)を先に計算して、行の漏れを防ぐ
用語は用語集、アルゴリズム系の問題の流れは流れ図の記事にあります。
まとめ
- 状態遷移図は、状態と遷移(矢印)を表す図。オートマトンの問題では、矢印のラベルが「入力/出力」
- UMLのステートマシン図の記号は、状態が角丸の長方形、初期状態が黒丸、終了状態が黒丸を円で囲んだ記号。遷移のラベルは「トリガー [ガード] / 振る舞い」
- 解き方は、初期状態から入力を1つずつ読み、状態と出力を書き出す。表に直すと読み間違いが減る
- 決定表は条件の組合せごとの動作を表にしたもの。組合せをすべて並べると、条件がn個なら規則は2のn乗(「−」でまとめると減る)
- 令和5〜8年度の公開問題の問題冊子では、これらの語を含む問題は確認できず、サンプル問題 科目A 問4と平成31年度春期 午前 問46で出題の形を確認できた
よくある質問
Q状態遷移図とUMLのステートマシン図は同じものですか?
シラバスVer.9.2には、どちらの名前も載っています。「状態遷移図」は基礎理論のオートマトン、構造化設計の手法、構造化手法の用語例に、「ステートマシン図」はUMLの図式の用語例にあります。どちらも、状態と、状態から状態への移り変わり(遷移)を図にする点は共通です。ただし記号の細かい決まりは図の流儀によって違うので、問題に付く凡例や説明を先に読んでください。
QUMLの図は何種類覚える必要がありますか?
シラバスVer.9.2がUMLの用語例に挙げている図は、クラス図、パッケージ図、ユースケース図、ステートマシン図、シーケンス図、コミュニケーション図です。このほか「その他の言語」の項の用語例には、オブジェクト図、コンポーネント図、配置図、コンポジット構造図、アクティビティ図、相互作用概要図、タイミング図も載っています。まず、図が何を表すか(構造か、振る舞いか、順序か)を言えるようにしておくと選択肢を絞れます。
Q決定表(デシジョンテーブル)は状態遷移図と関係がありますか?
別の道具です。状態遷移図は「状態がどう移り変わるか」を、決定表は「条件の組合せごとに、どの動作をするか」を整理します。シラバスは、決定表を「その他の手法」「モジュール仕様の作成」「要件定義の手法」の用語例に挙げています。
Q状態遷移表に書かれていない「状態とイベントの組」はどう扱いますか?
問題の指示に従います。この記事の自作の例では「何も起きず、状態は変わらない」と約束して解いています。これは例題の約束で、試験の一般ルールではありません。実際の問題では、記載のない遷移の扱いについての注意書きがあるかを必ず確認してください。
法令や試験の数字は、改正や年度で変わります。この記事の最終確認日は2026年10月21日です。申込みや合格基準は、必ず試験団体の公式情報で確かめてください。

