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