開発技術

基本情報技術者試験状態遷移表」の問題

マネジメント系開発技術難易度:normal
設計工程で対象の動的な振る舞いを検証する際、状態遷移図ではなく状態遷移表を用いることの利点として最も適切なものはどれか。
処理に必要な記憶容量の上限を自動で算出できる
全状態と全イベントの組合せを漏れなく洗い出せる
利用者から見た機能の範囲を一枚で俯瞰できる
オブジェクト間で交わすメッセージの時系列を表現できる
正解
全状態と全イベントの組合せを漏れなく洗い出せる

状態遷移表は状態を行、イベントを列に取り、各セルに遷移先や動作を記入する。表形式ゆえに状態×イベントの全組合せが必ずマス目として現れ、空欄を見ればどの組合せの遷移が未定義かが一目で分かる。設問の『漏れなく洗い出せる』という網羅性が状態遷移表の最大の利点である。

?選択肢ごとの解説

ア ×必要記憶容量の上限算出は状態遷移表の機能ではなく、性能設計や見積りの領域の話である。
イ ○状態遷移表は状態を行、イベントを列に取り、各セルに遷移先や動作を記入する。表形式ゆえに状態×イベントの全組合せが必ずマス目として現れ、空欄を見ればどの組合せの遷移が未定義かが一目で分かる。設問の『漏れなく洗い出せる』という網羅性が状態遷移表の最大の利点である。
ウ ×利用者視点の機能範囲を俯瞰するのはユースケース図の利点であり、状態の網羅を狙う状態遷移表とは目的が異なる。
エ ×オブジェクト間メッセージの時系列を表すのはシーケンス図の役割で、状態遷移表が担うものではない。

くわしく

同じ状態振る舞いでも、状態遷移図は流れの直感的な把握に優れる一方で、組合せの抜けに気付きにくい。状態遷移表は見た目の直感性では劣るが、全マス目を埋める形式により網羅性の検証に強い。実務では図で全体像を共有し、表で抜け漏れを潰すという併用が有効である。設問は『網羅』という表ならではの利点を問うており、視覚的俯瞰や時系列表現を挙げる選択肢は別の図の特徴と取り違えたものである。

本番での押さえどころ

試験のコツ

『全状態×全イベントの組合せを漏れなく』とあれば状態遷移表の利点と判断する。

覚え方

表=マス目を全部埋める=抜けが見える、と『表は漏れに強い』で覚える。

よくある誤り

図の方が分かりやすいから優れると短絡しがちだが、設問が問うのは網羅性であり、その点では表が図に勝る。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0054

【基本情報技術者試験】状態遷移表の問題 — 解答・解説|ukamiru 過去問