ステートチャート図 前半 FM13003 怡土 宗太
ステートチャート図(ステートマシン) 時間の経過と共に変化するオブジェクトの「状態」を表す。 UML2.x以降ではステートマシン図と名前が変更になった。
ステートチャート図の例 開始状態 誕生 状態 乳児 イベント 誕生 幼児 就業 学生 就職 社会人 退職 老後 死亡 終了状態
状態 オブジェクトがそのライフサイクルの中で、ある一定の時間とどまる状態、状況。 角の丸い長方形で表現し、長方形の中央に状態名を配置する。
開始状態 オブジェクトの生成時点または、コンポジット状態における開始時点を示す特別な状態。 状態 コンポジット状態 状態2 状態1 状態3
終了状態 動作完了を示す特別な状態です。 コンポジット状態のように状態が階層化されている場合は、そのレベルの状態内での動作完了を表す。 状態 状態2 状態1 状態3
イベント(トリガー) オブジェクトに何らかの影響をもたらす事象の発生を言う。 イベント(トリガー) 就職 学生 社会人
状態遷移 ある状態から、ほかの状態に変わること。 自分自身の状態に入りなおす場合は 自己遷移という。 進級 就学 就職 幼児 学生 社会人 自己遷移という。 進級 自己遷移 就学 就職 幼児 学生 社会人 状態遷移
ガード条件 同じイベントが複数存在するなどの理由で、分岐が必要な場合、その分岐についての条件をガード条件という。 大学生 高校生 浪人 受験[合格] 受験[不合格] 受験[合格] 浪人 受験[不合格]
状態(∽アドバンス) 状態は以下の2つの区画に分けられる 名前区画 内部遷移区画 内部アビリティ区画 UML2.x UML1.x 名前区画 状態1 状態1 entry/入場アクション entry/入場アクション 内部遷移区画 do/アクティビティ do/アクティビティ exit/退場アクション exit/退場アクション トリガー
アクション(エフェクト) 指定されたイベントが発生すると稼働する動作 イベントが発生して、ガード条件が真ならば遷移は発生するが、アクションは遷移と共に稼働する 受験[合格]/入学手続き 高校生 大学生 受験[不合格] 受験[合格]/入学手続き 浪人 受験[不合格]
入場アクション・退場アクション 状態内にもアクションを以下のように記述することができる。 entry / 入社手続き 動作ラベル/ 動作 動作ラベル/ 動作 entry / 入社手続き 入場アクション 会社員 entry/入社手続き exit/退社手続き 退場アクション
アクティビティ 状態に入ってからでるまで、または動作完了までの一定時間継続して行われる動作 もし、アクティビティ実行中にイベントが発生して、オブジェクトの状態がほかの状態に遷移すると実行中のアクティビティは中断される。 会社員 entry/入社手続き do/仕事をする アクティビティ exit/退社手続き
コンポジット状態 状態はその中に状態(サブ状態)を持つことができ、この階層化した状態をコンポジット状態という。 多数の状態を持つ複雑なステートチャート図の場合でも、コンポジット状態を利用するとより表現しやすくなる
コンポジット状態 営業 就職 試用期間 技術 老後 コンポジット状態 サブ状態 会社員 本採用/[営業職] 職場転換 [技術職] 職場転換 本採用[技術職] 技術 サブ状態 定年 老後
開始状態、終了状態補足 開始状態は。ステートチャート図の中に一つだけ記述。 コンポジット状態があれば、その入り口に1つ記述します。 終了状態は、必要ならば複数記述してもよい。
開始状態、終了状態補足 状態1 状態1 = 状態2 状態2 状態3 状態3