kitchen_timer:常駐部の開発_モデルベース設計
常駐部の開発
状態遷移図を作成する
キッチンタイマーの動作を想像しながら状態を書き出し、遷移するためのイベントを記述します。
- 起動直後は、数字入力モードです。
- 数字キーで数字が入力できます。
- 開始キーでカウントダウンモードに移行します。
- カウントがゼロ(タイムアップ)になると、アラームを鳴らします。
- アラームが鳴っている時に停止キーで数字入力モードに戻ります。
数字入力モード時に停止キーを押されたときなど、この時点でも考慮漏れがあることが容易に想像できますが、ここはあえて次のステップに進みます。
状態遷移表を作成する
先ほど作った状態遷移図をもとに、状態遷移表を作ります。
状態遷移表の見方
- 横軸にステートを記述します。状態遷移図に記述した3つのステートを記述しています。
- 縦軸にイベントを記述します。状態遷移図に記述した3つのキー入力のほか、タイムアップおよびタイマーのカウントダウン(1秒ごと)もイベントとして実装することにします。
- あるステートにおいてあるイベントが発生した場合、そのクロスする場所のセルが動作対象になります。
- セルには上部に移行先ステート、下部に動作を記述します。
- 「ー」のセルは、ステート遷移しない事をあらわします。
- 「/」のセルは、何もしない事をあらわします。
- 「×」のセルは、この状態はありえない事をあらわします。
たとえば、「数字入力ステート時に開始キーが押された場合、タイマーをスタートさせてカウントダウンステートに移行する」と読みます。
黄色いバックグラウンドの箇所が、状態遷移図で設計した時に考慮されていた動作で、それ以外は考慮漏れの動作です。このように状態遷移表を使うことで、実装前にモデルベースで漏れのない動作設計ができます。
kitchen_timer/常駐部の開発_モデルベース設計.txt · 最終更新: 2014/11/21 01:13 by hirohito