(57)【要約】【課題】画面仕様変更時に、画面設計仕様書の内容と常に一致するように画面プログラムを自動作成し、自動作成した画面プログラムと人手により修正した画面プログラムとの同期を取る必要をなくす。【解決手段】画面プログラム生成装置３は、プレビュー可能画面設計仕様書から抽象構文木を生成する画面設計仕様書解析部１１と、抽象構文木からレイアウト情報を抽出するレイアウト情報抽出部１３と、抽象構文木から動的情報を抽出する動的情報抽出部１４と、抽象構文木から抽出された動的情報から当該動的情報の種類に応じたコード断片を生成するコード断片生成部１７と、抽象構文木から抽出された動的情報に基づき構造体プログラムを作成する構造体作成部１９と、抽象構文木から抽出されたレイアウト情報と動的情報に基づき生成されたコード断片の情報とを合成し、画面プログラムを生成するマージ部２１とを有する。【選択図】      図１
2004302571.tif 000002
【特許請求の範囲】
【請求項１】
画面設計仕様書からレイアウト情報を抽出するレイアウト情報抽出手段と、
前記画面設計仕様書から動的情報を抽出する動的情報抽出手段と、
前記動的情報抽出手段にて抽出された前記動的情報に基づいて当該動的情報の種類に応じたコード断片を生成するコード断片生成手段と、
前記コード断片生成手段にて生成された前記コード断片の情報と前記レイアウト情報抽出手段にて抽出された前記レイアウト情報とを合成して前記画面プログラムを生成するマージ手段と、
前記動的情報抽出手段にて抽出された前記動的情報に基づいて、当該動的情報に対応するデータであって前記画面プログラムから参照／設定するデータである構造体を定義した構造体プログラムを作成する構造体作成手段とを有することを特徴とする画面プログラム生成装置。
【請求項２】
動的情報の種類毎に当該動的情報から変換すべきコードを定義したコード変換定義を記憶するコード変換定義記憶手段をさらに有し、
前記コード断片生成手段は、前記動的情報抽出手段にて抽出された前記動的情報と前記コード変換定義記憶手段に記憶された前記コード変換定義とに基づいて前記コード断片を生成する、請求項１に記載の画面プログラム生成装置。
【請求項３】
前記画面設計仕様書に基づいて抽象構文木を作成する画面設計情報解析手段をさらに有し、
前記レイアウト情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記レイアウト情報を抽出し、
前記動的情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記動的情報を抽出する、請求項１または２に記載の画面プログラム生成装置。
【請求項４】
画面設計仕様書からレイアウト情報を抽出するレイアウト情報抽出手段と、
前記画面設計仕様書から動的情報を抽出する動的情報抽出手段と、
前記動的情報抽出手段にて抽出された前記動的情報に基づいて当該動的情報の種類に応じたコード断片を生成するとともに、生成したコード断片の情報と前記レイアウト情報抽出手段にて抽出された前記レイアウト情報とを合成して前記画面プログラムを生成するコード断片生成／マージ手段と、
前記動的情報抽出手段にて抽出された前記動的情報に基づいて、当該動的情報に対応するデータであって前記画面プログラムから参照／設定するデータである構造体を定義した構造体プログラムを作成する構造体作成手段とを有することを特徴とする画面プログラム生成装置。
【請求項５】
動的情報の種類毎に当該動的情報から変換すべきコードを定義したコード変換定義を記憶するコード変換定義記憶手段をさらに有し、
前記コード断片生成／マージ手段は、前記動的情報抽出手段にて抽出された前記動的情報と前記コード変換定義記憶手段に記憶された前記コード変換定義とに基づいて前記コード断片を生成する、請求項４に記載の画面プログラム生成装置。
【請求項６】
前記画面設計仕様書に基づいて抽象構文木を作成する画面設計情報解析手段をさらに有し、
前記レイアウト情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記レイアウト情報を抽出し、
前記動的情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記動的情報を抽出する、請求項４または５に記載の画面プログラム生成装置。
【請求項７】
請求項１から６のいずれか１項に記載の画面プログラム生成装置を用いた画面プログラム生成システムにおいて、
前記画面設計仕様書の前記動的情報にマーカを設定する編集装置を有し、
前記画面プログラム生成装置内の前記動的情報抽出手段は、前記編集装置にて設定された前記マーカに基づいて前記画面設計仕様書から前記動的情報を抽出することを特徴とする画面プログラム生成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）設計において、画面プログラム（例えば、ＪＳＰ（Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ））を生成する画面プログラム生成装置およびこれを用いた画面プログラム生成システムに関する。
【０００２】
【従来の技術】
近年、ユーザインターフェースとして、画面上で視覚的にデータの参照、入力操作を行うことができるＧＵＩが主流となってきている。これに伴い、ＧＵＩ設計において、画面プログラムを生成する画面プログラム生成装置およびその方法も多数開示されている（例えば、特許文献１，２参照）。
【０００３】
従来のＧＵＩ設計では、例えば、Ｗｅｂアプリケーションの実装技術としてＪＳＰを生成する場合に、次のような動作を行う画面プログラム生成装置がある。
（１）Ｗｅｂアプリケーション動作時の画面デザインをＨＴＭＬを用いて記述する。
（２）画面デザイン中のユーザの入力を受け付ける項目や動的に表示が変化する項目に何を表示するか、これらの項目の何をチェックするかなどを記述した画面設計仕様書を作成する。
（３）手順（１）（２）の処理結果を参照しながら、人手によりＪＳＰを作成する。
【０００４】
しかしながら、上記の画面プログラム作成装置においては、画面仕様を変更する場合、画面設計仕様書およびＪＳＰの両方を修正する必要があるという問題点や、画面設計仕様書およびＪＳＰのどちらかの修正に漏れがあった場合、画面設計仕様書とＪＳＰとの内容の不一致が発生するという問題点がある。
【０００５】
また、上記の問題点を改良した画面プログラム生成装置として、次のような動作を行うものもある。
（１）Ｗｅｂアプリケーション動作時の画面デザインをＨＴＭＬを用いて記述する。このとき、画面デザイン中の動的に表示が変化する項目に対してマーカを設定する。
（２）画面デザイン中のユーザの入力を受け付ける項目や動的に表示が変化する項目に何を表示するか、これらの項目の何をチェックするかなどを記述した画面設計仕様書を作成する。
（３）手順（１）（２）の処理結果を入力として、ソフトウェア自動生成ツールによりＪＳＰを生成する。
（４）人手によりＪＳＰに必要な修正を施し、ＪＳＰを完成させる
上記の画面プログラム生成装置においては、初回にＪＳＰを作成する場合、ＨＴＭＬファイル（画面デザイン）中の動的に表示が変化する項目に対するコードを置換することで作業の負荷を軽減することができる。
【０００６】
しかしながら、上記の画面プログラム生成装置においては、画面仕様の変更に伴いＪＳＰを更新する場合、上記の手順（４）でＪＳＰに施した人手による修正が上記の手順（３）のソフトウェア自動生成ツールで上書きされ、消滅してしまう。したがって、ＨＴＭＬファイルを更新した後で更新後のＨＴＭＬファイルにＪＳＰを対応させて同期を取るためには、ＨＴＭＬファイルと同様の修正を人手によりＪＳＰに施すか、人手により再度ＪＳＰを作成し直さなければならない。
【０００７】
【特許文献１】
特開平１０−２５４６９１号公報
【特許文献２】
特開２００２−２２９７８５号公報
【０００８】
【発明が解決しようとする課題】
本発明の目的は、画面仕様変更時に、画面設計仕様書の内容と常に一致するように画面プログラムを自動作成することができるとともに、自動作成された画面プログラムと人手により修正した画面プログラムとの同期を取る必要をなくした画面プログラム生成装置およびこれを用いた画面プログラム生成システムを提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の画面プログラム生成装置は、画面設計仕様書からレイアウト情報を抽出するレイアウト情報抽出手段と、前記画面設計仕様書から動的情報を抽出する動的情報抽出手段と、前記動的情報抽出手段にて抽出された前記動的情報に基づいて当該動的情報の種類に応じたコード断片を生成するコード断片生成手段と、前記コード断片生成手段にて生成された前記コード断片の情報と前記レイアウト情報抽出手段にて抽出された前記レイアウト情報とを合成して前記画面プログラムを生成するマージ手段と、前記動的情報抽出手段にて抽出された前記動的情報に基づいて、当該動的情報に対応するデータであって前記画面プログラムから参照／設定するデータである構造体を定義した構造体プログラムを作成する構造体作成手段とを有することを特徴としている。
【００１０】
この構成によれば、画面仕様変更時に、画面設計仕様書だけを修正すれば、画面プログラムが自動生成されるため、画面設計仕様書と画面プログラムとを常に一致させることが可能となる。
【００１１】
また、画面設計仕様書に含まれる動的情報に対応するデータである構造体を定義した構造体プログラムが、画面プログラムとは分離して作成されるため、業務ロジック側で画面プログラムを直接修正することなく、構造体プログラムに定義された構造体を経由して画面との間でデータをやり取りすることが可能となり、それにより、人手により画面プログラムに修正を施す必要がなくなる。
【００１２】
なお、動的情報の種類毎に当該動的情報から変換すべきコードを定義したコード変換定義を記憶するコード変換定義記憶手段をさらに有し、前記コード断片生成手段は、前記動的情報抽出手段にて抽出された前記動的情報と前記コード変換定義記憶手段に記憶された前記コード変換定義とに基づいて前記コード断片を生成することとしても良い。
【００１３】
また、前記画面設計仕様書に基づいて抽象構文木を作成する画面設計情報解析手段をさらに有し、前記レイアウト情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記レイアウト情報を抽出し、前記動的情報抽出手段は、前記画面設計情報解析手段にて生成された前記抽象構文木から前記動的情報を抽出することとしても良い。
【００１４】
また、前記コード断片生成手段および前記マージ手段の代わりに、コード断片生成手段とマージ手段とを一体にしたコード断片生成／マージ手段を設けることとしても良い。
【００１５】
また、前記画面プログラム生成装置を用いた画面プログラム生成システムは、前記画面設計仕様書の前記動的情報にマーカを設定する編集装置を有し、前記画面プログラム生成装置内の前記動的情報抽出手段は、前記編集装置にて設定された前記マーカに基づいて前記画面設計仕様書から前記動的情報を抽出することを特徴としている。
【００１６】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。
【００１７】
図１は、本発明の一実施形態の画面プログラム生成装置を適用した画面プログラム生成システムを示す図である。
【００１８】
図１に示した画面プログラム生成システムは、編集装置１と、ブラウザ装置２と、本実施形態の画面プログラム生成装置３とを有している。
【００１９】
編集装置１は、プレビュー可能画面設計仕様書の編集を行う。プレビュー可能画面設計仕様書は、ブラウザ装置２によりプレビュー（表示）やデモが可能な画面設計仕様書である。例えば、画面プログラムをＪＳＰで作成する場合、プレビュー可能画面設計仕様書はＨＴＭＬとなる。
【００２０】
ブラウザ装置２は、プレビュー可能画面設計仕様書を表示したり、プレビュー可能画面設計仕様書を用いてデモを行ったりする。デモの目的はユーザ（利用者または設計者）によるＧＵＩのレビューである。
【００２１】
画面プログラム生成装置３は、プレビュー可能画面設計仕様書に基づいて、画面プログラムおよび構造体プログラムを生成する。構造体プログラムは、プレビュー可能画面設計仕様書に含まれる動的情報に対応するデータであって画面プログラムから参照／設定するデータである構造体を定義したプログラムである。業務ロジック（本発明の対象外の外部プログラム）は、画面プログラムを直接修正することなく、構造体プログラムで定義された構造体を経由して画面内のＧＵＩとの間でデータをやりとりすることになる。
【００２２】
画面プログラム生成装置３は、画面設計仕様書解析部１１と、抽象構文木記憶部１２と、レイアウト情報抽出部１３と、動的情報抽出部１４と、レイアウト情報記憶部１５と、動的情報記憶部１６と、コード断片生成部１７と、コード変換定義記憶部１８と、構造体作成部１９と、コード断片記憶部２０と、マージ部２１とを有している。
【００２３】
画面設計仕様書解析部１１は、プレビュー可能画面設計仕様書を解析し、抽象構文木記憶部１２が記憶可能な抽象構文木を生成する。
【００２４】
抽象構文木記憶部１２は、画面設計仕様書解析部１１にて生成された抽象構文木を記憶する。
【００２５】
レイアウト情報抽出部１３は、抽象構文木記憶部１２に記憶された抽象構文木からレイアウト情報を抽出する。
【００２６】
動的情報抽出部１４は、抽象構文木記憶部１２に記憶された抽象構文木から動的情報を抽出する。
【００２７】
レイアウト情報記憶部１５は、レイアウト情報抽出部１３にて抽出されたレイアウト情報を記憶する。
【００２８】
動的情報記憶部１６は、動的情報抽出部１４にて抽出された動的情報を記憶する。
【００２９】
コード断片生成部１７は、動的情報記憶部１６に記憶された動的情報と、コード変換定義記憶部１８に記憶されたコード変換定義に基づいてコード断片を生成する。
【００３０】
コード変換定義記憶部１８は、動的情報の種類毎に当該動的情報から変換すべきコードを定義したコード変換定義を記憶する。コード変換定義は、例えば、ソースコードテンプレートである。
【００３１】
構造体作成部１９は、動的情報記憶部１６に記憶された動的情報に基づいて構造体プログラムを作成する。
【００３２】
コード断片記憶部２０は、コード断片生成部１７にて生成されたコード断片の情報を記憶する。
【００３３】
マージ部２１は、レイアウト情報記憶部１５に記憶されたレイアウト情報と、コード断片記憶部２０に記憶されたコード断片の情報とを合成（マージ）し、画面プログラムを生成する。
【００３４】
以下、本実施形態の全体動作について説明する。
［編集装置１の動作］
編集装置１は、プレビュー可能画面設計仕様書に含まれる動的情報にマーカを設定するなど、プレビュー可能画面設計仕様書を編集する。プレビュー可能画面設計仕様書には、下記の情報が含まれる。
（Ａ）レイアウト情報
（Ｂ）入出力種別情報：例えば、文字列、ラジオボタン、複数選択、ドロップダウン、パスワードなどの情報
（Ｃ）動的情報マーカ：動的情報を識別するために編集装置１により設定され、画面上で不可視なもの。動的情報は、画面内で動的に表示が変化する項目（文字列、イメージ、色、選択状態、スクロール状態など）や、画面内でユーザからの入力を受け付ける項目であって業務ロジックに送信される項目などの情報。
【００３５】
なお、編集装置１は、公知技術により実現可能であり、例えば、画面設計仕様書をＨＴＭＬで作成する場合、ＨＴＭＬエディタを使用して実現することができる。この場合、ＨＴＭＬエディタを使用し、コメント、ＨＴＭＬの追加タグ、あるいはＨＴＭＬの追加タグ属性に基づいて動的情報にマーカを設定する。
［ブラウザ装置２の動作］
ブラウザ装置２は、プレビュー可能画面設計仕様書を読み込み、プレビュー（表示）したり、デモしたりする。
【００３６】
なお、ブラウザ装置２は、公知技術により実現可能であり、例えば、画面設計仕様書をＨＴＭＬで作成する場合、ＨＴＭＬ用の一般的なブラウザを使用して実現することができる。
［画面プログラム生成装置３の動作］
画面プログラム生成装置３の内部では、次のような動作が行われる。
（１）画面設計仕様書解析部１１は、プレビュー可能画面設計仕様書を解析して抽象構文木を作成し、作成した抽象構文木を抽象構文木記憶部１２に記憶させる。
【００３７】
このとき、画面設計仕様書解析部１１は、例えば、図２のように抽象構文木を構成することができる。図２の抽象構文木は、プレビュー可能画面設計仕様書を構成する１枚のＨＴＭＬページをｐａｇｅという構文木のルートに対応させたものである。１枚のＨＴＭＬページ内に含まれる動的情報は、ｅｖｅｎｔｓまたはｆｉｅｌｄｓという節に、それぞれｅｖｅｎｔという葉またはレイアウト情報ｌａｙｏｕｔという葉を含むｆｉｅｌｄという節を複数個含むことができる。
（２）レイアウト情報抽出部１３は、抽象構文木記憶部１２に記憶された抽象構文木からレイアウト情報を抽出し、抽出したレイアウト情報をレイアウト情報記憶部１５に記憶させる。
（３）動的情報抽出部１４は、抽象構文木記憶部１２に記憶された抽象構文木からマーカが設定されている個所（＝動的情報）を抽出し、抽出した動的情報を動的情報記憶部１６に記憶させる。
（４）コード断片生成部１７は、動的情報記憶部１６に記憶された動的情報と、コード変換定義記憶部１８に記憶されたコード変換定義とに基づいてコード断片を作成し、作成したコード断片の情報をコード断片記憶部２０に記憶させる。
【００３８】
このとき、コード変換定義記憶部１８には、例えば、図３のようにコード変換テーブルの形で記憶されている。コード断片生成部１７は、コード変換テーブルを参照し、動的情報の種類毎に変換すべきコードを決定する。
（５）マージ部２１は、レイアウト情報記憶部１５に記憶されたレイアウト情報と、コード断片記憶部２０に記憶されたコード断片の情報とを合成（マージ）し、画面プログラムを作成する。
（６）構造体作成部１９は、動的情報記憶部１６に記憶された動的情報に基づいて、当該動的情報に対応するデータであって画面プログラムから参照／設定するデータである構造体を定義した構造体プログラムを生成する。
［画面プログラムと構造体プログラムの動作］
上記のように生成された画面プログラムと構造体プログラムは、画面にＧＵＩを表示する時、画面内のＧＵＩに格納されたデータを業務ロジックに送信する時には、それぞれ次のような動作を行う。
〔ＧＵＩ表示時〕
（１）画面にＧＵＩを表示する際には、業務ロジックによりあらかじめ構造体プログラムで定義された構造体に必要なデータを設定しておく。
（２）画面プログラムは、自分自身に含まれるレイアウト情報に基づいてＧＵＩをレイアウトする。
（３）画面プログラムは、画面内に表示すべき情報（文字列、選択状態、画像など）を構造体から読み出し、画面内に設定する。
〔ＧＵＩのデータ送信時〕
（１）画面プログラムは、画面に入力されたデータを業務ロジックに向けて送信する指示が、ユーザのＧＵＩ操作として発生した場合、画面内のＧＵＩに格納されたデータを構造体に設定する。
（２）画面プログラムは、業務ロジックに構造体を送信する。
（３）業務ロジックは、構造体内のデータを参照し、必要な処理を行う。
【００３９】
なお、本発明においては、画面設計情報解析部１１で抽象構文木を作成せず、レイアウト情報抽出部１３および動的情報抽出部１４のそれぞれにおいて、プレビュー可能画面設計仕様書から直接レイアウト情報および動的情報を抽出する構成とすることもできる。
【００４０】
また、本発明においては、コード断片生成部１７とマージ部２１とを分けずに一体としたコード断片生成／マージ部を設け、このコード断片生成／マージ部において、レイアウト情報、動的情報、コード変換定義に基づいて直接画面プログラムを生成する構成とすることもできる。
【００４１】
【発明の効果】
本発明は以上説明したように構成されているため、以下に記載するような効果を奏する。
【００４２】
第１の効果は、画面仕様変更時に、画面設計仕様書だけを修正すれば、画面プログラムが自動生成されるため、画面設計仕様書と画面プログラムは常に一致するということである。
【００４３】
第２の効果は、画面設計仕様書に含まれる動的情報に対応するデータであって画面プログラムから参照／設定するデータである構造体を定義した構造体プログラムが、画面プログラムとは分離して作成されるため、業務ロジック側で画面プログラムを直接修正することなく、構造体プログラムに定義された構造体を経由して画面との間でデータをやり取りすることができ、それにより、人手により画面プログラムに修正を施す必要がなくなるということである。そのため、画面仕様変更時に、自動生成された画面プログラムと人手により修正した画面プログラムとの同期を取る必要がなくなる。
【図面の簡単な説明】
【図１】本発明の一実施形態の画面プログラム生成装置を適用した画面プログラム生成システムを示す図である。
【図２】図１に示した画面設計仕様書解析部にて生成される抽象構文木を説明する図であり、（ａ）は抽象構文木の定義記述の一例を示す図、（ｂ）は（ａ）の記述に対応した抽象構文木を示す図である。
【図３】図１に示したコード変換定義記憶部に記憶されているコード変換定義の一例を示す図である。
【符号の説明】
１    編集装置
２    ブラウザ装置
３    画面プログラム生成装置
１１    画面設計仕様書解析部
１２    抽象構文木記憶部
１３    レイアウト情報抽出部
１４    動的情報抽出部
１５    レイアウト情報記憶部
１６    動的情報記憶部
１７    コード断片生成部
１８    コード変換定義記憶部
１９    構造体作成部
２０    コード断片記憶部
２１    マージ部
【図１】
2004302571.tif 000003
【図２】
2004302571.tif 000004
【図３】
2004302571.tif 000005