問題 No.3292
状態遷移図に関する記述として不適切なものはどれか。
【正解の解説】
一つの状態から他の状態へ遷移するためには、必ず外部からのイベントを伴う必要があり、内部的な条件の変化や時間の経過のみで遷移することはできない。
人間が時計を見て「あ、お昼の12時になったからお腹が空いた状態に変わる」というように、外部から何かをされなくても時間の経過(タイマーの満了など)や内部の状態変化だけで次の状態に移行することは日常茶飯事であり、システム設計でもごく普通に起こる現象です。
スポンサーリンク
【その他の選択肢の解説】
一つの状態から他の状態へ遷移する際には、オブジェクトの属性値の変化やタイマーの満了といった内部的な条件のみで作動し、外部イベントは不要である。
試験問題作成によくある「〜のみで、〜は不要である」という限定的な表現の罠です。状態遷移は外部からのボタン入力といったイベントだけでなく、タイマー満了などの内部要因も引き金になるため、どちらか一方に限定する記述は誤りとなります。
システムの動的な振る舞いを表現するための図であり、ある対象が取り得るすべての状態と、イベントに応じた状態の移り変わりを網羅的に示す。
状態遷移図の正しい定義そのものです。例えば自動販売機をイメージしてください。「お金を入れる前」「商品選択可能」「商品排出中」といったすべての状態と、「ボタンが押された」「お金が投入された」というイベントによる状態の変化を地図のように一枚の図で全体的に把握できるように表現します。
状態遷移表と相互に変換することが可能であり、状態遷移図で表現された複雑なシステム挙動を表形式で整理して矛盾や抜け漏れを検証できる。
これも状態遷移図の活用方法として完全に正しい記述です。図だけでシステムを追うと線が複雑に絡み合って見落としが発生するため、縦軸に現在地、横軸にイベントをとった「表(マトリクス)」に変換することで、全てのパターンを網羅できているかプロの現場でも厳しくチェックされます。