(57)【要約】【課題】複数の開発言語のソースコードの生成を容易に行うこと【解決手段】ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報２１を少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表した当該開発言語及び共通言語の対応関係を示す設計情報変換テーブル２２，２３，２４と、前記開発言語のソースコードのテンプレート３１と、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報２１を設計情報変換テーブル２２，２３，２４を用いて開発言語のＧＵＩ部品設計情報２１１Ａに変換し、この開発言語のＧＵＩ部品設計情報２１１Ａとソースコードテンプレート３１を用いて当該開発言語のソースコード３２Ａを生成するソースコード生成制御部１３とを設けること。【選択図】        図２
2005031737.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによるＧＵＩ部品の設計を支援するソフトウェア開発支援ツールのソースコードの生成システムであって、
ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報を少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表した当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルと、
前記開発言語のソースコードのテンプレートと、
設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を前記設計情報変換テーブルを用いて開発言語のＧＵＩ部品設計情報に変換し、該開発言語のＧＵＩ部品設計情報と前記ソースコードテンプレートを用いて当該開発言語のソースコードを生成するソースコード生成制御部と、
を有することを特徴としたソースコードの生成システム。
【請求項２】
ユーザによるＧＵＩ部品の設計を支援するソフトウェア開発支援ツールのソースコードの生成方法であって、
ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報が少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表された当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルを用いて、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を開発言語のＧＵＩ部品設計情報に変換する工程と、
前記開発言語のＧＵＩ部品設計情報と当該開発言語のソースコードのテンプレートを用いて当該開発言語のソースコードを生成する工程と、
を有することを特徴としたソースコードの生成方法。
【請求項３】
ユーザによるＧＵＩ部品の設計を支援するソフトウェア開発支援ツールが実装された電子計算機の中央演算処理装置に対する処理指令を有するソースコードの生成プログラムであって、
ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報が少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表された当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルを用いて、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を開発言語のＧＵＩ部品設計情報に変換させる指令と、
前記開発言語のＧＵＩ部品設計情報と当該開発言語のソースコードのテンプレートを用いて当該開発言語のソースコードを生成させる指令と、
を有することを特徴としたソースコードの生成プログラム。
【請求項４】
ユーザによるＧＵＩ部品の設計を支援するソフトウェア開発支援ツールであって、
ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報を少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表した当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルと、
前記開発言語のソースコードのテンプレートと、
設計したＧＵＩ部品に関するＧＵＩ部品設計情報を共通言語で作成する画面設計制御部と、
この画面設計制御部が作成した共通言語のＧＵＩ部品設計情報を前記設計情報変換テーブルを用いて開発言語のＧＵＩ部品設計情報に変換し、該開発言語のＧＵＩ部品設計情報と前記ソースコードテンプレートを用いて当該開発言語のソースコードを生成するソースコード生成制御部と、
を有することを特徴としたソフトウェア開発支援ツール。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェア開発における設計工程及び製造工程を支援する統合的なソフトウェア開発支援ツールに係り、特にこのソフトウェア開発支援ツールにおけるソースコードの生成システム及びその生成方法及びその生成プログラム、更にはかかるソースコード生成システムを備えたソフトウェア開発支援ツールに関する。
【０００２】
【従来の技術】
一般的に、ソフトウェア開発支援ツールは、設計工程を支援するＣＡＳＥツール（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｓｏｆｔｗａｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔｏｏｌ）と製造工程を支援するＲＡＤツール（Ｒａｐｉｄ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｔｏｏｌ）の二種類に分類することができる。前者のＣＡＳＥツールは、後者のＲＡＤツールでの成果物たる実行可能プログラムが使用するデータベースのテーブル仕様や、データ項目の設計情報を入力するものである。一方、後者のＲＡＤツールは、実行可能プログラムのソースコードを、開発言語用の統合開発環境が提供するグラフィカルなユーザインタフェースを用いて編集するものである。
【０００３】
そして、従来、その設計工程と製造工程を支援するソフトウェア開発支援ツールが存在する。例えば、このようなツールとしては、設計情報が入力されると、この設計情報から単一言語のソースコードを生成する、という技術について開示した特開平１１−２９６３５９号公報に記載の開発支援ツールがある。
【０００４】
【特許文献１】
特開平１１−２９６３５９号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来例のソフトウェア開発支援ツールは単一言語のソースコードのみを生成するものであり、複数の開発言語用のソースコードを生成する為には夫々の開発言語に別途対応した異なるソース生成手段を用意する等しなければならない、という不都合があった。例えば、画面上にテキストボックスとボタンの如く二種類のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部品があるような単純な画面であったとしても、二種類の開発言語でソースコードを生成しようとすると、夫々のＧＵＩ部品の属性が一部異なっている為に夫々の開発言語に対応した二種類のソース生成手段をツールに用意しなければならなかった。
【０００６】
このように開発言語毎に別々のソース生成手段を設けなければならないとすると、開発支援ツールを構成するプログラムやデータベース等が複雑化して、その処理速度の低下や不具合を生じさせる虞がある。また、新しい開発言語に対応させる為には開発支援ツールに係るプログラムを大幅に改変しなければならないので、改変後のプログラムの動作確認等その改変時の開発支援ツール提供者側の工数は多大なものとなる。以上のようなことは、開発言語やＧＵＩ部品の種類が増加するにつれてより顕著に表れる。
【０００７】
そこで、本発明は、かかる従来例の有する不都合を改善し、複数の開発言語のソースコードを容易に生成でき、更に新たな開発言語でのソースコードの生成を可能にする為にプログラムの大幅な改変を行わずともすむソースコードの生成システム及びその生成方法及びその生成プログラム及びソフトウェア開発支援ツールを提供することを、その目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成する為、本発明に係るソースコード生成システムでは、ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報を少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表した当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルと、前記開発言語のソースコードのテンプレートと、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を前記設計情報変換テーブルを用いて開発言語のＧＵＩ部品設計情報に変換し、この開発言語のＧＵＩ部品設計情報と前記ソースコードテンプレートを用いて当該開発言語のソースコードを生成するソースコード生成制御部とを設けている。
【０００９】
また、上記目的を達成する為、本発明に係るソースコード生成方法では、ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報が少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表された当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルを用いて、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を開発言語のＧＵＩ部品設計情報に変換する工程と、この開発言語のＧＵＩ部品設計情報と当該開発言語のソースコードのテンプレートを用いて当該開発言語のソースコードを生成する工程とを有している。
【００１０】
また、上記目的を達成する為、本発明に係るソースコード生成プログラムでは、ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報が少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表された当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルを用いて、設計したＧＵＩ部品に関する共通言語によるＧＵＩ部品設計情報を開発言語のＧＵＩ部品設計情報に変換させる指令と、この開発言語のＧＵＩ部品設計情報と当該開発言語のソースコードのテンプレートを用いて当該開発言語のソースコードを生成させる指令とを有している
【００１１】
また、上記目的を達成する為、本発明に係るソフトウェア開発支援ツールでは、ＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報を少なくとも一つの開発言語及び当該開発言語に依存しない共通言語で表した当該開発言語及び共通言語の対応関係を示す設計情報変換テーブルと、前記開発言語のソースコードのテンプレートと、設計したＧＵＩ部品に関するＧＵＩ部品設計情報を共通言語で作成する画面設計制御部と、この画面設計制御部が作成した共通言語のＧＵＩ部品設計情報を前記設計情報変換テーブルを用いて開発言語のＧＵＩ部品設計情報に変換し、この開発言語のＧＵＩ部品設計情報と前記ソースコードテンプレートを用いて当該開発言語のソースコードを生成するソースコード生成制御部とを設けている。
【００１２】
【発明の実施の形態】
本発明に係るソフトウェア開発支援ツールの一実施形態について図１から図２３を用いて説明する。
【００１３】
本実施形態のソフトウェア開発支援ツールは、そのプログラム及びデータがＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｃ／Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光ディスクＤに記録されており、そのソフトウェア開発支援システム及びソースコード生成システムの各機能を実現する為に図１に示すパーソナルコンピュータ等の電子計算機１００に実装される。
【００１４】
ここで、この電子計算機１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０ａ及び主メモリ１１０ｂ及び入出力インタフェース１１０ｃ等を具備し、所定の演算処理を実行する情報処理装置１１０と、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）やＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置１２０と、オペレータが情報処理装置１１０に対して操作指示を行うキーボードやマウス等の入力装置１３０と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置１４０と、光ディスクＤに記録されたプログラムやデータを読み出す為の駆動装置１５０とから構成される。
【００１５】
本実施形態にあっては、光ディスクＤに格納されたプログラムやデータを情報処理装置１１０が駆動装置１５０を介して外部記憶装置１４０内にインストールすることによってソフトウェア開発支援ツールが電子計算機１００に実装され、その後、そのプログラムを外部記憶装置１４０から主メモリ１１０ｂに読み込みＣＰＵ１１０ａで処理することで、情報処理装置１１０内にソフトウェア開発支援ツールの各機能が構成される。
【００１６】
以下に、本実施形態のソフトウェア開発支援ツールの構成について図２を用いて説明する。
【００１７】
このソフトウェア開発支援ツールは、図２に示す如く、画面設計制御部１１及びファイル入出力制御部１２及びソースコード生成制御部１３及びソースコード入出力制御部１４及びリバース制御部１５を有する制御手段１０，設計情報（ＧＵＩ部品設計情報２１及びＧＵＩ部品名称情報２２及びＧＵＩ部品属性情報２３及びＧＵＩ部品属性値情報２４）を有する設計情報データベース２０，並びにソースコードテンプレート３１及びソースコード３２を有するソースコードデータベース３０を備える。
【００１８】
ここで、このソフトウェア開発支援ツールは、画面設計制御部１１とファイル入出力制御部１２と設計情報データベース２０の各設計情報とによって、ソフトウェア開発支援システムを構成する。また、このソフトウェア開発支援ツールは、ファイル入出力制御部１２，ソースコード生成制御部１３，ソースコード入出力制御部１４，リバース制御部１５，設計情報データベース２０の各設計情報及びソースコードデータベース３０によって、ソースコード生成システムを構成する。以下、これら各システムの構成について詳述する。
【００１９】
最初に、ソフトウェア開発支援システムについて説明する。
【００２０】
ここでのソフトウェア開発支援システムとは、パスワード入力画面等のＧＵＩ部品の設計を支援するシステムであって、後述する如く、設計したＧＵＩ部品の名称やその属性の名称等のＧＵＩ部品設計情報を開発言語に依存しない共通言語で作成するものである。
【００２１】
ここで、かかるシステムを構成する画面設計制御部１１は、ファイル入出力制御部１２を介して取得した設計情報データベース２０の後述する各種設計情報を図１０に示す画面設計制御画面５０に表示する画面表示機能と、画面設計制御画面５０でユーザが入力や選択したＧＵＩ部品の設計情報をファイル入出力制御部１２を介して設計情報データベース２０に出力するＧＵＩ部品設計情報出力機能とを有する。
【００２２】
また、設計情報データベース２０のＧＵＩ部品設計情報２１とは、ＧＵＩ部品に関する種々の設計情報を開発言語に依存しない共通言語で表したもののことであって、ここでは画面上に表示するＧＵＩ部品をプログラムから一意に識別する為の名称についての情報，そのＧＵＩ部品の名称についての情報，そのＧＵＩ部品の属性の名称についての情報，及びそのＧＵＩ部品属性の属性値名称についての情報のことをいう。以下、このＧＵＩ部品設計情報を「共通言語ＧＵＩ部品設計情報」という。
【００２３】
例えば、本実施形態の共通言語ＧＵＩ部品設計情報２１としては、上記ＧＵＩ部品名称を「ボタン」や「テキスト」等の如く、上記ＧＵＩ部品属性名称を「背景色」等の如く、また上記ＧＵＩ部品属性値名称を「赤」や「青」等の如く、夫々開発言語に依存しない共通言語で表した図３（ｂ）に示す共通言語ＧＵＩ部品設計情報２１Ｂが設計情報データベース２０に格納される。
【００２４】
ここで、この共通言語ＧＵＩ部品設計情報２１Ｂは、ＧＵＩ部品識別名称をＧＵＩ部品識別名称列２１ａに、ＧＵＩ部品名称をＧＵＩ部品名称列２１ｂに、ＧＵＩ部品属性名称をＧＵＩ部品属性名称列２１ｃに、そしてＧＵＩ部品属性値名称をＧＵＩ部品属性値名称列２１ｄに夫々記録したテーブルとして格納されている。
【００２５】
尚、本実施形態の共通言語ＧＵＩ部品設計情報２１Ｂは、パスワード入力画面等の設計対象画面毎に設計情報データベース２０へ格納されているものとする。
【００２６】
続いて、設計情報データベース２０のＧＵＩ部品名称情報２２とは、共通言語によるＧＵＩ部品名称と開発言語によるＧＵＩ部品名称との対応関係を示す設計情報のことであって、後述する如く、そのＧＵＩ部品名称を共通言語から開発言語に、また開発言語から共通言語に変換する為に用いられる。
【００２７】
ここで、本実施形態のＧＵＩ部品名称情報２２は、図４に示す如く、ＧＵＩ部品の名称を共通言語で表したものが記録される共通言語部品名称列２２ａと、そのＧＵＩ部品名称についてＡ言語（開発言語）で表したものが記録されるＡ言語部品名称列２２ｂと、同じくそのＧＵＩ部品名称についてＢ言語（開発言語）で表したものが記録されるＢ言語部品名称列２２ｃとを有するテーブルとして設計情報データベース２０に格納されている。
【００２８】
また、設計情報データベース２０のＧＵＩ部品属性情報２３とは、共通言語によるＧＵＩ部品属性名称と開発言語によるＧＵＩ部品属性名称との対応関係を示す設計情報のことであって、後述する如く、そのＧＵＩ部品属性名称を共通言語から開発言語に、また開発言語から共通言語に変換する為に用いられる。
【００２９】
ここで、本実施形態のＧＵＩ部品属性情報２３は、図５に示す如く、ＧＵＩ部品の名称を共通言語で表したものが記録される共通言語部品名称列２３ａと、そのＧＵＩ部品についてのＧＵＩ部品属性の名称を共通言語で表したものが記録される共通言語部品属性名称列２３ｂと、そのＧＵＩ部品属性名称についてＡ言語で表したものが記録されるＡ言語部品属性名称列２３ｃと、同じくそのＧＵＩ部品属性名称についてＢ言語で表したものが記録されるＢ言語部品属性名称列２３ｄとを有するテーブルとして設計情報データベース２０に格納されている。
【００３０】
また、設計情報データベース２０のＧＵＩ部品属性値情報２４とは、共通言語によるＧＵＩ部品属性値名称と開発言語によるＧＵＩ部品属性値名称との対応関係を示すものであって、後述する如く、そのＧＵＩ部品属性値名称を共通言語から開発言語に、また開発言語から共通言語に変換する為に用いられる。
【００３１】
ここで、本実施形態のＧＵＩ部品属性値情報２４は、図６に示す如く、共通言語で表されたＧＵＩ部品属性名称が記録される共通言語部品属性名称列２４ａと、共通言語で表されたＧＵＩ部品属性値名称が記録される共通言語部品属性値名称列２４ｂと、Ａ言語で表されたＧＵＩ部品属性値名称が記録されるＡ言語部品属性値名称列２４ｃと、Ｂ言語で表されたＧＵＩ部品属性値名称が記録されるＢ言語部品属性値名称列２４ｄとを有するテーブルとして設計情報データベース２０に格納されている。
【００３２】
尚、上述したＧＵＩ部品名称情報２２，ＧＵＩ部品属性情報２３及びＧＵＩ部品属性値情報２４は、少なくとも一つの開発言語との対応関係を表すものであればよく、またその開発言語の種類の増減も可能である。
【００３３】
次に、ソースコード生成システムについて説明する。
【００３４】
このソースコード生成システムは、上記ソフトウェア開発支援システムが後述する如く作成した共通言語によるＧＵＩ部品設計情報から所望の開発言語のソースコードを生成する、又は開発言語のソースコードから共通言語による設計情報を生成するシステムである。
【００３５】
かかるシステムの構成としては、前述した如く、上記設計情報データベース２０の各設計情報の他に、ソースコード生成制御部１３，リバース制御部１５及びソースコードデータベース３０等を要する。
【００３６】
先ず、ソースコード生成制御部１３は、ファイル入出力制御部１２を介して取得した設計情報データベース２０の各種設計情報及びソースコード入出力制御部１４を介して取得したソースコードデータベース３０のソースコードテンプレート３１に基づいて、ユーザが指定した開発言語のソースコード３２を生成するソースコード生成機能と、このソースコード３２をソースコード入出力制御部１４を介してソースコードデータベース３０に出力するソースコード出力機能とを有する。
【００３７】
また、リバース制御部１５は、リバースエンジニアリング機能，具体的にはソースコード入出力制御部１４を介して取得したソースコード３１から共通言語のＧＵＩ部品設計情報を生成する機能と、このＧＵＩ部品設計情報をファイル入出力制御部１２を介して設計情報データベース２０に出力する機能とを有する。
【００３８】
続いて、ソースコードデータベース３０について説明する。
【００３９】
ソースコードテンプレート３１とは開発言語毎に用意されたソースコードのテンプレートであって、該当する開発言語のＧＵＩ部品設計情報に置換する為のプレースホルダーがソースコード中に含まれている。
【００４０】
例えば図７にはＡ言語のソースコードテンプレート３１Ａを、図８にはＢ言語のソースコードテンプレート３１Ｂを例示している。これら各図に示す如く、各ソースコードテンプレート３１Ａ，３１Ｂには、「％ＧＵＩ部品名称％」のように夫々プレースホルダー３１Ａ１〜３１Ａ４，プレースホルダー３１Ｂ１〜３１Ｂ５が含まれており、後述する如く所望の開発言語に応じて夫々のプレースホルダー３１Ａ１〜３１Ａ４，プレースホルダー３１Ｂ１〜３１Ｂ５の置換が行われる。
【００４１】
かかる置換処理を終えたものがソースコード３２であり、例えばＡ言語にあっては図２１に示すソースコード３２Ａが、Ｂ言語にあっては図２２に示すソースコード３２Ｂがソースコードデータベース３０に格納される。
【００４２】
次に、本実施形態のソフトウエア開発支援ツールの動作説明を行う。
【００４３】
最初に、ソフトウェア開発支援システム，換言すれば画面設計制御部１１の処理動作について図９のフローチャートを用いて説明する。
【００４４】
先ずユーザは、画面設計を行う所望の設計対象画面（ここでは新規画面）を、表示装置１２０に表示されている図１０に示す画面設計制御画面５０の設計対象画面選択部５０ａから選択する（ステップＳＴ１）。これにより、画面設計制御部１１は、新規の設計対象画面５０ｂを図１０に示す如く画面設計制御画面５０の子画面として表示する（ステップＳＴ２）。
【００４５】
続いて、この画面設計制御部１１は、設計情報データベース２０のＧＵＩ部品名称情報２２から共通言語部品名称列２２ａの情報（共通言語によるＧＵＩ部品名称）を読み込んで、図１１に示す如くＧＵＩ部品選択部５０ｃを画面設計制御画面５０に表示する（ステップＳＴ３）。しかる後、ユーザがＧＵＩ部品選択部５０ｃに列挙されたＧＵＩ部品一覧の中から所望のＧＵＩ部品を選択すると（ステップＳＴ４）、この画面設計制御部１１は、選択されたＧＵＩ部品を設計対象画面５０ｂに入力する（ステップＳＴ５）。ここで、そのＧＵＩ部品の表示位置や大きさ等は、ユーザがマウス等で指定できるものとする。
【００４６】
例えばユーザがパスワード入力画面の「ＯＫボタン」の作成を行うのであれば、ユーザがＧＵＩ部品選択部５０ｃの「ボタン」を選択することにより、画面設計制御部１１は、図１１に示す如くＧＵＩ部品「ボタン」Ｂを設計対象画面５０ｂに表示する。
【００４７】
続いて、この画面設計制御部１１は、図１２に示す如くＧＵＩ部品識別名称入力部５０ｄを画面設計制御画面５０に表示する（ステップＳＴ６）。ここで、ユーザは、このＧＵＩ部品識別名称入力部５０ｄに上記ステップＳＴ４で選択したＧＵＩ部品の識別名称を入力する（ステップＳＴ７）。
【００４８】
例えば上記の「ＯＫボタン」の場合は、ＧＵＩ部品識別名称として「ＯＫボタン」と入力する。
【００４９】
しかる後、この画面設計制御部１１は、設計情報データベース２０のＧＵＩ部品属性情報２３から上記ステップＳＴ４で選択したＧＵＩ部品の属性を読み込んで、図１３に示す如くＧＵＩ部品属性選択部５０ｅを画面設計制御画面５０に表示する（ステップＳＴ８）。そして、ユーザは、そのＧＵＩ部品属性選択部５０ｅから所望のＧＵＩ部品属性を選択する（ステップＳＴ９）。
【００５０】
例えば上記の「ＯＫボタン」を例に挙げれば、ＧＵＩ部品「ボタン」のレコードの共通言語部品属性名称列２３ｂから共通言語によるＧＵＩ部品属性名称「背景色」が読み込まれ、そのＧＵＩ部品の名称「ボタン」と共に図１３に示すＧＵＩ部品属性選択部５０ｅが表示される。これが為、ユーザは、ＧＵＩ部品属性「背景色」を選択する。また、上記ＧＵＩ部品属性情報２３のＧＵＩ部品「テキスト」の如く複数の属性を有するものの場合は、その全てのＧＵＩ部品属性名称が読み込まれ、その全てを列挙したＧＵＩ部品属性一覧としてＧＵＩ部品属性選択部５０ｅが表示される。かかる場合には、ユーザがその一覧の中から所望のＧＵＩ部品属性を選択する。
【００５１】
上記の如くしてＧＵＩ部品属性が選択されると、この画面設計制御部１１は、設計情報データベース２０のＧＵＩ部品属性値情報２４からそのＧＵＩ部品属性の値を読み込んで、図１３に示す如くＧＵＩ部品属性値選択部５０ｆを画面設計制御画面５０に表示する（ステップＳＴ１０）。そして、ユーザがそのＧＵＩ部品属性選択部５０ｅから所望のＧＵＩ部品属性値を選択すると（ステップＳＴ１１）、この画面設計制御部１１は、その選択されたＧＵＩ部品属性値をＧＵＩ部品に反映させる（ステップＳＴ１２）。
【００５２】
例えば先の「ＯＫボタン」の場合を例に挙げれば、ＧＵＩ部品属性「背景色」のレコードの共通言語部品属性値名称列２４ｂから共通言語によるＧＵＩ部品属性値名称が読み込まれ、そのＧＵＩ部品属性の名称と共にその読み込まれたＧＵＩ部品属性値を列挙した図１３に示すＧＵＩ部品属性値選択部５０ｆが表示される。ここで、ユーザがそのＧＵＩ部品属性値一覧の中からＧＵＩ部品属性値「赤」を選択したとすると、かかる属性値がその背景として反映される。
【００５３】
続いて、この画面設計制御部１１は、上記各処理によってユーザが選択又は入力したＧＵＩ部品の設計情報をファイル入出力制御部を介して設計情報データベース２０に格納する（ステップＳＴ１３）。具体的には、上記ステップＳＴ７で入力されたＧＵＩ部品識別名称，上記ステップＳＴ４で選択されたＧＵＩ部品名称，上記ステップＳＴ９で選択されたＧＵＩ部品属性名称，及び上記ステップＳＴ１１で選択されたＧＵＩ部品属性値名称からなるレコードの図３（ａ）に示す共通言語ＧＵＩ部品設計情報２１Ａを作成して、設計情報データベース２０に格納する。
【００５４】
ここで、他のＧＵＩ部品の入力を行うのであれば、上記ステップＳＴ４に戻って同様の処理を全ての入力対象のＧＵＩ部品について繰り返す。
【００５５】
例えば上記のパスワード入力画面作成の場合は、「ＯＫボタン」のラベルや「ユーザ名称」等のＧＵＩ部品の追加を繰り返し、その全ての処理を終えると、図１４に示すパスワード入力画面５０ｂが作成され、また、設計情報データベース２０には図３（ｂ）に示す共通言語ＧＵＩ部品設計情報２１Ｂが格納される。
【００５６】
尚、このようにして新たな画面が作成されると、その画面については、以後画面設計制御画面５０の設計対象画面選択部５０ａに表示される。
【００５７】
以上の説明においては新規の画面を作成する場合について例示したが、この画面設計制御部１１は、予め用意されている又は作成してある設計対象画面にＧＵＩ部品を追加することもできる。これが為、以下においてはその説明を行う。尚、ここでは、上述した処理で作成したパスワード入力画面５０ｂにＧＵＩ部品を追加する処理について同じく図９のフローチャートを用いて説明する。
【００５８】
先ずユーザは、画面設計を行う所望の設計対象画面（パスワード入力画面）を、画面設計制御画面５０の設計対象画面選択部５０ａから選択する（ステップＳＴ１）。これにより、画面設計制御部１１は、その設計対象画面の図３（ｂ）に示す共通言語ＧＵＩ部品設計情報２１Ｂを読み込んで、設計対象画面（パスワード入力画面）５０ｂを図１５に示す如く画面設計制御画面５０の子画面として表示する（ステップＳＴ２）。
【００５９】
続いて、この画面設計制御部１１は、ＧＵＩ部品名称情報２２から共通言語部品名称列２２ａの情報（共通言語によるＧＵＩ部品名称）を読み込んで、図１５に示す如くＧＵＩ部品選択部５０ｃを画面設計制御画面５０に表示する（ステップＳＴ３）。しかる後、ユーザがＧＵＩ部品選択部５０ｃに列挙されたＧＵＩ部品一覧の中から所望のＧＵＩ部品を選択すると（ステップＳＴ４）、この画面設計制御部１１は、選択されたＧＵＩ部品を設計対象画面５０ｂに入力する（ステップＳＴ５）。
【００６０】
例えば上記のパスワード入力画面５０ｂにおいて「キャンセルボタン」の追加を希望しているのであれば、ユーザはＧＵＩ部品選択部５０ｃの「ボタン」を選択すればよく、これにより画面設計制御部１１は、図１６に示す如くＧＵＩ部品「ボタン」Ｂをパスワード入力画面（設計対象画面）５０ｂに追加する。
【００６１】
続いて、この画面設計制御部１１は、図１６に示す如くＧＵＩ部品識別名称入力部５０ｄを画面設計制御画面５０に表示する（ステップＳＴ６）。ここで、ユーザは、このＧＵＩ部品識別名称入力部５０ｄに上記ステップＳＴ４で選択したＧＵＩ部品の識別名称を入力する（ステップＳＴ７）。
【００６２】
例えば上記の如く「キャンセルボタン」を追加するのであれば「キャンセルボタン」と入力する。
【００６３】
しかる後、この画面設計制御部１１は、ＧＵＩ部品属性情報２３から上記ステップＳＴ４で選択したＧＵＩ部品の属性を読み込んで、図１７に示す如くＧＵＩ部品属性選択部５０ｅを画面設計制御画面５０に表示する（ステップＳＴ８）。そして、ユーザは、そのＧＵＩ部品属性選択部５０ｅから所望のＧＵＩ部品属性を選択する（ステップＳＴ９）。
【００６４】
例えば上記の「ボタン」Ｂの場合、ＧＵＩ部品「ボタン」のレコードの共通言語部品属性名称列２３ｂから共通言語によるＧＵＩ部品属性名称「背景色」が読み込まれ、そのＧＵＩ部品の名称「ボタン」と共に図１７に示すＧＵＩ部品属性選択部５０ｅが表示されるので、ユーザは、ＧＵＩ部品属性「背景色」を選択する。
【００６５】
上記の如くしてＧＵＩ部品属性が選択されると、この画面設計制御部１１は、ＧＵＩ部品属性値情報２４からそのＧＵＩ部品属性の値を読み込んで、図１７に示す如くＧＵＩ部品属性値選択部５０ｆを画面設計制御画面５０に表示する（ステップＳＴ１０）。そして、ユーザがそのＧＵＩ部品属性選択部５０ｅから所望のＧＵＩ部品属性値を選択すると（ステップＳＴ１１）、その選択したＧＵＩ部品属性値をＧＵＩ部品に反映する（ステップＳＴ１２）。
【００６６】
例えば先の「ボタン」Ｂの場合、ＧＵＩ部品属性「背景色」のレコードの共通言語部品属性値名称列２４ｂから共通言語によるＧＵＩ部品属性値名称が読み込まれ、そのＧＵＩ部品属性の名称と共にその読み込まれたＧＵＩ部品属性値を列挙した図１７に示すＧＵＩ部品属性値選択部５０ｆが表示される。ここで、ユーザがそのＧＵＩ部品属性値一覧の中からＧＵＩ部品属性値「赤」を選択したとすると、かかる属性値が「ボタン」Ｂの背景として反映される。
【００６７】
続いて、この画面設計制御部１１は、上記各処理によってユーザが選択又は入力したＧＵＩ部品の設計情報を、前述した場合と同様にファイル入出力制御部を介して設計情報データベース２０に格納する（ステップＳＴ１３）。即ち、これにより図３（ｃ）に示す共通言語ＧＵＩ部品設計情報２１Ｃが設計情報データベース２０に格納される。
【００６８】
ここでは、更に上記「ボタン」Ｂのラベル「キャンセル」の作成も上記の処理と同様にして行われ、これにより図１７に示すパスワード入力画面５０ｂが作成されて、ＧＵＩ部品の追加処理を終える。
【００６９】
次に、ソースコード生成システムの処理動作について図１８，図１９及び図２３のフローチャートに基づき説明する。
【００７０】
最初に、ソースコード生成制御部１３の処理動作を図１８のフローチャートを用いて説明する。ここでは、上述した如く作成された図３（ｃ）に示す共通言語ＧＵＩ部品設計情報２１Ｃを用いて説明を行う。
【００７１】
先ず、ソースコード生成制御部１３は、設計情報データベース２０から共通言語ＧＵＩ部品設計情報２１Ｃを読み込む（ステップＳＴ２１）。そして、ユーザは、ソース生成対象の開発言語を指定する（ステップＳＴ２２）。ここでは、「Ａ言語」を開発言語として指定するものとする。これにより、このソースコード生成制御部１３は、読み込んだ共通言語ＧＵＩ部品設計情報２１Ｃの設計情報を、Ａ言語による設計情報として変換する（ステップＳＴ２３）。
【００７２】
ここで、その変換処理について図１９のフローチャートを用いて詳述する。
【００７３】
先ず、ソースコード生成制御部１３は、上記ステップＳＴ２１で読み込んだ共通言語ＧＵＩ部品設計情報２１Ｂの設計情報を、図２０（ａ）に示す如くＧＵＩ部品設計情報２１１として複写する（ステップＳＴ２３Ａ）。
【００７４】
続いて、このソースコード生成制御部１３は、そのＧＵＩ部品設計情報２１１のレコードにおけるＧＵＩ部品名称列２１１ｂの情報（共通言語によるＧＵＩ部品名称）を、設計情報データベース２０の図４に示すＧＵＩ部品名称情報２２から検索する（ステップＳＴ２３Ｂ）。そして、該当するレコードが存在すれば、このレコードからＡ言語によるＧＵＩ部品名称を取得してこの値に変換し（ステップＳＴ２３Ｃ）、該当するレコードが無ければ共通言語のままにして次の処理に進む。
【００７５】
次に、そのＧＵＩ部品設計情報２１１のレコードにおけるＧＵＩ部品名称及びＧＵＩ部品属性名称列２１１ｃの情報（共通言語によるＧＵＩ部品属性名称）を有するレコードを、設計情報データベース２０の図５に示すＧＵＩ部品属性情報２３から検索する（ステップＳＴ２３Ｄ）。そして、該当するレコードが存在すれば、このレコードからＡ言語によるＧＵＩ部品属性名称を取得してこの値に変換し（ステップＳＴ２３Ｅ）、該当するレコードが無ければ共通言語のままにして次の処理に進む。
【００７６】
また、そのＧＵＩ部品設計情報２１１のレコードにおけるＧＵＩ部品属性名称及びＧＵＩ部品属性値名称列２１１ｄの情報（共通言語によるＧＵＩ部品属性値名称）を有するレコードを、設計情報データベース２０の図６に示すＧＵＩ部品属性値情報２４から検索する（ステップＳＴ２３Ｆ）。そして、該当するレコードが存在すれば、このレコードからＡ言語によるＧＵＩ部品属性値名称を取得してこの値に変換し（ステップＳＴ２３Ｇ）、該当するレコードが無ければ共通言語のままにして次の処理に進む。
【００７７】
例えば、ＧＵＩ部品設計情報２１１の「ＯＫボタン」のレコードについて変換する場合、先ずそのＧＵＩ部品名称「ボタン」を有するレコードをＧＵＩ部品名称情報２２から検索し、次にこのレコードからＡ言語によるＧＵＩ部品名称「ＣｏｍｍａｎｄＢｕｔｔｏｎ」を取得してこの値に変換する。続いて、ＧＵＩ部品設計情報２１１におけるＧＵＩ部品名称「ボタン」とＧＵＩ部品属性名称「背景色」とを有するレコードをＧＵＩ部品属性情報２３から検索し、このレコードからＡ言語によるＧＵＩ部品属性名称「ＢａｃｋＣｏｌｏｒ」を取得してこの値に変換する。更に、ＧＵＩ部品設計情報２１１におけるＧＵＩ部品属性名称「背景色」とＧＵＩ部品属性値名称「赤」とを有するレコードをＧＵＩ部品属性値情報２４から検索し、このレコードからＡ言語によるＧＵＩ部品属性値名称「Ｒｅｄ」を取得してこの値に変換する。
【００７８】
このような変換処理を他のレコードについても同様に行い、これにより共通言語ＧＵＩ部品設計情報２１Ｃが図２０（ｂ）に示すＡ言語ＧＵＩ部品設計情報２１１Ａの如くＡ言語のＧＵＩ部品設計情報として変換される。
【００７９】
以上の如くして開発言語への変換を終えると、次にソースコード生成制御部１３は、ソースコードデータベース３０から図７に示すＡ言語のソースコードテンプレート３１Ａを読み取る（ステップＳＴ２４）。そして、このソースコードテンプレート３１Ａの各プレースホルダー３１Ａ１〜３１Ａ４をＡ言語ＧＵＩ部品設計情報２１１Ａの各設計情報に基づき置換して、図２１に示すソースコード３２Ａを生成する（ステップＳＴ２５）。
【００８０】
例えば、Ａ言語ＧＵＩ部品設計情報２１１Ａの「ＯＫボタン」のレコードについて置換する場合、先ずソースコードテンプレート３１Ａを検索して、そのプレースホルダー「％ＧＵＩ部品名称％」３１Ａ１をＡ言語ＧＵＩ部品設計情報２１１ＡのＧＵＩ部品名称列２１１ｂにおけるＧＵＩ部品名称「ＣｏｍｍａｎｄＢｕｔｔｏｎ」に置換し、図２１に示す如くプレースホルダー「ＣｏｍｍａｎｄＢｕｔｔｏｎ」３２Ａ１とする。続いて、プレースホルダー「％ＧＵＩ部品識別名称％」３１Ａ２をＧＵＩ部品識別名称「ＯＫボタン」に、プレースホルダー「％ＧＵＩ部品属性名称％」３１Ａ３をＧＵＩ部品属性名称「ＢａｃｋＣｏｌｏｒ」に、プレースホルダー「％ＧＵＩ部品属性値名称％」３１Ａ４をＧＵＩ部品属性値名称「Ｒｅｄ」に置換し、夫々図２１に示す如くプレースホルダー「ＯＫボタン」３２Ａ２、プレースホルダー「ＢａｃｋＣｏｌｏｒ」３２Ａ３、プレースホルダー「Ｒｅｄ」３２Ａ４とする。
【００８１】
かかる置換処理をＡ言語ＧＵＩ部品設計情報２１１Ａの全てのレコードについて行うことにより、このソースコード生成制御部１３は、図２１に示すソースコード３２Ａを生成する。しかる後、このソースコード生成制御部１３は、そのソースコード３２Ａをソースコード入出力制御部１４を介してソースコードデータベース３０に格納する（ステップＳＴ２６）。
【００８２】
以上示したソースコード生成制御部１３の処理動作説明においてはＡ言語のソースコード生成処理を説明したが、例えばＢ言語の場合も同様であり、かかる場合には、ＧＵＩ部品設計情報２１１から図２０（ｃ）に示すＢ言語ＧＵＩ部品設計情報２１１Ｂを作成し、図８に示すソースコードテンプレート３１Ｂを用いて図２２に示すソースコード３２Ｂを生成する。
【００８３】
次に、リバース制御部１５の処理動作を図２３のフローチャートを用いて説明する。
【００８４】
先ず、ユーザは、リバースエンジニアリングを行なう対象の画面を指定する（ステップＳＴ３１）。ここでは、前述した処理で作成した図１７に示すパスワード入力画面５０ｂを指定する。尚、このパスワード入力画面５０ｂについては、Ａ言語のソースコードが生成されているものとする。これにより、リバース制御部１５は、その指定画面に該当する図２１に示すＡ言語のソースコード３２Ａ及び図２２に示すＢ言語のソースコード３２Ｂをソースコードデータベース３０から読み込む（ステップＳＴ３２）。
【００８５】
次に、ユーザは、リバースエンジニアリングを行う対象の開発言語（ここではＡ言語）を指定する（ステップＳＴ３３）。これにより、このリバース制御部１５は、図７に示すＡ言語のソースコードテンプレート３１Ａをソースコードデータベース３０から読み込む（ステップＳＴ３４）。
【００８６】
そして、このリバース制御部１５は、そのソースコードテンプレート３１Ａを用いて上記ステップＳＴ３２で読み込んだソースコード３２Ａのパターン解析を行い、即ち例えばソースコード３２Ａのプレースホルダー「ＣｏｍｍａｎｄＢｕｔｔｏｎ」３２Ａ１とソースコードテンプレート３１Ａのプレースホルダー「％ＧＵＩ部品名称％」３１Ａ１との比較解析を行い、図２０（ｂ）に示すＡ言語ＧＵＩ部品設計情報２１１Ａを作成する（ステップＳＴ３５）。
【００８７】
しかる後、このリバース制御部１５は、そのＡ言語ＧＵＩ部品設計情報２１１Ａの全てのレコードを「Ａ言語」から「共通言語」に変換して図２０（ａ）に示すＧＵＩ部品設計情報２１１を作成する（ステップＳＴ３６）。かかる変換処理は、前述したソースコード生成制御部１３の「共通言語」から「開発言語」への変換処理と逆であり、Ａ言語ＧＵＩ部品設計情報２１１Ａと設計情報データベース２０のＧＵＩ部品名称情報２２及びＧＵＩ部品属性情報２３及びＧＵＩ部品属性値情報２４との比較により行う。
【００８８】
続いて、このリバース制御部１５は、作成したＧＵＩ部品設計情報２１１を共通言語ＧＵＩ部品設計情報としてファイル入出力制御部１２を介して設計情報データベース２０に出力（即ち格納）する（ステップＳＴ３７）。
【００８９】
ここで、ユーザがこのパスワード入力画面５０ｂについてのＢ言語のソースコードを生成したいのであれば、上記ステップＳＴ３７で格納された共通言語ＧＵＩ部品設計情報を用いて、上記ソースコード生成制御部１３による上記ステップＳＴ２１〜ＳＴ２６までの処理を行えばよい。
【００９０】
以上示したが如く本実施形態のソフトウエア開発支援ツールを用いることによって、より詳細にはそのソフトウェア開発支援システムを用いることによって、ユーザは開発言語に依存しない共通言語でＧＵＩ部品の設計を行い、このＧＵＩ部品の設計情報を共通言語として得ることができる。
【００９１】
更に、開発言語と共通言語との対応関係を示すＧＵＩ部品についての各種設計情報の変換テーブル及びソースコードテンプレートを用意しているので、ソースコード生成システムにより、共通言語のＧＵＩ部品設計情報から所望の開発言語のソースコードを容易に生成することができる。かかる場合、その変換テーブルを複数の開発言語との対応関係を示すものとして用意しておけば、複数の開発言語のソースコードの生成がより容易になる。また、新たな開発言語のソースコードを生成したいのであれば、変換テーブルをその開発言語に対応したものに変更する又はその開発言語に対応した変換テーブルを追加し、更にその開発言語のソースコードテンプレートを追加すればよく、これが為プログラムの変更等の大掛かりな変更作業を行わずともよいので、その作業工数の低減やプログラム改変に伴う不具合の抑制等、コストメリットも生じる。
【００９２】
また、このソースコード生成システムにはリバースエンジニアリング機能も備えているので、例えばＡ言語のソースコードから共通言語へリバースした後に、更にＢ言語のソースコードを生成するというような複数の開発言語間の変換も容易に行うことができ、これにより複数の開発言語のソースコードの生成が更に容易になる。
【００９３】
【発明の効果】
本発明に係るソースコードの生成システム，その生成方法，その生成プログラム又はソフトウェア開発支援ツールによれば、開発言語と当該開発言語に依存しない共通言語との対応関係を示すＧＵＩ部品の設計情報変換テーブルを用意し、更にその開発言語のソースコードテンプレートを用意しているので、設計したＧＵＩ部品の設計情報を開発言語に依存しない共通言語で記述することによって、容易に開発言語のソースコードを生成することができる。かかる場合、その設計情報変換テーブルを複数の開発言語に対応するものとすれば、複数の開発言語のソースコードを容易に生成できる。
【００９４】
また、その設計情報変換テーブルに新たな開発言語との対応関係を追加し、又はその新たな開発言語と共通言語との対応関係を示す設計情報変換テーブルを追加し、更にその新たな開発言語のソースコードテンプレートを追加するだけで、そのその新たな開発言語のソースコードを生成することが可能になる。これが為ソースコード生成プログラムの大幅な改変を行わずともよく、これにより改変作業工数の低減が図れ、更には改変により懸念されるプログラムの不具合等の抑制も図れる。
【図面の簡単な説明】
【図１】本発明に係るソフトウエア開発支援ツール（ソフトウェア開発支援システム、ソースコード生成システム）が実装される電子計算機を示すブロック図である。
【図２】本発明に係るソフトウエア開発支援ツール（ソフトウェア開発支援システム、ソースコード生成システム）の一実施形態の構成を示すブロック図である。
【図３】本実施形態の共通言語ＧＵＩ部品設計情報のテーブルを例示した説明図である。
【図４】本実施形態のＧＵＩ部品名称情報のテーブルを例示した説明図である。
【図５】本実施形態のＧＵＩ部品属性情報のテーブルを例示した説明図である。
【図６】本実施形態のＧＵＩ部品属性値情報のテーブルを例示した説明図である。
【図７】本実施形態のＡ言語によるソースコードテンプレートを例示した説明図である。
【図８】本実施形態のＢ言語によるソースコードテンプレートを例示した説明図である。
【図９】本実施形態のソフトウェア開発支援システム（画面設計制御部）の動作を説明するフローチャートである。
【図１０】新規画面を作成する際の本実施形態の画面設計制御画面の一例を示す説明図である。
【図１１】図１０の画面設計制御画面にＧＵＩ部品選択部及びＧＵＩ部品が表示された状態を示す説明図である。
【図１２】図１１の画面設計制御画面の次工程の画面，即ちＧＵＩ部品識別名称入力部が表示された状態を示す説明図である。
【図１３】図１２の画面設計制御画面の後工程の画面，即ちＧＵＩ部品属性選択部及びＧＵＩ部品属性値選択部が表示された状態を示す説明図である。
【図１４】新規画面作成処理を終えた画面設計制御画面の状態を示す説明図である。
【図１５】ＧＵＩ部品を追加する際の本実施形態の画面設計制御画面の一例を示す説明図である。
【図１６】図１５の画面設計制御画面の後工程の画面，即ちＧＵＩ部品及びＧＵＩ部品識別名称入力部が表示された状態を示す説明図である。
【図１７】ＧＵＩ部品追加処理を終えた画面設計制御画面の状態を示す説明図である。
【図１８】本実施形態のソースコード生成システムにおけるソースコード生成制御部のソースコード生成動作を説明するフローチャートである。
【図１９】図１８に示す共通言語から開発言語への変換処理の詳細を説明するフローチャートである。
【図２０】ソースコード生成処理時に作成されるＧＵＩ部品設計情報を表す説明図であって、図２０（ａ）は共通言語ＧＵＩ部品設計情報を複写したものを示す図で、図２０（ｂ）は図２０（ａ）のＧＵＩ部品設計情報をＡ言語に変換したものを示す図で、図２０（ｃ）は図２０（ａ）のＧＵＩ部品設計情報をＢ言語に変換したものを示す図である。
【図２１】ソースコード生成処理により生成されたＡ言語のソースコードを示す説明図である。
【図２２】ソースコード生成処理により生成されたＢ言語のソースコードを示す説明図である。
【図２３】本実施形態のソースコード生成システムにおけるリバース制御部のリバースエンジニアリング処理動作を説明するフローチャートである。
【符号の説明】
１１  画面設計制御部
１３  ソースコード生成制御部
１５  リバース制御部
２１，２１Ａ，２１Ｂ，２１Ｃ  ＧＵＩ部品設計情報
２２  ＧＵＩ部品名称情報
２３  ＧＵＩ部品属性情報
２４  ＧＵＩ部品属性値情報
３１，３１Ａ，３１Ｂ  ソースコードテンプレート
３２，３２Ａ，３２Ｂ  ソースコード
１００  電子計算機
【図１】
2005031737.tif 000003
【図２】
2005031737.tif 000004
【図３】
2005031737.tif 000005
【図４】
2005031737.tif 000006
【図５】
2005031737.tif 000007
【図６】
2005031737.tif 000008
【図７】
2005031737.tif 000009
【図８】
2005031737.tif 000010
【図９】
2005031737.tif 000011
【図１０】
2005031737.tif 000012
【図１１】
2005031737.tif 000013
【図１２】
2005031737.tif 000014
【図１３】
2005031737.tif 000015
【図１４】
2005031737.tif 000016
【図１５】
2005031737.tif 000017
【図１６】
2005031737.tif 000018
【図１７】
2005031737.tif 000019
【図１８】
2005031737.tif 000020
【図１９】
2005031737.tif 000021
【図２０】
2005031737.tif 000022
【図２１】
2005031737.tif 000023
【図２２】
2005031737.tif 000024
【図２３】
2005031737.tif 000025