Daily Grind

システム開発関連の忘備録です

マトリクスでの論理検証(メモ)

 マトリクスでの論理検証メモ

 ※個人的なメモです。



 簡単に言うと、以下のような表を作ります。

+――――+――――――+――――――+――――――+――――――+
|    |イベント-1|イベント-2|イベント-3|イベント-N|
+――――+――――――+――――――+――――――+――――――+
|状態-1|      |      |      |      |
+――――+――――――+――――――+――――――+――――――+
|状態-2|      |      |      |      |
+――――+――――――+――――――+――――――+――――――+
|状態-3|      |      |      |      |
+――――+――――――+――――――+――――――+――――――+
|状態-N|      |      |      |      |
+――――+――――――+――――――+――――――+――――――+

 状態-1であるときに、イベント-1がきたらこうしてこうなる、
 イベント-2がきたらこうしてこうなる、… というのをマスの中に書いていくという作業です。

 これにより、ある状態で、あるイベントが発生したときの処理が明確になり、タイミング障害をつぶせます。


 マスの中は、普通、以下の内容が書かれます。
- その場合の処理内容
- 処理後の状態


 まずは期待値ではなく、現版での実際の処理内容を書いてください。

 書いてみると、おそらく、処理内容がおかしい、状態遷移がおかしい、処理がなくてマスが埋められない(これがタイミング障害と呼ばれるもの)というのが出てくると思います。

 作り方の順序としては、以下が良いでしょう(Excelが良いと思う)。

0) 何を起点にするか

起点をどこにするか、きめましょう。

1) 横軸(イベント)を抽出する。

   どんなイベントを受けるのかをずらずら書いていきます。
   たとえば「センサーからの機器検出通知受信」とか。

   ※私はイベントを先に抽出する方が楽だと思いますが、どうかな。
状態は、どれを状態と言うかで頭を使うので。

2) 縦軸(状態)を抽出する。

どんな状態があるのかをずらずら書いていきます。
   普通は「イベントを待っている状態」が1番に来るでしょう。

3) 各マスを埋めていきます。