(57)【要約】【課題】システム開発期間を短縮できるアプリケーション開発システム、開発装置のデータ処理方法、およびプログラムを提供する。【解決手段】開発装置１００は、対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報および画面遷移情報を取得する画面情報取得部１０２と、画面情報および画面遷移情報に基づいて、遷移前の画面に設けられる画面構成要素に入力され得る値を条件項目とし、該条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成するソースコード生成部１０４と、を備える。【選択図】図１
2015210639.tif 000002
【特許請求の範囲】
【請求項１】
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する画面情報取得手段と、
前記画面情報取得手段により取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成するソースコード生成手段と、
を備えるアプリケーション開発システム。
【請求項２】
請求項１に記載のアプリケーション開発システムにおいて、
前記モックアップ用ファイルに含まれるルールテーブルであって、遷移前の画面の画面構成要素毎に設けられる条件項目、および、各遷移パターンを特定する値を設定可能な遷移パターン項目を有するルールテーブルのテンプレートを画面に対するアクション毎に生成するルールテーブル生成手段と、
前記モックアップ用ファイルに含まれる複数の値テーブルであって、前記各遷移パターンにそれぞれ対応付けられ、遷移後の画面の画面構成要素毎に出力値を定義できる複数の値テーブルのテンプレートを画面に対するアクションおよび該アクションに応じて遷移される画面毎に生成する値テーブル生成手段と、をさらに備え、
前記モックアップ用ファイルは、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンと、遷移後の画面に設けられる少なくとも１つの画面構成要素のための異なる出力値と、をそれぞれ対応付ける、
アプリケーション開発システム。
【請求項３】
請求項２に記載のアプリケーション開発システムにおいて、
前記各アクションに対応付けられた前記各値テーブルにおいて、
前記画面構成要素毎の出力値フィールドが設定されており、
出力値が所定のデータタイプの画面構成要素の出力値フィールドには、該所定のデータタイプに対応し、かつ、該所定のデータタイプの値が設定される個別値テーブルを指定する所定の制御文字列が設定され、
前記前記モックアップ用ファイルは、前記個別値テーブルをさらに含む、
アプリケーション開発システム。
【請求項４】
請求項２または３に記載のアプリケーション開発システムにおいて、
前記画面情報取得手段は、
前記画面の前記画面構成要素を識別する名称を取得し、
前記ルールテーブル生成手段は、
前記画面の前記画面構成要素の前記名称を、前記ルールテーブルの対応する前記条件項目のフィールド名にする、
アプリケーション開発システム。
【請求項５】
請求項２乃至４いずれか１項に記載のアプリケーション開発システムにおいて、
前記ルールテーブルは、業務ロジックを定義でき、
前記値テーブルは、前記業務ロジックで参照する業務データを定義でき、
ユーザにより定義された前記業務ロジックおよび業務データに対応する、前記条件項目の値、前記遷移パターン、および前記出力値が入力された前記モックアップ用ファイルを用いて、前記ソースコードを実行し、前記対象アプリケーションをシミュレーションするシミュレーション手段をさらに備える、
アプリケーション開発システム。
【請求項６】
コンピュータに、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する手順、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する手順、をコンピュータに実行させるためのプログラム。
【請求項７】
開発装置が、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得し、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する、
開発装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発システム、開発装置のデータ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ウェブアプリケーションの開発を支援するプログラム生成装置の一例が特許文献１に記載されている。特許文献１のプログラム生成装置は、業務仕様、物理仕様の入力と業務パターンの選択を行い、業務仕様、物理仕様、業務パターンの選択結果に基づいて、前記業務仕様で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うためのＢｅａｎ（プログラム部品）の生成、前記業務仕様情報で定義された各データ項目の入出力画面を表示するためのＪＳＰ（JavaServer Pages）の生成、および前記入出力画面からの入力情報を取得して該入力情報に基づいて前記ＢｅａｎおよびＪＳＰの実行を制御するためのサーブレットの生成をそれぞれ行う。
【０００３】
特許文献２に記載された開発支援装置は、ソースコード生成部がデータアクセスクラスを呼び出すビジネスロジッククラスのソースコードを生成し、そのソースコードが、呼び出し先のデータアクセスクラスを特定するコードを含まない。これにより、依存性が排除される。一方、設定ファイル生成部が、クラス間の関連を定義する関連定義情報に基づいてインジェクション設定ファイルを生成し、このファイルには、どのビジネスロジッククラスから、どのデータアクセスクラスを呼び出すのかが記述される。ビジネスロジッククラスのプログラム実行時には、ＤＩ（Dependency Injection）コンテナによってインジェクション設定ファイルが参照され、ビジネスロジッククラスに対しデータアクセスクラスが与えられる。これにより依存性が注入される。
【０００４】
特許文献３に記載された画面設計レビューシステムは、コンピュータシステムにおけるクライアントＰＣ（Personal Computer）において、ウェブオーサリングツールの画面デザインファイルに定義された画面レイアウト情報、画面イベント情報、およびイベント処理方法の情報を入力情報として、画面ファイル出力処理を行い、画面ファイルを出力し、クライアントＰＣが出力した画面ファイル、クライアントＰＣ上のウェブブラウザ、およびサーバＰＣ上のアプリケーションサーバなどを用いてモックアップ画面を表示することで、開発者と顧客における画面設計仕様の齟齬を防止する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３１８２６０号公報
【特許文献２】特開２０１１−２２９０６号公報
【特許文献３】特開２０１３−１４３０８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ウェブアプリケーションを開発する装置において、本発明者は、以下のような課題を見出した。
システム開発において、画面や帳票などのユーザインタフェースに関わる仕様は、ユーザによる変更要望の発生確率が高い部分である。しかし、画面や帳票などの仕様を決めるシステムの要件や基本設計などは、システム開発の上流工程で行われ、その後、データベース設計、ビジネスロジック設計等の下流工程へと進む。そのため、システムがほぼ完成した段階で、ユーザテストを行った場合に、ユーザから画面や帳票に関する仕様変更の要望が発生すると、上流工程まで遡って設計変更を行う必要が生じ、その変更は下流工程への設計内容にまで影響を及ぼしかねない。
【０００７】
したがって、上流工程の段階で、ユーザにシステムのモックアップで画面や帳票の仕様を確認してもらい、要望を聞きながら、ユーザの要望に沿った要件を確定すると同時に、その場で実機用となりうるアプリケーションプログラムのソースコードを生成し、完成させることができれば、下流工程への影響がなくなり、開発期間が短縮できる。
このように、特にユーザの要望により変更が生じやすい仕様の確定を、上流工程で行い、その段階で、実機用となりうるアプリケーションプログラムを生成するという発想は、上述した文献記載の技術にはなかった。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、システムの開発期間を短縮できるアプリケーション開発システム、開発装置のデータ処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のアプリケーション開発システムは、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する画面情報取得手段と、
前記画面情報取得手段により取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成するソースコード生成手段と、
を備える。
【００１０】
本発明のコンピュータプログラムは、
コンピュータに、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する手順、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する手順、をコンピュータに実行させるためのプログラムである。
【００１１】
本発明の開発装置のデータ処理方法は、
開発装置が、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得し、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する、
開発装置のデータ処理方法である。
【００１２】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００１３】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１４】
また、本発明のデータ処理方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明のデータ処理方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障のない範囲で変更することができる。
【００１５】
さらに、本発明のデータ処理方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００１６】
本発明によれば、システムの開発期間を短縮できるアプリケーション開発システム、開発装置のデータ処理方法、およびプログラムが提供される。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る開発装置の論理的な構成を示す機能ブロック図である。
【図２】本発明の実施の形態に係る開発装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態に係る開発装置のデータ処理方法における処理手順を示すフローチャートである。
【図４】本発明の実施の形態に係る開発装置の論理的な構成を示す機能ブロック図である。
【図５】本発明の実施の形態に係るアプリケーション開発システムの構成の一例を示すブロック図である。
【図６】本発明の実施の形態に係るアプリケーション開発システムにより開発されたシステムの構成例を示すブロック図である。
【図７】本発明の実施の形態におけるウェブアプリケーションの画面の例を示す図である。
【図８】本発明の実施の形態に係る開発装置で生成されるルールテーブルと値テーブルのテンプレートの例を示す図である。
【図９】本発明の実施の形態に係る開発装置で生成されたルールテーブルと値テーブルのテンプレートにシミュレーション用のデータが入力された後の例を示す図である。
【図１０】本発明の実施の形態に係る開発装置の動作の一例を示すフローチャートである。
【図１１】本発明の実施の形態に係る開発装置で生成されたモックアップ用アプリケーションプログラムをウェブサーバ上で検証する処理手順の一例を示すフローチャートである。
【図１２】本発明の実施の形態に係る開発装置の動作の一例を示すフローチャートである。
【図１３】本発明の実施の形態に係る開発装置で生成された本番用アプリケーションプログラムをウェブサーバ上で動作させる場合の処理手順の一例を示すフローチャートである。
【図１４】本発明のアプリケーション開発システムにおけるソースコードの実施例を示す図である。
【図１５】本発明のアプリケーション開発システムにおけるＢｅａｎの生成手順の実施例を示すフローチャートである。
【図１６】本発明のアプリケーション開発システムにおけるモックアップ用データファイルの実施例を示す図である。
【図１７】本発明のアプリケーション開発システムにおけるＢｅａｎの生成手順の実施例を示すフローチャートである。
【図１８】本発明のアプリケーション開発システムにおけるモックアップ用データファイルの実施例を示す図である。
【図１９】本発明のアプリケーション開発システムにおけるＢｅａｎの生成手順の実施例を示すフローチャートである。
【図２０】本発明のアプリケーション開発システムにおけるモックアップ用データファイルの実施例を示す図である。
【図２１】本発明のアプリケーション開発システムにおけるＢｅａｎの生成手順の実施例を示すフローチャートである。
【図２２】本発明のアプリケーション開発システムにおけるモックアップ用データファイルの実施例を示す図である。
【図２３】本発明のアプリケーション開発システムにおける、指定フィールドに他のオブジェクト型を設定する制御文字列を設定した構成を説明するための図である。
【図２４】本発明のアプリケーション開発システムにおける、指定フィールドに他のオブジェクト型のリストを設定する制御文字列を設定した構成を説明するための図である。
【図２５】本発明のアプリケーション開発システムにおける、環境設定の実施例を示す図である。
【図２６】本発明の実施の形態に係るアプリケーション開発システムにおいて、モックアップ用アプリケーション生成および検証時の構成と処理手順の実施例を説明するための図である。
【図２７】本発明の実施の形態に係るアプリケーション開発システムにおいて、検証後の本番用アプリケーション生成および利用時の構成と処理手順の実施例を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１９】
（第１の実施の形態）
図１は、本発明の実施の形態に係る開発装置１００の論理的な構成を示す機能ブロック図である。
本発明の実施の形態に係る開発装置１００は、対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および画面間の遷移に関する画面遷移情報を取得する画面情報取得部１０２と、画面情報取得部１０２により取得される画面情報および画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成するソースコード生成部１０４と、を備える。
【００２０】
画面情報は、画面に含まれる画面構成要素の種類や、各画面構成要素に対応付けられたデータ項目の情報などを含む。例えば、画面構成要素が入力用のコンポーネントの場合、画面情報には、各コンポーネントに入力されるデータの項目名の情報が含まれる。出力用のコンポーネントの場合、画面情報には、各コンポーネントに出力されるデータの項目名の情報が含まれる。さらに、画面情報には、各画面構成要素の配置、書式、または、デザイン等の属性情報等が含まれてもよい。
【００２１】
画面構成要素は、入力または選択される値または操作指示を受け付けるためのＧＵＩ（Graphical User Interface）コンポーネントや、データを出力するコンポーネントを含み、テキストボックス、コンボボックス、リストボックス、プルダウンメニュー（ドロップダウンメニュー）、コンテキストメニュー、チェックボタン、ラジオボタン、操作ボタン、または、アイコン等が例示される。
【００２２】
ここで、画面構成要素にて、入出力または選択される「値」とは、文字列、数値、オブジェクトデータ、または配列データなどを含む。
【００２３】
また、本明細書において、画面遷移とは、違う画面への移行と、同じ画面の表示内容の変化とを含む。遷移パターンは、これらの画面遷移の両方の形態を含む。たとえば、以下に例示されるが、これに限定されない。また、矛盾の生じない範囲でこれらは適宜組み合わせることができる。
（ａ１）画面Ａから画面Ｂ、または画面Ａから画面Ｃへの移行（遷移後の画面はＢ、Ｃ以外にも複数考えられる）
（ａ２）画面Ａ内での表示内容の変化
（ａ３）画面Ａから遷移した画面Ｂ（または画面Ｃ）において、画面Ｂ（または画面Ｃ）内の異なる内容表示への遷移
なお、画面Ｂへの移行時に、遷移前の画面Ａは、自動的に閉じられてもよいし、閉じなくてもよく、これらも画面遷移情報で定義することできる。
【００２４】
図２は、本発明の実施の形態に係る開発装置１００を実現するコンピュータ６０のハードウェア構成を示すブロック図である。
本実施形態において、図１の開発装置１００の各構成要素は、図２に示される任意のコンピュータ６０のハードウェアとソフトウェアの任意の組合せによって実現される。コンピュータ６０は、ＣＰＵ（Central Processing Unit）６２、メモリ６４、メモリ６４にロードされた本図の構成要素を実現するプログラム８０、そのプログラム８０を格納するハードディスクなどの記憶ユニット（ストレージ６６：補助記憶装置）、ネットワーク接続用インタフェース（通信Ｉ／Ｆ（InterFace：インタフェース）７０）を備える。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下に説明する各図は、ハードウェア単位の構成ではなく、機能単位の論理的なブロックを示している。
また、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【００２５】
本実施形態において、開発装置１００は、たとえば、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。開発装置１００を実現するコンピュータは、たとえば、キーボードやマウス等の入力装置７２、ディスプレイ等の表示装置７４、入力装置７２と表示装置７４が一体となったタッチパネル（不図示）、マイクやスピーカ等の音声入出力装置（不図示）、または、プリンタ等の出力装置（不図示）と接続される。
【００２６】
開発装置１００のこれらの各要素は、バス６９を介して互いに接続され、ＣＰＵ６２により各要素とともに開発装置１００全体が制御される。ＣＰＵ６２が、ストレージ６６に記憶されるプログラム８０をメモリ６４に読み出して実行することにより、開発装置１００の図１の各ユニットの各機能を実現することができる。
【００２７】
本実施形態のコンピュータプログラム８０は、開発装置１００を実現させるためのコンピュータ６０に、対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および画面間の遷移に関する画面遷移情報を取得する手順、取得される画面情報および画面遷移情報に基づいて、モックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する手順、を実行させるように記述されている。ここで、モックアップ用ファイルは、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義される。
【００２８】
本実施形態のコンピュータプログラム８０は、コンピュータ６０で読み取り可能な記録媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラム８０は、記録媒体からコンピュータ６０のメモリ６４にロードされてもよいし、ネットワーク３を通じてコンピュータ６０にダウンロードされ、メモリ６４にロードされてもよい。または、プログラム８０は、記録媒体からコンピュータ６０のストレージ６６に読み込まれて格納された後、メモリ６４にロードされてもよい。
【００２９】
上述のような構成において、本発明の実施の形態に係る開発装置１００のデータ処理方法について、以下説明する。
図３は、本発明の実施の形態に係る開発装置１００のデータ処理方法における処理手順を示すフローチャートである。
本発明の実施の形態に係る開発装置１００のデータ処理方法は、開発装置１００が、対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および画面間の遷移に関する画面遷移情報を取得する（ステップＳ１０１）。取得される画面情報および画面遷移情報に基づいて、モックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する（ステップＳ１０７）。ここで、モックアップ用ファイルは、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義される。
【００３０】
図３において、ステップＳ１０７の処理は、モックアップ構築時（ステップＳ１０３のＹＥＳ）の手順である。一方、実機の場合（ステップＳ１０３のＮＯ）、ステップＳ１０５において、取得される画面情報および画面遷移情報に基づいて、画面を形成する対象アプリケーションのソースコードを自動生成する。
本発明において、ソースコード生成部１０４における、モックアップ用と実機用のソースコードの生成の切り替え（選択）方法は、以下に例示されるがこれに限定されない。また、矛盾のない範囲で適宜組み合わせてもよい。
（ｂ１）モックアップ用プログラムと実機用プログラムの少なくとも２つのプログラムでそれぞれ実現する。作成したいソースコード用のプログラムを選択して、選択されたいずれかのプログラムを実行する。
（ｂ２）少なくとも１つのプログラムで、パラメータを受け付けて、条件分岐によりモックアップ用と実機用のソースコードを選択的に生成する。
（ｂ３）少なくとも１つのプログラムで、はじめに、モックアップ用ソースコードを生成し、その後、実機用ソースコード生成の指示を受け付けて、実機用ソースコードを生成する。
【００３１】
以上説明したように、本発明の実施の形態の開発装置１００によれば、アプリケーションの画面などのユーザインタフェースの仕様を決定する要求定義時の情報からアプリケーションのソースコードを生成できる。特に、モックアップ構築時に、実機のデータベースの代わりに、モックアップ用ファイルを利用して、画面に入出力される値の処理動作をシミュレーションできるので、ユーザとアプリケーションの動作テストや外部仕様（画面のデザインや操作性）の確認を行うことができる。モックアップ用ファイルが実機のデータベースの代わりになり、値や条件に応じた遷移パターンを簡易に設定することで様々な状況の検証を行うこともできる。そして、必要に応じて行われる仕様変更やバグ修正を行った場合にも、それらの変更をアプリケーションのソースコードに簡便かつ確実に反映することが可能になるという効果を奏する。
【００３２】
（第２の実施の形態）
図４は、本発明の実施の形態に係る開発装置２００の論理的な構成を示す機能ブロック図である。
本実施形態では、アプリケーションを開発する本発明の開発装置２００を用いて、対象アプリケーションのモックアップを作成する具体的な構成および手順について、詳細に説明する。
【００３３】
本実施形態の開発装置２００は、上記実施形態と同様な画面情報取得部１０２と、ソースコード生成部１０４とを備えるとともに、さらに、ルールテーブル生成部２０２と、値テーブル生成部２０４とを備える。
【００３４】
本実施形態の開発装置２００は、ルールテーブル生成部２０２と、値テーブル生成部２０４と、をさらに備える。
ルールテーブル生成部２０２は、モックアップ用ファイル２１４に含まれるルールテーブル２２２であって、遷移前の画面の画面構成要素毎に設けられる条件項目、および、各遷移パターンを特定する値を設定可能な遷移パターン項目を有するルールテーブル２２２のテンプレートを画面に対するアクション毎に生成する。
値テーブル生成部２０４は、モックアップ用ファイル２１４に含まれる複数の値テーブル２２４であって、各遷移パターンにそれぞれ対応付けられ、遷移後の画面の画面構成要素毎に出力値を定義できる複数の値テーブル２２４のテンプレートを画面に対するアクションおよび該アクションに応じて遷移される画面毎に生成する。
モックアップ用ファイル２１４は、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とする。そして、モックアップ用ファイル２１４は、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンと、遷移後の画面に設けられる少なくとも１つの画面構成要素のための異なる出力値と、をそれぞれ対応付ける。
【００３５】
図５は、本発明の実施の形態に係るアプリケーション開発システム１の構成の一例を示すブロック図である。
本実施形態の開発装置２００は、図２で示したコンピュータ６０と同様な構成を有する、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。
【００３６】
本発明の実施の形態に係るアプリケーション開発システム１において、開発装置２００は、端末１４０がブラウザ１４２を経由してインターネット等のネットワーク３を介して利用する、ウェブサーバ１３０で動作するウェブアプリケーション１３２の開発を行う装置である。
【００３７】
ウェブアプリケーション１３２は、たとえば、端末１４０のブラウザ１４２上に画面を表示させ、画面上での入力および操作を受け付け、入力操作に基づく処理を実行し、必要に応じてデータベース（ＤＢ）１２２を参照し、結果得られたデータに基づき形成される画面を端末１４０のブラウザ１４２上に表示させる。本実施例では、ウェブアプリケーション１３２を例として説明するが、本発明の開発対象となるアプリケーションはウェブアプリケーションに限定されるものではない。たとえば、サーバ、データベース、および端末の全てがユーザ側に含まれる、企業内のシステム等も開発対象となり得る。
【００３８】
ウェブアプリケーション１３２の開発時には、ウェブアプリケーション１３２をシミュレーションするモックアップを作成し、そのデザインや操作性等をユーザに確認してもらうことがある。
【００３９】
上述したように、開発装置２００は、設計情報リポジトリ１２０の情報を取得して、モックアップ用ファイル１１４と、モックアップ用のウェブアプリケーション１３２のソースコード１１６とを生成する。生成されたモックアップ用ファイル１１４およびソースコード１１６を元にウェブアプリケーション１３２のシミュレーションを行うことができる。
さらに、開発装置２００は、ウェブアプリケーション１３２が利用するデータベース１２２のデータ構造の構築を行えてもよい。
【００４０】
本発明のアプリケーション開発システム１の開発装置２００では、上記のようにモックアップを作成して、ウェブアプリケーション１３２をシミュレーションした後、実機用のウェブアプリケーション１３２を生成し、実機のウェブサーバ１３０に配備し、利用することができる。
開発後の実機のウェブアプリケーション１３２は、たとえば、図６に示すように、ウェブサーバ１３０上で動作し、端末１４０（図では、複数の端末１４０ａ、１４０ｂを示す。特に、区別する必要がない場合は、端末１４０と呼ぶ。）にてブラウザ１４２経由で利用される。
なお、ブラウザ１４２の種類は、特に限定されず、端末１４０毎に異なる種類のブラウザ１４２を用いてもよい。また、端末１４０の種類、たとえば、ＯＳ（Operating System）等の種類も限定されず、異なる種類のＯＳで動作する端末１４０が混在してもよい。
【００４１】
図５および図６のウェブサーバ１３０および端末１４０は、図２で示したコンピュータ６０と同様な構成を有する、サーバコンピュータ、パーソナルコンピュータ、またはそれらに相当するコンピュータにより実現することができる。
【００４２】
なお、図では、ウェブアプリケーション１３２は、ウェブサーバ１３０上にのみ存在するように示されているが、端末１４０とウェブサーバ１３０とが協働してウェブアプリケーション１３２を動作させる。
具体的には、端末１４０のブラウザ１４２からインターネット等のネットワーク３を介してウェブサーバ１３０のウェブページを表示させた時、ウェブアプリケーション１３２に含まれる一部のプログラムが端末１４０にダウンロードされる。この一部のプログラムは、ブラウザ１４２上で動作する、Ｊａｖａ（登録商標）言語等のプログラミング言語で記述される。そして、その一部のプログラムが、端末１４０のブラウザ１４２上で、ウェブサーバ１３０上のウェブアプリケーション１３２と協働して動作する。
端末１４０からブラウザ１４２経由で利用されるウェブアプリケーション１３２のウェブサーバ１３０上で動作等は公知であり、本発明の本質に関わらないので詳細な説明は省略する。
【００４３】
本発明において、ウェブアプリケーション１３２は、業務用アプリケーションを含むことができる。業務アプリケーションとは、企業の情報システムにおいて、企業活動の業務内容と直接関連のある販売、在庫管理、受注、流通、経費管理、資金管理、人財管理、書類管理などの情報処理やサービスを扱うシステムを実現するアプリケーションプログラムである。
【００４４】
業務システムは、「プレゼンテーション層」（ユーザインタフェース）、「アプリケーション層」（ビジネスロジック）、「データ層」（データベース）の３階層構造を有する。業務システムにおいて、このアプリケーション層（ビジネスロジック）は、実際の業務で扱う様々なオブジェクト（商品、顧客、在庫など）をモデル化したものであり、さらに、それらの関係、処理手順、および業務の流れなどをプログラムコードとして実装した部分であり、アプリケーションの処理やルールを記述したものである。
【００４５】
本実施形態において、ルールテーブル２２２は、業務ロジックを定義でき、値テーブル２２４は、業務ロジックで参照する業務データを定義できる。
開発者またはエンドユーザにより定義された前記業務ロジックおよび業務データに対応する、条件項目の値、遷移パターン、および前記出力値が入力されたモックアップ用ファイルを用いて、ソースコードを実行し、対象アプリケーションをシミュレーションするシミュレーション部（図２６のＢｅａｎ生成部３２０）をさらに備える。
【００４６】
図４に戻り、画面情報取得部１０２は、対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および画面間の遷移に関する画面遷移情報を取得する。
本明細書において、画面情報取得部１０２が画面および画面間の遷移に関する情報を取得する構成について説明しているが、帳票に関する情報を取得してもよい。
帳票に関する情報は、帳票毎に、帳票に含まれる値の項目名の情報が含まれる。さらに、帳票情報は、帳票のレイアウト、書式、デザイン等の属性情報等が含まれてもよい。
【００４７】
ソースコード生成部１０４は、画面情報取得部１０２により取得される画面情報および画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する。
【００４８】
モックアップ用画面遷移とは、第一画面の画面構成要素に入力された値を取得し、モックアップ用ファイルを参照することで、条件項目の値が該取得された値に合致するアクションに対応付けられた出力値を取得して、その出力値を第一画面または第二画面の画面構成要素に出力させることを指す。
【００４９】
本実施形態では、後述するように、モックアップ用のソースコードを生成して、動作確認を行った後、画面などの外部仕様が固まった後に、本番用のソースコードを生成することができる。
モックアップ用ソースコードと、本番用ソースコードは、画面に入出力する値の参照先がモックアップ用ファイルか、実機のデータベースかを指定するコードの部分のみが異なる。
したがって、この本番用のソースコードの生成は、以下のいずれかの方法が考えられるが、これに限定されない。また矛盾のない範囲で適宜組み合わせてもよい。
（ｃ１）モックアップ用ソースコードの中から、モックアップ用ファイルを参照するコードを部分的に削除し、実機のデータベースを参照する本番コードを挿入して、本番用のソースコードに書き換える。
（ｃ２）モックアップ用ファイルを参照するコード部分を実機のデータベースを参照する本番コードに置き換えた本番用のソースコードを新たに生成し直す。
【００５０】
図７は、本発明の実施の形態におけるウェブアプリケーション１３２の画面の例を示す図である。
たとえば、ウェブアプリケーション１３２は、図７（ａ）に示すように、遷移前の入力画面２３０で、ユーザの入力や操作に応じて、所定の処理を行い、入力画面２３０から、図７（ｂ）に示すように、出力画面２４０に遷移して、その結果を表示する。
図７（ａ）に示すように、遷移前の入力画面２３０は、上述したようなテキストボックスやリストボックス等の画面構成要素として、「ステータス」をユーザに選択させる入力欄２３２と、「企業名」をユーザに入力させる入力欄２３３と、入力欄２３２または入力欄２３３に入力された値の受け付けを承諾するためのユーザ操作を受け付けるＯＫボタン２３４と、入力画面２３０から抜けるためのユーザ操作を受け付けるキャンセルボタン２３６と、を有する。
【００５１】
この例では、図７（ａ）の入力画面２３０で入力された値に基づいて作成されたリスト表示部２４２が、図７（ｂ）に示される遷移後の出力画面２４０に表示される。本実施形態では、入力欄２３２は、たとえば、ステータスとして、「０１：首都圏」および「０２：その他」を含むリストの中からいずれか一方を選択して受け付ける。入力欄２３３は、企業名として、テキストボックスに入力された文字列を受け付ける。
【００５２】
図８は、本発明の実施の形態に係る開発装置２００で生成されるルールテーブル２２２と値テーブル２２４のテンプレートの例を示す図である。
本実施形態において、ルールテーブル２２２および値テーブル２２４のテンプレートは、たとえば、マイクロソフトエクセル（登録商標）ファイルのシート形式でルールテーブル生成部２０２および値テーブル生成部２０４によりそれぞれ生成される。
【００５３】
本実施形態では、マイクロソフトエクセルファイルを例として説明するが、ファイル形式を限定するものではなく、他の表計算ソフトのファイル、ＣＳＶ（Comma-Separated Values）形式、テキスト形式、ＨＴＭＬ（HyperText Markup Language）形式等のファイル等、様々な形式のファイルとしてもよい。
しかし、後述するように、本発明のモックアップ用ファイル２１４は、プログラムを設計または製造する開発者やアプリケーションを利用するユーザがデータを入力して完成させることができる、ひな形である。したがって、モックアップ用ファイル２１４は、開発者やユーザが編集できる（編集ツールを利用できる）ファイル形式であること、開発者やユーザが一見して内容を理解できること、および、操作が容易であること等の条件を満たすものが望ましい。
【００５４】
なお、本実施形態では、ルールテーブル２２２および値テーブル２２４は、異なるファイル、および異なるシートとしてそれぞれ生成されるが、これに限定されない。同じファイル、または同じシートとして生成されてもよい。
【００５５】
図８（ａ）に示すように、ルールテーブル２２２のテンプレートは、遷移前の画面の画面構成要素毎に設けられる条件項目（図中「ＣＯＮＤＩＴＩＯＮ」と示す）、および、各遷移パターンを特定する値を設定可能な遷移パターン項目（図中「ＡＣＴＩＯＮ」と示す）を少なくとも有する。
【００５６】
具体的には、ルールテーブル２２２は、図７（ａ）の遷移前の入力画面２３０の画面構成要素の入力欄２３２に対応する条件項目「ステータス」と、入力欄２３３に対応する条件項目「企業名」と、条件に対応する遷移パターンを特定する値を設定可能な遷移パターン項目とを少なくとも含む。
【００５７】
本実施形態では、ルールテーブル生成部２０２が生成するテンプレートにおいて、開発者やユーザなどがテーブル編集を行う際に、わかりやすいように、条件項目には、「ステータス」、および「企業名」等の文字列が、図７（ａ）の各画面構成要素の入力値の項目名に基づいて記載されている。しかし、これらはルールテーブル生成部２０２により自動的に記載されてもよいし、開発者やユーザなどが後で手入力してもよい。ルールテーブル２２２は、少なくとも画面構成要素の入力値に対応する条件項目のフィールドを有すればよい。
【００５８】
自動的に記載される構成では、画面情報取得部１０２が、画面の画面構成要素を識別する名称を取得し、ルールテーブル生成部２０２が、画面の画面構成要素の名称を、ルールテーブル２２２の対応する条件項目のフィールド名にする。
【００５９】
図９は、本発明の実施の形態に係る開発装置２００で生成されたルールテーブル２２２と値テーブル２２４のテンプレートにシミュレーション用のデータが入力された後の例を示す図である。
本発明では、シミュレーション（検証）用のデータおよび遷移パターンを変更し、様々な状況で、動作確認のテストを行うことができる。
【００６０】
図９では、図８（ａ）のルールテーブル２２２のデータが未入力の空のテンプレートに、開発者またはエンドユーザにより手入力で、ステータスが「０１」または「０２」の場合の２ケースの２レコードが追加された例を示している。
他の実施形態では、ルールテーブル生成部２０２により異なる業務ケースを示す各レコードを自動的に生成されてもよい。たとえば、条件となる画面構成要素に入力されるべき値の範囲などの画面設計情報を用いて、推定されるレコードを作成することができる。たとえば、図７（ａ）のように、入力欄２３２が、リストボックスであり、リストボックスに表示させる要素（たとえば、「０１」、「０２」）まで画面エディタで、リストボックスのプロパティ等として設計済みの場合などに、リストボックスで選択可能な要素を条件としてレコードを自動的に作成することができる。
【００６１】
値テーブル２２４のテンプレートは、図７（ｂ）のリスト表示部２４２に表示されるリスト項目として、商品名、数量、価格、備考の各フィールドが含まれる。図８（ｂ）の例では、値テーブル生成部２０４により、図８（ａ）のルールテーブル２２２で設定された遷移パターン（ＡＣＴＩＯＮ）毎に、エクセルファイルのシートを対応付け、シート♯１と♯２が生成されている。さらに、本実施形態では、値テーブル生成部２０４は、入力画面２３０で入力された値に関係なく遷移するデフォルトの遷移パターンに対応するデフォルトの値テーブル２２４（シート♯Default）が少なくとも生成される。本実施形態では、遷移パターン毎に、エクセルファイルのシートを対応付けることができ、いずれのケースにも当てはまらない値が図７（ａ）の入力画面２３０で指定された場合に、このデフォルトの遷移パターン（シート♯Default）に遷移するようになっている。
【００６２】
このように構成された本実施形態のアプリケーション開発システム１における開発装置２００の動作について、以下説明する。本発明のアプリケーション開発システム１では、上述したように、モックアップ用ソースコードを生成し、生成されたモックアップ用アプリケーションの動作確認を行って検証し、必要に応じて変更を行い、検証を繰り返してアプリケーションの仕様を決定する。そして、最終的に決定された仕様に基づいて本番用のソースコードを生成し、生成された本番用のアプリケーションを実行することができる。これらの手順について、順を追って説明する。
【００６３】
図２６は、本発明の実施の形態に係るアプリケーション開発システム１において、モックアップ用アプリケーション生成および検証時の構成と処理手順の実施例を説明するための図である。また、図２７は、本発明の実施の形態に係るアプリケーション開発システム１において、検証後の本番用アプリケーション生成および利用時の構成と処理手順の実施例を説明するための図である。
【００６４】
図２６および図２７には、本実施形態の開発装置２００のソースコード生成部１０４と、ルールテーブル生成部２０２、および値テーブル生成部２０４に加え、さらに、画面および画面遷移の編集を行うエディタ３０２と、編集された画面および画面遷移の情報を管理し、パターン展開して設計情報リポジトリ１２０に格納するパターン展開機能部３０４と、モックアップ時にソースコードをビルドして、アプリケーションの実行モジュール３１０をウェブサーバ１３０にデプロイする統合ビルダ３０６と、本番時に本番用ソースコードをビルドしてアプリケーションの実行モジュール３１０をウェブサーバ１３０にデプロイするＡＮＴ（Apache Ant（登録商標））３０８と、開発装置２００で生成されるアプリケーションを利用する端末１４０上で動作するブラウザ１４２と、データベース１２２と、が示されている。
【００６５】
本実施形態のアプリケーション開発システム１では、これらの構成要素を利用しながら、アプリケーションの開発を行い、そして生成されたアプリケーションを利用することができる。図２６および図２７に示される構成および処理手順は一例であり、これらに限定されるものではなく、様々な態様が考えられる。
【００６６】
（モックアップ用ソースコードの生成）
まず始めに、モックアップ用ソースコードを生成する処理手順について説明する。
図１０は、本発明の実施の形態に係る開発装置２００の動作の一例を示すフローチャートである。
まず、アプリケーションの機能設計などを行う開発者が、画面および画面遷移の編集を、エディタ３０２（図２６）を用いて行う（ステップＳ２０１）。そして、編集が終わったら（ステップＳ２０３のＹＥＳ）、画面情報および画面遷移情報がエディタ３０２によりパターン展開機能部３０４を介して設計情報リポジトリ１２０に格納される（ステップＳ２０５）。
【００６７】
そして、開発装置２００において、画面情報取得部１０２が設計情報リポジトリ１２０から画面情報および画面遷移情報を取得し、ソースコード生成部１０４が画面情報取得部１０２により取得された画面情報および画面遷移情報に基づいて、モックアップコード２１６ａを含むソースコード１１６を生成する（ステップＳ２０７）。ここで、モックアップコード２１６ａとは、データの参照先として実機のデータベース１２２の代わりにモックアップ用ファイル２１４を参照先とするコードを記述する部分を指す。実機のデータベース１２２を参照先とするコードは、本番コード２１６ｂと呼ぶ。
【００６８】
そして、統合ビルダ３０６（図２６）を用いて、モックアップコード２１６ａを含むソースコード１１６を基にアプリケーションプログラムをビルドして、生成されたアプリケーションプログラムの実行モジュール３１０をウェブサーバ１３０にデプロイする（ステップＳ２０９）。このようにして、ウェブアプリケーション１３２がウェブサーバ１３０に配備される。
【００６９】
さらに、開発装置２００において、ルールテーブル生成部２０２および値テーブル生成部２０４が、モックアップ用ファイルのテンプレートを生成する（ステップＳ２１１）。
そして、開発者またはエンドユーザが、モックアップ用テンプレートファイル２１４ａをファイルに適用可能なエディタを用いて開き、モックアップ用アプリケーションを検証するための検証用データを入力する。入力された検証用データが受け付けられ、モックアップ用データファイル２１４ｂが生成される。
【００７０】
（モックアップ用アプリケーションの検証）
次に、モックアップ用ソースコードおよびモックアップ用ファイルを元にモックアップ用アプリケーションの検証を行う際の処理手順について説明する。
図１１は、本発明の実施の形態に係る開発装置２００で生成されたモックアップ用アプリケーションプログラムをウェブサーバ１３０上で検証する処理手順の一例を示すフローチャートである。
なお、本実施形態では、本番用のウェブサーバ１３０を用いてアプリケーションプログラムの検証を行う構成としているが、これに限定されない。テスト用のサーバコンピュータを用いて検証してもよい。
【００７１】
まず、端末１４０において、ブラウザ１４２を起動する（ステップＳ２２１）。ここで、ブラウザ１４２を起動してから、モックアップ用アプリケーションの実行ファイルを起動してもよいし、モックアップ用アプリケーションを起動することで、ブラウザ１４２を立ち上げてもよい。たとえば、モックアップ用アプリケーションを起動するＵＲＬ（Uniform Resource Locator）を指定することで、ブラウザ１４２が、ウェブサーバ１３０にアクセスし、実行モジュール３１０を読み出す（ステップＳ２２３）。
【００７２】
なお、本実施形態では、Ｊａｖａ言語を利用してウェブサーバ１３０で動的にウェブページを生成してクライアントに送信するＪＳＰ（JavaServer Pages）の技術を利用する。本発明でユーザに提供されるウェブアプリケーションは、ＨＴＭＬファイルの中にＪａｖａ（登録商標）プログラムを埋め込み、クライアントの要求に応じてプログラムを実行し、処理結果をクライアントに返信する。本実施形態では、値を格納したＢｅａｎをＪａｖａプログラムとして生成してＨＴＭＬに埋め込み、クライアントの端末１４０のブラウザ１４２に格納した値を出力させることができる。このＪａｖａプログラムが、図２６または図２７の実行モジュール３１０に相当する。
なお、本発明はＪＳＰ技術の利用に限定されるものではなく、たとえば、クライアントサイドの技術ＪａｖａＳｃｒｉｐｔ（登録商標）や、ＪＳＦ（JavaServer Faces）で利用されるＦａｃｅｌｅｔｓの技術を用いてもよく、様々な技術を定義利用することができる。
【００７３】
実行モジュール３１０内に記述されているアクションタグ３１２（図中「Ａｃｔｉｏｎ」と示す）により、本実施形態のソースコード生成部１０４によって生成されたモックアップコード２１６ａを呼び出し（ステップＳ２２５）、コントロール３１４に実行させる（ステップＳ２２７）。
コントロール３１４がモックアップコード２１６ａを実行し、Ｂｅａｎ生成部３２０を呼び出す（ステップＳ２２７）。
【００７４】
ここで、Ｂｅａｎ生成部３２０とは、Ｄｒｏｏｌｓ等のルールベースエンジンと、ＤＢＵｎｉｔ等のデータベースを操作するクラスのテストプログラムを作成するためのフレームワークを利用してＢｅａｎを生成する。
Ｂｅａｎ生成部３２０は、クラス名DataBeanCreatorのＡＰＩ（Application Program Interface）を提供する、以下の表１に示すように、LogicDataオブジェクトを返すパターンにより複数のメソッドが提供される。なお、ファイル名には、ディレクトリのパスを含むこともできる。
【００７５】
【表１】
2015210639.tif 000003
【００７６】
そして、Ｂｅａｎ生成部３２０が、ルールエンジンを利用して、モックアップ用データファイル２１４ｂを参照し、DataBeanに格納する値を取得し、DataBeanに格納し、LogicBeanを生成する（ステップＳ２２９）。コントロール３１４が、ＪＳＰ３１６に生成されたＢｅａｎを返却する（ステップＳ２３１）。そして、ＪＳＰ３１６からブラウザ１４２にＢｅａｎが返却され（ステップＳ２２３）、ブラウザ１４２の画面に返却されたＢｅａｎ（DataBeanに格納された値）が表示される（ステップＳ２３５）。
このようにして、本発明の実施の形態に係る開発装置２００によって生成されたモックアップ用アプリケーションの動作確認を、モックアップコード２１６ａを含むソースコード１１６およびモックアップ用データファイル２１４ｂを用いて、行うことができる。
【００７７】
上記のモックアップ用アプリケーションの検証を行いながら、モックアップ用データファイル２１４ｂに記載された検証用データを、開発者またはエンドユーザにより、図１０のステップＳ２１３に戻り、変更することができる。また、アプリケーションの動作を確認しながら、画面のデザインの変更や操作性を改善するために、画面および画面遷移の仕様変更を、図１０のステップＳ２０１に戻って行うこともできる。
【００７８】
このようにして、モックアップ用アプリケーションの動作確認を、検証用データを用いて行いながら、必要に応じて、画面デザインや操作性の変更を行い、変更をソースコード１１６、そして実行モジュール３１０に反映させ、再び、変更後のアプリケーションの動作確認を繰り返すことができる。
【００７９】
モックアップ用アプリケーションの動作確認を行いながら、ユーザの要望を確認して、画面などの外部仕様を早い段階で確定することが可能となる。本発明のモックアップ用アプリケーションは、データの参照先が実機のデータベース１２２ではなく、モックアップ用データファイル２１４ｂであること以外は、全て実機のアプリケーションとなる。したがって、モックアップ用アプリケーションで動作確認ができれば、データの参照先のみを実機のデータベース１２２に書き換えるだけで、動作確認済みの本番用のアプリケーションを生成することができる。この構成により、データベース１２２に合わせて最初からアプリケーションを生成し直す場合に比べ、仕様変更による影響を最小限に抑え、大幅に開発期間を短縮できる。
【００８０】
（本番用ソースコードの生成）
次に、モックアップ用アプリケーションの検証後に確定した仕様に基づいて、本番用ソースコードを生成する処理手順について説明する。
図１２は、本発明の実施の形態に係る開発装置２００の動作の一例を示すフローチャートである。
まず、図１１の手順で検証が済んだモックアップコード２１６ａに替わる、本番コード２１６ｂを含むソースコード１１６を、ソースコード生成部１０４が設計情報リポジトリ１２０から必要な設計情報等をインポートして、生成する（ステップＳ２４１）。
【００８１】
例として、モックアップ用のソースコード１１６から、モックアップ用データファイル２１４ｂを参照先として呼び出すモックアップコード２１６ａを削除し、新たに、データベース１２２を参照先とする本番コード２１６ｂを記述し、本番用のソースコード１１６を生成する。あるいは、モックアップ用のソースコード１１６とは別に、新しく、設計情報リポジトリ１２０から取得した設計情報を元に、本番用のソースコード１１６を生成してもよい。
【００８２】
そして、ＡＮＴ３０８を用いて、本番コード２１６ｂを含むソースコード１１６をビルドして、アプリケーションの実行モジュール３１０をウェブサーバ１３０にデプロイすることで、本番用アプリケーションを利用できる環境となる（ステップＳ２４３）。
【００８３】
（本番用アプリケーションの実行）
次に、検証後の本番用ソースコードから生成された本番用アプリケーションプログラムをウェブサーバ１３０上で実行する処理手順について説明する。
図１３は、本発明の実施の形態に係る開発装置２００で生成された本番用アプリケーションプログラムをウェブサーバ上で動作させる場合の処理手順の一例を示すフローチャートである。
まず、端末１４０において、ブラウザ１４２を起動する（ステップＳ２２１）。そして、たとえば、ウェブアプリケーション１３２を起動するＵＲＬ（Uniform Resource Locator）を指定することで、ブラウザ１４２が、ウェブサーバ１３０にアクセスし、実行モジュール３１０を読み出す（ステップＳ２５３）。
【００８４】
実行モジュール３１０内に記述されているアクションタグ３１２（図中「Ａｃｔｉｏｎ」と示す）により、本実施形態のソースコード生成部１０４によって生成された本番コード２１６ｂを呼び出し（ステップＳ２５５）、コントロール３１４に実行させる（ステップＳ２５７）。
【００８５】
コントロール３１４が本番コード２１６ｂを実行し、ＤＡＯ（Data Access Object）３２２にデータベース１２２を参照させる（ステップＳ２２７）。ＤＡＯ３２２から必要なデータを取得して、コントロール３１４が、ＪＳＰ３１６にデータを返却する（ステップＳ２３１）。そして、ＪＳＰ３１６からブラウザ１４２にデータが返却され（ステップＳ２２３）、ブラウザ１４２の画面に返却されたデータが表示される（ステップＳ２３５）。
【００８６】
以上説明したように、本発明の実施の形態の開発装置２００によれば、上記実施形態と同様な効果を奏するとともに、画面や帳票などのユーザインタフェースに関する要件を元に、業務ロジック（遷移パターン）を模擬するモックアップ用プログラムコードの元となるオブジェクトデータ（画面構成要素の入出力値）やルール（条件と遷移パターン）を、人間が直感的に理解しやすい業務内容で記述できるファイル形式を採用してモックアップ用データファイルを作成できる。また、モックアップ用ファイルに開発者やユーザにより入力された情報を元に、モックアップ用プログラムのソースコードを自動的に生成することができる。モックアップ用ファイルを用いることで、テスト用データおよび業務ロジックの定義の簡易入力を可能にするので、実際のシステム運用をイメージしながら、様々な要件で、モックアップ用ソースコードを元にアプリケーションをシミュレーションし、システム利用ユーザとモックアップの動作を検証して仕様を確定できる。
【００８７】
この構成により、本発明の実施の形態の開発装置２００では、開発対象アプリケーションの業務ロジックが正式に決定していないシステム開発の上流工程にて、画面や帳票などの仕様確定を行うことを可能とし、仕様変更による影響を最小限に抑え、開発期間を短縮できる。
【００８８】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００８９】
（特殊文字列記述による制御）
たとえば、他の実施形態では、各アクションに対応付けられた各値テーブル２２４において、画面構成要素毎の出力値フィールドが設定されている。出力値が所定のデータタイプの画面構成要素の出力値フィールドには、該所定のデータタイプに対応し、かつ、該所定のデータタイプの値が設定される個別値テーブルを指定する所定の制御文字列が設定される。モックアップ用ファイルは、個別値テーブルをさらに含むことができる。
この構成により、制御文字列が設定されたフィールド名を有する別テーブルを参照し、オブジェクト型が文字列以外のリストや多次元配列の出力値を取得できる。なお、値テーブル２２４と個別値テーブルは、同じファイルに含めてもよいし、別ファイルに含めてもよく、特に限定されない。
【００９０】
制御文字列を以下に例示するがこれに限定されるものではない。
【表２】
2015210639.tif 000004
【実施例】
【００９１】
（実施例１）
本実施例では、モックアップコード２１６ａが、モックアップ用データファイル２１４ｂからデータを読み出す手順を説明する。
本実施例では、図１４に示すようなコード３３０「DataBeanCreator.getDetaBean(fileName, data, beanName)」により、Ｂｅａｎ生成部３２０が呼び出され、Ｂｅａｎ生成部３２０がルールエンジンを利用してモックアップ用データファイル２１４ｂを参照し、値を読み出し、読み出された値がDataBeanに格納されて、LogicBeanが生成されてブラウザ１４２に返却される。
【００９２】
図１５は、このコード３３０によるＢｅａｎの生成手順の例を示すフローチャートである。
図１６は、モックアップ用データファイルの例を示す図である。
まず、コントロール３１４により、コード３３０の「fileName」で指定されるファイル（図１６（ａ）のファイル３４０）がオープンされる（ステップＳ３０１）。そして、図２６のＢｅａｎ生成部３２０がファイル３４０の「Tables」シート３４２をアクティブにし、ルールエンジンを利用して「Tables」シート３４２において以下の処理を行う（ステップＳ３０３）。
【００９３】
そして、コード３３０で指定される「data」の値が、条件（ＣＯＮＤＩＴＩＯＮ）フィールド３４４（この例では、「ステータス」）の値と一致するレコードを取得する（ステップＳ３０５）。ここでは、「data」が「01」であるとすると、ケース１のレコード３４６が取得される。そして、ステップＳ３０５で取得したレコード３４６の遷移パターン項目（ＡＣＴＩＯＮ）フィールド３４８の値「１」を業務ケースとして取得する（ステップＳ３０７）。
【００９４】
さらに、コントロール３１４により、コード３３０の「beanName」で指定されるファイル（図１６（ｂ）のファイル３５０）がオープンされる（ステップＳ３０９）。
そして、ステップＳ３０７で取得した業務ケースの値「１」に対応するシートＮｏ．「♯１」をアクティブにし、シートの値を取得する（ステップＳ３１１）。そして、アクティブにされたシート♯１の１行目のレコード３５４の値（ここでは、複数のデータ列）をDataBeanに格納して、LogicBeanを生成して返却する（ステップＳ３１３）。
【００９５】
値が格納されたＢｅａｎは、ＪＳＰ３１６に返却され、ブラウザ１４２に送信されて、たとえば、図７の出力画面２４０のリスト表示部２４２に値が表示される。
【００９６】
（実施例２）
本実施例では、上記実施例のコード３３０に、さらに、「listName」が追加され、DataBeanに格納される値をリスト形式で取得する構成について説明する。
図１７は、コード３３２によるＢｅａｎの生成手順の例を示すフローチャートである。
図１８は、モックアップ用データファイルの例を示す図である。
ステップＳ３０１〜ステップＳ３１１までは、上記実施例と同様な手順で処理が行われる。そして、ステップＳ３１１でアクティブにされたシート♯１の全行のレコード群３５６の値（図１８（ｂ）では、リスト）をDataBeanのlistNameプロパティのListに格納して、LogicBeanを生成して返却する（ステップＳ３２１）。
このようにして、値が格納されたＢｅａｎは、ＪＳＰ３１６に返却され、ブラウザ１４２に送信されて、出力画面にリスト（不図示）が表示される。
【００９７】
（実施例３）
本実施例では、上記実施例で、一致する条件の業務ケースが取得できなかった場合のデータ取得手順について説明する。
図１９は、コード３３０によるＢｅａｎの生成手順の例を示すフローチャートである。
図２０は、モックアップ用データファイルの例を示す図である。
まず、ステップＳ３０１〜ステップＳ３０９までは、上記実施例と同様な手順で処理が行われる。そして、ステップＳ３０９でオープンされた図２０（ｂ）のファイル３５０において、ステップＳ３０７で条件に一致する行（レコード）がなかった場合（ステップＳ３３１のＹＥＳ）、デフォルトシート３５８（図２０（ｂ）では「#Default」）をアクティブにする（ステップＳ３３３）。
【００９８】
ステップＳ３０７で条件に一致する行（レコード）があった場合（ステップＳ３３１のＮＯ）、上記実施例と同様にステップＳ３１１の処理を行う。そして、ステップＳ３１１またはステップＳ３３３の後、上記実施例と同様なステップＳ３１３の処理を行う。
【００９９】
なお、このステップＳ３３１およびステップＳ３３３の処理は、図１７の実施例２のコード３３２の手順でも同様な処理を行うことができる。
このようにして、値が格納されたＢｅａｎは、ＪＳＰ３１６に返却され、ブラウザ１４２に送信されて、出力画面に値（不図示）が表示される。
【０１００】
（実施例４）
本実施例は、全データ項目に何も値設定されていない場合のＢｅａｎの生成について説明する。
図２１は、Ｂｅａｎの生成手順の例を示すフローチャートである。
図２２は、モックアップ用データファイルの例を示す図である。
上記実施例いずれかのＢｅａｎの生成手順を示すフローチャートにおいて、ステップＳ３１１でシートの値を取得したとき、全データ項目に値が設定されていない場合（ステップＳ３４１のＹＥＳ）、DataBeanにデータを格納せずに次のコード処理に進む（ステップＳ３４３）。データ項目に値が設定されている場合（ステップＳ３４１のＮＯ）、上記実施例と同様にステップＳ３１３に進み、取得された値をDataBeanに格納してLogicBeanを生成して返却する。
【０１０１】
（実施例５）
本実施例は、制御文字列を指定フィールドに設定する構成について説明する。
本実施例では、制御文字列[object]の利用例を説明する。
図２３は、指定フィールドに他のオブジェクト型を設定する制御文字列を設定した構成を説明するための図である。
ここでは、ZAA02APLogicDataクラス５０２のフィールドsubZAA02APLogicData５０４にAA02APSubZAA02APLogicDataSubDataオブジェクトの値を設定している。なお、ここで、クラス名に含まれる「ZAA02AP」等の文字列は、特に意味はなく一例であり、任意の文字列とすることができる。
設定するオブジェクト型をプロパティファイル５１０で指定する。プロパティファイル５１０に定義がない場合はエラーとなる。
【０１０２】
制御文字列[object]が定義されているZAA02APLogicDataクラス５０２のフィールドsubZAA02APLogicData５０４に対応した「subZAA02APLogicData」シート５０６から値を取得してZAA02APSubZAA02APLogicDataSubDataオブジェクトに格納する。
subZAA02APLogicDataに格納するオブジェクトの型は、DataBeanCreator.properties（プロパティファイル５１０）のキーに格納するZAA02APLogicDataクラスのフィールド名を指定し、その値で指定する。
【０１０３】
（実施例６）
本実施例では、制御文字列[list] の利用例を説明する。
図２４は、指定フィールドに他のオブジェクト型のリストを設定する制御文字列を設定した構成を説明するための図である。
ここでは、ZAA02APLogicDataクラス６０２のフィールドlistField６０４にStringの値を設定している。
設定するリスト要素のオブジェクト型をプロパティファイル６１０で指定する。プロパティファイル６１０に定義がない場合はエラーとなる。
【０１０４】
[list]が定義されているZAA02APLogicDataクラス６０２のフィールドlistField６０４に対応した「listField」シート６０６から「[value]」列の値をListに格納する。
Listに格納するオブジェクトの型は、DataBeanCreator.properties（プロパティファイル６１０）のキーにListを格納するZAA02APLogicDataクラスのフィールドlistFieldを指定し、その値でStringを指定する。
【０１０５】
図２５は、各実施例における環境設定の一例を示す図である。
DataBeanCreator.propertiesをクラスパスが通っている場所に配置し、コード７１０の内容を記述する。７１２が、ファイルの格納フォルダを指定する部分である。また、７１４が、「result」フィールドに、[object]キーワードが設定されている場合に生成するクラス名を指定する部分である。
なお、フィールドの定義は、キー名としてフルパッケージ名で指定することもできる。
【０１０６】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
なお、本発明において利用者に関する情報を取得、利用する場合は、これを適法に行うものとする。
【０１０７】
以下、参考形態の例を付記する。
１．  コンピュータに、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する手順、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する手順、をコンピュータに実行させるためのプログラム。
２．  １．に記載のプログラムにおいて、
前記モックアップ用ファイルに含まれるルールテーブルであって、遷移前の画面の画面構成要素毎に設けられる条件項目、および、各遷移パターンを特定する値を設定可能な遷移パターン項目を有するルールテーブルのテンプレートを画面に対するアクション毎に生成する手順、
前記モックアップ用ファイルに含まれる複数の値テーブルであって、前記各遷移パターンにそれぞれ対応付けられ、遷移後の画面の画面構成要素毎に出力値を定義できる複数の値テーブルのテンプレートを画面に対するアクションおよび該アクションに応じて遷移される画面毎に生成する手順、をコンピュータに実行させ、
さらに、前記モックアップ用ファイルにおいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンと、遷移後の画面に設けられる少なくとも１つの画面構成要素のための異なる出力値と、をそれぞれ対応付ける手順、をコンピュータに実行させるためのプログラム。
３．  ２．に記載のプログラムにおいて、
前記値テーブルを生成する手順において、
前記各アクションに対応付けられた前記各値テーブルにおいて、前記画面構成要素毎の出力値フィールドを設定する手順、をコンピュータに実行させ、
生成された前記値テーブルにおいて、
出力値が所定のデータタイプの画面構成要素の出力値フィールドには、該所定のデータタイプに対応し、かつ、該所定のデータタイプの値が設定される個別値テーブルを指定する所定の制御文字列が設定され、
前記モックアップ用ファイルは、前記個別値テーブルをさらに含み、
前記モックアップ用ソースコードを生成する手順において、生成された前記モックアップ用ファイルの前記ルールテーブルおよび前記値テーブルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する手順、をコンピュータに実行させるためのプログラム。
４．  ２．または３．に記載のプログラムにおいて、
前記画面情報を取得する手順において、
前記画面の前記画面構成要素を識別する名称を取得する手順、
前記ルールテーブルを生成する手順において、
前記画面の前記画面構成要素の前記名称を、前記ルールテーブルの対応する前記条件項目のフィールド名にする手順、をコンピュータに実行させるためのプログラム。
５．  ２．乃至４．いずれか１つに記載のプログラムにおいて、
前記ルールテーブルは、業務ロジックを定義でき、
前記値テーブルは、前記業務ロジックで参照する業務データを定義でき、
ユーザにより定義された前記業務ロジックおよび業務データに対応する、前記条件項目の値、前記遷移パターン、および前記出力値が入力された前記モックアップ用ファイルを用いて、前記ソースコードを実行し、前記対象アプリケーションをシミュレーションする手順、をコンピュータに実行させるためのプログラム。
【０１０８】
６．  開発装置が、
対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得し、
取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成する、
開発装置のデータ処理方法。
７．  ６．に記載の開発装置のデータ処理方法において、
前記開発装置が、
前記モックアップ用ファイルに含まれるルールテーブルであって、遷移前の画面の画面構成要素毎に設けられる条件項目、および、各遷移パターンを特定する値を設定可能な遷移パターン項目を有するルールテーブルのテンプレートを画面に対するアクション毎に生成し、
前記モックアップ用ファイルに含まれる複数の値テーブルであって、前記各遷移パターンにそれぞれ対応付けられ、遷移後の画面の画面構成要素毎に出力値を定義できる複数の値テーブルのテンプレートを画面に対するアクションおよび該アクションに応じて遷移される画面毎に生成し、
前記モックアップ用ファイルは、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンと、遷移後の画面に設けられる少なくとも１つの画面構成要素のための異なる出力値と、をそれぞれ対応付ける、
開発装置のデータ処理方法。
８．  ７．に記載の開発装置のデータ処理方法において、
前記開発装置が、
前記各アクションに対応付けられた前記各値テーブルにおいて、
前記画面構成要素毎の出力値フィールドが設定されており、
出力値が所定のデータタイプの画面構成要素の出力値フィールドには、該所定のデータタイプに対応し、かつ、該所定のデータタイプの値が設定される個別値テーブルを指定する所定の制御文字列が設定され、
前記モックアップ用ファイルは、前記個別値テーブルをさらに含む、
開発装置のデータ処理方法。
９．  ７．または８．に記載の開発装置のデータ処理方法において、
前記開発装置が、
前記画面の前記画面構成要素を識別する名称を取得し、
前記画面の前記画面構成要素の前記名称を、前記ルールテーブルの対応する前記条件項目のフィールド名にする、
開発装置のデータ処理方法。
１０．  ７．乃至９．いずれか１つに記載の開発装置のデータ処理方法において、
前記ルールテーブルは、業務ロジックを定義でき、
前記値テーブルは、前記業務ロジックで参照する業務データを定義でき、
前記開発装置が、
ユーザにより定義された前記業務ロジックおよび業務データに対応する、前記条件項目の値、前記遷移パターン、および前記出力値が入力された前記モックアップ用ファイルを用いて、前記ソースコードを実行し、前記対象アプリケーションをシミュレーションする、
開発装置のデータ処理方法。
【０１０９】
１１．  対象アプリケーションの各画面に設けられる画面構成要素に関する画面情報、および前記画面間の遷移に関する画面遷移情報を取得する画面情報取得手段と、
前記画面情報取得手段により取得される前記画面情報および前記画面遷移情報に基づいて、遷移前の画面に設けられる少なくとも１つの画面構成要素に入力され得る値を少なくとも１つの条件項目とし、該少なくとも１つの条件項目の異なる値にそれぞれ対応する複数の遷移パターンが定義されたモックアップ用ファイルを参照することにより、モックアップ用画面遷移を実現するモックアップ用ソースコードを生成するソースコード生成手段と、
を備える開発装置。
【符号の説明】
【０１１０】
１  アプリケーション開発システム
３  ネットワーク
６０  コンピュータ
６２  ＣＰＵ
６４  メモリ
６６  ストレージ
６９  バス
７２  入力装置
７４  表示装置
８０  プログラム
１００  開発装置
１０２  画面情報取得部
１０４  ソースコード生成部
１１４  モックアップ用ファイル
１１６  ソースコード
１２０  設計情報リポジトリ
１２２  データベース
１３０  ウェブサーバ
１３２  ウェブアプリケーション
１４０、１４０ａ、１４０ｂ  端末
１４２  ブラウザ
２００  開発装置
２０２  ルールテーブル生成部
２０４  値テーブル生成部
２１４  モックアップ用ファイル
２１４ａ  モックアップ用テンプレートファイル
２１４ｂ  モックアップ用データファイル
２１６ａ  モックアップコード
２１６ｂ  本番コード
２２２  ルールテーブル
２２４  値テーブル
２３０  入力画面
２３２  入力欄
２３３  入力欄
２３４  ＯＫボタン
２３６  キャンセルボタン
２４０  出力画面
２４２  リスト表示部
３０２  エディタ
３０４  パターン展開機能部
３０６  統合ビルダ
３０８  ＡＮＴ
３１０  実行モジュール
３１２  アクションタグ
３１４  コントロール
３１６  ＪＳＰ
３２０  Ｂｅａｎ生成部
３２２  ＤＡＯ
３３０、３３２  コード
３４０  ファイル
３４２  Tablesシート
３４４、３４８  フィールド
３４６、３５０  レコード
３５６  レコード群
３５８  デフォルトシート
５０２  ZAA02APLogicDataクラス
５０４  フィールドsubZAA02APLogicData
５０６  subZAA02APLogicDataシート
５１０  プロパティファイル
６０２  ZAA02APLogicDataクラス
６０４  フィールドlistField
６０６  listFieldシート
６１０  プロパティファイル
７１０  コード
【図１】
2015210639.tif 000005
【図２】
2015210639.tif 000006
【図３】
2015210639.tif 000007
【図４】
2015210639.tif 000008
【図５】
2015210639.tif 000009
【図６】
2015210639.tif 000010
【図７】
2015210639.tif 000011
【図８】
2015210639.tif 000012
【図９】
2015210639.tif 000013
【図１０】
2015210639.tif 000014
【図１１】
2015210639.tif 000015
【図１２】
2015210639.tif 000016
【図１３】
2015210639.tif 000017
【図１４】
2015210639.tif 000018
【図１５】
2015210639.tif 000019
【図１６】
2015210639.tif 000020
【図１７】
2015210639.tif 000021
【図１８】
2015210639.tif 000022
【図１９】
2015210639.tif 000023
【図２０】
2015210639.tif 000024
【図２１】
2015210639.tif 000025
【図２２】
2015210639.tif 000026
【図２３】
2015210639.tif 000027
【図２４】
2015210639.tif 000028
【図２５】
2015210639.tif 000029
【図２６】
2015210639.tif 000030
【図２７】
2015210639.tif 000031