ユーザ用ツール

サイト用ツール


kitchen_timer:常駐部の開発_モデルベース設計

常駐部の開発

状態遷移図を作成する

キッチンタイマーの動作を想像しながら状態を書き出し、遷移するためのイベントを記述します。

  • 起動直後は、数字入力モードです。
  • 数字キーで数字が入力できます。
  • 開始キーでカウントダウンモードに移行します。
  • カウントがゼロ(タイムアップ)になると、アラームを鳴らします。
  • アラームが鳴っている時に停止キーで数字入力モードに戻ります。

数字入力モード時に停止キーを押されたときなど、この時点でも考慮漏れがあることが容易に想像できますが、ここはあえて次のステップに進みます。

状態遷移表を作成する

先ほど作った状態遷移図をもとに、状態遷移表を作ります。

状態遷移表の見方

  • 横軸にステートを記述します。状態遷移図に記述した3つのステートを記述しています。
  • 縦軸にイベントを記述します。状態遷移図に記述した3つのキー入力のほか、タイムアップおよびタイマーのカウントダウン(1秒ごと)もイベントとして実装することにします。
  • あるステートにおいてあるイベントが発生した場合、そのクロスする場所のセルが動作対象になります。
  • セルには上部に移行先ステート、下部に動作を記述します。
  • 「ー」のセルは、ステート遷移しない事をあらわします。
  • 「/」のセルは、何もしない事をあらわします。
  • 「×」のセルは、この状態はありえない事をあらわします。

たとえば、「数字入力ステート時に開始キーが押された場合、タイマーをスタートさせてカウントダウンステートに移行する」と読みます。

黄色いバックグラウンドの箇所が、状態遷移図で設計した時に考慮されていた動作で、それ以外は考慮漏れの動作です。このように状態遷移表を使うことで、実装前にモデルベースで漏れのない動作設計ができます。

kitchen_timer/常駐部の開発_モデルベース設計.txt · 最終更新: 2014/11/21 01:13 by hirohito