(57)【要約】【課題】  プログラム設計書によって変化する部分が含まれたプログラムを生成する場合においても、プログラムの変更内容を反映できる。【解決手段】  実施形態の前記テンプレート情報生成装置においては、前記項目名判定手段による判定結果が前記項目名が含まれている旨を示すとき、当該項目名に基づいて前記項目名／変数対応情報記憶装置からテンプレート変数を読出し、前記第２行番号情報によって示されるソースコードに含まれている当該項目名を当該読出されたテンプレート変数に置換することにより、前記第２行番号情報によって示されるソースコードの雛形を示す部分テンプレート情報を生成する。前記テンプレート情報生成装置においては、前記生成された部分テンプレート情報及び前記テンプレート情報を統合する。【選択図】図１
2012159922.tif 000002
【特許請求の範囲】
【請求項１】
データの項目名を含むプログラム設計書及び前記項目名に対応するテンプレート変数を含んで予め記述されたソースコードを有してプログラムの雛形を示すテンプレート情報に基づいて、第１プログラムを生成するプログラム生成装置と、前記生成された第１プログラム及び当該第１プログラムのソースコードの少なくとも一部に変更が施された第２プログラムを記憶するプログラム記憶装置と、前記プログラム設計書内の項目名及び当該項目名と置換可能なテンプレート変数を関連付けて記憶する項目名／変数対応情報記憶装置とに接続され、前記プログラム設計書を記憶するプログラム設計書記憶手段と、前記テンプレート情報内のソースコードの行番号を示すテンプレート行番号情報と、このテンプレート行番号情報によって示されるソースコードに基づいて生成された第１プログラムのソースコードの行番号を示す行番号情報とを関連付けた行番号対応情報を記憶する行番号対応情報記憶手段と、前記第１プログラム、前記第２プログラム及び前記テンプレート情報を一時的に記憶するメモリとを備えたテンプレート情報生成装置のプログラムであって、
前記テンプレート情報生成装置を、
前記プログラム設計書の入力を受け付けると、当該受け付けたプログラム設計書を前記プログラム設計書記憶手段に書込む手段、
前記第１プログラム、前記第２プログラム及び前記テンプレート情報の入力を受け付けると、当該受け付けた第１プログラム、当該第２プログラム及び当該テンプレート情報を前記メモリに書込む手段、
前記メモリ内のテンプレート情報及び第１プログラムに基づいて、前記行番号対応情報を生成し、当該生成された行番号対応情報を前記行番号対応情報記憶手段に書込む手段、
前記第１プログラムのソースコードと前記第２プログラムのソースコードとの差分に対応する当該第１プログラムのソースコードの行番号を示す第１行番号情報と、当該差分に対応する第２プログラムのソースコードの行番号を示す第２行番号情報と、当該第１プログラムのソースコードに施された変更の型が追加、削除及び更新のいずれであるかを示す変更型情報とを含む差分情報を生成する手段、
前記生成された差分情報内の変更型情報が削除を示すか否かを判定する変更型判定手段、
前記変更型判定手段による判定の結果、否のとき、前記生成された差分情報内の第２行番号情報によって示されるソースコードを前記メモリから読出し、当該読出されたソースコードに前記項目名が含まれているか否かを判定する項目名判定手段、
前記項目名判定手段による判定結果が前記項目名が含まれている旨を示すとき、当該項目名に基づいて前記項目名／変数対応情報記憶装置からテンプレート変数を読出し、前記第２行番号情報によって示されるソースコードに含まれている当該項目名を当該読出されたテンプレート変数に置換することにより、前記第２行番号情報によって示されるソースコードの雛形を示す部分テンプレート情報を生成する手段、
前記生成された部分テンプレート情報及び前記記憶されたテンプレート情報に基づいて、当該部分テンプレート情報及び当該テンプレート情報を統合するための条件を示す統合条件情報を含む分析結果情報を生成する分析結果情報生成手段、
前記生成された分析結果情報及び前記記憶された行番号対応情報に基づいて、前記生成された部分テンプレート情報及び前記テンプレート情報を統合するテンプレート情報統合手段、
として機能させるためのテンプレート情報生成プログラム。
【請求項２】
請求項１に記載のテンプレート情報生成プログラムにおいて、
前記分析結果情報生成手段は、
前記メモリに記憶されたテンプレート情報及び前記生成された部分テンプレート情報を比較することによって、当該テンプレート情報と当該部分テンプレート情報との一致するソースコードを検出し、当該検出されたソースコードに基づいて、当該部分テンプレート情報を出力するための条件を示すソースコードである出力条件情報を当該テンプレート情報から抽出する手段と、
前記抽出された出力条件情報と、前記生成された差分情報内の第１行番号情報によって示されるソースコードとに基づいて、当該ソースコードに含まれる前記項目名を含み、当該部分テンプレート情報を当該テンプレート情報に適用するための条件を示すソースコードである適用条件情報を生成する手段と、
前記生成された差分情報内の第１行番号情報によって示されるソースコードと、前記メモリに記憶された第１プログラムのソースコードとを比較することによって、当該第１行番号情報によって示されるソースコードが当該第１プログラムの全てのソースコードと一致するか否かを判定するソースコード一致判定手段と、
前記ソースコード一致判定手段による判定結果が一致する旨を示すとき、前記メモリに記憶されたテンプレート情報のソースコードを前記生成された部分テンプレート情報のソースコードに置換する旨を示す前記統合条件情報を生成する手段と、
前記ソースコード一致判定手段による判定結果が否を示すとき、前記メモリに記憶されたテンプレート情報のソースコードに前記生成された部分テンプレート情報のソースコードを追加する旨を示す前記統合条件情報を生成する手段と、
前記生成された適用条件情報及び前記生成された統合条件情報を含む分析結果情報を生成する手段と
を備えたことを特徴とするテンプレート情報生成プログラム。
【請求項３】
請求項１に記載のテンプレート情報生成プログラムにおいて、
前記変更型判定手段による判定の結果、前記変更型情報が削除を示すとき、前記生成された差分情報内の第１行番号情報によって示されるソースコードに基づいて、当該ソースコードに含まれる前記項目名を含み、前記第１プログラムのソースコードに施された削除を前記記憶されたテンプレート情報に適用するための条件を示すソースコードである適用条件情報を生成する手段と、
前記記憶された行番号対応情報に基づいて、前記生成された適用条件情報を前記記憶されたテンプレート情報に追加する手段と
を更に備えたことを特徴とするテンプレート情報生成プログラム。
【請求項４】
データの項目名を含むプログラム設計書及び前記項目名に対応するテンプレート変数を含んで予め記述されたソースコードを有してプログラムの雛形を示すテンプレート情報に基づいて、第１プログラムを生成するプログラム生成装置と、前記生成された第１プログラム及び当該第１プログラムのソースコードの少なくとも一部に変更が施された第２プログラムを記憶するプログラム記憶装置と、前記プログラム設計書内の項目名及び当該項目名と置換可能なテンプレート変数を関連付けて記憶する項目名／変数対応情報記憶装置とに接続されたテンプレート情報生成装置であって、
前記プログラム設計書を記憶するプログラム設計書記憶手段と、
前記テンプレート情報内のソースコードの行番号を示すテンプレート行番号情報と、このテンプレート行番号情報によって示されるソースコードに基づいて生成された第１プログラムのソースコードの行番号を示す行番号情報とを関連付けた行番号対応情報を記憶する行番号対応情報記憶手段と、
前記第１プログラム、前記第２プログラム及び前記テンプレート情報を一時的に記憶するメモリと、
前記プログラム設計書の入力を受け付けると、当該受け付けたプログラム設計書を前記プログラム設計書記憶手段に書込む手段と、
前記第１プログラム、前記第２プログラム及び前記テンプレート情報の入力を受け付けると、当該受け付けた第１プログラム、当該第２プログラム及び当該テンプレート情報を前記メモリに書込む手段と、
前記メモリ内のテンプレート情報及び第１プログラムに基づいて、前記行番号対応情報を生成し、当該生成された行番号対応情報を前記行番号対応情報記憶手段に書込む手段と、
前記第１プログラムのソースコードと前記第２プログラムのソースコードとの差分に対応する当該第１プログラムのソースコードの行番号を示す第１行番号情報と、当該差分に対応する第２プログラムのソースコードの行番号を示す第２行番号情報と、当該第１プログラムのソースコードに施された変更の型が追加、削除及び更新のいずれであるかを示す変更型情報とを含む差分情報を生成する手段と、
前記生成された差分情報内の変更型情報が削除を示すか否かを判定する変更型判定手段と、
前記変更型判定手段による判定の結果、否のとき、前記生成された差分情報内の第２行番号情報によって示されるソースコードを前記メモリから読出し、当該読出されたソースコードに前記項目名が含まれているか否かを判定する項目名判定手段と、
前記項目名判定手段による判定結果が前記項目名が含まれている旨を示すとき、当該項目名に基づいて前記項目名／変数対応情報記憶装置からテンプレート変数を読出し、前記第２行番号情報によって示されるソースコードに含まれている当該項目名を当該読出されたテンプレート変数に置換することにより、前記第２行番号情報によって示されるソースコードの雛形を示す部分テンプレート情報を生成する手段と、
前記生成された部分テンプレート情報及び前記記憶されたテンプレート情報に基づいて、当該部分テンプレート情報及び当該テンプレート情報を統合するための条件を示す統合条件情報を含む分析結果情報を生成する分析結果情報生成手段と、
前記生成された分析結果情報及び前記記憶された行番号対応情報に基づいて、前記生成された部分テンプレート情報及び前記テンプレート情報を統合するテンプレート情報統合手段と
を備えたことを特徴とするテンプレート情報生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テンプレート情報生成プログラム及び装置に関する。
【背景技術】
【０００２】
一般に、プログラム生成装置によって生成されたプログラムに対してプログラムコードの追加や削除等といった変更内容を加えることがある。このような変更内容を新たに生成されるプログラムに反映させる場合、プログラム生成装置に対し、ユーザが変更内容を手動で反映させる方法が知られている。しかしながら、この方法は、ユーザの労力を増やすといった不都合がある。
【０００３】
そこで、プログラムに対する変更内容をプログラム生成装置に自動的に反映させることにより、次回以降、新たに生成されるプログラムにこの変更内容を反映させる変更内容反映技術が考案されている。
【０００４】
この種の変更内容反映技術としては、プログラム生成装置によって生成されたプログラムに対する変更内容を抽出し、新たに生成されるプログラムに当該抽出された変更内容を反映させる技術がある。
【０００５】
また、他の変更内容反映技術としては、プログラムの部品を用いるプログラム生成装置によって生成されたプログラムに変更内容を加えた後、変更内容を含む部品を新たに登録し、新たに生成されるプログラムに変更内容を反映させる技術もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２１０６６号公報
【特許文献２】特開平５−３１３８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、以上のような変更内容反映技術は、通常は特に問題ないが、本発明者の検討によれば、新たに生成されるプログラムにプログラム設計書によって変化する部分が含まれている場合に、変更内容を反映できないといった不都合がある。ここで、プログラム設計書によって変化する部分としては、例えば、データベース（ＤＢ）のカラム名等といった項目名が挙げられる。
【０００８】
本発明が解決しようとする課題は、プログラム設計書によって変化する部分が含まれたプログラムを生成する場合においても、プログラムの変更内容を反映し得るテンプレート情報生成プログラム及び装置を提供することである。
【課題を解決するための手段】
【０００９】
実施形態のテンプレート情報生成装置は、ハードウェア資源とソフトウェアとの組合せ構成で実施される場合、テンプレート情報生成装置の機能を実現させるためのテンプレート情報生成プログラムが予めコンピュータにインストールされて実施される。
【００１０】
実施形態のテンプレート情報生成装置は、プログラム生成装置、プログラム記憶装置及び項目名／変数対応情報記憶装置に接続されている。前記プログラム生成装置は、データの項目名を含むプログラム設計書及び前記項目名に対応するテンプレート変数を含んで予め記述されたソースコードを有してプログラムの雛形を示すテンプレート情報に基づいて、第１プログラムを生成している。前記プログラム記憶装置は、前記生成された第１プログラム及び当該第１プログラムのソースコードの少なくとも一部に変更が施された第２プログラムを記憶している。前記項目名／変数対応情報記憶装置は、前記プログラム設計書内の項目名及び当該項目名と置換可能なテンプレート変数を関連付けて記憶している。
【００１１】
前記テンプレート情報生成装置のプログラム設計書記憶手段においては、前記プログラム設計書を記憶している。
【００１２】
前記テンプレート情報生成装置の行番号対応情報記憶手段は、前記テンプレート情報内のソースコードの行番号を示すテンプレート行番号情報と、このテンプレート行番号情報によって示されるソースコードに基づいて生成された第１プログラムのソースコードの行番号を示す行番号情報とを関連すけた行番号対応情報を記憶している。
【００１３】
前記テンプレート情報生成装置のメモリは、前記第１プログラム、前記第２プログラム及び前記テンプレート情報を一時的に記憶している。
【００１４】
前記テンプレート情報生成装置においては、前記プログラム設計書の入力を受け付けると、当該受け付けたプログラム設計書を前記プログラム設計書記憶手段に書込む。
【００１５】
前記テンプレート情報生成装置においては、前記第１プログラム、前記第２プログラム及び前記テンプレート情報の入力を受け付けると、当該受け付けた第１プログラム、当該第２プログラム及び当該テンプレート情報を前記メモリに書込む。
【００１６】
前記テンプレート情報生成装置においては、前記メモリ内のテンプレート情報及び第１プログラムに基づいて、前記行番号対応情報を生成し、当該生成された行番号対応情報を前記行番号対応情報記憶手段に書込む。
【００１７】
前記テンプレート情報生成装置においては、前記第１プログラムのソースコードと前記第２プログラムのソースコードとの差分に対応する当該第１プログラムのソースコードの行番号を示す第１行番号情報と、当該差分に対応する第２プログラムのソースコードの行番号を示す第２行番号情報と、当該第１プログラムのソースコードに施された変更の型が追加、削除及び更新のいずれであるかを示す変更型情報とを含む差分情報を生成する。
【００１８】
前記テンプレート情報生成装置の変更型判定手段においては、前記生成された差分情報内の変更型情報が削除を示すか否かを判定する。
【００１９】
前記テンプレート情報生成装置の項目名判定手段においては、前記変更型判定手段による判定の結果、否のとき、前記生成された差分情報内の第２行番号情報によって示されるソースコードを前記メモリから読出し、当該読出されたソースコードに前記項目名が含まれているか否かを判定する。
【００２０】
前記テンプレート情報生成装置においては、前記項目名判定手段による判定結果が前記項目名が含まれている旨を示すとき、当該項目名に基づいて前記項目名／変数対応情報記憶装置からテンプレート変数を読出し、前記第２行番号情報によって示されるソースコードに含まれている当該項目名を当該読出されたソースコードに置換することにより、前記第２行番号情報によって示されるソースコードの雛形を示す部分テンプレート情報を生成する。
【００２１】
前記テンプレート情報生成装置の分析結果情報生成手段においては、前記生成された部分テンプレート情報及び前記記憶されたテンプレート情報に基づいて、当該部分テンプレート情報及び当該テンプレート情報を統合するための条件を示す統合条件情報を含む分析結果情報を生成する。
【００２２】
前記テンプレート情報生成装置のテンプレート情報統合手段においては、前記生成された分析結果情報及び前記記憶された行番号対応情報に基づいて、前記生成された部分テンプレート情報及び前記テンプレート情報を統合する。
【図面の簡単な説明】
【００２３】
【図１】一実施形態に係るテンプレート情報生成システムの構成の一例を示す機能ブロック図である。
【図２】同実施形態におけるテンプレート情報記憶装置に記憶されたテンプレート情報の一例を示す模式図である。
【図３】同実施形態におけるテンプレート情報記憶装置に記憶されたテンプレート情報の一例を示す模式図である。
【図４】同実施形態におけるプログラム設計書記憶部に記憶されたプログラム設計書の一例を示す模式図である。
【図５】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図６】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図７】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図８】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図９】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【図１０】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【図１１】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【図１２】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【図１３】同実施形態における項目名／変数対応情報記憶装置に記憶された情報の一例を示す模式図である。
【図１４】同実施形態における行番号対応情報記憶部に記憶された情報の一例を示す模式図である。
【図１５】同実施形態における差分情報記憶部に記憶された差分情報の一例を示す模式図である。
【図１６】同実施形態における部分テンプレート情報記憶部に記憶された部分テンプレート情報の一例を示す模式図である。
【図１７】同実施形態における部分テンプレート情報記憶部に記憶された部分テンプレート情報の一例を示す模式図である。
【図１８】同実施形態における分析結果情報記憶部に記憶された分析結果情報の一例を示す模式図である。
【図１９】同実施形態におけるテンプレート情報生成装置の動作の一例を示すフローチャートである。
【図２０】同実施形態におけるテンプレート情報生成装置の動作の一例を示す模式図である。
【図２１】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図２２】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図２３】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【図２４】同実施形態におけるテンプレート情報統合部の動作の一例を示す模式図である。
【図２５】同実施形態における差分情報生成部によって生成された差分情報内の第２行番号情報により示される第２プログラムの一例を示す模式図である。
【図２６】同実施形態における差分情報生成部によってメモリに書込まれるB_listの一例を示す模式図である。
【図２７】同実施形態における分析結果情報生成部及びテンプレート情報統合部の動作の一例を示すフローチャートである。
【図２８】同実施形態における分析結果情報生成部の動作の一例を示す模式図である。
【図２９】同実施形態におけるテンプレート情報統合部の動作の一例を示す模式図である。
【図３０】同実施形態におけるテンプレート情報統合部によって統合されたテンプレート情報の一例を示す模式図である。
【図３１】同実施形態におけるテンプレート情報統合部によって統合されたテンプレート情報の一例を示す模式図である。
【図３２】同実施形態におけるテンプレート情報統合部によって統合されたテンプレート情報の一例を示す模式図である。
【図３３】同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図である。
【図３４】同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図である。
【発明を実施するための形態】
【００２４】
以下、一実施形態について図面を参照して説明する。なお、以下のテンプレート情報生成装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、テンプレート情報生成装置の機能を当該コンピュータに実現させるためのプログラムが用いられる。
【００２５】
図１は一実施形態に係るテンプレート情報生成装置を含むテンプレート情報生成システムの構成の一例を示す機能ブロック図であり、図２及び図３は同実施形態におけるテンプレート情報記憶装置に記憶されたテンプレート情報の一例を示す模式図であり、図４は同実施形態におけるプログラム設計書記憶部に記憶されたプログラム設計書の一例を示す模式図である。図５〜図８は同実施形態におけるプログラム記憶装置に記憶された第１プログラムの一例を示す模式図であり、図９〜図１２は同実施形態におけるプログラム記憶装置に記憶された第２プログラムの一例を示す模式図であって、図１３は同実施形態における項目名／変数対応情報記憶装置に記憶された情報の一例を示す模式図である。
【００２６】
テンプレート情報生成システム１０は、テンプレート情報生成装置１００、テンプレート情報記憶装置２００、プログラム生成装置３００、プログラム記憶装置４００及び項目名／変数対応情報記憶装置５００を含んでいる。テンプレート情報生成装置１００は、テンプレート情報記憶装置２００、プログラム生成装置３００、プログラム記憶装置４００及び項目名／変数対応情報記憶装置５００に接続されている。なお、「テンプレート情報」の語は、単に「テンプレート」と呼んでもよい。
【００２７】
テンプレート情報記憶装置２００は、図２及び図３に示すように、プログラム生成装置３００によって生成されるプログラムの雛形を示すテンプレート情報ｔを記憶している。なお、テンプレート情報ｔは、複数のソースコードの集合を示す複数のブロック情報から構成され、各ブロック情報は、ブロックの開始を示す開始コメント情報（例えば、「/* start:…*/」を含む行情報等）及びブロックの終了を示す終了コメント情報（例えば、「/* end:…*/」を含む行情報等）を含んでいる。また、テンプレート情報ｔ１は、プログラム設計書ｐｄ内のデータの項目名ｉに対応するテンプレート変数ｖを含んで予め記述されたソースコードを有している。
【００２８】
プログラム生成装置３００は、プログラム設計書ｐｄ及びテンプレート情報ｔに基づいて、第１プログラムを生成する処理を実行する。プログラム設計書ｐｄは、図４に示すように、データの項目名ｉ（例えば、“論理名 従業員番号”及び／または“物理名 ENPNO”等）を少なくとも含んでいる。補足すると、図４に示す例では、プログラム設計書ｐｄは、データ毎に、論理名及び物理名といった項目名ｉと、属性（型）、桁、位取、Not Null及び主キーといったＤＢの設計情報と、検索条件（で表示する／しない）、一覧表示（で表示する／しない）及び詳細（編集の可／不可）といった画面表示の処理内容とを含んでいる。
【００２９】
プログラム記憶装置４００は、図５〜図１２に示すように、プログラム生成装置３００によって生成された第１プログラムｐと、この第１プログラムｐのソースコードの少なくとも一部に変更が施された第２プログラムｐ´とを記憶している。なお、第１プログラムｐ及び第２プログラムｐ´は、上述のテンプレート情報ｔと同様に、複数のブロック情報から構成されている。
【００３０】
項目名／変数対応情報記憶装置５００は、図１３に示すように、プログラム設計書ｐｄ内の項目名ｉ及びこの項目名ｉと置換可能なテンプレート変数ｖを関連付けて記憶している。具体的には、例えば、図１３に示すように、プログラム設計書ｐｄ内の項目名ｉを示す“削除フラグ”と、この項目名ｉと置換可能なテンプレート変数ｖを示す“${columninfo.name}”とを関連付けて記憶している。
【００３１】
ここで、テンプレート情報生成装置１００は、プログラム設計書記憶部１０１、行番号対応情報記憶部１０２、差分情報記憶部１０３、部分テンプレート情報記憶部１０４、分析結果情報記憶部１０５、入力ファイル読込部１０６、行番号対応情報生成部１０７、差分情報生成部１０８、部分テンプレート情報生成部１０９、分析結果情報生成部１１０、テンプレート情報統合部１１１及びテンプレート情報出力部１１２を備えている。各記憶部１０１〜１０５は、それぞれ各部１０６〜１１２から読出／書込可能な記憶装置又は記憶装置の記憶領域からなり、以下のように情報を記憶している。
【００３２】
プログラム設計書記憶部１０１は、図４に示すように、入力ファイル読込部１０６により書き込まれたプログラム設計書ｐｄを記憶している。
【００３３】
行番号対応情報記憶部１０２は、図１４に示すように、行番号対応情報生成部１０７により書き込まれた行番号対応情報Ｌを記憶している。行番号対応情報Ｌは、テンプレート情報ｔ内のソースコードの行番号を示すテンプレート行番号情報と、このテンプレート行番号情報によって示されるソースコードに基づいて生成された第１プログラムｐのソースコードの行番号を示す行番号情報とを関連付けた情報である。補足すると、図１４に示す例では、行番号対応情報記憶部１０２は、テンプレート行番号情報“08-20”と、このテンプレート行番号情報によって示されるソースコードに基づいて生成された第１プログラムｐのソースコードの行番号情報“73-85”とを関連付けて記憶している。
【００３４】
差分情報記憶部１０３は、図１５に示すように、差分情報生成部１０８により生成された差分情報ｄを記憶する。差分情報ｄは、第１プログラムｐ及び第２プログラムｐの差分に対応する当該第１プログラムｐのソースコードの行番号を示す第１行番号情報と、当該差分に対応する第２プログラムｐ´のソースコードの行番号を示す第２行番号情報と、当該第１プログラムｐのソースコードに施された変更の型が追加、削除または更新のいずれであるかを示す変更型情報とを含んでいる。補足すると、図１５に示す例では、“<before_filename>”が第１プログラムｐのファイル名（換言すると、変更適用前のプログラムのファイル名）を示し、“<after_filename>”が第２プログラムｐ´のファイル名（換言すると、変更適用後のプログラムのファイル名）を示している。更に補足すると、“<before start=”73” end=”85”>”が第１行番号情報（換言すると、変更適用前のプログラムの行番号情報）を示し、“<after start=”73” end=”78”>”が第２行番号情報（換言すると、変更適用後のプログラムの行番号情報）を示し、“<custom_type>”が変更型情報を示している。
【００３５】
部分テンプレート情報記憶部１０４は、図１６及び図１７に示すように、部分テンプレート情報生成部１０９により生成された部分テンプレート情報ｐｔを記憶する。部分テンプレート情報ｐｔは、第１プログラムに対して適用された変更内容を含む部分的なテンプレート情報を示している。補足すると、部分テンプレート情報ｐｔは、第２行番号情報によって示されるソースコードの雛形を示している。
【００３６】
分析結果情報記憶部１０５は、図１８に示すように、分析結果情報生成部１１０により生成された分析結果情報ａを記憶する。分析結果情報ａは、統合条件情報を含んでおり、この例では適用条件情報を更に含んでいる。適用条件情報は、部分テンプレート情報ｐｔをテンプレート情報ｔに適用するための条件を示しており、例えば、テンプレート情報ｔに挿入するための条件文（例えば、“#if{columnInfo.id==”delete_flag”}”等）等を示す。また、統合条件情報は、テンプレート情報ｔ及び部分テンプレート情報ｐｔを統合するための条件を示しており、追加または置換を示している。補足すると、図１８に示すように、“<no>”が部分テンプレート情報ｐｔの番号を示し、“<applied_condition>”が適用条件情報を示し、“<unified_condition>”が統合条件情報を示している。
【００３７】
入力ファイル読込部１０６は、第１プログラムｐを生成する際にプログラム生成装置３００によって用いられたプログラム設計書ｐｄの入力（受信を含む）を受け付けると、このプログラム設計書ｐｄをプログラム設計書記憶部１０１に書込む処理を実行する。具体的には、例えば、以下の各機能(f106-1)及び(f106-2)をもっている。
【００３８】
(f106-1)  プログラム設計書ｐｄの入力を受け付けると、当該受け付けたプログラム設計書ｐｄをプログラム設計書記憶部１０１に書込む機能。
【００３９】
(f106-2)  第１プログラムｐ、第２プログラムｐ´及びテンプレート情報ｔの入力を受け付けると、当該受け付けた第１プログラムｐ、当該第２プログラムｐ´及び当該テンプレート情報ｔをメモリ（図示せず）に書込む機能。
【００４０】
行番号対応情報生成部１０７は、メモリ内のテンプレート情報ｔ及び第１プログラムｐに基づいて、行番号対応情報Ｌを生成するものであり、例えば、テンプレート情報ｔの開始コメント情報と、第１プログラムｐの開始コメント情報とを比較することによって、行番号対応情報Ｌを生成する処理を実行する。また、行番号対応情報生成部１０７は、当該生成された行番号対応情報Ｌを行番号対応情報記憶部１０２に書込む処理も実行する。
【００４１】
差分情報生成部１０８は、第１プログラムｐ及び第２プログラムｐ´をメモリから読出し、当該読出された第１プログラムｐ及び当該読出された第２プログラムｐ´を比較することによって、当該第１プログラムｐと当該第２プログラムｐ´との差分情報ｄを生成する処理を実行する。また、差分情報生成部１０８は、当該生成された差分情報ｄを差分情報記憶部１０３に書込む処理も実行する。
【００４２】
なお、本実施形態では、差分情報生成部１０８は、ＵＮＩＸ（登録商標）のｄｉｆｆコマンド機能を用いることで、当該第１プログラムｐと当該第２プログラムｐ´との差分情報ｄを生成している。
【００４３】
部分テンプレート情報生成部１０９は、第１プログラムｐに対して施された変更内容を含む部分的なテンプレート情報を示す部分テンプレート情報ｐｔを生成する処理を実行する。具体的には、例えば、以下の各機能(f109-1)〜(f109-4)をもっている。
【００４４】
(f109-1)  差分情報生成部１０８によって生成された差分情報ｄ内の変更型情報が削除を示すか否かを判定する変更型判定機能。
【００４５】
(f109-2)  変更型判定機能(f109-1)による判定の結果、否のとき、当該差分情報ｄ内の第２行番号情報によって示されるソースコードをメモリから読出し、この読出されたソースコードにプログラム設計書ｐｄの項目名ｉが含まれているか否かを判定する項目名判定機能。
【００４６】
(f109-3)  項目名判定機能(f109-2)による判定結果が当該項目名ｉが含まれている旨を示すとき、当該項目名ｉに基づいて項目名／変数対応情報記憶装置５００からテンプレート変数ｖを読出し、第２行番号情報によって示されるソースコードに含まれている当該項目名ｉを当該読出されたテンプレート変数ｖに置換することにより、第２行番号情報によって示されるソースコードの雛形を示す部分テンプレート情報ｐｔを生成する機能。
【００４７】
(f109-4)  項目名判定機能(f109-2)による判定結果が否を示すとき、当該差分情報ｄ内の第２行番号情報によって示されるソースコードである部分テンプレート情報ｐｔを生成する機能。
【００４８】
分析結果情報生成部１１０は、部分テンプレート情報ｐｔ及びテンプレート情報ｔに基づいて、当該部分テンプレート情報ｐｔ及び当該テンプレート情報ｔを統合するための条件を含む分析結果情報を生成する処理を実行する。具体的には、例えば、以下の各機能(f110-1)〜(f110-7)をもっている。
【００４９】
(f110-1)  メモリに記憶されたテンプレート情報ｔと、部分テンプレート情報生成部１０９によって生成された部分テンプレート情報ｐｔとを比較することによって、当該テンプレート情報ｔと当該部分テンプレート情報ｐｔとの一致するソースコードを検出し、当該検出されたソースコードに基づいて、当該部分テンプレート情報ｐｔを出力するための条件を示すソースコードである出力条件情報を当該テンプレート情報から抽出する機能。
【００５０】
(f110-2)  当該抽出された出力条件情報と、差分情報生成部１０８によって生成された差分情報ｄ内の第１行番号情報によって示されるソースコードとに基づいて、このソースコードに含まれる項目名ｉを含み、当該部分テンプレート情報ｐｔをテンプレート情報ｔに適用するための条件を示すソースコードである適用条件情報を生成する機能。
【００５１】
(f110-3)  当該差分情報ｄ内の第１行番号情報によって示されるソースコードと、メモリに記憶された第１プログラムｐのソースコードとを比較することによって、当該第１行番号情報によって示されるソースコードが当該第１プログラムｐの全てのソースコードと一致するか否かを判定するソースコード一致判定機能。
【００５２】
(f110-4)  ソースコード一致判定機能(f110-3)による判定結果が一致する旨を示すとき、メモリに記憶されたテンプレート情報ｔのソースコードを当該部分テンプレート情報ｐｔのソースコードに置換する旨を示す統合条件情報を生成する機能。
【００５３】
(f110-5)  ソースコード一致判定機能(f110-4)による判定結果が一致しない旨を示すとき、メモリに記憶されたテンプレート情報ｔのソースコードに当該部分テンプレート情報ｐｔのソースコードを追加する旨を示す統合条件情報を生成する機能。
【００５４】
(f110-6)  当該生成された適用条件情報及び当該生成された統合条件情報を含む分析結果情報ａを生成する機能。
【００５５】
(f110-7)  変更型判定機能(f109-1)による判定の結果、当該変更型情報が削除を示すとき、差分情報生成部１０８によって生成された差分情報ｄ内の第１行番号情報によって示されるソースコードに基づいて、このソースコードに含まれる項目名ｉを含み、第１プログラムｐのソースコードに施された削除をテンプレート情報ｔに適用するための条件を示すソースコードである適用条件情報を生成する機能。
【００５６】
なお、分析結果情報生成部１１０は、以下の機能(f110-8)及び(f110-9)を更にもっていてもよい。
【００５７】
(f110-8)  行番号対応情報記憶部１０２内の行番号対応情報Ｌに基づいて、同一のテンプレート情報ｔから生成された複数の第１プログラムｐが存在するか否かを判定するプログラム存在可否判定機能。
【００５８】
(f110-9)  プログラム存在可否判定機能(f110-8)による判定の結果、複数の第１プログラムｐが存在する旨を示すとき、これら第１プログラムｐに関する部分テンプレート情報ｐｔが同一のソースコードを示しているか否かを判定する部分テンプレート同一可否判定機能。
【００５９】
テンプレート情報統合部１１１は、分析結果情報生成部１１０によって生成された分析結果情報ａ及び行番号対応情報記憶部１０２に記憶された行番号対応情報Ｌに基づいて、メモリに記憶されたテンプレート情報ｔと、部分テンプレート情報生成部１０９によって生成された部分テンプレート情報ｐｔとを統合する処理を実行する。また、テンプレート情報統合部１１１は、変更型情報が削除を示すときには部分テンプレート情報ｐｔが存在しないため、行番号対応情報記憶部１０２内の行番号対応情報Ｌに基づいて、分析結果情報生成部１１０によって生成された適用条件情報をメモリ内のテンプレート情報ｔに追加（統合）する処理を実行する。
【００６０】
テンプレート情報出力部１１２は、テンプレート情報統合部１１１によって統合されたテンプレート情報ｔ´をテンプレート情報記憶装置２００に出力し、このテンプレート情報ｔ´をテンプレート情報記憶装置２００に書込む処理を実行する。
【００６１】
次に、以上のように構成されたテンプレート情報生成装置の動作について、図１９のフローチャートと、図２０〜図２６の模式図とを参照しながら説明する。なお、本実施形態では、図２０に示すように、主に（ａ）の処理について説明する。また、テンプレート情報ｔは図２及び図３に示したソースコードを含み、第１プログラムｐは図５〜図８に示したソースコードを含み、第２プログラムｐ´は図９〜図１２に示したソースコードを含むものとする。
【００６２】
始めに、入力ファイル読込部１０６は、プログラム設計書ｐｄの入力を受け付けると、当該受け付けたプログラム設計書ｐｄをプログラム設計書記憶部１０１に書込む（ステップＳ１）。
【００６３】
続いて、入力ファイル読込部１０６は、第１プログラムｐ、第２プログラムｐ´及びテンプレート情報ｔの入力を受け付けると、当該受け付けた第１プログラムｐ、当該第２プログラムｐ´及び当該テンプレート情報ｔをメモリ（図示せず）に書込む（ステップＳ２）。
【００６４】
次に、差分情報生成部１０８は、第１プログラムｐ及び第２プログラムｐ´を比較することによって、図１５に示すように、第１行番号情報“<before start=”73” end=”85”/>”、第２行番号情報“<after start=”73” end=”78”/>”及び変更型情報“update（更新）”を含む差分情報ｄを生成する（ステップＳ３）。
【００６５】
続いて、部分テンプレート情報生成部１０９は、当該生成された差分情報ｄ内の変更型情報が“delete（削除）”を示すか否かを判定する（ステップＳ４）。
【００６６】
ここで、図１９のフローチャートの主な動作とは異なり、削除を示す場合の動作について説明する。なお、テンプレート情報生成装置１００内のメモリに記憶された第１プログラムｐ及び第２プログラムｐ´は、図２１〜図２３に示すように、上述の図５〜図１２に示されるプログラムとは異なるものとする。
【００６７】
ステップＳ４の判定の結果、当該変更型情報が“delete（削除）”を示す場合（ステップＳ４：「示す」）には、分析結果情報生成部１１０は、差分情報ｄ内の第１行番号情報によって示されるソースコードを読出し、このソースコードに含まれるプログラム設計書ｐｄの項目名ｉを抽出し、当該抽出された項目名ｉを含む適用条件情報を生成する（ステップＳ５）。
【００６８】
次に、テンプレート情報統合部１１１は、行番号対応情報記憶部１０２内の行番号対応情報Ｌに基づいて、当該テンプレート情報ｔのソースコードにステップＳ５で生成された適用条件情報を追加し（ステップＳ６）、テンプレート情報生成装置１００での動作を終了する。
【００６９】
この場合、テンプレート情報統合部１１１は、行番号対応情報Ｌに基づいてテンプレート行番号情報（換言すると、テンプレート情報の変更前のブロック情報の位置を示す位置情報）を取得した後に、当該取得された位置情報に基づいて、当該テンプレート情報ｔのブロック情報の直前の行に適用条件情報“#if($columnInfo.id==”hiredate”)”を追加する。なお、テンプレート情報統合部１１１は、適用条件情報が上述のようにif文の場合、図２４に示すように、追加した適用条件情報の直後の行（換言すると、テンプレート情報ｔの変更前のブロック情報の直前の行）に“#else”を含むelse文を出力し、当該テンプレート情報ｔの変更前のブロック情報の直後の行に“#end”を含むend文を出力する。
【００７０】
続いて、図１９のフローチャートの主な動作に戻り、削除を示さない場合の動作について説明する。
【００７１】
ステップＳ４の判定の結果、当該変更型情報が“delete（削除）”を示さない場合（ステップＳ４：「示さない」）には、部分テンプレート情報生成部１０９は、当該生成された差分情報ｄ内の第２行番号情報によって示されるソースコードを読出す（ステップＳ７）。この場合、部分テンプレート情報生成部１０９は、図１５に示すように、第２プログラムｐ´の７３行“/**”から７８行“private BigDecimal delete_flag”までのソースコードを読出す。
【００７２】
次に、部分テンプレート情報生成部１０９は、プログラム設計書記憶部１０１に記憶されたプログラム設計書ｐｄ内の項目名ｉが当該読出されたソースコードに含まれているか否かを判定する（ステップＳ８）。
【００７３】
ステップＳ８の判定の結果、否の場合（ステップＳ８：「含まない」）には、部分テンプレート情報生成部１０９は、図１７に示したように、第２行番号情報によって示されるソースコードである部分テンプレート情報ｐｔを生成し（ステップＳ９）、ステップＳ１２の処理へ進む。なお、第２行番号情報によって示されるソースコードは、部分テンプレート情報生成部１０９によって第１リスト情報A_listとしてメモリに書込まれる。
【００７４】
ステップＳ８の判定の結果、プログラム設計書ｐｄの項目名ｉを含む場合（ステップＳ８：「含む」）には、部分テンプレート情報生成部１０９は、このプログラム設計書ｐｄの項目名ｉに関連付けられたテンプレート変数ｖを項目名／変数対応情報記憶装置５００から読出す（ステップＳ１０）。この場合、部分テンプレート情報生成部１０９は、プログラム設計書ｐｄの項目名ｉ“削除フラグ”に関連付けられたテンプレート変数ｖ“${columninfo.name}”と、プログラム設計書ｐｄの項目名ｉ“delete_flag”に関連付けられたテンプレート変数ｖ“${columninfo.id}”とを項目名／変数対応情報記憶装置５００から読出す。また、部分テンプレート情報生成部１０９は、図２５に示す如き、ソースコードがステップＳ７で読み出された場合、図２６に示すように、ステップＳ７で読出された第２行番号情報によって示されるソースコード（換言すると、program変数）と、プログラム設計書ｐｄの項目名ｉ“削除フラグ”及び“delete_flag”（換言すると、design変数）とを第２リスト情報B_listとしてメモリに書込む。
【００７５】
続いて、部分テンプレート情報生成部１０９は、ステップＳ７において読出されたソースコードに含まれる項目名ｉ“削除フラグ”をテンプレート変数ｖ“${columninfo.name}”に置換し、項目名ｉ“delete_flag”をテンプレート変数ｖ“${columninfo.id}”にそれぞれ置換することにより、図１６に示したように、部分テンプレート情報ｐｔを生成する（ステップＳ１１）。なお、当該生成された部分テンプレート情報ｐｔは、部分テンプレート情報ｐｔと、差分情報ｄ内の第１行番号情報によって示される第１プログラムｐとの関係が分かるような形式で部分テンプレート情報記憶部１０４に記憶される。
【００７６】
次に、テンプレート情報統合部１１１は、メモリ内のテンプレート情報ｔを読出し、当該読出されたテンプレート情報ｔと、当該生成された部分テンプレート情報ｐｔとを統合し、新たなテンプレート情報ｔ´を生成する（ステップＳ１２）。
【００７７】
しかる後、テンプレート情報出力部１１２は、当該生成された新たなテンプレート情報ｔ´をテンプレート情報記憶装置２００に出力し、この新たなテンプレート情報ｔ´をテンプレート情報記憶装置２００に書込む（ステップＳ１３）。
【００７８】
次に、前述したステップＳ１２の詳細な処理について、図２７のフローチャートを参照しながら説明する。
【００７９】
始めに、分析結果情報生成部１１０は、メモリからテンプレート情報ｔを読出す（ステップＳ１２０）。
【００８０】
続いて、分析結果情報生成部１１０は、図２８に示すように、当該読出されたテンプレート情報ｔと、ステップＳ９において生成された部分テンプレート情報ｐｔとを比較することによって、当該部分テンプレート情報ｐｔのソースコードと一致するソースコードを当該テンプレート情報ｔから抽出する（ステップＳ１２１）。
【００８１】
次に、分析結果情報生成部１１０は、当該抽出されたソースコードに基づいて、当該部分テンプレート情報ｐｔを出力するための条件を示すソースコードである出力条件情報をテンプレート情報から抽出する（ステップＳ１２２）。
【００８２】
この場合、分析結果情報生成部１１０は、図２８に示すように、当該抽出されたソースコードの直前に位置し、検索条件画面で検索条件を指定可能な出力条件情報“#foreach($columninfo in $tableInfo.screenSearchColumnList)”と、ＤＢの型がｎｕｍｂｅｒ型の出力条件情報“#if($columnInfo.type==”number”)”とをテンプレート情報ｔから抽出する。
【００８３】
続いて、分析結果情報生成部１１０は、抽出された出力条件情報と、差分情報生成部１０８により生成された差分情報ｄ内の第１行番号情報によって示されるソースコードとに基づいて、このソースコードに含まれるプログラム設計書ｐｄ内の項目名ｉを抽出し、当該抽出された項目名ｉを含み、部分テンプレート情報ｐｔをテンプレート情報ｔに適用するための条件を示すソースコードである適用条件情報を生成する（ステップＳ１２３）。
【００８４】
この場合、分析結果情報生成部１１０は、当該第１行番号情報によって示されるソースコードに含まれるプログラム設計書ｐｄの項目名ｉ“delete_flag”を抽出し、この抽出された項目名ｉ“delete_flag”に関連付けられたテンプレート変数ｖ“{$columnInfo.id}”を項目名／変数対応情報記憶装置５００から読出す。また、分析結果情報生成部１１０は、当該抽出された項目名ｉ“delete_flag”及び当該読出されたテンプレート変数ｖ“{$columnInfo.id}”に基づいて、適用条件情報“#if($columnInfo.id==delete_flag)”を生成する。
【００８５】
なお、本実施形態では、接頭語が“#if”の適用条件情報としたが、これに限定されない。例えば、接頭語が“#foreach”の適用条件情報等が適用可能である。
【００８６】
次に、分析結果情報生成部１１０は、当該差分情報ｄ内の第１行番号情報によって示されるソースコードと、メモリに記憶された第１プログラムｐのソースコードとを比較することによって、当該第１行番号情報によって示されるソースコードが当該第１プログラムｐの全てのソースコードと一致するか否かを判定する（ステップＳ１２４）。
【００８７】
ステップＳ２４の判定の結果、ソースコードが一致する旨を示す場合（ステップＳ１２４：「一致する」）には、分析結果情報生成部１１０は、メモリに記憶されたテンプレート情報ｔのソースコードを当該部分テンプレート情報ｐｔのソースコードに置換する旨を示す統合条件情報“置換”を生成する（ステップＳ１２５）。
【００８８】
ステップＳ１２４の判定の結果、ソースコードが一致しない旨を示す場合（ステップＳ１２４：「一致しない」）には、分析結果情報生成部１１０は、メモリに記憶されたテンプレート情報ｔのソースコードに当該部分テンプレート情報ｐｔのソースコードを追加する旨を示す統合条件情報“追加”を生成する（ステップＳ１２６）。
【００８９】
続いて、分析結果情報生成部１１０は、図１８に示したように、当該生成された適用条件情報“#if($columnInfo.id==delete_flag)”及び当該生成された統合条件情報“追加”を含む分析結果情報ａを生成する（ステップＳ１２７）。
【００９０】
しかる後、テンプレート情報統合部１１１は、図２９〜図３１に示すように、行番号対応情報記憶部１０２に記憶された行番号対応情報Ｌと、分析結果情報生成部１１０によって生成された分析結果情報ａとに基づいて、当該テンプレート情報ｔのソースコード及び当該部分テンプレート情報ｐｔのソースコードを統合する（ステップＳ１２８）。この場合、テンプレート情報統合部１１１は、行番号対応情報Ｌに基づいてテンプレート行番号情報（換言すると、テンプレート情報ｔ内の変更前のブロック情報の位置を示す位置情報）を取得した後に、当該取得された位置情報及び当該生成された分析結果情報ａ内の統合条件情報“追加”に基づいて、当該変更前のブロック情報の直前の行に適用条件情報“#if($columnInfo.id==delete_flag)”を追加する。なお、テンプレート情報統合部１１１は、適用条件情報が上述のようにif文の場合、図２９に示すように、追加した適用条件情報の直後の行（換言すると、変更前のブロック情報の直前の行）に部分テンプレート情報ｐｔを追加し、追加した部分テンプレート情報ｐｔの直後の行に“#else”を含むelse文を出力し、当該変更前のブロック情報の直後の行に“#end”を含むend文を出力する。これにより、変更前のブロック情報を適用する旨のテンプレート情報ｔの記述（出力条件情報の後に、変更前のブロック情報がある記述）は、変更前のブロック情報を適用する前に、部分テンプレート情報ｐｔを適用する旨の記述（出力条件情報の後に、適用条件情報と部分テンプレート情報ｐｔがある記述）と、部分テンプレート情報ｐｔを適用しない場合に、変更前のブロック情報を適用する旨の記述（部分テンプレート情報ｐｔの後に、else文と変更前のブロック情報とend文がある記述）に変更される。
【００９１】
なお、上述したステップＳ１２０の処理の前に、同一のテンプレート情報ｐｔから複数の第１プログラムｐ（または複数の第２プログラムｐ´）が生成されたか否かを判定する第１の判定ステップと、これら複数の第１プログラムｐに関する複数の部分テンプレート情報ｐｔのうち、同一のソースコードを示す部分テンプレート情報ｐｔが存在するか否かを判定する第２の判定ステップとを更に加えてもよい。
【００９２】
このように２つの判定ステップが上述したステップＳ１２０の処理の前に更に加えられ、これら２つの判定ステップによって、複数の第１プログラムｐが存在し、これら複数の第１プログラムｐに関する複数の部分テンプレート情報ｐｔのうち、同一のソースコードを示す部分テンプレート情報ｐｔが存在する旨を示す場合（例えば、図２０に示すような処理（ｂ））には、上述したステップＳ１２３の処理において、分析結果情報生成部１１０は、図３２〜図３４に示すように、同一のソースコードを示す部分テンプレート情報ｔ２１´，ｔ２２´を生成する際に用いた第１プログラムｐ２１，ｐ２２のソースコードと、部分テンプレート情報ｔ２１´，ｔ２２´とは異なるソースコードを示す部分テンプレート情報ｔ２３´を生成する際に用いた第１プログラムｐ２３のソースコードとを比較し、第１プログラムｐ２１，ｐ２２のソースコードには存在するが、第１プログラムｐ２３のソースコードには存在しないプログラム設計書ｐｄの項目名ｉを抽出し、この抽出された項目名ｉを部分テンプレート情報ｔ２１´，ｔ２２´に関する適用条件情報の一部として生成する処理を実行してもよい。
【００９３】
また、上述したステップＳ１２０の処理の前に加えられた第１の判定ステップにおいて、複数の第１プログラムｐが存在する旨を示す場合、上述したステップＳ１２３の処理の後に、上述したステップＳ１２４，Ｓ１２５の処理を省略し、ステップＳ１２６の処理へ進む処理を実行してもよい。
【００９４】
なお、本実施形態では、第１プログラムｐは、データベースに対してデータの検索、登録、更新及び削除が可能なＷｅｂ（World Wide Web）アプリケーションプログラムを示すが、これに限定されない。例えば、データベースを用いた任意のプログラム等が適用可能である。なお、Ｗｅｂアプリケーションプログラムには、Ｊａｖａ（登録商標）プログラム、ＪＳＰ（Java Server Pages）プログラム及び設定ファイルプログラムが含まれる。
【００９５】
また、同実施形態では、差分情報及び分析結果情報が、ＸＭＬ（Extensible Markup Language）形式を用いて生成されているが、これに限定されない。例えば、ＨＴＭＬ（Hyper Text Markup Language）形式等を用いて生成することが可能である。
【００９６】
以上説明した本実施形態によれば、部分テンプレート情報生成部１０９、分析結果情報生成部１１０及びテンプレート情報統合部１１１を備えた構成により、プログラム設計書によって変化する部分が含まれたプログラムを生成する場合においても、プログラムの変更内容を反映できる。
【００９７】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００９８】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００９９】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１００】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１０１】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１０２】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１０３】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１０４】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０５】
１０…テンプレート情報生成システム、１００…テンプレート情報生成装置、１０１…プログラム設計書記憶部、１０２…行番号対応情報記憶部、１０３…差分情報記憶部、１０４…部分テンプレート情報記憶部、１０５…分析結果情報記憶部、１０６…入力ファイル読込部、１０７…行番号対応情報生成部、１０８…差分情報生成部、１０９…部分テンプレート情報生成部、１１０…分析結果情報生成部、１１１…テンプレート情報統合部、１１２…テンプレート情報出力部、２００…テンプレート情報記憶装置、３００…プログラム生成装置、４００…プログラム記憶装置、５００…項目名／変数対応情報記憶装置、ｔ，ｔ´…テンプレート情報、ｐ，ｐ´…プログラム、ｐｄ…プログラム設計書、ｉ…項目名、ｖ…テンプレート変数、Ｌ…行番号対応情報、ｄ…差分情報、ａ…分析結果情報。
【図１】
2012159922.tif 000003
【図２】
2012159922.tif 000004
【図３】
2012159922.tif 000005
【図４】
2012159922.tif 000006
【図５】
2012159922.tif 000007
【図６】
2012159922.tif 000008
【図７】
2012159922.tif 000009
【図８】
2012159922.tif 000010
【図９】
2012159922.tif 000011
【図１０】
2012159922.tif 000012
【図１１】
2012159922.tif 000013
【図１２】
2012159922.tif 000014
【図１３】
2012159922.tif 000015
【図１４】
2012159922.tif 000016
【図１５】
2012159922.tif 000017
【図１６】
2012159922.tif 000018
【図１７】
2012159922.tif 000019
【図１８】
2012159922.tif 000020
【図１９】
2012159922.tif 000021
【図２０】
2012159922.tif 000022
【図２１】
2012159922.tif 000023
【図２２】
2012159922.tif 000024
【図２３】
2012159922.tif 000025
【図２４】
2012159922.tif 000026
【図２５】
2012159922.tif 000027
【図２６】
2012159922.tif 000028
【図２７】
2012159922.tif 000029
【図２８】
2012159922.tif 000030
【図２９】
2012159922.tif 000031
【図３０】
2012159922.tif 000032
【図３１】
2012159922.tif 000033
【図３２】
2012159922.tif 000034
【図３３】
2012159922.tif 000035
【図３４】
2012159922.tif 000036