状態遷移図は、状態が遷移していく様子を表現する図で、
- 状態を表す角のまるい四角
- それを結ぶ矢線
- 初期状態を示す黒丸
- 終了状態を示す黒二重丸
から構成されます。
四角にはその状態に付けられた名前がかかれます。状態の遷移を矢線で表し、
遷移をおこすきっかけとなるイベントと、遷移する際に発生するアクションを、矢線のそばに記述します。
UMLのステートチャート・ダイアグラムでは(18.4)
状態を表す四角を上下に区切り、
上半分に状態名を書きます。この書き方もよく使われています。
テーマで例にあげた次のような「機械」を表現してみましょう。
- 最初に1を入力すると、1が表示される
- その後1を入力すると、表示に1が追加される
- +を押しても表示は変わらない
- その後1を入力すると、1が表示される。
(とりあえず、ここまで)
|
|
この状態遷移図は、次のように読まれます。
- 最初は「最初の状態」という名前の状態から始まる。
- 「最初の状態」という状態では、1 だけを受け付ける。それ以外は無視する(アクションも状態遷移もしない)。
- 「最初の状態」で 1 が入力されると1 だけを表示し、「2つ目以降」という状態にに遷移する。
- 「2つ目以降」状態では、1 と + を受け付ける。それ以外の入力は無視する。
- 「2つ目以降」状態で 1 が入力されると、 表示に1を追加する。状態は遷移しない。
- 「2つ目以降」状態で + が入力されると、 なにもせず(表示を変えず)に「最初の状態」状態に遷移する。