第 5 章 プロトタイプ開発フェーズ
5.6 救命処置手順表示機能の設計
5.6.7 内部設計
本節では,本機能の内部設計について述べる.図 5-16手順表示機能のクラス図 に,本機能 を実現しているクラスの図を示す.本機能は5つのクラスからなる.以下に各クラスについ て示す.
画面を実現するクラス
Top,Menu,Contentsの3つのクラスがあり,これらは.NET Compact Frameworkの
Formクラスを継承している.画面のクラスはイベント駆動で動作し,図 5-16の四角で囲 んだ部分は,イベントが起きた時に呼ばれるメソッドである.その他が属性のアクセサメ ソッドや,共通部分をくくりだしてメソッドにしたものである.
Top:操作説明画面を実現するクラス
Menu:メニュー画面,作業フロー画面を実現するクラス
Contents:詳細手順画面を実現するクラス
データを扱うクラス
State,Configの2つのクラスがある.
State:状態を管理し,どの手順が選択されているか,終了状態にあるかなどを管理す
る.
Config:コンテンツのファイルパスを管理する.
図 5-16手順表示機能のクラス図
前述のように,画面遷移を実現するために,3 つのフォームを作り,それぞれ,起動画面,
メニュー画面,詳細説明画面を作成した.作業フロー画面はメニューと同じフォームを使用 した.フォームを別にしてアプリケーションを作成する際,フォーム間でのデータを受け渡 す際の方法が問題になる.そこで,受け渡すデータのクラスを作成し,そのインスタンスを フォーム間で受け渡しすることで実現した.
アプリケーション終了時の処理
しかし,このような設計を行った場合,アプリケーションを終了する際の処理が問題になる.
あるフォームが表示されている時に,そのフォームを,そのフォームは閉じることができる が,他のフォームが消されずに表示されているという不具合が起きてしまう.この対策のた め,他のフォームが消されたことを感知するためのフラグをデータクラスに追加した.ユー ザの操作で終了処理がされた場合の動作を図 5-17 に示す.ユーザによってあるフォームが 消された時,そのフォームはフラグを真にし,自分自身を閉じる.すると,今までそのフォ ームの下になっていた他のフォームが前面に現れ,Activateイベントが発生する.イベント が発生した際,そのフォームはフラグを調べ,フラグが真であれば自分自身を閉じる.
図 5-17 終了処理 画面の自動遷移の実現
本機能では,起動時に操作説明画面を表示し,自動的にメニュー画面に遷移するという動作 を行う.このような動作は,.NET Framework の Splash クラスで実現できるが,.Net
Compact Frameworkではサポートされておらず実現することができない.そのため,その
仕組みを自分で作成した.図 5-18 に動作の様子を示す.まず,起動時に最初にメニュー画 面を表示するフォームMenuが表示される.表示が完了した時点で,説明画面を表示するTop フォームが表示される.本機能の画面は全画面表示モードで表示され,処理は高速に行われ
33
るため,ユーザはメニュー画面が最初に表示されていることは分からない.Top は指定され た秒数だけ待ち,その後フォームを閉じる.するとMenuフォームが画面の前面に現れ,ユ ーザの目には,説明画面が表示された後しばらくすると自動でメニュー画面に遷移したよう に見える.
図 5-18 操作説明画面の遷移の仕組み