• 検索結果がありません。

第 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 操作説明画面の遷移の仕組み

関連したドキュメント