(57)【要約】【課題】  １つの設計図面から画面遷移と、ある画面が呼び出す一連のコンポーネントの呼び出し順と、システム全体のコンポーネントの呼び出し順を表示すること。【解決手段】  ３次元画面遷移図データと表示制御データと３次元画面遷移図編集部と３次元画面遷移図表示部とから構成し、一連のコンポーネント呼び出し順の定義からコンポーネントの３次元的な位置を決定し、表示制御データを更新することで視線の変更を変更し、設計図面の正面図、側面図、上面図で、画面遷移図と、一連の呼び出し順序と、システム全体の呼び出し順序をそれぞれ表示する。【選択図】  図１５
2007249561.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを構成する複数の画面から成る画面遷移図における各画面での操作に対する処理を定義した複数階層に亘るコンポーネントと各画面との呼び出し関係を表示するシステムであって、
前記画面遷移図を構成する各画面について、画面遷移図定義画面における入力操作に応じた画面名称等の画面定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状を持つ画面オブジェクトを生成する画面定義手段と、
生成された各画面に対する複数階層に亘るコンポーネントについて、コンポーネント定義画面における入力操作に応じたコンポーネント名称等のコンポーネント定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つコンポーネントを生成するコンポーネント定義手段と、
生成したコンポーネントの呼び出し順について、呼び出し順定義画面における入力手段からの呼び出し順情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ呼び出し線オブジェクトを生成するコンポーネント呼び出し順定義手段と、
前記画面定義手段で定義した各画面の画面遷移について、画面遷移定義画面における入力手段から画面遷移定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ画面遷移オブジェクトを生成する画面遷移定義手段と、
前記画面定義手段、コンポーネント定義手段、コンポーネント呼び出し順定義手段、画面遷移定義手段が定義したコンポーネント及びオブジェクトを３次元画面遷移図データとして格納する第１の格納手段と、
前記第１の格納手段に格納された３次元画面遷移図データを読み出し、前記各手段で定義された画面とコンポーネント及び呼び出し関係を、各オブジェクト及びコンポーネントが表示属性として保持する３次元位置情報と３次元形状情報に基づき、３次元的または３次元空間の指定された視点から見える画面遷移図として表示画面に表示する表示手段と
を備えることを特徴とする画面遷移図の表示システム。
【請求項２】
コンピュータを、アプリケーションを構成する複数の画面から成る画面遷移図における各画面での操作に対する処理を定義した複数階層に亘るコンポーネントと各画面との呼び出し関係を表示するシステムとして機能させるプログラムであって、
コンピュータを、
前記画面遷移図を構成する各画面について、画面遷移図定義画面における入力操作に応じた画面名称等の画面定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状を持つ画面オブジェクトを生成する画面定義手段と、
生成された各画面に対する複数階層に亘るコンポーネントについて、コンポーネント定義画面における入力操作に応じたコンポーネント名称等のコンポーネント定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つコンポーネントを生成するコンポーネント定義手段と、
生成したコンポーネントの呼び出し順について、呼び出し順定義画面における入力手段からの呼び出し順情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ呼び出し線オブジェクトを生成するコンポーネント呼び出し順定義手段と、
前記画面定義手段で定義した各画面の画面遷移について、画面遷移定義画面における入力手段から画面遷移定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ画面遷移オブジェクトを生成する画面遷移定義手段と、
前記画面定義手段、コンポーネント定義手段、コンポーネント呼び出し順定義手段、画面遷移定義手段が定義したコンポーネント及びオブジェクトを３次元画面遷移図データとして格納する第１の格納手段と、
前記第１の格納手段に格納された３次元画面遷移図データを読み出し、前記各手段で定義された画面とコンポーネント及び呼び出し関係を、各オブジェクト及びコンポーネントが表示属性として保持する３次元位置情報と３次元形状情報に基づき、３次元的または３次元空間の指定された視点から見える画面遷移図として表示画面に表示する表示手段と
して機能させることを特徴とする画面遷移図表示用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発システムにおける画面遷移図のコンポーネント呼び出し関係の表示システム及びプログラムに関するものである。
【背景技術】
【０００２】
現在、インターネットの普及により、Webブラウザを通して利用するアプリケーションが非常に多く開発されている。このようなアプリケーションはWebアプリケーションと呼ばれる。
近年のWebアプリケーションの開発では、コンポーネントの依存関係を明確してコンポーネント間の結合を疎とするために、レイヤーと呼ばれる機能の層に分割してコンポーネントを開発することが一般的となってきている。
【０００３】
図６２は、一般的なWebアプリケーションの構成例を示す図であり、画面遷移や表示内容を定義するコンポーネントからなる画面レイヤー（６２０１）と、リクエストを処理するコンポーネントからなるActionレイヤー（６２０２）と、具体的な業務の処理を行うコンポーネントからなるBL(Business Logic)レイヤーと（６２０３）、データの操作を行うDAO(Data Access Object)レイヤーと（６２０４）、データを表現するコンポーネントからなるDB(Data Base)レイヤー（６２０５）に別けられて構成されている。画面レイヤー（６２０１）のコンポーネントが最下位層のコンポーネントである。
下位のレイヤーのコンポーネントは、上位のレイヤーのコンポーネントの処理を呼び出して利用することができる。
図中の矢印はコンポーネントが呼び出し関係を表しており、例えば図中の画面A（６２０７）はAction1（６２０８）を呼び出すことを表す。
【０００４】
このように構成されたWebアプリケーションでは、レイヤーが同じであるコンポーネントは処理が似たようなプログラム構造となることが多い。そこで、必要となる情報を設計図に定義し、呼び出し関係を定義した設計書とソースコードの生成規則を定義したテンプレートを入力として骨組みとなるソースコードを自動生成する手法がよく行われている。
図６２の６２０９は画面レイヤー（６２０１）のコンポーネントを生成するツールの一例を示し、このツールでは、画面（６２１０）と、画面遷移（６２１１）から構成される画面遷移図と呼ばれる図面を定義し、その内容を基に指定された画面遷移を実装したソースコードを生成する。
【０００５】
本発明に関連する公知技術文献としては下記特許文献１があげられる。
【特許文献１】特開平７−２１９７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、Webアプリケーションの各コンポーネントは、レイヤーごとに設計対象が画面の内容であったり、処理の内容であったりするため、それぞれ異なったツールで設計する事が一般的である。また、レイヤー間の呼び出し関係については実装者が自動生成されたコードに直接実装するため、システム全体の呼び出し関係は設計図として後に残らない事が多い。そのため、コンポーネントに対する修正の影響範囲を把握するのにはレイヤーごとの設計図を見比べたり、直接ソースコードを判読したりする必要があった。
これはシステム全体のコンポーネント呼び出し関係を他の設計図で記述することで解決できる。しかし、コンポーネントの数が膨大となるため、それぞれの呼び出し関係を記述するのが大変な手間となる。また、図が煩雑となるため、肝心な情報である画面遷移や、ある画面が呼び出す一連のコンポーネントの呼び出し順序が解りづらくなる問題がある。
【０００７】
本発明の目的は、一つの設計図面から画面遷移と、ある画面が呼び出す一連のコンポーネントの呼び出し順と、システム全体のコンポーネントの呼び出し順を分かり易く表示し、システム全体のコンポーネントの呼び出し関係を容易に把握することができる画面遷移図のコンポーネント呼び出し関係の表示手法及びプログラムにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る画面遷移図の表示システムは、アプリケーションを構成する複数の画面から成る画面遷移図における各画面での操作に対する処理を定義した複数階層に亘るコンポーネントと各画面との呼び出し関係を表示するシステムであって、
前記画面遷移図を構成する各画面について、画面遷移図定義画面における入力操作に応じた画面名称等の画面定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状を持つ画面オブジェクトを生成する画面定義手段と、生成された各画面に対する複数階層に亘るコンポーネントについて、コンポーネント定義画面における入力操作に応じたコンポーネント名称等のコンポーネント定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つコンポーネントを生成するコンポーネント定義手段と、生成したコンポーネントの呼び出し順について、呼び出し順定義画面における入力手段からの呼び出し順情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ呼び出し線オブジェクトを生成するコンポーネント呼び出し順定義手段と、前記画面定義手段で定義した各画面の画面遷移について、画面遷移定義画面における入力手段から画面遷移定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ画面遷移オブジェクトを生成する画面遷移定義手段と、前記画面定義手段、コンポーネント定義手段、コンポーネント呼び出し順定義手段、画面遷移定義手段が定義したコンポーネント及びオブジェクトを３次元画面遷移図データとして格納する第１の格納手段と、前記第１の格納手段に格納された３次元画面遷移図データを読み出し、前記各手段で定義された画面とコンポーネント及び呼び出し関係を、各オブジェクト及びコンポーネントが表示属性として保持する３次元位置情報と３次元形状情報に基づき、３次元空間の指定された視点から見える画面遷移図として表示画面に表示する表示手段とを備えることを特徴とする。
【０００９】
また、コンピュータを、アプリケーションを構成する複数の画面から成る画面遷移図における各画面での操作に対する処理を定義した複数階層に亘るコンポーネントと各画面との呼び出し関係を表示するシステムとして機能させるプログラムであって、
コンピュータを、
前記画面遷移図を構成する各画面について、画面遷移図定義画面における入力操作に応じた画面名称等の画面定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状を持つ画面オブジェクトを生成する画面定義手段と、生成された各画面に対する複数階層に亘るコンポーネントについて、コンポーネント定義画面における入力操作に応じたコンポーネント名称等のコンポーネント定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つコンポーネントを生成するコンポーネント定義手段と、生成したコンポーネントの呼び出し順について、呼び出し順定義画面における入力手段からの呼び出し順情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ呼び出し線オブジェクトを生成するコンポーネント呼び出し順定義手段と、前記画面定義手段で定義した各画面の画面遷移について、画面遷移定義画面における入力手段から画面遷移定義情報を受付け、表示属性として当該定義画面における入力位置に対応した３次元座標系の位置情報と予め定めた３次元形状情報を持つ画面遷移オブジェクトを生成する画面遷移定義手段と、前記画面定義手段、コンポーネント定義手段、コンポーネント呼び出し順定義手段、画面遷移定義手段が定義したコンポーネント及びオブジェクトを３次元画面遷移図データとして格納する第１の格納手段と、前記第１の格納手段に格納された３次元画面遷移図データを読み出し、前記各手段で定義された画面とコンポーネント及び呼び出し関係を、各オブジェクト及びコンポーネントが表示属性として保持する３次元位置情報と３次元形状情報に基づき、３次元的または３次元空間の指定された視点から見える画面遷移図として表示画面に表示する表示手段として機能させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、１つの設計図面で画面遷移と、ある画面が呼び出す一連のコンポーネントの呼び出し順と、システム全体のコンポーネントの呼び出し順を３次元的に表示するため、ある画面が呼び出す一連のコンポーネントの呼び出し順と、システム全体のコンポーネントの呼び出し順を容易に把握することができるが可能となり、例えばコンポーネントを修正する必要が生じた場合に、その修正範囲の把握が容易となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図１は、本発明の実施の形態を示すシステム構成図であり、入力装置としてキーボード（１０１）とマウス（１０２）を備え、表示装置（１０３）を備えたコンピュータ（１０４）に、オペレーションシステム（１０５）と、３次元画面遷移図編集プログラム（１０６）と、ソースコード編集プログラム（１０７）が実装されている。
表示装置（１０３）には、オペレーションシステム（１０５）によって３次元画面遷移図編集プログラム（１０６）のウィンドウ（１０８）と、ソースコード編集プログラム（１０７）のウィンドウ（１０９）が表示されている。
開発者（１１０）はキーボード（１０１）とマウス（１０２）を用いて、３次元画面遷移図編集プログラム（１０６）を操作し、その表示ウィンドウ（１０８）を参考に、ソースコード編集プログラム（１０７）でソースコードの実装を行う。
【００１２】
図２は、３次元画面遷移図編集プログラム（１０６）の詳細構成を示す機能ブロック図であり、本プログラム（１０６）は３次元画面遷移図データ格納部（２０１）と、生成テンプレート格納部（２０２）と、表示制御データ格納部（２０３）と、３次元画面遷移図表示部（２０４）と、選択オブジェクト判定部（２０５）と、３次元画面遷移図編集部（２０６）と、ソースコード生成部（２０７）から構成される。
【００１３】
３次元画面遷移図データ格納部（２０１）は、外部記憶装置の３次元画面遷移図データを読み込み管理する機能を備える。
表示制御データ格納部（２０３）は、視線や描画フラグといった、３次元画面遷移図データ（２０１）を表示するための制御データを管理する機能を備える。
生成テンプレート格納部（２０２）は、３次元画面遷移図データ格納部（２０１）に格納された３次元画面遷移図データからソースコードを生成するためのテンプレートを管理する機能を備える。
【００１４】
３次元画面遷移図表示部（２０４）は、３次元画面遷移図データ格納部（２０１）に格納された３次元画面遷移図データを読み込み、画面遷移図表示手段（２０８）、コンポーネント呼び出し図表示手段（２０９）、全体コンポーネント呼び出し図表示手段（２１０）を用いて表示制御データ格納部（２０３）に格納されている表示制御データを更新する。そして、ウィンドウ描画部（２１１）を使用して３次元画面遷移図データを表示装置（１０３）のウィンドウ（１０８）に表示する。
【００１５】
ウィンドウ描画部（２１１）は、３次元オブジェクト描画手段（２１２）とラベル描画手段（２１３）を備える。
３次元オブジェクト描画手段（２１２）は、表示制御データ格納部（２０３）に格納されている表示制御データを入力として、３次元画面遷移図データをウィンドウ（１０８）に描画する機能を備える。
ラベル描画手段（２１３）は、ウィンドウ（１０８）に描画された３次元オブジェクトの近傍に、３次元オブジェクトが保持するラベル文字列を描画する機能を備える。
【００１６】
選択オブジェクト判定部（２０５）はウィンドウ中のマウスイベントが発生した位置を取得し、選択された３次元オブジェクトや、３次元空間中の位置を判定する機能を備える。
選択オブジェクト判定部（２０５）の結果は、３次元画面遷移図編集部（２０６）に渡される。
【００１７】
３次元画面遷移図編集部（２０６）は、３次元画面遷移図データ格納部（２０１）に格納された３次元画面遷移図データに対して編集を行う部分であり、画面遷移図編集部（２１４）と、コンポーネント呼び出し図編集部（２１５）から構成される。
画面遷移図編集部（２１４）は、画面遷移図表示手段（２０８）の表示内容に対して操作を行う部分であり、画面定義手段（２１６）と呼び出し順定義手段（２１７）と、画面遷移定義手段（２１８）を備える。
【００１８】
コンポーネント呼び出し図編集部（２１５）は、コンポーネント呼び出し図表示手段（２０９）の表示内容に対して操作を行う部分であり、コンポーネント定義手段（２１９）を備える。
コンポーネント定義手段（２１９）は内部処理的にコンポーネント位置決定手段（２１５）を呼び出す。
【００１９】
ソースコード生成部（２０７）は、編集が完了した３次元画面遷移図データと、生成テンプレートを入力としてアプリケーションの骨組みとなるソースコードを生成する機能を備える。
【００２０】
図３は、３次元画面遷移図データ格納部（２０１）に格納される３次元画面遷移図データの構成図であり、本データは、図名称（３０１）と、画面オブジェクト群（３０２）と、画面遷移オブジェクト群（３０３）と、Actionオブジェクト群（３０４）と、BLオブジェクト群（３０５）と、DAOオブジェクト群（３０６）と、DBオブジェクト群（３０７）と、呼出し線オブジェクト群（３０８）と、レイヤー境界オブジェクト群（３０９）と、呼出し順序データ群（３１０）から構成される。
このうち、呼び出し順データ群（３１０）を除くデータは、３次元的な位置や形状を持ち、特に３次元オブジェクト（３１１）と呼ぶ。
また、Actionオブジェクト群（３０４）と、BLオブジェクト群（３０５）と、DAOオブジェクト群（３０６）と、DBオブジェクト群（３０７）の個々のデータを特にコンポーネント（３１２）と呼ぶ。
なお、以下において、画面オブジェクト群（３０２）、画面遷移オブジェクト群（３０３）、Actionオブジェクト群（３０４）、BLオブジェクト群（３０５）、DAOオブジェクト群（３０６）、DBオブジェクト群（３０７）、呼出し線オブジェクト群（３０８）、レイヤー境界オブジェクト群（３０９）、呼出し順序データ群（３１０）のそれぞれを構成する各オブジェクトについては、画面オブジェクト（３０２ｄ）、画面遷移オブジェクト（３０３ｄ）、Actionオブジェクト（３０４）、BLオブジェクト（３０５ｄ）、DAOオブジェクト（３０６ｄ）、DBオブジェクト（３０７）、呼出し線オブジェクト（３０８ｄ）、レイヤー境界オブジェクト（３０９ｄ）、呼出し順序データ（３１０ｄ）というように“ｄ”の添え字を付加し、“オブジェクト群”とを区別して表記する。
【００２１】
３次元オブジェクト（３１１）は、図４に示すように、共通の属性項目として、オブジェクトID（４０１）と、ラベル（４０２）と、色（４０３）と、座標変換行列（４０４）と、形状（４０５）のデータを備える。
オブジェクトID（４０１）は整数値で構成されており、３次元オブジェクト（３１１）の生成時に３次元オブジェクト（３１１）で一意となるものが計算されて格納される。
ラベル（４０２）は任意の文字列で構成される。
色（０４０３）は、R、G、Bと透明度からなる数値データで構成される。
座標変換行列（４０４）は、ローカル座標系で表現された座標データをワールド座標系の座標データに変換する行列式のデータで構成される。
形状データ（４０５）は、３次元オブジェクト（３１１）の各頂点の座標データで構成される。
【００２２】
ローカル座標系とは、図５の説明図に示すように、３次元オブジェクト（５０１）の形状を単独で表現する座標系であり、ワールド座標系とは３次元オブジェクト（５０１）を配置する３次元空間を定義する座標系である。
ワールド座標系で定義された３次元空間に配置された３次元オブジェクト（５０１）は、投影によって２次元図形に変換されて表示装置（１０３）のウィンドウ（１０８）に表示される。
ワールド座標系に配置された３次元オブジェクトを投影する投影面を定義するのが投影面座標系であり、投影面に投影される３次元オブジェクト（２次元投影像）は視点と注視点を結んだ視線と、投影面の上方向ベクトルの方向に応じて変化する。
３次元オブジェクトをウィンドウに表示する際には、視点から見える視野を設定するが、視点から見て投影面の手前側で見える範囲を前平面の位置で設定し、奥行き方向に見える範囲を後平面の位置で設定する。前平面と後平面の直方体の３次元空間が視体積である。
【００２３】
本発明に関わる実施形態では図に示すように、設定された視線と上方向ベクトルを基準として、投影面と後平面の位置を決定し、ローカル座標系で定義された３次元オブジェクト（５０１）をワールド座標系上の投影面に平行投影を行う。
平行投影で得た投影像はウィンドウの座標系にマッピングして表示される。また、各３次元オブジェクトが持つラベルを取得してその近傍に描画する。
【００２４】
図６は表示制御データ（２０３）に格納される表示制御データの構成図であり、本データは視点（６０１）と、注視点（６０２）と、投影面上方向ベクトル（６０３）と、描画フラグ群（６０４）から構成される。
視点（６０１）と注視点（６０２）は、グローバル座標系中の座標データで構成され、投影面上方向ベクトル（６０２）はグローバル座標系中のベクトルデータで構成される。
描画フラグ（６０４）は生成された３次元オブジェクト（３１１）ごとに存在し、boolean型で構成される。描画フラグ（６０４）がfalseである３次元オブジェクト（３１１）はウィンドウ（１０８）に描画せず、選択もできないものとする。
【００２５】
図７は、画面オブジェクト（３０２ｄ）のデータ構造の一例を示す図である。
画面オブジェクト（３０２ｄ）は、画面レイヤーのコンポーネントを表現し、図４に示した共通属性に加えてパス（７０１）と画面名称（７０２）を保持する。なお、画面オブジェクト（３０２ｄ）の形状（４０５）は直方体とし、ラベル（４０２）には画面名称（７０２）と同じものが格納されるものとする。
【００２６】
図８は、Actionオブジェクト（３０４ｄ）のデータ構造の一例を示す図である。
Actionオブジェクト（３０４ｄ）は、Actionレイヤーのコンポーネントを表現し、図４に示した共通属性に加えて、クラス名（８０１）と、引数（８０２）と、結果ID（８０３）を保持する。
引数（８０２）と、結果ID（８０３）は、１つのActionオブジェクト（３０２ｄ）が複数保持する場合があり、引数（８０２）はデータが存在しない場合がある。なお、Actionオブジェクト（３０４ｄ）の形状（４０５）は球とし、ラベル（４０２）にはクラス名（８０１）と同じものが格納されるものとする。
【００２７】
図９は、BLオブジェクト（３０５ｄ）のデータ構造の一例を示す図である。
BLオブジェクト（３０５ｄ）は、BLレイヤーのコンポーネントを表現し、図４に示した共通属性に加えて、クラス名（９０１）と、メソッド名（９０２）と、引数（９０３）と、返り値（９０４）を保持する。
引数（９０３）は１つのBLオブジェクト（３０５ｄ）が複数保持する場合がある。また、データが存在しない場合がある。なお、BLオブジェクト（３０５ｄ）の形状（４０５）は球とし、ラベル（４０２）にはクラス名（９０１）とメソッド名（９０２）をシャープ文字で連結した文字列が格納されるものとする。
【００２８】
図１０は、DAOオブジェクト（３０６ｄ）のデータ構造の一例を示す図である。
DAOオブジェクト（３０６ｄ）は、DAOレイヤーのコンポーネントを表現し、図４に示した共通属性に加えて、クラス名（１００１）と、メソッド名（１００２）と、引数（１００３）と、返り値（１００４）を保持する。
引数（１００３）は１つのDAOオブジェクト（３０６ｄ）が複数保持する場合がある。また、データが存在しない場合もある。なお、DAOオブジェクト（３０６ｄ）の形状（４０５）は球とし、ラベル（４０２）にはクラス名（１００１）と、メソッド名（１００２）をシャープ文字で連結した文字列が格納されるものとする。
【００２９】
図１１は、DBオブジェクト（３０７ｄ）のデータ構造の一例を示す図である。
DBオブジェクト（３０７ｄ）は、DBレイヤーのコンポーネントを表現し、図４に示した共通属性に加えて、DB名（１１０１）と、URL（１１０２）と、テーブル名（１１０３）と、列名（１１０４）を保持する。１つのDBオブジェクト（３０７）が複数の列名（１１０４）を保持する場合がある。なお、DBオブジェクト（３０７ｄ）の形状（４０５）は立方体とし、ラベル（４０２）にはDB名（１１０１）と、テーブル名（１１０３）をピリオド文字で連結した文字列が格納されるものとする。
【００３０】
図１２は、画面遷移オブジェクト（３０３ｄ）のデータ構造の一例を示す図である。
画面遷移オブジェクト（３０３ｄ）は、図４に示した共通属性に加えて、遷移元画面（１２０１）と、結果ID（１２０２）と、遷移先画面（１２０３）を保持する。
遷移元画面（１２０１）と、遷移先画面（１２０３）には、それぞれ該当する画面オブジェクト（３０２ｄ）のオブジェクトID（４０１）が格納される。また、結果ID（１２０２）にはActionオブジェクト（３０４ｄ）の結果ID（８０３）が格納される。
遷移先画面（１２０３）は、編集段階によっては未定義の場合がある。
なお、画面遷移オブジェクト（３０３ｄ）の形状（４０５）は、遷移元画面（１２０１）の位置を始点とした遷移先画面（１２０３）へ伸びる矢印とし、ラベル（４０２）には結果ID（１２０２）が格納されるものとする。
【００３１】
図１３は、呼び出し線オブジェクト（３０８ｄ）のデータ構造の一例を示す図である。
呼び出し線オブジェクト（３０８ｄ）は、図４に示した共通属性に加えて、開始オブジェクト（１３０１）と、終了オブジェクト（１３０２）と、呼び出し順（１３０３）を保持する。
開始オブジェクト（１３０１）と終了オブジェクト（１３０２）には、該当するコンポーネント（３１２）のオブジェクトID（４０１）が格納される。
また、呼び出し順ID（１３０３）には、呼び出し順データ（３１０）のIDが格納される。
なお、呼び出し線オブジェクト（３０８ｄ）の形状（４０５）は、開始オブジェクト（１３０１）の位置を始点とした終了オブジェクト（１３０２）へ伸びる矢印とし、ラベル（４０２）には空文字が格納されるものとする。
レイヤー境界オブジェクト（３０９）は、レイヤーごとに存在し、位置が固定された板状の平面で表現される。
各コンポーネント（３１２）は、該当するレイヤーのレイヤー境界オブジェクト（３０９）を中心に配置される。
【００３２】
図１４は、呼び出し順データ（３１０ｄ）のデータ構造の一例を示す図である。
呼び出し順データ（３１０ｄ）は、呼び出し順ID（１４０１）と、画面ID（１４０２）と、Action ID（１４０３）と、BL ID（１４０４）と、DAO ID（１４０５）と、DB ID（１４０６）を保持する。
呼び出し順ID（１４０１）は整数値で構成され、呼び出し順データ群で一意となる値が生成時に計算されて格納される。また、１つの呼び出し順データ（３１０ｄ）は一連の呼び出し順序を表し、レイヤーごとに対象となるコンポーネントのオブジェクトID（４０１）が格納される。
例えば図１４の例ではオブジェクトID（４０１）が「３」であるActionオブジェクト（３０４）が、オブジェクトID（４０１）が「４」と「５」のBLオブジェクト（３０５）をそれぞれ呼び出すことを表している。
【００３３】
図１５は、座標変換行列（４０４）によってワールド座標系に配置された３次元オブジェクト（３１１）と、３次元画面遷移図編集プログラム（１０６）がウィンドウ（１０８）に表示する内容の関連を表す説明図である。
図のうち、１５０１は３次元オブジェクト（３１１）の配置例を示し、１５０２と、１５０３と、１５０４は３次元画面遷移図編集プログラム（１０６）が表示するウィンドウ（１０８）の例を示す。
本実施形態における視線はワールド座標系のZw軸正方向（１５０５）と、Xw軸負方向（１５０６）と、Yw軸負方向（１５０７）のいずれかに平行となる。
本実施形態ではZw軸正方向（１５０５）に沿って投影した図(正面図)を画面遷移図と呼び、Xw軸負方向（１５０６）に沿って投影した図(側面図)をコンポーネント呼び出し図と呼び、また、Yw軸負方向（１５０７）に沿って投影した図(上面図)を全体コンポーネント投影図と呼ぶ。
【００３４】
画面遷移図（１５０２）は画面の遷移関係を示すものであり、画面オブジェクト（１５０８）と、画面遷移オブジェクト（１５０９）から構成される。
コンポーネント呼び出し図（１５０３）は画面が呼び出す一連の呼び出し順を示すものであり、画面オブジェクト（１５１０）と、Actionオブジェクト（１５１１）と、BLオブジェクト（１５１２）と、DAOオブジェクト（１５１３）と、DBオブジェクト（１５１４）と、呼び出し線オブジェクト（１５１５）と、レイヤー境界オブジェクト（１５１６）から構成される。
全体コンポーネント呼び出し図（１５０４）はシステム全体のコンポーネント呼び出し順を示すものであり、画面オブジェクト（１５１６）と、Actionオブジェクト（１５１８）と、BLオブジェクト（１５１９）と、DAOオブジェクト（１５２０）と、DBオブジェクト（１５２１）と、呼び出し線オブジェクト（１５２２）と、レイヤー境界オブジェクト（１５２３）から構成される。
【００３５】
図１６は、本システムを使用したＷｅｂアプリケーション開発作業における全体の作業手順を示すフローチャートである。
開発者（１１０）は、まず、３次元画面遷移図編集プログラム（１０６）を起動し（ステップ１６０１）、３次元画面遷移図データを、図名称（３０１）を指定して新規作成を指示する（ステップ１６０２）。
すると、３次元画面遷移図編集プログラム（１０６）は画面遷移図表示手段（２０８）を用いてウィンドウ（１０８）に画面遷移図（１５０２）を新規作成するための初期画面表示する（ステップ１６０３）。この段階では、画面遷移図（１５０２）中には画面オブジェクトは何ら表示されていない空白状態である。
次に開発者（１１０）は、画面定義手段（２１６）を用いて画面オブジェクト（１５０８）を定義する（ステップ１６０４）。
１つの画面オブジェクト（１５０８）の定義を完了すると、開発者（１１０）はコンポーネント呼び出し図表示手段（２０９）を用いて、コンポーネント呼び出し図（１５０３）を表示する（ステップ１６０５）。
次に開発者（１１０）は、呼び出し順定義手段（２１７）を用いて呼び出し順データ群（３１０）を作成し、コンポーネント呼び出し図表示手段（２０９）を用いてコンポーネント呼び出し図（１５０３）を表示し、コンポーネント定義手段（２１９）を用いて画面オブジェクト（１５１０）が呼び出すコンポーネントの一連の順序の定義を行う（ステップ１６０６）。
【００３６】
呼び出し順の定義を完了すると、開発者（１１０）は画面遷移図表示手段（２０８）を用いて画面遷移図（１５０２）に表示を戻し（ステップ１６０７、１６０８）、画面オブジェクト（１５０８）の定義を続ける。
全ての画面オブジェクト（１５０８）と、呼び出し順データ（３１０）の定義を完了すると（ステップ１６０９）、開発者（１１０）は画面遷移定義手段（２１８）を用いて画面遷移（１５０９）を定義する（ステップ１６１０）。
全ての画面遷移（１５０９）の定義を完了すると、開発者（１１０）はソースコード生成部（２０７）を用いて、アプリケーションの骨組みとなるソースコードを生成する（ステップ１６１１）。
【００３７】
次に、開発者（１１０）は全体コンポーネント呼び出し図表示手段（２１０）を用いて、ウィンドウ（１０８）に全体コンポーネント呼び出し図（１５０４）を表示する（ステップ１６１２）。また、必要に応じて画面遷移図（１５０２）やコンポーネント呼び出し図（１５０３）も表示する。そして開発者（１１０）は、表示された内容を参考に、ソースコード編集プログラム（１０７）で生成されたソースコードに対して具体的な処理を実装する（ステップ１６１３）。実装が完了すると開発は終了となる（ステップ１６１４）。
【００３８】
図１７は画面遷移図表示手段（２０８）の処理手順を示すフローチャートである。
まず、表示制御データ格納部（２０３）の表示制御データの全ての描画フラグ（６０４）をfalseで初期化する（ステップ１７０１）。
次に、全ての画面オブジェクト（３０２ｄ）の描画フラグ（６０４）をtrueに設定する（ステップ１７０２）。
次に、全ての画面遷移オブジェクト（３０３ｄ）の描画フラグ（６０４）をtrueに設定する（ステップ１７０３）。
次に、正面図を表示させるように、視線の方向をZw軸正方向に設定し、投影面の上方向ベクトルをYw軸正方向に設定する（ステップ１７０４）。そして、描画フラグ（６０４）がtrueである３次元オブジェクト（３１１）をウィンドウ（１０８）に描画して終了する（ステップ１７０５）。
【００３９】
図１８はコンポーネント呼び出し図表示手段（２０９）の処理手順を示すフローチャートである。
まず、表示制御データ格納部（２０３）の表示制御データの全ての描画フラグ（６０４）をfalseで初期化する（ステップ１８０１）。
次に、レイヤー境界オブジェクト（３０９ｄ）の描画フラグ（６０４）をtrueで更新する（ステップ１８０２）。
次に、開発者（１１０）が指定した１つの呼び出し順データ（３１０ｄ）を取得する（ステップ１８０３）。
次に、取得した呼び出し順データ（３１０ｄ）が参照する３次元オブジェクト（３１１）を取得し、それぞれの描画フラグ（６０４）をtrueで更新する（ステップ１８０４）。
次に、選択された呼び出し順データ（３１０ｄ）から呼び出し順ID（１４０１）を取得し、ID（１３０３）が一致する呼び出し線オブジェクト（３０８ｄ）の描画フラグ（６０４）をtrueで更新する（ステップ１８０５）。
次に、側面図を表示させるように、視線方向をXw軸負方向へ、投影面上ベクトルをYw軸正方向に設定する（ステップ１８０６）。そして、描画フラグ（６０４）がtrueである３次元オブジェクト（３１１）をウィンドウ（１０８）に描画して終了する（ステップ１８０７）。
【００４０】
図１９は全体コンポーネント呼び出し図表示手段（２１０）の処理手順を示すフローチャートである。
まず、表示制御データ格納部（２０３）の表示制御データの全ての描画フラグ（６０４）をfalseで初期化する（ステップ１９０１）。
次に、レイヤー境界オブジェクト（３０９ｄ）の描画フラグ（６０４）をtrueで更新する（ステップ１９０２）。
次に、１つの呼び出し順序データ（３１０ｄ）を取得する。
次に、取得した呼び出し順データ（３１０ｄ）が参照する３次元オブジェクト（３１１）を取得し、それぞれの描画フラグ（６０４）をtrueで更新する（ステップ１９０３、１９０４）。
次に、呼び出し順ID（１４０１）を取得し、ID（１３０３）が一致する呼び出し線オブジェクト（３０８ｄ）の描画フラグ（６０４）をtrueで更新する（ステップ１９０５）。
以上の処理を全ての呼び出し順データ（３１０ｄ）に対して行う（ステップ１９０６）。
次に、上面図を表示させるように、視線の方向をYw軸負方向に設定し、投影面上方向ベクトルをZ軸負方向に設定する（ステップ１９０７）。そして、描画フラグ（６０４）がtrueである３次元オブジェクト（３１１）をウィンドウ（１０８）に描画して終了する（ステップ１９０８）。
【００４１】
図２０は画面定義手段（２１６）の処理手順を示すフローチャートである。
まず、選択オブジェクト判定部（２０５）を用いて開発者（１１０）が指定したウィンドウ中の位置（X,Y）からグローバル座標系の位置Xw、Ywの値を取得する（ステップ２００１、２００２）。
次に、新規作成画面を表示して操作者（１１０）に示し、パスと画面名称の入力を受け付ける（ステップ２００３）。そして、ＯＫボタンが操作されたならば（ステップ２００４）、入力された内容を基に画面オブジェクト（３０２ｄ）を生成して格納し（ステップ２００５，２００６）、グローバル座標系における中心位置を(Xw、Yw、0)とした座標変換行列（４０５）を計算して格納する（ステップ２００７）。
【００４２】
図２１は呼び出し順定義手段（２１７）の処理手順を示すフローチャートである。
まず、選択オブジェクト判定部（２０５）を用いて、開発者（１１０）が指定した画面オブジェクト（３０２ｄ）を取得する（ステップ２１０１）。
次に、画面（１５０８）に対する操作メニューを表示して、呼び出し順の新規作成か選択か、開発者の入力を受け付ける（ステップ２１０２）。
開発者（１１０）が呼び出し順の新規作成を指定した場合（ステップ２１０３）、呼び出し順データ（３１０ｄ）を新規作成し（ステップ２１０４）、選択された画面オブジェクト（３０２）のオブジェクトID（４０１）を呼び出し順データ（３１０ｄ）に格納する（ステップ２１０５）。
【００４３】
そしてコンポーネント呼び出し図表示手段（２０９）を用いてコンポーネント呼び出し図（１５０３）を表示し、コンポーネント（３１１）の定義を受け付ける（ステップ２１０６）。
ステップ２１０３において、開発者（１１０）が呼び出し順の選択を指示した場合、３次元画面遷移図データ（２０１）に格納されている３次元画面遷移図データから全ての呼び出し順データ（３１０ｄ）を取得し、その一覧を選択ウィンドウに表示して入力を受け付ける（ステップ２１０７）。
開発者（１１０）が呼び出し順データ（３１０ｄ）のいずれかを選択してOKボタンを押下すると（ステップ２１０８）、選択された呼び出し順データ（３１０ｄ）を取得し（ステップ２１０９）、コンポーネント呼び出し図表示手段（２０９）を用いてコンポーネント呼び出し図（１５０３）を表示してコンポーネント（３１１）の定義を受け付ける（ステップ２１０６）。
【００４４】
図２２はコンポーネント定義手段（２１９）の処理手順を示すフローチャートである。
まず、選択オブジェクト判定部（２０５）を用いて、開発者（１１０）が指定したレイヤー境界オブジェクト（３１０ｄ）を取得して、指定されたレイヤーを判別する（ステップ２２０１）。
次に、レイヤーに対する操作メニューを表示して、コンポーネントの新規作成か選択か開発者の入力を受け付ける（ステップ２２０２）。
開発者（１１０）が新規作成を指定した場合は（ステップ２２０３）、レイヤーに応じたコンポーネントの新規作成画面を表示して入力を受け付ける（ステップ２２０４）。そして、ＯＫボタンが操作されたならば、入力された内容に基づいてコンポーネント（３１２）を生成し（ステップ２２０５，２２０６）、そのオブジェクトID（４０１）を取得する（ステップ２２０７）。
【００４５】
次に、編集中の呼び出し順序データ（３１０ｄ）を参照し、指定されたレイヤーに既にコンポーネント（３１２）が定義されているか判定する（ステップ２２０８）。
コンポーネント（３１２）が既に定義されている場合は、呼び出し順序データ（３１０ｄ）を新規作成し、該当レイヤーより前のデータを複製する（ステップ２２０９）。そして、該当レイヤーに新規作成したコンポーネント（３１２）のオブジェクトID（４０１）を格納する（ステップ２２１０）。
そして、既存のコンポーネント（３１２）と、ステップ２２０６において新規作成したコンポーネント（３１２）の座標変換行列（４０４）を、コンポーネント位置決定手段（２１５）を用いて更新し（ステップ２２１１）、新規作成したコンポーネント（３１２）に対する呼び出し線オブジェクト（３０８ｄ）を生成して終了する（ステップ２２１２）。
【００４６】
該当レイヤーにコンポーネント（３１２）が存在しない場合は（ステップ２２０８）、ステップ２２０６において新規作成したコンポーネント（３１２）のオブジェクトID（４０１）を編集中の呼び出し順データ（３１０ｄ）の該当レイヤーに格納する（ステップ２２１０）。
そして、新規作成したコンポーネント（３１２）の座標変換行列（４０４）を、コンポーネント位置決定手段（２１５）を用いて決定し（ステップ２２１１）、新規作成したコンポーネントに対する呼び出し線オブジェクト（３０８ｄ）を生成して終了する（ステップ２２１２）。
【００４７】
一方、ステップ２２０３において、開発者（１１０）が新規作成でなく、コンポーネントの選択を選んだ場合は（ステップ２２０３）、全てのコンポーネント（３１２）から該当レイヤーの選択画面を作成して表示し、選択を受け付ける（ステップ２２１３）。そして、コンポーネントが選択されてＯＫボタンが操作されたならば（ステップ２２１４）、選択されたコンポーネント（３１２）のオブジェクトID（４０１）を取得する（ステップ２２１５）。
次に、編集中の呼び出し順データ（３１０ｄ）を参照し、指定されたレイヤーに既にコンポーネント（３１２）が定義されているか判定する（ステップ２２１６）。
【００４８】
コンポーネント（３１２）が既に定義されている場合は、呼び出し順序データ（３１０ｄ）を新規作成し、該当レイヤーより前のデータを複製する（ステップ２２１７）。そして、該当レイヤーにステップ２２１５において選択されたコンポーネント（３１２）のオブジェクトID（４０１）を格納する（ステップ２２１８）。
そして選択されたコンポーネント（３１２）を含む呼び出し順データ（３１０ｄ）を参照し、該当レイヤー以降を複製する（ステップ２２１９）。そして更新した呼び出し順データ（３１０ｄ）に対する呼び出し線オブジェクト（３０８）を生成して終了する（ステップ２２２０）。
【００４９】
該当レイヤーにコンポーネント（３１２）が存在しない場合（ステップ２２１６）は、選択したコンポーネントのオブジェクトID（４０１）を呼び出し順データ（３１０ｄ）の該当レイヤーに格納する（ステップ２２１８）。そして、選択されたコンポーネント（３１２）を含む呼び出し順データ（３１０ｄ）を参照し、該当レイヤー以降を複製する（ステップ２２１９）。そしてステップ２２１５において選択されたコンポーネント（３１２）と該当レイヤーの１つ前のコンポーネント（３１２）に対する呼び出し線オブジェクト（３０８ｄ）を生成して終了する（ステップ２２２０）。
【００５０】
図２３はステップ２２１９の該当レイヤー以降の呼び出し順データを選択先の呼出し順データから複製する処理手順の詳細を示すフローチャートである。
まず、全ての呼び出し順データ（３１０ｄ）から、ステップ２２１５において選択されたコンポーネント（３１２）のオブジェクトID（４０１）を含むものを取得する（ステップ２３０１）。
次に、取得した呼び出し順データ（３１０ｄ）から、該当レイヤー以降のオブジェクトID（４０１）を編集中の呼び出し順データに複製する（ステップ２３０２）。
そして、選択されたコンポーネント（３１２）のオブジェクトIDを含む呼び出し順データ（３１０ｄ）が他に無いか判定し（ステップ２３０３）、他に存在する場合は呼び出し順データ（３１０ｄ）を新規作成して（ステップ２３０４）、ステップ２３０１と２３０２を実行する。呼び出し順データ（３１０ｄ）に残りが無くなると終了する（ステップ２３０３）。
【００５１】
図２４はステップ２２１１において実行されるコンポーネント位置決定手段（２２０）の処理手順を示すフローチャートである。
まず、編集中の呼び出し順データ（３１０ｄ）から、１つ前のレイヤーのコンポーネントCpを取得する（ステップ２４０１）。次に、コンポーネントCpの座標変換行列（４０４）からCpのグローバル座標系における中心位置Pを取得する（ステップ２４０２）。
次に、選択されたレイヤー境界オブジェクト（３０９ｄ）の座標変換行列（４０４）から、そのグローバル座標系における中心位置Lを取得する（ステップ２４０３）。
次に、編集中の呼び出し順データ（３１０ｄ）の該当レイヤーに、既存のコンポーネント（３１２）が存在するかどうか判定し（ステップ２４０４）、存在する場合はCpの中心位置を(Px-α,Py,Lz)として座標変換行列（４０４）を更新する（ステップ２４０５，２４０６）。
ここでαは任意の定数とする。また、新規作成したコンポーネントCnの中心位置を(Px+α,Py,Lz)として座標変換行列（４０４）を計算して格納する（ステップ２４０７，２４０８）。
また、呼び出し順データの該当レイヤーに既存のコンポーネント（３１２）が存在しない場合（ステップ２４０４）は、新規作成コンポーネントCnの中心位置を(Px,Py,Lz)として座標変換行列（４０４）を計算して格納する（ステップ２４０９，２４０８）。
【００５２】
図２５はステップ２２１２とステップ２２２０における呼び出し線オブジェクトの生成処理手順の詳細を示すフローチャートである。
まず、編集中の呼び出し順データ（３１０ｄ）を取得する（ステップ２５０１）。
次に、呼び出し順データ（３１０ｄ）から１つ前のレイヤーのコンポーネントCpのオブジェクトID（０４１０）を取得して開始オブジェクト（１３０１）（図１３参照）に格納する（ステップ２５０２）。
次に、ステップ２５０１において取得した呼び出し順データ（３１０ｄ）から、該当レイヤーのコンポーネントCnのオブジェクトID（４１０）を取得して終了オブジェクト（１３０２）（図１３参照）に格納する（ステップ２５０３）。
ステップ２２０９やステップ２２１７によって呼び出し順データ（３１０ｄ）が新規に作成された場合は、それらの呼び出し順データに対しても同様の処理を行う（ステップ２５０４）。
【００５３】
図２６は画面遷移定義手段（２０８）の処理手順を示すフローチャートである。
一連の呼び出し順データ（３１０ｄ）の定義が完了すると（ステップ２６０１）、定義された呼び出し順データ（３１０ｄ）から画面ID（１４０２）と、Action ID（１４０３）を取得する（ステップ２６０２，２６０３）。
次に、Action ID が参照するActionオブジェクト（３０４ｄ）から結果ID（８０３）を取得する（ステップ２６０４）。
次に、全ての画面遷移オブジェクト（３０３ｄ）から、遷移元画面（１２０１）と結果ID（１２０２）が取得した画面オブジェクトと、結果IDに一致するものが無いか確認し、同じものが存在しない場合（ステップ２６０５）は画面遷移オブジェクト（３０３ｄ）を生成して、遷移元画面（１２０１）と、結果ID（１２０２）にそれぞれ格納する（ステップ２６０６）。
以上の処理を全ての結果ID（８０３）に対して実施する（ステップ２６０７）。
次に、作成した画面遷移オブジェクト（３０３ｄ）を画面遷移図（１５０２）に表示する（ステップ２６０８）。
遷移先画面（１２０３）が未定義である画面遷移オブジェクト（３０３ｄ）が存在する場合（ステップ２６０９）は、開発者（１１０）の操作を受け付ける（ステップ２６１０）。
そして、開発者（１１０）の指示に従って遷移先画面（１２０３）に該当する画面オブジェクト（３０２ｄ）のオブジェクトID（０４０２）を格納する（ステップ２６１１）。
以上の処理を全ての画面遷移オブジェクト（３０３ｄ）に対して行う（ステップ２６０９）。
【００５４】
図２７から図５９は、これまで説明した各処理フローの表示例を示すものである。
図２７に示すように、４分割されている図は、グローバル座標系における３次元オブジェクトの位置と、ウィンドウ（１０８）に表示される内容の関係を表しており、２７０２はグローバル座標系の正面図を、２７０３は側面図を、２７０４は上面図を表す。なお、これらの内容は説明のためのものであり、実際のウィンドウ（１０８）には表示されない。また、２７０１のように右上に位置した図面はウィンドウ（１０８）の表示例を示すものとする。
【００５５】
図２７は、３次元画面遷移図を起動し（ステップ１６０１）、３次元画面遷移図データを新規に作成する場合（ステップ１６０２）の初期画面の例を示すものである。
開発者（１１０）は、ウィンドウ（２７０１）の任意の箇所をクリック操作して、操作メニュー（２７０５）を表示する。
操作メニューには図名称（２７０６）と、画面オブジェクトの新規作成（２７０７）の項目が表示される。なお、この時点では３次元オブジェクト（０３１１）は何も存在しない（２７０２，２７０３、２７０４）。なお、ウィンドウの矢印（２７０８）はマウスのカーソルを示すものとする。
操作メニューから画面の新規作成を選択すると、画面の新規作成ウィンドウが画面表示装置（１０３）に表示される（ステップ２００３）。
【００５６】
図２８は、画面の新規作成ウィンドウの例を示す。
画面の新規作成ウィンドウは、パスを入力する欄（２８０１）と、画面名称を入力する欄（２８０２）と、OKボタン（２８０３）を備える。マウス操作によりOKボタン（２８０３）を押下すると、入力されたパス（２８０１）が画面オブジェクトのデータを構成する図７の（７０１）に格納され、入力された画面名称（２８０２）は（７０２）に格納される（ステップ２００６）。
OKボタン（２８０３）を押下して画面オブジェクトを生成すると、３次元画面遷移図編集プログラム（１０６）は、画面遷移図表示手段（２０９）のステップ１７０２に従ってウィンドウ（１０８）に画面オブジェクトを描画する。
【００５７】
図２９は画面の新規作成を行った後の状態を示し、２９０４はウィンドウに表示される画面オブジェクトの例を示す。また２９０１、２９０２、２９０３は生成された画面オブジェクト（３０２）のグローバル座標系における位置を示す。
作成済みの画面オブジェクトをマウス操作で選択すると、画面オブジェクトの操作メニューが表示される（ステップ２１０２）。
【００５８】
図３０は画面オブジェクトの操作メニューの一例を示すものであり、画面の操作メニュー（３００１）は、画面名称（３００２）と、呼び出し順の新規作成（３００３）と、呼び出し順の選択（３００４）から構成される。なお、この段階では呼び出し順データがまだ作成されていないため、呼び出し順の選択（３００４）は非活性化されていて選択できない。
呼び出し順の新規作成（３００３）を選択すると、ステップ２２０４からステップ２２０６が行われ、コンポーネント呼び出し図表示手段（０２０９）によって、コンポーネント呼び出し図（１５０３）を表示する。
【００５９】
図３１は呼び出し順の新規作成（３００３）を指定した直後の表示例であり、画面オブジェクト（３１０１）と、レイヤー境界オブジェクト（３１０２）の側面が表示されている。
コンポーネント呼び出し図（１５０３）において、レイヤー境界を選択すると、レイヤーに応じた操作メニューが表示される。
【００６０】
図３２はActionレイヤー（３２０２）の操作メニューの一例であり、操作メニュー（３２０２）は、レイヤー名称（３２０３）と、Actionオブジェクトの新規作成（３２０４）と、Actionオブジェクトの選択（３２０５）から構成される。
なお、この段階では他にActionオブジェクトが定義されていないため、Actionオブジェクトの選択（３２０５）は非活性化されており指定できない。
Actionオブジェクトの新規作成（３２０４）を選択すると、ステップ２２０４に従ってActionオブジェクトの新規作成ウィンドウが表示されて開発者の入力を受け付ける。
【００６１】
図３３はActionオブジェクトの新規作成ウィンドウの一例であり、クラス名を入力する欄（３３０１）と、引数を指定する欄（３３０２）と、結果IDを指定する欄（３３０３）と、OKボタン（３３０４）を備える。
必要な情報を入力し、OKボタン（３３０４）を押下するとステップ２２０６に従ってActionオブジェクトを新規に生成し、コンポーネント呼び出し図表示手段（２０９）に従って生成したActionオブジェクトを表示する。
【００６２】
図３４の３４０１と、３４０２と、３４０３は作成されたActionオブジェクトのグローバル座標系中の位置を示し、３４０４はActionオブジェクトの表示例を示す。
【００６３】
図３５はBLレイヤーの操作メニューの一例であり、BLレイヤー（３５０１）の操作メニュー（３５０２）は、レイヤー名称（３５０３）と、BLオブジェクトの新規作成（３５０４）と、BLオブジェクトの選択（３５０５）から構成される。
なお、この段階では他にBLオブジェクトが定義されていないため、BLオブジェクトの選択（３５０５）は非活性化されており指定できない。
BLオブジェクトの新規作成（３５０４）を選択すると、ステップ２２０４に従ってBLオブジェクトの新規作成ウィンドウが表示されて開発者の入力を受け付ける。
【００６４】
図３６はBLオブジェクトの新規作成画面の一例であり、クラス名を入力する欄（３６０１）と、メソッド名を入力する欄（３６０２）と、引数を指定する欄（３６０３）と、返り値を指定する欄（３６０４）と、OKボタン（３６０５）を備える。
必要な情報を入力し、OKボタン（３６０５）を押下すると、ステップ２２０６に従ってBLオブジェクトを新規に生成し、コンポーネント呼び出し図表示手段（２０９）に従って生成したBLオブジェクトを表示する。
【００６５】
図３７の３７０１と、３７０２と、３７０３は作成されたBLオブジェクトのグローバル座標系中の位置を示し、３７０４はBLオブジェクトの表示例を示す。
【００６６】
図３８はDAOレイヤーの操作メニューの一例であり、BAOレイヤー（３８０１）の操作メニュー（３８０２）は、レイヤー名称（３８０３）と、DAOオブジェクトの新規作成（３８０４）と、DAOオブジェクトの選択（３８０５）から構成される。
なお、この段階では他にDAOオブジェクトが定義されていないため、DAOオブジェクトの選択（３８０５）は非活性化されており指定できない。
DAOオブジェクトの新規作成（３８０４）を選択すると、ステップ２２０４に従ってDAOオブジェクトの新規作成ウィンドウが表示されて開発者の入力を受け付ける。
【００６７】
図３９はDAOオブジェクトの新規作成画面の一例であり、クラス名を入力する欄（３９０１）と、メソッド名を入力する欄（３９０２）と、引数を指定する欄（３９０３）と、返り値を指定する欄（３９０４）と、OKボタン（３９０５）を備える。
必要な情報を入力し、OKボタン（３９０５）を押下すると、ステップ２２０６に従ってDAOオブジェクトを新規に生成し、コンポーネント呼び出し図表示手段（２０９）に従って生成したDAOオブジェクトを表示する。
【００６８】
図４０の４００１と、４００２と、４００３は作成されたDAOオブジェクトのグローバル座標系中の位置を示し、４００４はDAOオブジェクトの表示例を示す。
【００６９】
図４１はDBレイヤーの操作メニューの一例であり、DBレイヤー（４１０２）の操作メニュー（４１０１）は、レイヤー名称（４１０３）と、DBオブジェクトの新規作成（４１０４）と、DBオブジェクトの選択（４１０５）から構成される。
なお、この段階では他にDBオブジェクトが定義されていないため、DBオブジェクトの選択（４１０５）は非活性化されており指定できない。
DBオブジェクトの新規作成（４１０４）を選択すると、ステップ２２０４に従ってDBオブジェクトの新規作成ウィンドウが表示されて開発者の入力を受け付ける。
【００７０】
図４２はDBオブジェクトの新規作成画面の一例であり、DB名を入力する欄（４２０１）と、URLを入力する欄（４２０２）と、テーブル名を指定する欄（４２０３）と、列名を指定する欄（４２０４）と、OKボタン（４２０５）を備える。
必要な情報を入力し、OKボタン（４２０５）を押下すると、ステップ２２０６に従ってDBオブジェクトを新規に生成し、コンポーネント呼び出し図表示手段（２０９）に従って生成したDBオブジェクトを表示する。
【００７１】
図４３の４３０１と、４３０２と、４３０３は作成されたDAOオブジェクトのグローバル座標系中の位置を示し、４３０４はBLオブジェクトの表示例を示す。
【００７２】
図４４と図４５はステップ２２０９における、呼び出し順データの該当レイヤーに既存のコンポーネントが存在する場合に、コンポーネントの新規作成を行う場合の過程を示す図である。
図４４に示す状況下において、BLレイヤー（４４０１）の操作メニューから、BLオブジェクトの新規作成（４４０１）を選択すると、ステップ２２０９とステップ２２１０によって呼び出し順データが新規作成され、該当レイヤーの一つ前のデータまでが新規作成された呼び出し順データに複製される。また、コンポーネント位置決定手段（２１５）によって、３次元的な位置が更新される。
【００７３】
図４５は新規作成後の表示例を示しており、コンポーネント４５０１と４５０４の位置が更新されている。なお、コンポーネント呼び出し図では、新規作成された呼び出し順データに含まれる３次元オブジェクトが描画され、図中に斜線で示されている、４５０１、４５０２，４５０３のコンポーネントはウィンドウに表示されない。
【００７４】
図４６から図４７は各レイヤーの操作メニューにおいて選択を指示した場合の過程を示す。
図４６に示す状況下では、他のDAOオブジェクトが存在するため、DAOレイヤー（４６０１）の操作メニューからDAOオブジェクトの選択（４６０２）が指定できる。
ここでDAOオブジェクトの選択（４６０２）を指定するとステップ２２１３に従ってコンポーネントの選択ウィンドウが表示される。
【００７５】
図４７はコンポーネント選択ウィンドウの一例を示し、作成済みの３次元オブジェクトの一覧（４７０１）と、OKボタン（４７０２）を備える。作成済みの３次元オブジェクトの一覧（４７０１）には該当レイヤーの全てのコンポーネントのラベルが一覧表示される。
ここでコンポーネントを選択してOKボタン（４７０２）を押下すると、ステップ２２１９に従って、呼び出し順データの該当レイヤー以降に、選択したコンポーネントを含む呼び出し順データが複製され、新たな呼び出し線オブジェクトが生成される。
【００７６】
図４８はラベルがUserDAO#getUserであるDAOオブジェクト（４８０１）を選択した結果の表示例である。４８０１は、DBオブジェクト４８０２を呼び出す呼び出し順データに含まれているので、その内容が複製され、４８０３と４８０４に示すように表示される。
【００７７】
図４９と図５０は、ステップ２１０３において、呼び出し順の選択を指示した場合の過程を示す図である。コンポーネント呼び出し図（１５０３）において、指定されたキーを押下するとウィンドウの表示が画面遷移図に戻る。またその際に、画面遷移定義手段０２１８によって、画面遷移オブジェクト（０３０３）が生成されて表示される。
【００７８】
図４９は図４８の状況下から画面遷移図に表示を戻した場合の表示例であり、画面遷移オブジェクト４９０１と４９０２が表示されている。この状況下において画面の操作メニューを表示すると、他に呼び出し順序が定義済みなので、呼び出し順の選択（４９０３）が指定可能となる。
呼び出し順の選択（４９０３）を指定すると、ステップ２１０７に従って呼び出し順の選択ウィンドウが表示される。
【００７９】
図５０は呼び出し順の選択ウィンドウの一例であり、呼び出し順データの一覧（５００１）とOKボタン（５００２）を備える。
ここで呼び出し順を選択し、OKボタン（５００２）を押下すると表示がコンポーネント呼び出し図（１５０３）に切り替わり、選択された呼び出し順が表示される。
これまでの例では同一の画面が呼び出すコンポーネントを表示していたので、コンポーネント呼び出し図における各コンポーネントは横一列に並んだが、上下位置が異なる画面が呼び出すコンポーネントを選択して呼び出し順データを定義した場合は、横一列にならない場合がある。
【００８０】
図５１と図５２は、異なる画面の呼び出し順に含まれるコンポーネントを選択した場合の過程を示す図である。
５１０１に示すレイヤーにおいて、５１０３に示すBLオブジェクトを、操作メニューのBLオブジェクトの選択（５１０２）を使用して選択した場合、図５２に示すように呼び出し線オブジェクト（５２０４）が生成され、５２０１、５２０２、５２０３のコンポーネントが表示される。
【００８１】
図５３と図５４は、ステップ２２０８の新規作成した該当レイヤーにコンポーネントが既に存在する場合に、既存のコンポーネントが選択によって定義された場合の過程を示す。
図５３のコンポーネント５３０１は、選択によってコンポーネント５３０２への呼び出し順を定義しているものとする。このような状況下において５３０３に示す位置でコンポーネントの新規作成を行うと、選択先のコンポーネントはステップ２２１１におけるコンポーネント位置決定手段（２２０）の実行によって、図５４の５４０１、５４０２、５４０３に示すように位置が更新される。
【００８２】
図５５と図５６は、ステップ２３０１に示される、選択したコンポーネントが複数の呼び出し順序に含まれる場合にコンポーネントの選択によって呼び出し順を定義した場合の過程を示す。
図５５の５５０２は、５５０２、５５０３、５５０４、５５０５からなる呼び出し順データと、５５０２、５５０６、５５０４、５５０５からなる呼び出し順データに含まれる。
この状況下で５５０１から５５０２を選択すると、５５０１、５５０２、５５０６，５５０４、５５０５からなる呼び出し順データと、５５０１、５５０２、５５０３、５５０４、５５０５からなる呼び出し順データが生成される。
【００８３】
図５６は選択後の画面表示例を示しており、コンポーネント呼び出し図には、新規作成した呼び出し順データから任意のものが一つ表示される。図５６は５６０１、５６０２、５６０３、５６０４からなる呼び出し順データを表示している。
【００８４】
図５７と図５８は、ステップ２６１０による遷移先の指定の表示例を示す。
図５７は遷移先を指定する前の状態を表しており、開発者（１１０）は画面遷移図（５７０１）において、画面遷移オブジェクトの終点をマウス操作で指定する。
図５８は遷移先を指定した後の状態を表しており、遷移先の画面５８０１を指定すると、画面遷移オブジェクト５８０２の終点位置が更新されて表示される。
画面遷移図の表示中に指定されたキーを押下すると、表示は全体コンポーネント呼び出し図表示手段（２１０）によって、全体コンポーネント呼び出し図に切り替わる。
【００８５】
図５９は全体コンポーネント呼び出し図の表示例を示しており、開発者（１１０）は５９０１に示される内容を基に呼び出し関係を把握することができる。
【００８６】
図６０は３次元画面遷移図データ０２０１の表示の応用例を示す。
この例は、注視点を各３次元オブジェクトの中心位置とし、視点をマウス操作で決定する任意の３次元位置とした場合の自由視点モードでの表示例である。この例では、上下左右のドラッグ操作で視点位置が回転し、コンポーネントが重なる場合でも呼び出し関係を見ることができる。
【００８７】
図６１はソースコード生成部（２０７）によって生成されるソースコードの一例を示す。ソースコードは各３次元オブジェクトが持つ情報と、呼び出し順データが持つ呼び出し関係の情報と合わせて自動生成される。この例では、BLオブジェクトが持つクラス名（９０１）からクラス名６００１を生成し、メソッド名（９０２）と引数（９０３）と返り値（９０４）からメソッド６００２を生成している。また、各メソッドには、呼び出し順データから、呼び出し先のコンポーネントを取得して、該当するコンポーネントを呼び出す処理（６００３）が自動生成される。開発者（１１０）は６００４の部分に具体的な処理を実装する。
なお、ソースコード生成部（２０７）の生成処理は既知のものを用いることができるので、詳細な説明は省略する。
【図面の簡単な説明】
【００８８】
【図１】システム構成図である。
【図２】３次元画面遷移図編集プログラムのブロック構成図である。
【図３】３次元画面遷移図データの構成図である。
【図４】３次元オブジェクトの共通属性である。
【図５】ワールド座標系と投影方法の説明図である。
【図６】表示制御データの構成図である。
【図７】画面オブジェクトのデータ構造の一例である。
【図８】Actionオブジェクトのデータ構造の一例である。
【図９】BLオブジェクトのデータ構造の一例である。
【図１０】DAOオブジェクトのデータ構造の一例である。
【図１１】DBオブジェクトのデータ構造の一例である。
【図１２】画面遷移オブジェクトのデータ構造の一例である。
【図１３】呼び出し線オブジェクトのデータ構造の一例である。
【図１４】呼び出し順データのデータ構造の一例である。
【図１５】３次元画面遷移図編集プログラムの表示例である。
【図１６】全体の処理フローである。
【図１７】画面遷移図表示手段の処理フローである。
【図１８】コンポーネント呼び出し図表示手段の処理フローである。
【図１９】全体コンポーネント呼び出し図表示手段の処理フローである。
【図２０】画面定義手段の処理フローである。
【図２１】呼び出し順定義手段の処理フローである。
【図２２】コンポーネント定義手段の処理フローである。
【図２３】コンポーネント選択時の呼び出し順の複製フローである。
【図２４】コンポーネント位置決定手段の処理フローである。
【図２５】呼び出し線オブジェクトの生成フローである。
【図２６】画面遷移定義手段の生成フローである。
【図２７】画面の生成手順である。
【図２８】画面の新規作成ウィンドウである。
【図２９】画面作成後の表示例である。
【図３０】呼び出し順序の作成手順である。
【図３１】呼び出し順序新規作成後の画面である。
【図３２】Actionオブジェクトの新規作成手順である。
【図３３】Actionオブジェクト新規作成ウィンドウである。
【図３４】Actionオブジェクト新規作成後の画面である。
【図３５】BLオブジェクトの新規作成手順である。
【図３６】BLオブジェクトの新規作成ウィンドウである。
【図３７】BLオブジェクト新規作成後の画面である。
【図３８】DAOオブジェクトの新規作成手順である。
【図３９】DAOオブジェクトの新規作成ウィンドウである。
【図４０】DAOオブジェクト新規作成後の画面である。
【図４１】DBオブジェクトの新規作成手順である。
【図４２】DBオブジェクトの新規作成ウィンドウである。
【図４３】テーブル作成後の画面である。
【図４４】コンポーネントの追加手順である。
【図４５】コンポーネント追加後の画面である。
【図４６】コンポーネントの選択手順である。
【図４７】コンポーネントの選択ウィンドウである。
【図４８】コンポーネント選択後の画面である。
【図４９】呼び出し順序の選択手順である。
【図５０】呼び出し順の選択ウィンドウである。
【図５１】異なる画面のコンポーネント選択手順である。
【図５２】異なる画面のコンポーネントの選択後の画面である。
【図５３】選択済みのレイヤーに対してコンポーネントを追加する手順である。
【図５４】選択済みのレイヤーに対してコンポーネントを追加した後の画面である。
【図５５】複数の呼び出し順に含まれるコンポーネントを選択する手順である。
【図５６】複数の呼び出し順に含まれるコンポーネントを選択した後の画面である。
【図５７】画面遷移の決定手順である。
【図５８】画面遷移の決定後の画面である。
【図５９】全体コンポーネント呼び出し図を表示した後の画面である。
【図６０】自由視点モードである。
【図６１】生成されるソースコードの例である。
【図６２】一般的なWEBアプリケーション構成と画面遷移図の例である。
【符号の説明】
【００８９】
１０１    キーボード
１０２    マウス
１０３    表示装置
１０４    コンピュータ
１０５    オペレーションシステム
１０６    ３次元画面遷移図編集プログラム
１０７    ソースコード編集プログラム
１０８    ウィンドウ
２０１    ３次元画面遷移図データ格納部
２０２    生成テンプレート格納部
２０３    表示制御データ格納部
２０４    ３次元画面遷移図表示部
２０５    選択オブジェクト判定部
２０６    ３次元画面遷移図編集部
２０７    ソースコード生成部
３１１    ３次元オブジェクト
【図１】
2007249561.tif 000003
【図２】
2007249561.tif 000004
【図３】
2007249561.tif 000005
【図４】
2007249561.tif 000006
【図５】
2007249561.tif 000007
【図６】
2007249561.tif 000008
【図７】
2007249561.tif 000009
【図８】
2007249561.tif 000010
【図９】
2007249561.tif 000011
【図１０】
2007249561.tif 000012
【図１１】
2007249561.tif 000013
【図１２】
2007249561.tif 000014
【図１３】
2007249561.tif 000015
【図１４】
2007249561.tif 000016
【図１５】
2007249561.tif 000017
【図１６】
2007249561.tif 000018
【図１７】
2007249561.tif 000019
【図１８】
2007249561.tif 000020
【図１９】
2007249561.tif 000021
【図２０】
2007249561.tif 000022
【図２１】
2007249561.tif 000023
【図２２】
2007249561.tif 000024
【図２３】
2007249561.tif 000025
【図２４】
2007249561.tif 000026
【図２５】
2007249561.tif 000027
【図２６】
2007249561.tif 000028
【図２７】
2007249561.tif 000029
【図２８】
2007249561.tif 000030
【図２９】
2007249561.tif 000031
【図３０】
2007249561.tif 000032
【図３１】
2007249561.tif 000033
【図３２】
2007249561.tif 000034
【図３３】
2007249561.tif 000035
【図３４】
2007249561.tif 000036
【図３５】
2007249561.tif 000037
【図３６】
2007249561.tif 000038
【図３７】
2007249561.tif 000039
【図３８】
2007249561.tif 000040
【図３９】
2007249561.tif 000041
【図４０】
2007249561.tif 000042
【図４１】
2007249561.tif 000043
【図４２】
2007249561.tif 000044
【図４３】
2007249561.tif 000045
【図４４】
2007249561.tif 000046
【図４５】
2007249561.tif 000047
【図４６】
2007249561.tif 000048
【図４７】
2007249561.tif 000049
【図４８】
2007249561.tif 000050
【図４９】
2007249561.tif 000051
【図５０】
2007249561.tif 000052
【図５１】
2007249561.tif 000053
【図５２】
2007249561.tif 000054
【図５３】
2007249561.tif 000055
【図５４】
2007249561.tif 000056
【図５５】
2007249561.tif 000057
【図５６】
2007249561.tif 000058
【図５７】
2007249561.tif 000059
【図５８】
2007249561.tif 000060
【図５９】
2007249561.tif 000061
【図６０】
2007249561.tif 000062
【図６１】
2007249561.tif 000063
【図６２】
2007249561.tif 000064