« [サイト]SEのためのソフトウェアテスト再入門 | トップページ | 状態の洗い出しへHAYST法かpairwise法の適用 »

状態と遷移とイベントとアクション

状態遷移図や状態遷移表を使う場合(ここでは状態遷移モデルを扱う、と同義)に、まずは構成要素である「状態」「遷移」「イベント」「アクション」を確認しておこう。

  • 状態
  • 遷移
  • イベント(入力)
  • アクション(出力)

状態とは、状態遷移モデルでも通常の言葉と同様の意味で使われ、「システムの当分の間の状況と特性」というとらえ方をする。基本的な考え方としては状態は同時にはただ一つしかありえない。排他型と並列型という状態のとらえ方もあるが、ここでは割愛する。たとえば、「電源がOFFである/ONである」「インターネットが切断状態である/接続状態である」「検索状態である/検索結果表示状態である」など。

遷移とは、ある状態からある状態へ状態が移り変わることを表す。たとえば、「電源が(電源ボタンを押したことで)OFF状態へ遷移する」「インターネットが(認証成功によって)接続状態へ遷移する」「(検索結果が確定して)検索結果を表示する」など。

イベントとは、遷移をもたらす外的刺激や内的変化などを表し、入力とも事象とも表現される。ひとつのイベントは一つの遷移を決定するが、それらはイベント発生時の状態によって変化する。場合によっては、イベントはシステムに関するものではなく、システムのユーザへの刺激で表現される。たとえば、「電源ボタンを押す」「接続の認証が成功する」「検索クエリーのレスポンスが確定する」「○○さんに連絡する用事が発生する」など。

アクションとは、遷移の結果生じる分析が可能な対象物を意味し、入力と対照的に出力とも表現される。混同されやすいが、アクションと遷移後の状態は区別される。ただし、出力も遷移後の状態も同じ名称で表現されることが多いのは確か。たとえば、「(電源がONに遷移して)ディスプレイが点灯する」「(接続の認証が成功して)アイコンが点滅する」「(検索結果が確定して)検索結果が表示される」などである。


さて、これらのうち「状態」「遷移」「イベント」を使って、状態遷移図と呼ばれるグラフを作成してみる。

Photo

1

一般的には、状態はマルで表現して、中に状態名を記述する。ただし、必要なのはモデルであるため便宜上はS1,S2などと記載される。遷移は矢印で表現され、始点は遷移前の状態と、終点は遷移後の状態と接している。イベントは状態同様にE1,E2などで省略され、対応する遷移(矢印)のそばに記述する。

あれ、アクションがでてきません。アクションは状態遷移表で記述しましょう。今日はここまで。


|

« [サイト]SEのためのソフトウェアテスト再入門 | トップページ | 状態の洗い出しへHAYST法かpairwise法の適用 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/155415/26547241

この記事へのトラックバック一覧です: 状態と遷移とイベントとアクション:

« [サイト]SEのためのソフトウェアテスト再入門 | トップページ | 状態の洗い出しへHAYST法かpairwise法の適用 »