以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態に係る画面設計支援装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、画面遷移設計支援装置30を構成する。
この画面設計支援装置30は、例えばWebアプリケーションにおける画面の遷移(以下、画面遷移と表記)の設計を支援する機能を有する。
図2は、図1に示す画面設計支援装置30の主として機能構成を示すブロック図である。図2に示すように、画面設計支援装置30は、ユーザによって利用される端末装置50と接続されている。
画面設計支援装置30は、DB情報入力部31、定義ファイル生成部32、画面遷移編集部33、画面遷移検証部34および画面遷移生成部35を含む。本実施形態において、これらの各部31〜35は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム(画面遷移設計支援プログラム)21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が、例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、画面遷移設計支援装置30は、画面遷移パターン格納部22、検証ルール格納部23および画面遷移格納部24を含む。本実施形態において、これらの各部22〜24は、例えば外部記憶装置20に格納される。
画面遷移パターン格納部22は、画面遷移パターンを格納する機能を有する。画面遷移パターン格納部22には、初期設定の定義ファイルである論理設計情報(第1の論理設計情報)および物理設計情報が予め格納されている。
画面遷移パターン格納部22に格納されている論理設計情報においては、データベース(DB)への基本的な問い合わせ処理である登録、検索、更新および削除に関する画面遷移が定義されている。具体的には、画面遷移パターン格納部22に格納されている論理設計情報には、この問い合わせ処理毎に、例えばWebアプリケーションにおける画面遷移において遷移元となる画面(以下、遷移元画面と表記)を示す遷移元画面情報、遷移先となる画面(以下、遷移先画面と表記)を示す遷移先画面情報および当該遷移元画面から当該遷移先画面に遷移する際の画面処理の流れ(以下、画面処理フローと表記)を示す画面処理フロー情報が含まれる。なお、画面処理フロー情報によって示される画面処理フローは、少なくとも1つの画面処理から構成される。
画面遷移パターン格納部22に格納されている物理設計情報においては、例えば入力エラーメッセージまたは確認画面等の具体的な表示方法、つまり、物理的な画面の表示方法が定義されている。具体的には、画面遷移パターン格納部22に格納されている物理設計情報は、論理設計情報に含まれる画面処理フロー情報によって示される画面処理フローを構成する画面処理毎の複数の表示方法(物理的な画面の表示方法)を示す。
検証ルール格納部23は、初期設定の定義ファイルである検証ルール(情報)を格納する機能を有する。
DB情報入力部31は、例えばWebアプリケーションにおいて扱われるテーブル(データベースに格納されているテーブル)のテーブル名であって、端末装置50を利用するユーザによって指定されたテーブル名を示すDB情報を当該端末装置50から入力する。なお、ユーザは、端末装置50を操作することによって少なくとも1つのテーブル名を指定することができる。
定義ファイル生成部32は、DB情報入力部31によって入力されたDB情報を用いて、画面遷移パターン格納部22に格納されている論理設計情報(初期設定の定義ファイル)を編集する。これにより、定義ファイル生成部32は、端末装置50を利用するユーザ(利用者)用の定義ファイルである論理設計情報(第2の論理設計情報)を生成する。定義ファイル生成部32は、画面遷移パターン格納部22に予め格納されている論理設計情報(初期設定の定義ファイル)にDB情報入力部31によって入力されたDB情報によって示されるテーブル名を追加することによって利用者用の定義ファイルである論理設計情報(つまり、当該テーブル名が追加された論理設計情報)を生成する。なお、定義ファイル生成部32によって生成された利用者用の定義ファイルである論理設計情報は、画面遷移パターン格納部22に格納される。
なお、利用者用に編集されるのは論理設計情報のみであり、画面遷移パターン格納部22に予め格納されている物理設計情報は利用者用に編集されない。
以下の説明においては、画面遷移パターン格納部22に予め格納されている初期設定の定義ファイルである論理設計情報を初期設定の論理設計情報と称する。また、定義ファイル生成部32によって生成された利用者用の定義ファイルである論理設計情報を利用者用の論理設計情報と称する。なお、画面遷移パターン格納部22に予め格納されている初期設定の定義ファイルである物理設計情報を初期設定の物理設計情報と称する。
また、定義ファイル生成部32は、DB情報入力部31によって入力されたDB情報を用いて、検証ルール格納部23に格納されている検証ルール(初期設定の定義ファイル)を編集する。これにより、定義ファイル生成部32は、端末装置50を利用するユーザ(利用者)用の定義ファイルである検証ルール(情報)を生成する。定義ファイル生成部32は、検証ルール格納部23に予め格納されている検証ルール(初期設定の定義ファイル)にDB情報入力部31によって入力されたDB情報によって示されるテーブル名を追加することによって利用者用の定義ファイルである検証ルール(つまり、当該テーブル名が追加された検証ルール)を生成する。なお、定義ファイル生成部32によって生成された利用者用の定義ファイルである検証ルールは、検証ルール格納部23に格納される。
以下の説明においては、検証ルール格納部23に予め格納されている初期設定の定義ファイルである検証ルールを初期設定の検証ルールと称する。また、定義ファイル生成部32によって生成された利用者用の定義ファイルである検証ルールを利用者用の検証ルールと称する。
画面遷移編集部33は、画面遷移パターン格納部22に格納された利用者用の論理設計情報(利用者用の定義ファイル)に含まれる遷移元画面情報によって示される遷移元画面、当該利用者用の論理設計情報に含まれる遷移先画面情報によって示される遷移先画面および当該利用者用の論理設計情報に含まれる画面処理フロー情報によって示される画面処理フロー(を構成する画面処理)から、任意の遷移元画面、遷移先画面および画面処理フローを問い合わせ処理毎にユーザに選択させる。
同様に、画面遷移編集部33は、画面遷移パターン格納部22に格納されている初期設定の物理設計情報(初期設定の定義ファイル)によって示される画面処理の複数の表示方法から、任意の表示方法をユーザに選択させる。
ユーザは、端末装置50を操作することによって遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法を選択することができる。つまり、端末装置50を利用するユーザは、当該端末装置50を介してWebアプリケーションにおける画面遷移の設計を行うことができる。
以下、端末装置50を介して問い合わせ処理毎にユーザによって選択された任意の遷移元画面、遷移先画面、画面処理フローおよび当該画面処理フローを構成する画面処理の表示方法(を示す情報)を利用者の選択情報と称する。
画面遷移検証部34は、検証ルール格納部23に格納された利用者用の検証ルール(利用者用の定義ファイル)を用いて、利用者の選択情報(ユーザによって選択された遷移元画面、遷移先画面、画面処理フローおよび表示方法)に矛盾があるか否かを検証(判定)する。
利用者の選択情報に矛盾があると判定された場合には、画面遷移検証部34は、端末装置50を介してその旨をユーザに通知する(知らせる)。
画面遷移生成部35は、利用者の選択情報に基づいて、Webアプリケーションにおける画面遷移を示す画面遷移設計情報を生成する。画面遷移生成部35によって生成された画面遷移設計情報は、画面遷移格納部24に格納される。なお、画面遷移格納部24に格納された画面遷移設計情報は、後述するように編集することができる。
図3は、図2に示す画面遷移パターン格納部22に予め格納されている初期設定の論理設計情報のデータ構造の一例(つまり、初期設定の定義ファイルの定義例)を示す。
図3に示すように、初期設定の論理設計情報には、データベース(DB)への基本的な問い合わせ処理毎に、遷移元画面(情報)、画面処理フロー(情報)および遷移先画面(情報)が含まれる。データベースへの基本的な問い合わせ処理には、例えば登録、検索、更新および削除が含まれる。以下、データベースへの基本的な問い合わせ処理をDB処理と称する。
遷移元画面は、Webアプリケーションにおける画面遷移において遷移元となる画面を示す。遷移元画面には、例えばトップ画面、検索処理の入力画面(以下、検索/入力画面と表記)および検索処理の結果画面(以下、検索/結果画面と表記)が含まれる。なお、初期設定の論理設計情報には、DB処理毎に少なくとも1つの遷移元画面が含まれる。
画面処理フローは、遷移元画面から遷移先画面に遷移する際の画面処理の流れを示す。画面処理フローは、例えば入力(処理)、確認(処理)および結果(処理)を含む画面処理から構成される。
遷移先画面は、Webアプリケーションにおける画面遷移において遷移先となる画面を示す。遷移先画面には、トップ画面、登録処理の入力画面(以下、登録/入力画面と表記)、検索/入力画面、検索/結果画面、更新処理の入力画面(以下、更新/入力画面と表記)および削除処理の確認画面(以下、削除/確認画面と表記)が含まれる。なお、初期設定の論理設計情報には、DB処理毎に複数の遷移先画面が含まれる。
図3に示す例では、初期設定の論理設計情報には、例えばDB処理に含まれる登録に対応づけて、遷移元画面「トップ画面、検索/入力画面、検索/結果画面」、画面処理フロー「入力→(確認)→(結果)」および遷移先画面「トップ画面、登録/入力画面、検索/入力画面、検索/結果画面」が含まれている。
なお、画面処理フローにおいて括弧で囲まれていないもの(ここでは、入力)は必須の選択項目であり、括弧で囲まれているもの(ここでは、確認および結果)は任意の選択項目である。
また、初期設定の論理設計情報には、例えばDB処理に含まれる検索に対応づけて、遷移元画面「トップ画面」、画面処理フロー「(入力)→結果」および遷移先画面「トップ画面、登録/入力画面、検索/結果画面、更新/入力画面、削除/確認画面」が含まれている。
同様に、初期設定の論理設計情報には、例えばDB処理に含まれる更新に対応づけて、遷移元画面「検索/結果画面」、画面処理フロー「入力→(確認)→(結果)」および遷移先画面「トップ画面、検索/入力画面、検索/結果画面、更新/入力画面」が含まれている。
また、初期設定の論理設計情報には、例えばDB処理に含まれる削除に対応づけて、遷移元画面「検索/結果画面」、画面処理フロー「(確認)→(結果)」および遷移先画面「トップ画面、検索/入力画面、検索/結果画面」が含まれている。
図4は、図2に示す画面遷移パターン格納部22に予め格納されている初期設定の物理設計情報のデータ構造の一例(初期設定の定義ファイルの定義例)を示す。
図4に示すように、初期設定の物理設計情報は、初期設定の論理設計情報に含まれる画面処理フローを構成する画面処理毎の複数の表示方法(物理的な画面の表示方法)を示す。上記したように画面処理フローを構成する画面処理には、入力、確認および結果が含まれる。
入力の表示方法には、例えば入力エラーメッセージをポップアップ表示、入力エラーメッセージを入力画面の上部に表示、入力エラーメッセージを入力フォームの右横に表示および入力エラーメッセージをエラー画面として表示等が含まれる。
確認の表示方法には、例えばポップアップ表示および確認画面として表示等が含まれる。
結果の表示方法には、例えばポップアップ表示および結果画面として表示等が含まれる。
図4に示す例では、初期設定の物理設計情報は、画面処理に含まれる入力の表示方法として「入力エラーメッセージをポップアップ表示、入力エラーメッセージを入力画面の上部に表示、入力エラーメッセージを入力フォームの右横に表示、入力エラーメッセージをエラー画面として表示」を示す。
また、初期設定の物理設計情報は、画面処理に含まれる確認の表示方法として「ポップアップ表示、確認画面として表示」を示す。
同様に、初期設定の物理設計情報は、画面処理に含まれる結果の表示方法として「ポップアップ表示、結果画面として表示」を示す。
以下、本実施形態に係る画面遷移設計支援装置30の処理について説明する。ここでは、ユーザ(利用者)が最初にWebアプリケーションにおける画面遷移を設計する場合の処理および一度設計された画面遷移を編集する場合の処理に分けて説明する。
まず、図5のフローチャートを参照して、ユーザが最初にWebアプリケーションにおける画面遷移を設計する場合の画面遷移設計支援装置30の処理手順について説明する。
この場合、ユーザによって利用される端末装置50においては、図6に示すようなテーブル名の登録画面(DBテーブル名登録画面)100が表示される。ユーザは、このDBテーブル名登録画面100を用いてテーブル名を登録(指定)することができる。なお、DBテーブル名登録画面100においては、複数のテーブル名を登録することができる。また、このDBテーブル名登録画面100においては、「行の追加」ボタン101および「行の削除」ボタン102が設けられており、このボタン101および102を押下(指定)することによって行の追加および行の削除が可能である。
図6に示すDBテーブル名登録画面100を用いてテーブル名が登録(指定)された場合、画面遷移設計支援装置30に含まれるDB情報入力部31は、当該テーブル名を示すDB情報を端末装置50から入力する(ステップS1)。なお、複数のテーブル名が登録された場合には、DB情報入力部31は、当該テーブル名の各々を示す複数のDB情報を入力する。
次に、定義ファイル生成部32は、画面遷移パターン格納部22に格納されている初期設定の論理設計情報を取得する。
定義ファイル生成部32は、取得された初期設定の論理設計情報およびDB情報入力部31によって入力されたDB情報を利用することによって、利用者用の論理設計情報を生成する(ステップS2)。この場合、定義ファイル生成部32は、取得された初期設定の論理設計情報(初期設定の定義ファイル)をもとに、DB情報入力部31によって入力されたDB情報によって示されるテーブル名が追加された定義ファイルを利用者用の論理設計情報(定義ファイル)として生成する。
なお、利用者用の論理設計情報は、Webアプリケーションにおいて扱われるテーブル(DB情報入力部31によって入力されたDB情報によって示されるテーブル名)毎に論理的な画面遷移を定義する必要があるために生成される。
定義ファイル生成部32によって生成された利用者用の論理設計情報は、画面遷移パターン格納部22に格納される。
また、定義ファイル生成部32は、検証ルール格納部23に格納されている初期設定の検証ルールを取得する。
定義ファイル生成部32は、取得された初期設定の検証ルールおよびDB情報入力部31によって入力されたDB情報を利用することによって、利用者用の検証ルールを生成する(ステップS3)。この場合、定義ファイル生成部32は、取得された初期設定の検証ルール(初期設定の定義ファイル)をもとに、DB情報入力部31によって入力されたDB情報によって示されるテーブル名が追加された定義ファイルを利用者用の検証ルール(定義ファイル)として生成する。
なお、利用者用の検証ルールは、後述するようにWebアプリケーションにおいて扱われるテーブル(DB情報入力部31によって入力されたDB情報によって示されるテーブル名)間の検証を定義する必要があるために生成される。
定義ファイル生成部32によって生成された利用者用の検証ルールは、検証ルール格納部23に格納される。
上記したように、初期設定の論理設計情報および初期設定の検証ルールについては利用者用の論理設計情報および利用者用の検証ルールが生成されるが、初期設定の物理設計情報においては、Webアプリケーションにおいて扱われる複数テーブル間で共通の定義を利用することが可能であるため、利用者用の定義ファイル(つまり、利用者用の物理設計情報)は生成されない。
次に、画面遷移編集部33は、画面遷移パターン格納部22に格納されている利用者用の論理設計情報を取得する。また、画面遷移編集部33は、画面遷移パターン格納部22に格納されている初期設定の物理設計情報(初期設定の定義ファイル)を取得する。
画面遷移編集部33は、取得された利用者用の論理設計情報および初期設定の物理設計情報の項目をユーザに選択させる(ステップS4)。
画面遷移編集部33は、取得された利用者用の論理設計情報に含まれる遷移元画面情報によって示される遷移元画面、当該利用者用の論理設計情報に含まれる遷移先画面情報によって示される遷移先画面、当該利用者用の論理設計情報に含まれる画面処理フロー情報によって示される画面処理フローおよび取得された初期設定の物理設計情報によって示される画面処理の表示方法から、任意の遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法をDB処理毎にユーザに選択させる。なお、DB情報入力部31によってテーブル名を示すDB情報が複数入力されている場合には、画面遷移編集部33は、当該テーブルのうちの1つのテーブル、または、当該複数のテーブルの全てについて遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法をユーザに選択させる。
この場合、ユーザは、端末装置50に表示される画面遷移設計画面を用いて、DB処理毎に任意の遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法を選択することができる。
つまり、端末装置50を利用するユーザは、当該端末装置50を介して利用者用の論理設計情報および初期設定の物理設計情報の項目(遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法)を選択することによって、Webアプリケーションにおける画面遷移の設計(当該Webアプリケーションにおいて扱われるテーブルについての画面遷移の設計)を行うことができる。
ここで、図7は、利用者用の論理設計情報および初期設定の物理設計情報の項目が端末装置50を介して選択される際に用いられる画面遷移設計画面の一例を示す。ここでは、上述した図3に示す初期設定の論理設計情報から生成された利用者用の論理設計情報および図4に示す初期設定の物理設計情報の項目が選択される場合の画面遷移設計画面について説明する。なお、図3に示す初期設定の論理設計情報から生成された利用者用の論理設計情報には、当該初期設定の論理設計情報に含まれる遷移元画面(情報)、画面処理フロー(情報)および遷移先画面(情報)が含まれる。
図7に示すように、画面遷移設計画面200においては、DB処理(登録、検索、更新、削除)毎に、遷移元画面、画面処理フロー、遷移先画面および画面処理の表示方法が選択可能である。
なお、画面遷移設計画面200においては、遷移元画面および遷移先画面をDB処理毎の各リスト(例えば、トップ画面等)の中から1以上選択しなければならない。例えばDB処理が登録である場合には、ユーザは、遷移元画面をリスト「トップ画面、検索/入力画面、検索/結果画面」の中から1以上選択しなければならない。また、例えばDB処理が登録である場合には、ユーザは、遷移先画面をリスト「トップ画面、登録/入力画面、検索/入力画面、検索/結果画面」の中から1以上選択しなければならない。
また、画面遷移設計画面200においては、画面処理フローを構成する画面処理を選択することができる。なお、画面処理フローを構成する画面処理のうち必須の選択項目(図3の画面処理フローにおいて括弧で囲まれてない処理)は必ず選択しなければならない。このように、ユーザが画面処理を選択することによって、当該画面処理から構成される画面処理フローが選択される。例えばDB処理が登録である場合には、ユーザは、画面処理フローを構成する画面処理を「入力→(確認)→(結果)」の中から選択することができる。なお、上記したように入力は必須の選択項目であるため、ユーザは、当該入力を必ず選択しなければならない。ここで、ユーザによって例えば入力および結果が選択されたものとすると、画面処理フローとして「入力→結果」が選択されたことになる。
また、画面遷移設計画面200においては、ユーザによって選択された画面処理毎の表示方法を当該画面処理の表示方法のリストの中から1つだけ選択しなければならない。つまり、ユーザによって選択された画面処理が入力である場合には、当該画面処理(入力)の表示方法をリスト「入力エラーメッセージをポップアップ表示、入力エラーメッセージを入力画面の上部に表示、入力エラーメッセージを入力フォームの右横に表示、入力エラーメッセージをエラー画面として表示」の中から1つだけ選択しなければならない。
なお、複数のテーブルを扱うWebアプリケーションの場合、つまり、DB情報入力部31によって複数のDB情報が入力された場合、図7に示す画面遷移設計画面200においては、当該複数のテーブルのうちの1つのテーブルについてのみ画面遷移の設計を行うか、または、当該複数のテーブルの全てについての画面遷移を設計するかを選択することができる。
具体的には、複数のテーブルのうちの1つのテーブルについてのみ画面遷移の設計を行う場合には、画面遷移設計画面200における「1テーブル設計」のタブを選択して設計(つまり、各項目の選択)を行う。一方、複数のテーブルの全てについての画面遷移を設計する場合には、画面遷移設計画面200における「複数テーブル設計」のタブを選択して設計を行う。
なお、画面遷移設計画面200における「1テーブル設計」のタグを選択して設計が行われた場合には、他のテーブルにも当該設計が引き継がれる(つまり、1つのテーブルについての設計が他のテーブルにも引き継がれる)。
上記したように画面遷移設計画面200において利用者用の論理設計情報および初期設定の物理設計情報の項目がユーザによって選択されると、当該ユーザによって選択された項目の情報(利用者の選択情報)が端末装置50から画面遷移設計支援装置30に渡される。
この場合、画面遷移編集部33は、端末装置50から渡された利用者の選択情報を取得する。なお、利用者の選択情報には、ユーザによってDB処理毎に選択された遷移元画面、遷移先画面、画面処理フローおよび当該画面処理フローを構成する画面処理毎の表示方法(を示す情報)が含まれる。
再び図5に戻ると、画面遷移検証部34は、検証ルール格納部23に格納されている利用者用の検証ルールを取得する。
画面遷移検証部34は、取得された利用者用の検証ルールを用いて、画面遷移編集部33によって取得された利用者の選択情報に矛盾があるか否かを検証する処理(以下、検証処理と表記)を実行する(ステップS5)。
この場合、画面遷移検証部34は、例えば画面遷移編集部33によって取得された利用者の選択情報に含まれる遷移元画面および遷移先画面が正しく選択されているか否かを検証(判定)する。
例えばDB処理のいずれかにおいてある遷移元画面が選択されている場合に、当該遷移元画面が別のDB処理において遷移先画面として選択されていない場合には、当該利用者の選択情報に含まれる遷移元画面および遷移先画面は正しく選択されていないと判定される。
なお、画面遷移検証部34は、上記した以外にも、利用者の選択情報に含まれる画面処理の表示方法および複数のテーブル間についての画面遷移の設計についても検証を行う。この画面遷移検証部34による検証処理の詳細については後述する。
次に、画面遷移検証部34は、検証結果に基づいて、利用者の選択情報に矛盾があるか否かを判定する(ステップS6)。
利用者の選択情報に矛盾があると判定された場合(ステップS6のYES)、画面遷移検証部34は、画面遷移編集部33および端末装置50を介して、当該利用者の選択情報に矛盾がある旨をユーザに対して通知する(ステップS7)。この場合、端末装置50には、利用者の選択情報に矛盾がある旨が表示される。
ここで、図8は、利用者の選択情報に矛盾がある旨が表示された場合の端末装置50の表示画面の一例を示す。
図8に示す例では、表示画面300には、利用者の選択情報に矛盾がある旨として、例えば「○○○に選択ミスがあります。」および「×××に選択ミスがあります。」のメッセージが表示されている。
また、表示画面300には、通知された利用者の選択情報の矛盾に対して修正を指示するための「修正します」ボタン301および当該矛盾に対して修正を指示しないための「修正しません」ボタン302が設けられている。
ユーザは、表示画面300に表示されたメッセージを確認した後に「修正します」ボタン301および「修正しません」ボタン302を押下(指定)することによって、利用者の選択情報を修正するか否かを画面遷移設計支援装置30に対して指示することができる。
つまり、ユーザは、利用者の選択情報に矛盾があると判断する場合には「修正します」ボタン301を押下することによって当該利用者の選択情報を修正する旨を指示することができる。一方、ユーザは、利用者の選択情報に矛盾がないと判断する場合には「修正しません」ボタン302を押下することによって当該利用者の選択情報を修正しない旨を指示することができる。
再び図5に戻ると、上記した表示画面300に対するユーザの操作に応じて、ユーザに対して通知された利用者の選択情報の矛盾に対する修正指示があるか否かが判定される(ステップS8)。
この場合、表示画面300に設けられている「修正します」ボタン301がユーザによって押下された場合には、利用者の選択情報の矛盾に対する修正指示があると判定される。一方、表示画面300に設けられている「修正しません」ボタン302がユーザによって押下された場合には、利用者の選択情報の矛盾に対する修正指示がないと判定される。
ユーザに対して通知された利用者の選択情報の矛盾に対する修正指示がないと判定された場合(ステップS8のNO)、画面遷移検証部34は、ユーザによって設計された情報(つまり、利用者の選択情報)を検証ルール格納部23に格納されている利用者用の検証ルールに反映させる。換言すれば、画面遷移検証部34は、利用者の選択情報に基づいて、検証ルール格納部23に格納されている利用者用の検証ルールを更新する(ステップS9)。具体的には、画面遷移検証部34は、検証ルール格納部23に格納されている利用者用の検証ルールを、利用者の選択情報の矛盾に対して修正の必要がないというユーザの意図を反映するような利用者用の検証ルールに更新する。
次に、画面遷移生成部35は、利用者の選択情報に基づいて、Webアプリケーションにおける画面遷移を示す画面遷移設計情報(当該画面遷移の定義ファイル)を生成する(ステップS10)。
画面遷移生成部35は、生成された画面遷移設計情報を画面遷移格納部24に格納する(ステップS11)。
一方、上記したステップS6において利用者の選択情報に矛盾がないと判定された場合、ステップS10の処理が実行される。
また、上記したステップS8において、ユーザに対して通知された利用者の選択情報の矛盾に対する修正指示があると判定された場合、ステップS4に戻って処理が繰り返される。つまり、利用者用の論理設計情報および初期設定の物理設計情報の項目が再度ユーザによって選択される。この場合、ユーザは、上記した図8に示す表示画面300を確認することによって、矛盾がないように遷移元画面および遷移先画面等を選択することができる。
次に、図9のフローチャートを参照して、一度設計された画面遷移(つまり、画面遷移設計情報)を編集する場合の画面遷移設計支援装置30の処理手順について説明する。なお、図9に示す処理は、例えばユーザによって画面遷移の編集が指示された場合に実行される。
この場合、画面遷移パターン格納部22には、初期設定の論理設計情報、利用者用の論理設計情報および初期設定の物理設計情報が格納されている。また、検証ルール格納部23には、初期設定の検証ルールおよび利用者用の検証ルールが格納されている。また、画面遷移格納部24には、Webアプリケーションにおける画面遷移を示す画面遷移設計情報が格納されている。
まず、画面遷移編集部33は、画面遷移格納部24に格納されている画面遷移設計情報を、当該画面遷移格納部24から取り出す(ステップS21)。
画面遷移編集部33は、画面遷移パターン格納部22に格納されている画面遷移パターンを、当該画面遷移パターン格納部22から取り出す(ステップS22)。ここで、画面遷移編集部33によって取り出される画面遷移パターンとは、画面遷移パターン格納部22に格納されている利用者用の論理設計情報および初期設定の物理設計情報である。
次に、ユーザの操作に応じて、画面遷移の設計が編集される(ステップS23)。この場合、画面遷移編集部33は、上述した図5に示すステップS4の処理と同様に、取得された画面遷移パターン(利用者用の論理設計情報および初期設定の物理設計情報)の項目をユーザに選択させる。つまり、画面遷移編集部33は、取得された利用者用の論理設計情報に含まれる遷移元画面情報によって示される遷移元画面、当該利用者用の論理設計情報に含まれる遷移先画面情報によって示される遷移先画面、当該利用者用の論理設計情報に含まれる画面処理フロー情報によって示される画面処理フローおよび取得された初期設定の物理設計情報によって示される画面処理の表示方法から、任意の遷移画面、遷移先画面、画面処理フローおよび画面処理の表示方法をDB処理毎にユーザに選択させる。
なお、ユーザは、上記した図7に示すような画面遷移設計画面を用いて任意の遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法を選択することができる。
つまり、ユーザは、端末装置50を介して利用者用の論理設計情報および初期設定の物理設計情報の項目(遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法)を選択することによって、Webアプリケーションにおける画面遷移の設計を再度行うことができる。
画面遷移設計画面において利用者用の論理設計情報および初期設定の物理設計情報の項目がユーザによって選択されることによって画面遷移の設計が再度行われると、当該ユーザによって選択された項目の情報(利用者の選択情報)が端末装置50から画面遷移設計支援装置30に渡される。この場合、画面遷移編集部33は、端末装置50から渡された利用者の選択情報を取得する。
次に、画面遷移検証部34は、検証ルール格納部23に格納されている利用者用の検証ルールを取得する。
画面遷移検証部34は、取得された利用者用の検証ルールを用いて、画面遷移編集部33によって取得された利用者の選択情報に矛盾があるか否かを検証する処理(検証処理)を実行する(ステップS24)。この画面遷移検証部34による検証処理の詳細については後述する。なお、このステップS24の処理は、上述した図5に示すステップS5の処理に相当する。
ステップS24の処理が実行されると、上述した図5に示すステップS6〜ステップS9の処理に相当するステップS25〜ステップS28の処理が実行される。
次に、画面遷移生成部35は、利用者の選択情報(ユーザによって選択された遷移元画面、遷移先画面、画面処理フローおよび画面処理の表示方法の情報)に基づいて、上記したステップS1において取り出された画面遷移設計情報(画面遷移の定義ファイル)を編集する(ステップS29)。
画面遷移生成部35は、編集された画面遷移設計情報を画面遷移格納部24に格納する(ステップS30)。
一方、上記したステップS25において利用者の選択情報に矛盾がないと判定された場合、ステップS29の処理が実行される。
また、上記したステップS27において、ユーザに対して通知された利用者の選択情報の矛盾に対する修正指示があると判定された場合、ステップS23に戻って処理が繰り返される。
次に、図10のフローチャートを参照して、上述した検証処理(図5に示すステップS5および図9に示すステップS24の処理)の処理手順について説明する。
この検証処理においては、上記したように利用者の選択情報に矛盾があるか否かが検証される。なお、利用者の選択情報には、Webアプリケーションにおいて扱われるテーブル(DB情報入力部31によって入力されたDB情報によって示されるテーブル名)毎に、ユーザによって選択されたDB処理毎の遷移元画面、遷移先画面、画面処理フローおよび当該画面処理フローを構成する画面処理の表示方法が含まれる。
なお、検証処理は、以下に説明するアルゴリズム(検証アルゴリズム)により実行される。この検証アルゴリズムは、検証処理において用いられる利用者用の検証ルールとして定義ファイルに記述されている。
以下の説明においては、利用者用の論理設計情報をLP、初期設定の物理設計情報をSP、ユーザによって選択された遷移元画面(つまり、利用者の選択情報に含まれる遷移元画面)をIN、当該ユーザによって選択された遷移元画面(つまり、利用者の選択情報に含まれる遷移先画面)をOUTとする。更に、DB処理に含まれる登録をC、検索をR、更新をU、削除をDとする。なお、DB処理に含まれる登録、検索、更新、削除をCRUDと表記する。
検証処理においては、Webアプリケーションにおいて扱われるテーブルの各々について以下に説明するステップS41〜ステップS47の処理が実行される。ここでは、ステップS41〜ステップS47の処理の対象となるテーブルを対象テーブルと称する。
まず、画面遷移検証部34は、対象テーブルのCRUDにおけるLPのINおよびOUTに矛盾があるか否かを検証する(ステップ41)。
具体的には、対象テーブルのDB処理(つまり、CRUD)のいずれかにおいて任意の遷移元画面(ここでは、画面Xとする)が選択されているが、別のDB処理において遷移先画面として当該画面Xが選択されていない場合には、当該対象テーブルのCRUDにおけるLPのINおよびOUTに矛盾があると判定される。
次に、画面遷移検証部34は、対象テーブルのCRUD間におけるSPが同一である否かを検証する(ステップS42)。
この場合、同一の画面処理の表示方法が対象テーブルのCRUD間において異なる場合には、当該対象テーブルのCRUD間におけるSPが同一でないため矛盾があると判定される。
具体的には、画面処理である入力の表示方法として、対象テーブルのC(登録)においては「入力エラーメッセージをポップアップ表示」が選択されているのに対して、対象テーブルU(更新)においては「入力エラーメッセージを入力画面の上部に表示」が選択されているような場合には、当該対象テーブルのCRUD間におけるSPが同一でないため矛盾があると判定される。
次に、Webアプリケーションにおいて扱われる例えば複数のテーブルのうち対象テーブルとは異なるテーブルの各々について、ステップS43〜ステップS46の処理が実行される。このステップS43〜ステップS46の処理においては、対象テーブルおよび当該対象テーブルとは異なるテーブル間においてCRUDのLPおよびSPが比較される。以下、対象テーブルと比較される当該対象テーブルとは異なるテーブルを比較テーブルと称する。
まず、画面遷移検証部34は、対象テーブルおよび比較テーブル間においてCのLPおよびSPが同一であるか否かを検証する(ステップS43)。
この場合、対象テーブルおよび比較テーブル間においてCのLPおよびSPが異なる場合には、当該対象テーブルおよび当該比較テーブル間においてCのLPおよびSPが同一でないため矛盾があると判定される。
次に、画面遷移検証部34は、対象テーブルおよび比較テーブル間においてRのLPおよびSPが同一であるか否かを検証する(ステップS44)。
この場合、対象テーブルおよび比較テーブル間においてRのLPおよびSPが異なる場合には、当該対象テーブルおよび当該比較テーブル間においてRのLPおよびSPが同一でないため矛盾があると判定される。
また、画面遷移検証部34は、対象テーブルおよび比較テーブル間においてUのLPおよびSPが同一であるか否かを検証する(ステップS45)。
この場合、対象テーブルおよび比較テーブル間においてUのLPおよびSPが異なる場合には、当該対象テーブルおよび当該比較テーブル間においてUのLPおよびSPが同一でないため矛盾があると判定される。
更に、画面遷移検証部34は、対象テーブルおよび比較テーブル間においてDのLPおよびSPが同一であるか否かを検証する(ステップS46)。
この場合、対象テーブルおよび比較テーブル間においてDのLPおよびSPが異なる場合には、当該対象テーブルおよび当該比較テーブル間においてDのLPおよびSPが同一でないため矛盾があると判定される。
次に、画面遷移検証部34は、全ての比較テーブルについて上記したステップS43〜ステップS46の処理が実行されたか否かを判定する(ステップS47)。つまり、画面遷移検証部34は、対象テーブルと全ての比較テーブルとが比較されたか否かを判定する。
全ての比較テーブルについて処理が実行されていないと判定された場合(ステップS47のNO)、上記したステップS43に戻って処理が繰り返される。この場合、処理が実行されていない比較テーブルについてステップS43以降の処理が実行される。
一方、全ての比較テーブルについて処理が実行されたと判定された場合(ステップS47のYES)、画面遷移検証部34は、Webアプリケーションにおいて扱われる全てのテーブルについて上記したステップS41〜ステップS47の処理が実行されたか否かを判定する(ステップS48)。
全てのテーブルについて処理が実行されていないと判定された場合(ステップS48のNO)、上記したステップS41に戻って処理が繰り返される。この場合、処理が実行されていないテーブルを対象テーブルとしてステップS41以降の処理が実行される。
一方、全てのテーブルについて処理が実行されたと判定された場合(ステップS48のYES)、検証処理は終了される。
なお、この検証処理において矛盾があると判定された内容については、上述した図8において説明したように画面遷移編集部33および端末装置50を介してユーザに対して通知される。
以下、上述した初期設定の論理設計情報、初期設定の物理設計情報、初期設定の検証ルール、利用者用の論理設計情報、利用者用の検証ルールおよび画面遷移設計情報の具体例について説明する。
図11〜図13は、初期設定の論理設計情報(論理設計情報の初期設定の定義ファイル)の具体例を示す。以下、図11〜13に示す初期設定の論理設計情報を初期設定の論理設計情報221とする。図14および図15は、初期設定の物理設計情報(物理設計情報の初期設定の定義ファイル)の具体例を示す。以下、図14および図15に示す初期設定の物理設計情報を初期設定の物理設計情報222とする。図16〜図18は、初期設定の検証ルール(検証ルールの初期設定の定義ファイル)の具体例を示す。以下、図16〜図18に示す初期設定の検証ルールを初期設定の検証ルール231とする。図19〜図22は、利用者用の論理設計情報(論理設計情報の利用者用の定義ファイル)の具体例を示す。以下、図19〜図22に示す利用者用の論理設計情報を利用者用の論理設計情報223とする。図23〜図28は、利用者用の検証ルール(検証ルールの利用者用の定義ファイル)の具体例を示す。以下、図23〜図28に示す利用者用の検証ルールを利用者用の検証ルール232とする。図29〜図34は、画面遷移設計情報(画面遷移の定義ファイル)の具体例を示す。以下、図29〜図34に示す画面遷移設計情報を画面遷移設計情報241とする。
初期設定の論理設計情報221、初期設定の物理設計情報222および初期設定の検証ルール231においては、1つのテーブルに対する画面遷移の定義が記述されている。
また、初期設定の検証ルール231においては、上述した図10に示すステップS41およびステップS42の処理について記述されている。
上記した利用者用の論理設計情報223および利用者用の検証ルール232は、初期設定の論理設計情報221、初期設定の検証ルール231およびDB情報入力部31によって入力されたDB情報(によって示されるテーブル名)を利用することによって生成される。なお、利用者用の論理設計情報223および利用者用の検証ルール232は、例えばテーブル名「table1」および「table2」を示すDB情報がDB情報入力部31によって入力され、当該DB情報を利用することによって生成された場合における利用者用の論理設計情報および利用者用の検証ルールである。
上述した図5に示すステップS4および図9に示すステップ23の処理においては、利用者用の論理設計情報223および初期設定の物理設計情報222に記述されている項目が図7に示す画面遷移設計画面200を通じてユーザによって選択されることによって、画面遷移の設計が行われる。
利用者用の検証ルール232には、上述した図10に示すステップS41〜ステップS46の処理(検証アルゴリズム)について記述されている。つまり、上述した検証処理(図5に示すステップS5および図9に示すステップS24の処理)は、この利用者用の検証ルール232が使用されることによって実行される。
また、上述した図5に示すステップS9および図9に示すステップS28に示す処理においては、この利用者用の検証ルール(の定義ファイル)232に対して修正が加えられることによって利用者用の検証ルールが更新される。
また、上述した図5に示すステップS10および図9に示すステップS29の処理においては、上記した画面遷移設計画面を通じてユーザによって選択された項目をもとに例えば画面遷移設計情報241が生成される。
具体的には、画面遷移設計情報241(の定義)は、DB処理のうちの例えば登録の基本画面として利用者用の論理設計情報223のtable1の登録の画面処理フローから入力(table1_create_input)、確認(table1_create_confirm)、結果(table1_create_result)の画面がユーザによって選択されたことを意味する。また、画面遷移設計情報241は、初期設定の物理設計情報222から入力(エラーメッセージ)の表示方法としてポップアップ(popup)、確認の表示方法として確認画面(confirm_screen)、結果の表示方法として結果画面(result_screen)がユーザによって選択されたことを意味する。更に、画面遷移設計情報241は、遷移元画面(遷移元となる画面)として利用者用の論理設計情報223のfromタグの定義のうちトップ画面(top)以外の画面がユーザによって選択されたことを意味する。また、画面遷移設計情報241は、遷移先画面(遷移先となる画面)として利用者用の論理設計情報223のtoタグの定義のうちトップ画面(top)と登録/入力画面(table1_create_input)以外の画面が選択されたことを意味する。
上記したように本実施形態においては、Webアプリケーションにおいて扱われるテーブルのテーブル名を示すDB情報が入力され、初期設定の論理設計情報に当該入力されたDB情報によって示されるテーブル名が追加されることによって利用者用の論理設計情報が生成される。また、本実施形態においては、利用者用の論理設計情報および初期設定の物理設計情報の項目をユーザに選択させ、当該ユーザによって選択された項目(利用者の選択情報)に基づいて、Webアプリケーションにおける画面遷移を示す画面遷移設計情報が生成される。
これにより、本実施形態においては、画面遷移の論理的な設計だけではなく、物理的な設計をすることができるため、実装する際に必要となる情報を含む詳細な画面遷移の設計をすることが可能となる。
また、本実施形態においては、初期設定の検証ルールにDB情報によって示されるテーブル名が追加されることによって利用者用の検証ルールが生成され、当該検証ルールを用いてユーザによって選択された項目(利用者の選択情報)の矛盾が検証される。
これにより、本実施形態においては、あるテーブルの画面処理フローを構成する例えば確認(処理)の表示方法としてポップアップを利用しているにもかかわらず、他の画面処理フローを構成する確認の表示方法としては当該ポップアップを利用していないというような一貫性のなさを回避することが可能となる。
また、本実施形態においては、Webアプリケーションにおいて複数のテーブルが扱われる(つまり、複数のDB情報が入力された)場合であって当該複数のテーブルのうちの1つのテーブルについてのみ画面遷移設計画面を通じて画面遷移の設計が行われた場合には、他のテーブルにも当該設計が引き継がれる。
これにより、本実施形態においては、複数のテーブルについて画面遷移の設計が行われる場合であっても、当該設計における工数を削減することが可能となる。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。