ある状態から別の状態への遷移を表現することができます。
また、遷移を起こす契機や遷移を行うかの判断条件を表記することができます。
ステートマシン図の例
あるプリンターには「待機中」「印刷中」「用紙無し」の各状態があります。
これらの状態の遷移をステートマシン図で描くと以下の通りになります。
ステートマシン図は、下記に示すステートマシン表(状態遷移表)で表すこともできます。
ステートマシン図に抜けや漏れがないか確認するためにも、ステートマシン表に置き換えて、別視点からチェックすることをオススメします。
ステートマシン図とフローチャートとの違い
ステートマシンを作成する際に、やりがちなミスとしては、フローチャートとの混同です。
下記にフローチャートとステートマシンの違いについて記します。
下の図はステートマシン図(左)とフローチャート図(右)です。
ステートマシン図では、箱内(青四角)に現状の状態を記述しており、次の状態に移る際は
明示的にイベント(遷移条件、トリガー)を記載する必要があります。
一方、フローチャート図では、箱内に処理そのものを記述し、
次の処理に移る際はイベントの記述は不要ですが、
一連の処理が完了後、グラフ内のノードからノードへ自動的に遷移します。
参考:http://agile.blog.jp/agile_scrum/14997628.html
ステートマシン図をモデリングする際は以下の点に注意すると良いでしょう。