(57)【要約】【課題】ワークフローアプリケーションの開発効率を向上させる。【解決手段】生成手段１０２は、ワークフローを制御するための情報を定義したフロー定義情報と、ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段１０１から読み出し、そのフロー定義情報および画面定義情報を用いて、複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを自動的に生成する。【選択図】      図１
2004280473.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを格納する格納手段と、
前記フロー定義情報および画面定義情報を前記格納手段から読み出し、読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する生成手段と
を備えることを特徴とするワークフロープログラム生成装置。
【請求項２】
コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３】
コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
伝票処理のワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出された画面定義情報を用いて、伝票データを格納した伝票テーブルを更新するデータを入力する画面を表示するための画面プログラムと、該伝票テーブルのデータを参照する画面を表示するための画面プログラムとを生成し、
読み出されたフロー定義情報および画面定義情報を用いて、前記伝票処理のワークフローのデータを格納したワークフローテーブルを更新するデータを入力する画面を表示するための画面プログラムを生成し、
読み出された画面定義情報を用いて、前記ワークフローテーブルのデータに基づいて前記伝票テーブルのデータを参照する画面を表示するための画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４】
生成手段が、ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
前記生成手段が、読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
ことを特徴とするワークフロープログラム生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワークフローに基づく各種の処理を実行するために必要なワークフロープログラムを自動的に生成する装置および方法に関する。
【０００２】
【従来の技術】
伝票処理のワークフローアプリケーションを開発する場合、伝票入力画面プログラム、ワークフロー申請・承認画面プログラム、未決伝票照会画面プログラム、既決伝票照会画面プログラム、および会計／人事等の基幹システムとのデータ連携処理で用いられるデータ連携プログラムのような各種のプログラムを開発する必要がある。この場合、１種類の伝票をワークフロー化するためには、これらのプログラムのそれぞれについて、設計、製作、およびテストを行う必要がある。
【０００３】
従来の開発支援ツールとしては、入力された画面設計情報に基づいて各種の画面プログラムを自動生成する機能を有するものがある（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開平０９−１９８２４０号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したワークフローアプリケーションの開発においては、次のような問題がある。
【０００６】
従来の開発支援ツールでは、画面設計情報のみから画面プログラムを生成しているため、それらの画面プログラム間におけるフロー制御のためのプログラムは、別途、プログラマが開発する必要がある。このため、ワークフロー化を必要としない通常のシステム開発と比較すると、プログラマの負荷が高くなり、アプリケーションの開発効率が低下する。
【０００７】
本発明の課題は、ワークフローアプリケーションの開発効率を向上させるワークフロープログラム生成装置およびその方法を提供することである。
【０００８】
【課題を解決するための手段】
図１は、本発明のワークフロープログラム生成装置の原理図である。図１のワークフロープログラム生成装置は、格納手段１０１および生成手段１０２を備える。
【０００９】
本発明の第１の局面において、格納手段１０１は、ワークフローを制御するための情報を定義したフロー定義情報と、ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを格納する。生成手段１０２は、フロー定義情報および画面定義情報を格納手段１０１から読み出し、読み出されたフロー定義情報および画面定義情報を用いて、複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する。
【００１０】
このようなワークフロープログラム生成装置によれば、画面定義情報とは別にフロー定義情報をあらかじめ用意しておくことで、フロー制御のためのプログラムコードを含む画面プログラムが自動的に生成される。これにより、プログラマの作業量が大幅に削減され、ワークフローアプリケーションの開発効率が向上する。
【００１１】
本発明の第２の局面において、格納手段１０１は、伝票処理のワークフローを制御するための情報を定義したフロー定義情報と、ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを格納する。
【００１２】
生成手段１０２は、フロー定義情報および画面定義情報を格納手段１０１から読み出し、読み出された画面定義情報を用いて、伝票データを格納した伝票テーブルを更新するデータを入力する画面を表示するための画面プログラムと、伝票テーブルのデータを参照する画面を表示するための画面プログラムとを生成する。
【００１３】
また、生成手段１０２は、読み出されたフロー定義情報および画面定義情報を用いて、伝票処理のワークフローのデータを格納したワークフローテーブルを更新するデータを入力する画面を表示するための画面プログラムを生成し、読み出された画面定義情報を用いて、ワークフローテーブルのデータに基づいて伝票テーブルのデータを参照する画面を表示するための画面プログラムを生成する。
【００１４】
このようなワークフロープログラム生成装置によれば、画面定義情報とは別にフロー定義情報をあらかじめ用意しておくことで、伝票データを更新するための画面プログラムや伝票データを参照するための画面プログラムとともに、ワークフローテーブルを更新するための画面プログラムやワークフローテーブルを参照するための画面プログラムが自動的に生成される。
【００１５】
ワークフローテーブルの更新および参照はフロー制御の一部に相当するため、この部分のプログラムを自動生成することで、プログラマの作業量が大幅に削減され、ワークフローアプリケーションの開発効率が向上する。
【００１６】
図１の格納手段１０１は、例えば、後述する図３８の外部記憶装置１３０５に対応し、図１の生成手段１０２は、図３８のＣＰＵ（中央処理装置）１３０１およびメモリ１３０２に対応する。
【００１７】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態では、データベースで管理された伝票画面設計情報および伝票フロー設計情報から、伝票入力画面プログラム、ワークフロー申請画面プログラム、申請伝票一覧画面プログラム、伝票参照画面プログラム、未決伝票一覧画面プログラム、伝票承認画面プログラム、およびデータ連携プログラムの７種類のプログラムを自動的に生成する。
【００１８】
伝票画面設計情報は、伝票処理で用いられる各画面の入出力項目を定義した画面定義情報であり、伝票フロー設計情報は、各画面の入出力項目とは独立に、伝票処理のワークフローを制御するための情報を定義したフロー定義情報である。本実施形態の自動生成処理の概要は、以下の通りである。
１．伝票画面設計情報から、フロー制御プログラムを含まない画面アプリケーション（伝票入力画面プログラム、申請伝票一覧画面プログラム、未決伝票一覧画面プログラム、および伝票承認画面プログラム）を自動生成する。
２．伝票画面設計情報および伝票フロー設計情報から、フロー制御プログラムを含む画面アプリケーション（ワークフロー申請画面プログラムおよび伝票参照画面プログラム）を自動生成する。
３．伝票画面設計情報から、基幹システムとのデータ連携処理で用いられる連携アプリケーション（データ連携プログラム）を自動生成する。
【００１９】
このように、７種類のプログラムを同時に自動生成することにより、ワークフローアプリケーションの開発における生産性が向上する。特に、フロー制御プログラムを自動生成することにより、プログラマの作業量が大幅に削減され、アプリケーションの開発効率が向上する。
【００２０】
また、同じ伝票画面設計情報から各画面プログラムと連携アプリケーションを自動生成することにより、各画面の入出力項目やデータ型等が統一され、アプリケーションの品質が向上する。
【００２１】
図２は、データベースに格納された伝票画面設計情報および伝票フロー設計情報の例を示している。伝票画面設計情報Ａは、伝票識別子（伝票ＩＤ）、伝票名、項目識別子（項目ＩＤ）、項目名、タイプ（入力、出力等）、属性（日付、文字等）、桁数、およびレイアウト（改行等）から構成されている。また、伝票フロー設計情報Ｂは、伝票識別子（伝票ＩＤ）、承認階層数、および取戻有無から構成されている。
【００２２】
承認階層数は、伝票に入力された事項を承認する承認者の論理的な階層の数を表し、承認階層数がｎであれば、ｎ回の承認が行われた後にその伝票は承認済となる。取戻有無は、申請者による伝票の取戻（申請キャンセル）が可能かどうかを表し、取戻有りの場合は伝票の取戻が可能であり、取戻無しの場合は伝票の取戻が不可能である。
【００２３】
図３は、ワークフロープログラム生成装置が行う自動生成処理のフローチャートである。ワークフロープログラム生成装置は、例えば、情報処理装置を用いて構成され、所定のプログラムを実行することで自動生成処理を行う。
【００２４】
ワークフロープログラム生成装置は、まず、伝票入力画面プログラム自動生成処理を行い（ステップＳ１０１）、ワークフロー申請画面プログラム自動生成処理を行い（ステップＳ１０２）、申請伝票一覧画面プログラム自動生成処理を行い（ステップＳ１０３）、伝票参照画面プログラム自動生成処理を行う（ステップＳ１０４）。
【００２５】
次に、未決伝票一覧画面プログラム自動生成処理を行い（ステップＳ１０５）、伝票承認画面プログラム自動生成処理を行い（ステップＳ１０６）、データ連携プログラム自動生成処理を行う（ステップＳ１０７）。
【００２６】
次に、図４から図３４までを参照しながら、自動生成処理をより詳細に説明する。
図４は、図３のステップＳ１０１における伝票入力画面プログラム自動生成処理のフローチャートであり、図５および図６は、この処理で用いられる申請画面テンプレートおよび申請ボタン処理テンプレートの例を示している。
【００２７】
また、図７は、この処理により生成される伝票入力画面プログラム（年次休暇申請画面プログラム）のソースコード（プログラムコード）の例を示しており、図８は、伝票入力画面プログラム実行時に表示される伝票入力画面（年次休暇申請画面）の例を示している。図７の年次休暇申請画面プログラムは、画面ソースコードのファイル“年次休暇申請画面．ｃｆｍ”と申請ボタン押下時処理ソースコードのファイル“年次休暇申請ボタン処理．ｃｆｍ”からなる。
【００２８】
ワークフロープログラム生成装置は、まず、画面ソースコードを生成し（ステップＳ２０１〜Ｓ２０９）、次に、申請ボタン押下時処理ソースコードを生成する（ステップＳ２１０〜Ｓ２１３）。
【００２９】
画面ソースコードの生成では、まず、図５のような申請画面テンプレートを読み込み（ステップＳ２０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ２０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図７のタイトル２２１（年次休暇申請）が作成される。
【００３０】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ２０３〜Ｓ２０８）を繰り返し、生成された画面ソースコードを保存する（ステップＳ２０９）。
【００３１】
この画面項目作成処理では、まず、項目のタイプが入力であるか否かをチェックし（ステップＳ２０３）、項目のタイプが入力であれば、項目入力部分を作成する（ステップＳ２０４）。次に、項目のタイプが出力であるか否かをチェックし（ステップＳ２０５）、項目のタイプが出力であれば、項目出力部分を作成する（ステップＳ２０６）。次に、項目のレイアウトが改行であるか否かをチェックし（ステップＳ２０７）、項目のレイアウトが改行であれば、改行を作成する（ステップＳ２０８）。
【００３２】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの入力項目が定義されているので、図７の３つの画面項目２２２、２２３、および２２４が項目入力部分として作成される。このうち、画面項目２２３および２２４には、改行が作成されている。
【００３３】
申請ボタン押下時処理ソースコードの生成では、まず、図６のような申請ボタン処理テンプレートを読み込み（ステップＳ２１０）、伝票画面設計情報Ａの伝票名より伝票のデータを格納する伝票テーブルのテーブル名を作成する（ステップＳ２１１）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図７のテーブル名２２５（年次休暇）が作成される。
【００３４】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ２１２）を繰り返し、生成された申請ボタン押下時処理ソースコードを保存する（ステップＳ２１３）。この画面項目作成処理では、伝票テーブル中の更新対象となる画面項目が伝票項目データ更新部分として作成される。
【００３５】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの入力項目が定義されているので、図７の３つの画面項目２２６、２２７、および２２８が伝票項目データ更新部分として作成される。
【００３６】
こうして生成された年次休暇申請画面プログラムを実行すると、図８のような年次休暇申請画面が表示される。申請者が、休暇開始日２３１、休暇終了日２３２、および申請理由２３３を入力して申請ボタン２３４を押下（クリック）すると、入力された項目データが伝票ＩＤおよび申請者名とともに年次休暇テーブルに格納され、伝票状態が“一次承認待ち”に設定される。そして、ワークフロー申請画面プログラムが呼び出される。
【００３７】
図９は、図３のステップＳ１０２におけるワークフロー申請画面プログラム自動生成処理のフローチャートであり、図１０および図１１は、この処理で用いられる申請回送画面テンプレートおよび回送ボタン処理テンプレートの例を示している。
【００３８】
また、図１２は、この処理により生成されるワークフロー申請画面プログラム（年次休暇申請回送画面プログラム）のソースコードの例を示しており、図１３は、ワークフロー申請画面プログラム実行時に表示されるワークフロー申請画面（年次休暇申請回送画面）の例を示している。図１２の年次休暇申請回送画面プログラムは、画面ソースコードのファイル“年次休暇申請回送画面．ｃｆｍ”と申請ボタン押下時処理ソースコードのファイル“年次休暇回送ボタン処理．ｃｆｍ”からなる。
【００３９】
ワークフロープログラム生成装置は、まず、画面ソースコードを生成し（ステップＳ３０１〜Ｓ３０４）、次に、回送ボタン処理ソースコードを生成する（ステップＳ２１０〜Ｓ２１３）。
【００４０】
画面ソースコードの生成では、まず、図１０のような申請回送画面テンプレートを読み込み（ステップＳ３０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ３０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図１２のタイトル３１１（年次休暇申請回送）が作成される。
【００４１】
次に、伝票フロー設計情報Ｂの承認階層数だけ画面項目作成処理（ステップＳ３０３）を繰り返し、生成された画面ソースコードを保存する（ステップＳ３０４）。この画面項目作成処理では、ワークフロー申請画面における承認者名の入力部が作成される。
【００４２】
例えば、図２の伝票フロー設計情報Ｂでは承認者階層数が２となっているので、画面項目作成処理が２回繰り返され、図１２の第一承認者の入力部３１２および第二承認者の入力部３１３が作成される。
【００４３】
回送ボタン処理ソースコードの生成では、まず、図１１のような回送ボタン処理テンプレートを読み込み（ステップＳ３０５）、伝票フロー設計情報Ｂの承認階層数だけパラメタ作成処理（ステップＳ３０６）を繰り返し、生成された回送ボタン処理ソースコードを保存する（ステップＳ３０７）。このパラメタ作成処理では、ワークフロー更新部品により用いられる承認者パラメタが作成される。ワークフロー更新部品は、ワークフローのデータを格納するワークフローテーブル中の項目のうち、承認者パラメタにより指定された項目を更新する。
【００４４】
例えば、図２の伝票フロー設計情報Ｂでは承認者階層数が２となっているので、パラメタ作成処理が２回繰り返され、図１２の２つの承認者パラメタ３１４および３１５が作成される。
【００４５】
こうして生成された年次休暇申請回送画面プログラムを実行すると、図１３のような年次休暇申請回送画面が表示される。申請者が、第一承認者３２１および第二承認者３２２の承認者名を入力して回送ボタン３２３を押下（クリック）すると、入力された承認者名が伝票ＩＤおよび申請者名とともにワークフローテーブルに格納される。
【００４６】
図１４は、図３のステップＳ１０３における申請伝票一覧画面プログラム自動生成処理のフローチャートであり、図１５は、この処理で用いられる一覧画面テンプレートの例を示している。
【００４７】
また、図１６は、この処理により生成される申請伝票一覧画面プログラム（年次休暇申請一覧画面プログラム）のソースコードの例を示しており、図１７は、申請伝票一覧画面プログラム実行時に表示される申請伝票一覧画面（年次休暇申請一覧画面）の例を示している。図１６の申請伝票一覧画面プログラムは、画面ソースコードのファイル“年次休暇申請一覧画面．ｃｆｍ”からなる。
【００４８】
ワークフロープログラム生成装置は、まず、図１５のような一覧画面テンプレートを読み込み（ステップＳ４０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ４０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図１６のタイトル４１１（年次休暇申請一覧）が作成される。
【００４９】
次に、伝票画面設計情報Ａの伝票名より、伝票テーブルのテーブル名を含むデータ取得部を作成する（ステップＳ４０３）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図１６のデータ取得部４１２が作成される。データ取得部４１２では、データ取得の対象が年次休暇テーブルであることが記されている。
【００５０】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ４０４）を繰り返し、生成された画面ソースコードを保存する（ステップＳ４０５）。この画面項目作成処理では、伝票画面設計情報Ａの項目が項目出力部分として作成される。
【００５１】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの項目が定義されているので、図１６の３つの画面項目４１３、４１４、および４１５が項目出力部分として作成される。さらに、ワークフロー上での現在の伝票処理の状態を表す画面項目４１６（伝票状態）が、項目出力部分として追加されている。
【００５２】
こうして生成された年次休暇申請一覧画面プログラムを実行すると、図１７のような年次休暇申請一覧画面が表示される。この画面は、承認待ちおよび承認済の伝票の一覧を含み、申請者により参照される。この例では、以下の４つの伝票状態が用いられる。
（１）一次承認待ち：申請者が伝票を第一承認者に回送した状態
（２）二次承認待ち：第一承認者が伝票を承認した状態
（３）起票：申請者が伝票を取り戻した状態、あるいは承認者（第一承認者または第二承認者）が伝票を否認した状態
（４）承認済：第二承認者が伝票を承認した状態
一般に、承認階層数がｎの場合は、一次承認待ちからｎ次承認待ちまでのｎ個の承認待ちの状態が用いられ、第ｎ承認者（最後の承認者）が伝票を承認した状態が承認済の状態となる。年次休暇申請一覧画面において、申請者が特定の伝票ＩＤをクリックすると、対応する伝票の参照画面が表示される。
【００５３】
図１８は、図３のステップＳ１０４における伝票参照画面プログラム自動生成処理のフローチャートであり、図１９は、この処理で用いられる参照画面テンプレートの例を示している。
【００５４】
また、図２０は、この処理により生成される伝票参照画面プログラム（年次休暇参照画面プログラム）のソースコードの例を示しており、図２１は、伝票参照画面プログラム実行時に表示される伝票参照画面（年次休暇参照画面）の例を示している。図２０の年次休暇参照画面プログラムは、画面ソースコードのファイル“年次休暇参照画面．ｃｆｍ”と取戻ボタン押下時処理ソースコードのファイル“年次休暇取戻ボタン処理．ｃｆｍ”からなる。
【００５５】
ワークフロープログラム生成装置は、まず、図１９のような参照画面テンプレートを読み込み（ステップＳ５０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ５０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図２０のタイトル５２１（年次休暇参照）が作成される。
【００５６】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ５０４〜Ｓ５０６）を繰り返す。この画面項目作成処理では、まず、伝票画面設計情報Ａの項目を項目出力部分として作成する（ステップＳ５０４）。次に、項目のレイアウトが改行であるか否かをチェックし（ステップＳ５０５）、項目のレイアウトが改行であれば、改行を作成する（ステップＳ５０６）。
【００５７】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの項目が定義されているので、図２０の３つの画面項目５２２、５２３、および５２４が項目出力部分として作成される。このうち、画面項目５２３および５２４には、改行が作成されている。
【００５８】
次に、伝票フロー設計情報Ｂの取戻有無が“有り”となっているかどうかをチェックする（ステップＳ５０７）。
取戻有無が“有り”となっていれば、取戻ボタンを作成し（ステップＳ５０８）、伝票画面設計情報Ａの伝票名をテーブル名とする取戻ボタン押下時処理のソースコードを作成する（ステップＳ５０９）。そして、取戻ボタン押下時処理のソースコードを保存し（ステップＳ５１０）、画面コードのソースコードを保存する（ステップＳ５１１）。取戻有無が“無し”となっていれば、取戻ボタン押下時処理のソースコードを作成せずに、画面コードのソースコードを保存する（ステップＳ５１１）。
【００５９】
例えば、図２の伝票フロー設計情報Ｂでは取戻有無が“有り”となっているので、図２０の取戻ボタンを表示する処理５２５と年次休暇テーブルを更新する処理５２６が作成される。
【００６０】
こうして生成された年次休暇参照画面プログラムを実行すると、図２１のような年次休暇参照画面が表示される。申請者が、取戻ボタン５３１を押下（クリック）すると、年次休暇テーブルの対応する伝票の伝票状態が“起票”に変更される。
【００６１】
図２２は、図３のステップＳ１０５における未決伝票一覧画面プログラム自動生成処理のフローチャートである。また、図２３は、この処理により生成される未決伝票一覧画面プログラム（年次休暇未決一覧画面プログラム）のソースコードの例を示しており、図２４は、未決伝票一覧画面プログラム実行時に表示される未決伝票一覧画面（年次休暇未決一覧画面）の例を示している。図２４の未決伝票一覧画面プログラムは、画面ソースコードのファイル“年次休暇未決一覧画面．ｃｆｍ”からなる。
【００６２】
ワークフロープログラム生成装置は、まず、図１５のような一覧画面テンプレートを読み込み（ステップＳ６０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ６０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図２３のタイトル６１１（年次休暇未決一覧）が作成される。
【００６３】
次に、伝票画面設計情報Ａの伝票名より、伝票テーブルのテーブル名を含むデータ取得部を作成する（ステップＳ６０３）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図２３のデータ取得部６１２が作成される。データ取得部６１２では、承認者をパラメタとして未決伝票取得部品を呼び出し、年次休暇テーブルからデータを取得することが記されている。
【００６４】
未決伝票取得部品は、ワークフロー部品の１つであり、ワークフローテーブルから与えられた承認者名を含む伝票の伝票ＩＤを読み出す。そして、読み出した伝票ＩＤをキーとして伝票テーブルを参照し、伝票状態がその承認者による承認待ちとなっている伝票のデータを取得する。これにより、未決伝票一覧画面を表示することが可能となる。
【００６５】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ６０４）を繰り返し、生成された画面ソースコードを保存する（ステップＳ６０５）。この画面項目作成処理では、伝票画面設計情報Ａの項目が項目出力部分として作成される。
【００６６】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの項目が定義されているので、図２３の３つの画面項目６１３、６１４、および６１５が項目出力部分として作成される。
【００６７】
こうして生成された年次休暇未決一覧画面プログラムを実行すると、図２４のような年次休暇未決一覧画面が表示される。この画面は、承認者により参照され、承認者が特定の伝票ＩＤをクリックすると、対応する伝票の承認画面が表示される。
【００６８】
図２５は、図３のステップＳ１０６における伝票承認画面プログラム自動生成処理のフローチャートであり、図２６は、この処理で用いられる承認画面テンプレートの例を示している。
【００６９】
また、図２７は、この処理により生成される伝票承認画面プログラム（年次休暇承認画面プログラム）のソースコードの例を示しており、図２８は、伝票承認画面プログラム実行時に表示される伝票承認画面（年次休暇承認画面）の例を示している。図２７の年次休暇参照画面プログラムは、画面ソースコードのファイル“年次休暇承認画面．ｃｆｍ”と承認ボタン押下時処理ソースコードのファイル“年次休暇承認ボタン処理．ｃｆｍ”からなる。
【００７０】
ワークフロープログラム生成装置は、まず、画面ソースコードを生成し（ステップＳ７０１〜Ｓ７０７）、次に、承認ボタン押下時処理ソースコードを生成する（ステップＳ７０８〜Ｓ７０９）。
【００７１】
画面ソースコードの生成では、まず、図２６のような承認画面テンプレートを読み込み（ステップＳ７０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成する（ステップＳ７０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図２７のタイトル７１１（年次休暇承認）が作成される。
【００７２】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ７０４〜Ｓ７０６）を繰り返し、生成された画面ソースコードを保存する（ステップＳ７０７）。この画面項目作成処理では、まず、伝票画面設計情報Ａの項目を項目出力部分として作成する（ステップＳ７０４）。次に、項目のレイアウトが改行であるか否かをチェックし（ステップＳ７０５）、項目のレイアウトが改行であれば、改行を作成する（ステップＳ７０６）。
【００７３】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの項目が定義されているので、図２７の３つの画面項目７１２、７１３、および７１４が項目出力部分として作成される。このうち、画面項目７１３および７１４には、改行が作成されている。
【００７４】
承認ボタン押下時処理ソースコードの生成では、伝票画面設計情報Ａの伝票名をテーブル名とする承認ボタン押下時処理のソースコードを作成し（ステップＳ７０８）、そのソースコードを保存する（ステップＳ７０９）。これにより、図２７の年次休暇テーブルを更新する処理７１５が作成される。
【００７５】
こうして生成された年次休暇承認画面プログラムを実行すると、図２８のような年次休暇承認画面が表示される。申請者が、承認ボタン７２１を押下（クリック）すると、年次休暇テーブルの対応する伝票の伝票状態が次の承認者による承認待ちの状態または“承認済”に変更される。
【００７６】
図２９は、図３のステップＳ１０７におけるデータ連携プログラム自動生成処理のフローチャートであり、図３０は、図２９のステップＳ８０４における連携開始ボタン押下時処理作成処理のフローチャートである。図３１および図３２は、データ連携プログラム自動生成処理で用いられるデータ連携画面テンプレートおよび連携開始ボタン押下時処理作成処理で用いられる連携開始ボタンテンプレートの例を示している。
【００７７】
また、図３３は、データ連携プログラム自動生成処理により生成されるデータ連携プログラム（年次休暇データ連携プログラム）のソースコードの例を示しており、図３４は、データ連携プログラム実行時に表示されるデータ連携画面（年次休暇データ連携画面）の例を示している。図３３の年次休暇データ連携プログラムは、画面ソースコードのファイル“年次休暇データ連携画面．ｃｆｍ”と連携開始ボタン押下時処理ソースコードのファイル“連携開始ボタン処理．ｃｆｍ”からなる。
【００７８】
ワークフロープログラム生成装置は、まず、画面ソースコードを生成し（ステップＳ８０１〜Ｓ８０３）、次に、連携開始ボタン押下時処理ソースコードを生成する（ステップＳ８０４）。
【００７９】
画面ソースコードの生成では、まず、図３１のようなデータ連携画面テンプレートを読み込み（ステップＳ８０１）、伝票画面設計情報Ａの伝票名よりタイトルを作成して（ステップＳ８０２）、生成された画面ソースコードを保存する（ステップＳ８０３）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図３３のタイトル８１１（年次休暇データ連携）が作成される。
【００８０】
連携開始ボタン押下時処理ソースコードの生成では、まず、図３２のような連携開始ボタンテンプレートを読み込み（図３０のステップＳ９０１）、伝票画面設計情報Ａの伝票名より、伝票テーブルのテーブル名を含むデータ取得部を作成する（ステップＳ９０２）。例えば、図２の伝票画面設計情報Ａでは伝票名が“年次休暇”となっているので、図３３のデータ取得部９１１が作成される。データ取得部９１１では、データ取得の対象が年次休暇テーブルであることが記されている。
【００８１】
次に、伝票画面設計情報Ａの項目の数だけ画面項目作成処理（ステップＳ９０３）を繰り返し、生成された連携開始ボタン押下時処理ソースコードを保存する（ステップＳ９０４）。この画面項目作成処理では、伝票画面設計情報Ａの項目が項目出力部分として作成される。
【００８２】
例えば、図２の伝票画面設計情報Ａでは“休暇開始日”、“休暇終了日”、および“申請理由”の３つの項目が定義されているので、図３３の３つの画面項目９１２、９１３、および９１４が項目出力部分として作成される。
【００８３】
こうして生成された年次休暇データ連携プログラムを実行すると、図３４のような年次休暇データ連携画面が表示される。オペレータが連携開始ボタン９２１を押下（クリック）すると、年次休暇テーブルから各伝票のデータが読み出され、連携先システムで用いられるファイル形式に変換される。
【００８４】
次に、図３５から図３７までを参照しながら、生成されたワークフローアプリケーションを搭載した伝票処理システムが行う処理の具体例を説明する。
図３５は、伝票申請時の処理の具体例を示している。まず、申請を行うユーザ（大杉基之）が年次休暇申請画面１００１に必要項目を入力して申請ボタンをクリックすると、伝票処理システムは、申請された伝票のデータを年次休暇テーブル１００３に格納し、その伝票状態を“一次承認待ち”に設定する。そして、年次休暇申請回送画面１００２を表示する。
【００８５】
次に、ユーザが年次休暇申請回送画面１００２に必要項目を入力して回送ボタンをクリックすると、伝票処理システムは、申請された伝票のデータをワークフローテーブル１００４に格納する。
【００８６】
図３６は、伝票取戻時の処理の具体例を示している。まず、伝票処理システムは、取戻を行うユーザ（大杉基之）が申請者であるような伝票のデータを年次休暇テーブル１００３から取得し、年次休暇申請一覧画面１１０１を表示する。次に、ユーザが年次休暇申請一覧画面１１０１の伝票ＩＤをクリックすると、伝票処理システムは、その伝票のデータを年次休暇参照画面１１０２に表示する。
【００８７】
次に、ユーザが年次休暇参照画面１１０２の取戻ボタンをクリックすると、伝票処理システムは、年次休暇テーブル１００３のその伝票の伝票状態を“起票”に設定する。
【００８８】
図３７は、伝票承認時の処理の具体例を示している。まず、一次承認時において、伝票処理システムは、承認を行うユーザ（富士通太郎）が第一承認者であるような伝票の伝票ＩＤをワークフローテーブル１００４から取得する。そして、取得した伝票ＩＤをキーとして年次休暇テーブル１００３を参照し、伝票状態が“一次承認待ち”となっている伝票のデータを取得して、年次休暇未決一覧画面１２０１を表示する。次に、ユーザが年次休暇未決一覧画面１２０１の伝票ＩＤをクリックすると、伝票処理システムは、その伝票のデータを年次休暇承認画面１２０２に表示する。
【００８９】
次に、ユーザが年次休暇承認画面１２０２の承認ボタンをクリックすると、伝票処理システムは、年次休暇テーブル１００３のその伝票の伝票状態を“二次承認待ち”に設定する。
【００９０】
次に、二次承認時において、伝票処理システムは、承認を行うユーザ（富士通次郎）が第二承認者であるような伝票の伝票ＩＤをワークフローテーブル１００４から取得する。そして、取得した伝票ＩＤをキーとして年次休暇テーブル１００３を参照し、伝票状態が“二次承認待ち”となっている伝票のデータを取得して、年次休暇未決一覧画面１２０３を表示する。次に、ユーザが年次休暇未決一覧画面１２０３の伝票ＩＤをクリックすると、伝票処理システムは、その伝票のデータを年次休暇承認画面１２０４に表示する。
【００９１】
次に、ユーザが年次休暇承認画面１２０４の承認ボタンをクリックすると、伝票処理システムは、年次休暇テーブル１００３のその伝票の伝票状態を“承認済”に設定する。
【００９２】
以上説明した実施形態では、主として休暇申請を管理するための伝票処理について説明したが、本発明は、これに限らず、ワークフローに基づく任意の伝票処理に適用可能である。さらに、伝票の代わりに文書やその他の情報をワークフローに基づいて処理する場合にも、同様に適用することができる。
【００９３】
また、本発明の自動生成処理は、図３に示した７種類のプログラムすべてを生成する処理に限られるものではなく、これらのプログラムの一部を生成する処理であってもよい。
【００９４】
図１のワークフロープログラム生成装置と、生成されたワークフロープログラムを実行する伝票処理システムは、例えば、図３８に示すような情報処理装置（コンピュータ）を用いて構成することができる。図３８の情報処理装置は、ＣＰＵ（中央処理装置）１３０１、メモリ１３０２、入力装置１３０３、出力装置１３０４、外部記憶装置１３０５、媒体駆動装置１３０６、ネットワーク接続装置１３０７、および事例入力装置１３０８を備え、それらはバス１３０８により互いに接続されている。
【００９５】
メモリ１３０２は、例えば、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等を含み、処理に用いられるプログラムおよびデータを格納する。ＣＰＵ１３０１は、メモリ１３０２を利用してプログラムを実行することにより、必要な処理を行う。
【００９６】
図３の自動生成処理を実行するためのプログラムと、自動生成処理により生成されたワークフローアプリケーションの各プログラムは、メモリ１３０２に格納されたプログラムに対応する。
【００９７】
また、図２の伝票画面設計情報Ａ、伝票フロー設計情報Ｂ、図５の申請画面テンプレート、図６の申請ボタン処理テンプレート、図１０の申請回送画面テンプレート、図１１の回送ボタン処理テンプレート、図１５の一覧画面テンプレート、図１９の参照画面テンプレート、図２６の承認画面テンプレート、図３１のデータ連携画面テンプレート、および図３２の連携開始ボタンテンプレートは、メモリ１３０２に格納されたデータに対応する。
【００９８】
入力装置１３０３は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置１３０４は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果の出力に用いられる。
【００９９】
外部記憶装置１３０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。情報処理装置は、この外部記憶装置１３０５に、上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ１３０２にロードして使用する。外部記憶装置１３０５は、伝票テーブルおよびワークフローテーブルを格納するデータベースとしても用いられる。
【０１００】
媒体駆動装置１３０６は、可搬記録媒体１３０９を駆動し、その記録内容にアクセスする。可搬記録媒体１３０９は、メモリカード、フレキシブルディスク、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ  ）、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体である。ユーザは、この可搬記録媒体１３０９に上記プログラムおよびデータを格納しておき、必要に応じて、それらをメモリ１３０２にロードして使用する。
【０１０１】
ネットワーク接続装置１３０７は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、インターネット等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う。情報処理装置は、必要に応じて、上記プログラムおよびデータを外部の装置からネットワーク接続装置１３０７を介して受け取り、それらをメモリ１３０２にロードして使用する。
【０１０２】
図３９は、図３８の情報処理装置にプログラムおよびデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体１３０９やサーバ１４０１のデータベース１４０３に格納されたプログラムおよびデータは、情報処理装置１４０２のメモリ１３０２にロードされる。サーバ１４０１は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の任意の伝送媒体を介して情報処理装置１４０２に送信する。ＣＰＵ１３０１は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【０１０３】
（付記１）  ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを格納する格納手段と、
前記フロー定義情報および画面定義情報を前記格納手段から読み出し、読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する生成手段と
を備えることを特徴とするワークフロープログラム生成装置。
【０１０４】
（付記２）  コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【０１０５】
（付記３）  コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
伝票処理のワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出された画面定義情報を用いて、伝票データを格納した伝票テーブルを更新するデータを入力する画面を表示するための画面プログラムと、該伝票テーブルのデータを参照する画面を表示するための画面プログラムとを生成し、
読み出されたフロー定義情報および画面定義情報を用いて、前記伝票処理のワークフローのデータを格納したワークフローテーブルを更新するデータを入力する画面を表示するための画面プログラムを生成し、
読み出された画面定義情報を用いて、前記ワークフローテーブルのデータに基づいて前記伝票テーブルのデータを参照する画面を表示するための画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【０１０６】
（付記４）  コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
伝票処理のワークフローにおいて承認者により伝票の承認が行われる階層の数を定義したフロー定義情報を格納手段から読み出し、
読み出されたフロー定義情報を用いて、承認者の入力項目を前記階層の数だけ含む画面を表示するための画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【０１０７】
（付記５）  前記コンピュータは、前記伝票処理のワークフローで用いられる画面の画面項目を定義した画面定義情報を前記格納手段から読み出し、読み出された画面定義情報を用いて、前記承認者による承認待ちの伝票の一覧画面を表示するための画面プログラムを生成することを特徴とする付記４記載の記録媒体。
【０１０８】
（付記６）  コンピュータのためのプログラムを記録した記録媒体であって、該プログラムは、
伝票処理のワークフローにおいて回送された伝票の取戻の有無を定義したフロー定義情報を格納手段から読み出し、
読み出されたフロー定義情報が取戻有りを示している場合、伝票の取戻を行うためのボタンを含む画面を表示するための画面プログラムを生成し、該フロー定義情報が取戻無しを示している場合、伝票の取戻を行うためのボタンを含まない画面を表示するための画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【０１０９】
（付記７）  ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
処理をコンピュータに実行させることを特徴とするプログラム。
【０１１０】
（付記８）  コンピュータにプログラムを搬送する搬送信号であって、該プログラムは、
ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
処理を前記コンピュータに実行させることを特徴とする搬送信号。
【０１１１】
（付記９）  生成手段が、ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを、格納手段から読み出し、
前記生成手段が、読み出されたフロー定義情報および画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する
ことを特徴とするワークフロープログラム生成方法。
【０１１２】
【発明の効果】
本発明によれば、フロー制御プログラムを自動生成することにより、プログラマの作業量が大幅に削減され、ワークフローアプリケーションの開発効率が向上する。
【図面の簡単な説明】
【図１】本発明のワークフロープログラム生成装置の原理図である。
【図２】設計情報を示す図である。
【図３】自動生成処理のフローチャートである。
【図４】伝票入力画面プログラム自動生成処理のフローチャートである。
【図５】申請画面テンプレートを示す図である。
【図６】申請ボタン処理テンプレートを示す図である。
【図７】年次休暇申請画面プログラムソースコードを示す図である。
【図８】年次休暇申請画面を示す図である。
【図９】ワークフロー申請画面プログラム自動生成処理のフローチャートである。
【図１０】申請回送画面テンプレートを示す図である。
【図１１】回送ボタン処理テンプレートを示す図である。
【図１２】年次休暇申請回送画面プログラムソースコードを示す図である。
【図１３】年次休暇申請回送画面を示す図である。
【図１４】申請伝票一覧画面プログラム自動生成処理のフローチャートである。
【図１５】一覧画面テンプレートを示す図である。
【図１６】年次休暇申請一覧画面プログラムソースコードを示す図である。
【図１７】年次休暇申請一覧画面を示す図である。
【図１８】伝票参照画面プログラム自動生成処理のフローチャートである。
【図１９】参照画面テンプレートを示す図である。
【図２０】年次休暇参照画面プログラムソースコードを示す図である。
【図２１】年次休暇参照画面を示す図である。
【図２２】未決伝票一覧画面プログラム自動生成処理のフローチャートである。
【図２３】年次休暇未決一覧画面プログラムソースコードを示す図である。
【図２４】年次休暇未決一覧画面を示す図である。
【図２５】伝票承認画面プログラム自動生成処理のフローチャートである。
【図２６】承認画面テンプレートを示す図である。
【図２７】年次休暇承認画面プログラムソースコードを示す図である。
【図２８】年次休暇承認画面を示す図である。
【図２９】データ連携プログラム自動生成処理のフローチャートである。
【図３０】連携開始ボタン押下時処理作成処理のフローチャートである。
【図３１】データ連携画面テンプレートを示す図である。
【図３２】連携開始ボタンテンプレートを示す図である。
【図３３】年次休暇データ連携プログラムソースコードを示す図である。
【図３４】年次休暇データ連携画面を示す図である。
【図３５】伝票申請時の処理を示す図である。
【図３６】伝票取戻時の処理を示す図である。
【図３７】伝票承認時の処理を示す図である。
【図３８】情報処理装置の構成図である。
【図３９】記録媒体を示す図である。
【符号の説明】
２２１、３１１、４１１、５２１、６１１、７１１  タイトル
２２２、２２３、２２４、２２６、２２７、２２８、４１３、４１４、４１５、４１６、５２２、５２３、５２４、６１３、６１４、６１５、７１２、７１３、７１４、８１１、９１２、９１３、９１４  画面項目
２２５  テーブル名
２３１  休暇開始日
２３２  休暇終了日
２３３  申請理由
２３４  申請ボタン
３１２、３１３  入力部
３１４、３１５  承認者パラメタ
３２１  第一承認者
３２２  第二承認者
３２３  回送ボタン
４１２、６１２、９１１  データ取得部
５２５  取戻ボタンを表示する処理
５２６、７１５  年次休暇テーブルを更新する処理
５３１  取戻ボタン
７２１  承認ボタン
９２１  連携開始ボタン
１００１  年次休暇申請画面
１００２  年次休暇申請回送画面
１１０１  年次休暇申請一覧画面
１１０２  年次休暇参照画面
１２０１、１２０３  年次休暇未決一覧画面
１２０２、１２０４  年次休暇承認画面
１００３  年次休暇テーブル
１００４  ワークフローテーブル
１３０１  ＣＰＵ
１３０２  メモリ
１３０３  入力装置
１３０４  出力装置
１３０５  外部記憶装置
１３０６  媒体駆動装置
１３０７  ネットワーク接続装置
１３０８  バス
１３０９  可搬記録媒体
１４０１  サーバ
１４０２  情報処理装置
１４０３  データベース
【図１】
2004280473.tif 000003
【図２】
2004280473.tif 000004
【図３】
2004280473.tif 000005
【図４】
2004280473.tif 000006
【図５】
2004280473.tif 000007
【図６】
2004280473.tif 000008
【図７】
2004280473.tif 000009
【図８】
2004280473.tif 000010
【図９】
2004280473.tif 000011
【図１０】
2004280473.tif 000012
【図１１】
2004280473.tif 000013
【図１２】
2004280473.tif 000014
【図１３】
2004280473.tif 000015
【図１４】
2004280473.tif 000016
【図１５】
2004280473.tif 000017
【図１６】
2004280473.tif 000018
【図１７】
2004280473.tif 000019
【図１８】
2004280473.tif 000020
【図１９】
2004280473.tif 000021
【図２０】
2004280473.tif 000022
【図２１】
2004280473.tif 000023
【図２２】
2004280473.tif 000024
【図２３】
2004280473.tif 000025
【図２４】
2004280473.tif 000026
【図２５】
2004280473.tif 000027
【図２６】
2004280473.tif 000028
【図２７】
2004280473.tif 000029
【図２８】
2004280473.tif 000030
【図２９】
2004280473.tif 000031
【図３０】
2004280473.tif 000032
【図３１】
2004280473.tif 000033
【図３２】
2004280473.tif 000034
【図３３】
2004280473.tif 000035
【図３４】
2004280473.tif 000036
【図３５】
2004280473.tif 000037
【図３６】
2004280473.tif 000038
【図３７】
2004280473.tif 000039
【図３８】
2004280473.tif 000040
【図３９】
2004280473.tif 000041