−−−ネットワーク構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態の業務プログラム生成支援システム100を含むネットワーク構成例を示す図である。図1に示す業務プログラム生成支援システム100は、プログラム生成用のテンプレートに合成するプログラム部品の管理を簡便化し、プログラム生成の効率化を図るためのコンピュータシステムである。
こうした業務プログラム生成支援システム100はネットワーク10に接続され、業務プログラム生成担当者が操作するユーザ端末200とデータ通信可能となっている。
なお、本実施形態における業務プログラムとしては、一例として銀行業務のプログラムを想定する。よって、本実施形態における「組織」としては銀行を想定する。
−−−ハードウェア構成例−−−
また、業務プログラム生成支援システム100のハードウェア構成は以下の如くとなる。図2は本実施形態における業務プログラム生成支援システム100のハードウェア構成例を示す図である。
業務プログラム生成支援システム100は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置101、RAMなど揮発性記憶素子で構成されるメモリ103、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPU104(演算装置)、ネットワーク10と接続してユーザ端末200との通信処理を担う通信装置105を備える。
なお、上述の記憶装置101は、本実施形態の業務プログラム生成支援システム100が備えるべき機能を実装するためのプログラム102の他、テンプレートDB110、プログラム部品DB111、ソース組立定義テーブル125、可変ロジック判定テーブル126、テンプレート管理テーブル127、ロジック管理テーブル128、および適用行管理テーブル129を保持している。これらデータベースおよびテーブルのデータ構造の詳細については後述する。
図3は本実施形態におけるユーザ端末200のハードウェア構成例を示す図である。本実施形態におけるユーザ端末200は、業務プログラムの生成業務を担うシステムエンジニアなど適宜な担当者が操作する情報処理端末である。但し、業務プログラム生成支援システム100において、上述の担当者が操作可能な入出力装置が備わっている場合、このユーザ端末200は省略してもよい。
本実施形態のユーザ端末200は、PCなど一般的なコンピュータ端末と同様に、プログラム202を保持する記憶装置201、プログラム202を実行することで機能が実装されるメモリ203、プログラム202を実行する演算装置たるCPU204、入力装置205、出力装置206、および通信装置207といったハードウェア構成を備える。
−−−データ構成例−−−
続いて、本実施形態の業務プログラム生成支援システム100が用いるデータベースやテーブルの詳細について説明する。図4は本実施形態におけるテンプレートDB110の構成例を示す図である。テンプレートDB110は、各銀行で用いる各業務プログラムのソースコード生成用のテンプレートを格納したデータベースである。
テンプレートとは、所定の処理や機能ごとに用意されたプログラム部品を、当該テンプレートにおける当該プログラム部品前後のソースコードの内容と整合させてセットすることで、業務プログラムのソースコードが生成出来る雛形である。こうした技術自体は、上述の特許文献1(特許第3186117号公報)や特許文献2(特許第4946360号公報)に示す通りであり、その他のソースコード自動生成に関する既存技術を適宜採用しても良い。
こうしたテンプレートDB110のデータ構造は、テンプレートを一意に示す識別情報たるテンプレートのIDをキーにして、テンプレート名、およびテンプレートファイルといったデータから成るレコードの集合体である。
また、図5は本実施形態におけるプログラム部品DB111の構成例を示す図である。プログラム部品DB111は、業務プログラムにおける各処理に対応したプログラム部品を格納したデータベースである。そのデータ構造は、プログラム部品を一意に示す識別情報たるプログラム部品IDをキーとして、プログラム部品名、およびプログラム部品ファイルといったデータから成るレコードの集合体である。
このうちプログラム部品IDは、業務プログラムにおける各処理に対応したプログラムであって、所定のテンプレートに設定すべき所定銀行に特有のプログラム部品(以下、派生プログラム部品)、または銀行間で共通のプログラム部品(以下、基本プログラム部品)を一意に示す識別情報である。派生プログラム部品は、上述の基本プログラム部品を、当該銀行向けにカスタマイズするなどして生成されたものである。そのため業務プログラム生成支援システム100は、同じ処理に関するプログラム部品のうち、派生プログラム部品に関しては、元となった基本プログラム部品のIDにハイフンおよび付帯番号(派生機会に応じてインクリメントし自動付与)を付与したものを、派生プログラム部品のIDとしている。
図6に、本実施形態におけるソース組立定義テーブル125の一例を示す。ソース組立定義テーブル125は、各業務プログラム向けのテンプレートと、そのテンプレートに設定すべきプログラム部品との対応関係を規定したテーブルである。そのデータ構造は、業務プログラムを一意に示す識別情報たる業務プログラムのIDをキーとして、適用するテンプレートのID、当該テンプレートに設定するプログラム部品のID、および可変フラグといったデータから成るレコードの集合体である。
このうち、プログラム部品のIDは、当該業務プログラムにおける各処理に対応したプログラムであって当該テンプレートに設定すべき、基本プログラム部品を一意に示す識別情報である。
また、可変フラグは、所定の処理に対応したプログラム部品として、基本プログラム部品に加えて、当該基本プログラム部品から派生した派生プログラム部品が存在する場合に、その派生プログラム部品の存在を示すフラグである。
図7は本実施形態における可変ロジック判定テーブル126の構成例を示す図である。可変ロジック判定テーブル126は、各業務プログラム向けのテンプレートに設定すべきプログラム部品のうち、派生プログラム部品と、その元となる基本プログラム部品との対応関係を規定したテーブルである。
そのデータ構造は、業務プログラムを一意に示す識別情報たる業務プログラムのIDをキーとして、当該業務プログラム向けのテンプレートに設定する基本プログラム部品のID、適用行、および、上述の基本プログラム部品の派生プログラム部品のIDとを対応付けたレコードの集合体となっている。
図8は本実施形態におけるテンプレート管理テーブル127の構成例を示す図である。テンプレート管理テーブル127は、上述のテンプレートDB110で保持する各テンプレートの格納領域の情報を格納したテーブルである。そのデータ構造は、テンプレートを一意に示すテンプレートIDをキーとして、記憶装置101での当該テンプレートの格納先を示す格納アドレスといったデータから成るレコードの集合体である。
図9は本実施形態におけるロジック管理テーブル128の構成例を示す図である。ロジック管理テーブル128は、上述のプログラム部品DB111で保持する基本プログラム部品および派生プログラム部品の格納領域の情報を格納したテーブルである。そのデータ構造は、プログラム部品IDをキーとして、記憶装置101での当該プログラム部品の格納先を示す格納アドレスといったデータから成るレコードの集合体である。プログラム部品のIDには、基本プログラム部品および派生プログラム部品の各プログラム部品IDが含まれる。
図10は本実施形態における適用行管理テーブル129の構成例を示す図である。適用行管理テーブル129は、各銀行グループに所属する銀行の情報を格納したテーブルである。そのデータ構造は、銀行グループ名をキーとして、当該銀行グループに所属する各銀行名の値を対応付けたレコードの集合体となっている。
−−−機能例−−−
続いて、本実施形態の業務プログラム生成支援システム100が備える機能について説明する。上述したように、以下に説明する機能は、例えば業務プログラム生成支援システム100が備えるプログラムを実行することで実装される機能と言える。
本実施形態の業務プログラム生成支援システム100は、ユーザ端末200からの要求に応じて、所定画面データを記憶装置101から読み出してユーザ端末200に返し、当該画面を介して、所定適用行(例:“A銀行”)向けの業務プログラム(例:“利息計算プログラム”)の生成指示をユーザ端末200から受信する機能を備えている。
また、業務プログラム生成支援システム100は、ユーザ端末200から受けた上述の生成指示に応じ、当該生成指示が含む業務プログラムのIDをキーに、ソース組立定義テーブル125を検索し、ソースコード生成に用いるテンプレートおよび基本プログラム部品を特定する機能を備えている。
また、この場合の業務プログラム生成支援システム100は、上記で特定したテンプレートに設定すべき各基本プログラム部品について、それぞれの可変フラグ欄に所定値が設定されているかソース組立定義テーブル125で確認し、所定値が設定されている基本プログラム部品については、派生プログラム部品の存在を特定する機能を備えている。また業務プログラム生成支援システム100は、上述の所定値が設定されていない基本プログラム部品を、当該テンプレートへの設定対象として特定する機能を備えている。
また、業務プログラム生成支援システム100は、上述で派生プログラム部品の存在を特定した場合、当該基本プログラム部品のIDと、上述の生成指示が示す業務プログラムおよび適用行の各IDとをキーに、可変ロジック判定テーブル126で検索を実行し、当該業務プログラムを適用行向けに生成する際に用いる派生プログラム部品を特定する機能を備えている。
また、業務プログラム生成支援システム100は、上述までで特定した各プログラム部品(基本プログラム部品および派生プログラム部品)とテンプレートの実体ファイルを、記憶装置101のプログラム部品DB111およびテンプレートDB110より読み出し、テンプレートに所定ルールで各プログラム部品を設定して当該業務プログラムのソースコードを生成する機能を備えている。
また、業務プログラム生成支援システム100は、所定テンプレートに設定すべき派生プログラム部品または基本プログラム部品の追加または削除の処理が、記憶装置101におけるプログラム部品DB111にてなされることを、所定領域におけるファイル格納またはファイル削除のイベント発生を検知する機能を備えている。こうした、派生プログラム部品や基本プログラム部品の追加や削除は、例えば、担当者がユーザ端末200を操作して、該当ファイルをプログラム部品DB111にアップロードする、或いは該当ファイルをプログラム部品DB111から削除する動作に対応している。
なお、業務プログラム生成支援システム100は、上述の追加または削除の処理が、記憶装置101におけるプログラム部品DB111にてなされた際、該当ファイルが格納または削除された領域の情報に基づき、ロジック管理テーブル128における当該プログラム部品の格納アドレスの値を格納する、或いは当該プログラム部品の格納アドレスの値を削除する機能を備えている。
また、業務プログラム生成支援システム100は、上述の追加または削除の検知に伴い、当該検知が基本プログラム部品に関するものであれば、ソース組立定義テーブル125において、上述の所定テンプレートに対応付ける該当基本プログラム部品の登録または登録解除の処理を実行する機能を備えている。
また、業務プログラム生成支援システム100は、上述の追加または削除の検知に伴い、当該検知が派生プログラム部品に関するものであれば、ソース組立定義テーブル125において、上述の所定テンプレートに対応付ける基本プログラム部品の可変フラグ欄に所定値を設定する機能を備えている。
またこの場合、業務プログラム生成支援システム100は、当該派生プログラム部品の登録または登録解除の対象行に関して、ユーザ端末200を介して担当者による指定を受け付け、可変ロジック判定テーブル126において、当該業務プログラムの当該基本プログラム部品のうち対象行向けとなる当該派生プログラム部品のIDを登録または登録解除する機能を備えている。
また、業務プログラム生成支援システム100は、複数銀行の合併などに伴う、所定業務プログラムの統一要求をユーザ端末200から受け付けた場合、ソース組立定義テーブル125において当該業務プログラムのテンプレートに関して規定されている基本プログラム部品を特定する機能を備えている。
また、業務プログラム生成支援システム100は、当該特定した基本プログラム部品に関して、ソース組立定義テーブル125の該当レコードにおける可変フラグ欄に所定値が設定されていた場合に、可変ロジック判定テーブル126において、当該業務プログラムに設定する派生プログラム部品として、上述の合併対象の複数銀行のうち存続銀行に関して規定されているものを特定する機能を備えている。
また、業務プログラム生成支援システム100は、上述の合併対象の複数銀行のうち存続銀行以外の他銀行に関して、可変ロジック判定テーブル126において、当該業務プログラムのテンプレートに設定する派生プログラム部品を特定する機能を備えている。
この場合、業務プログラム生成支援システム100は、上述で他銀行に関して特定した当該派生プログラム部品のIDのうち、基本プログラム部品ID部分を抽出し、この基本プログラム部品IDが一致する基本プログラム部品が、上述の存続銀行に関して特定されているか判定する機能を備えている。
また、業務プログラム生成支援システム100は、上述の判定の結果、他銀行に関して特定した当該派生プログラム部品のIDのうち基本プログラム部品ID部分が一致する基本プログラム部品が、存続銀行に関して特定されていた場合、可変ロジック判定テーブル126において当該業務プログラムの他銀行に関して登録されていた派生プログラム部品のIDを削除する機能を備えている。業務プログラム生成支援システム100は、この時、当該削除により、可変ロジック判定テーブル126において、当該業務プログラムの基本プログラム部品に関して登録されていた派生プログラム部品のIDが皆無となった場合、ソース組立定義テーブル125において当該業務プログラムのテンプレートにおける当該基本プログラム部品に関する可変フラグ欄の所定値も削除する機能を備えている。
また、業務プログラム生成支援システム100は、他銀行に関して特定した当該派生プログラム部品のIDの基本プログラム部品ID部分が一致する基本プログラム部品が、存続銀行に関して特定されていない場合、上述で特定した当該派生プログラム部品と、存続銀行に関して既に特定している派生プログラム部品とを、例えば、そのIDに関して照合し、同じ処理に対応するもの、すなわちIDのうち基本プログラム部品ID部分は一致するものについて、その付帯番号まで一致するか判定する機能を備えている。
業務プログラム生成支援システム100は、上述の判定により、上述の存続銀行および他銀行の各派生プログラム部品のうち、そのIDの基本プログラム部品ID部分が一致するもので、その付帯番号が一致しないものを特定した場合、可変ロジック判定テーブル126における、他銀行の派生プログラム部品の情報を存続銀行の派生プログラム部品の情報に変更する機能を備えている。
−−−フロー例1−−−
以下、本実施形態における業務プログラム生成支援方法の実際手順について図に基づき説明する。以下で説明する業務プログラム生成支援方法に対応する各種動作は、業務プログラム生成支援システム100がメモリ103に読み出して実行するプログラムによって実現される。そして、これらのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
図11は、本実施形態の業務プログラム生成支援方法におけるフロー例1を示す図である。ここでは、業務プログラム生成支援システム100が、記憶装置101に保持するテンプレートおよび基本プログラム部品および派生プログラム部品によって、業務プログラムのソースコード生成を行う処理について説明する。但し、既に述べたように、テンプレートにプログラム部品を設定してソースコード生成を行う基本的な技術自体は既存のものを採用する。
まず、業務プログラム生成支援システム100は、ネットワーク10を介してユーザ端末200からのソースコード生成開始要求を受信して、記憶装置101で予め保持する所定画面データを読み出してユーザ端末200に返信する(s100)。
ユーザ端末200では、この画面データを受信して出力装置206にて入力画面1000(図12)として表示し、担当者からの入力を入力装置205にて受け付ける。ここで受け付ける入力内容は、対象となる銀行名すなわち適用行の名称と、ソースコード生成対象の業務プログラムのIDとなる。
このユーザ端末200は、上述のように受け付けた適用行の名称と業務プログラムのIDの各情報を含むソースコード生成指示を、ネットワーク10を介して業務プログラム生成支援システム100に送信する。
一方、業務プログラム生成支援システム100は、ユーザ端末200から上述の生成指示を受信し、当該生成指示が含む、適用行の名称(例:“A銀行”)と業務プログラムのID(例:“P0001”)の各値を取得する(s101)。
また、業務プログラム生成支援システム100は、上述の生成指示が含む業務プログラムのIDをキーに、ソース組立定義テーブル125を検索し、ソースコード生成に用いるテンプレートおよび基本プログラム部品を特定する(s102)。
例えば、業務プログラムIDが“P0001”をキーに、図6に示したソース組立定義テーブル125で検索を実行した場合、ソースコード生成に用いるテンプレート“テンプレート1”および基本プログラム部品“ロジック1”〜“ロジック5”を特定できる。
続いて業務プログラム生成支援システム100は、上記のステップs102で特定したテンプレート“テンプレート1”に設定すべき各基本プログラム部品“ロジック1”〜“ロジック5”について、それぞれの可変フラグ欄の値をソース組立定義テーブル125で読み取り、その値として“1”が設定されているものについては、派生プログラム部品が存在すると特定する(s103)。
例えば、図6に示したソース組立定義テーブル125において、テンプレート“テンプレート1”に対応付いた基本プログラム部品“ロジック1”〜“ロジック5”のうち、可変フラグ欄の値が“1”であるものとして、“ロジック2”および“ロジック5”を特定できる。
他方、上述のステップs103の結果、各基本プログラム部品“ロジック1”〜“ロジック5”のうち可変フラグ欄の値が“1”でないもの、すなわち派生プログラム部品が生じていない基本プログラム部品を、当該テンプレート“テンプレート1”への設定対象として特定する(s104)。例えば、図6に示したソース組立定義テーブル125において、テンプレート“テンプレート1”に対応付いた基本プログラム部品“ロジック1”〜“ロジック5”のうち、可変フラグ欄の値が“1”でないものとして、“ロジック1”、“ロジック3”、および“ロジック4”を特定できる。
次に業務プログラム生成支援システム100は、上述のステップs103で所定の基本プログラム部品“ロジック2”および“ロジック5”に関して派生プログラム部品の存在を特定したことに応じて、当該基本プログラム部品のID“ロジック2”および“ロジック5”と、上述の生成指示が示す業務プログラムID“P0001”および適用行“A銀行”とをキーに、可変ロジック判定テーブル126で検索を実行する(s105)。
業務プログラム生成支援システム100は、可変ロジック判定テーブル126での上述の検索により、当該業務プログラム“P0001”を適用行“A銀行”向けに生成する際に用いる派生プログラム部品として、“ロジック2−1”、および“ロジック5−1”を特定する(s106)。
また、業務プログラム生成支援システム100は、上述までで特定した基本プログラム部品“ロジック1”、“ロジック3”、“ロジック4”、および派生プログラム部品“ロジック2−1”、“ロジック5−1”のそれぞれの実体ファイルを、ロジック管理テーブル128における該当プログラムIDに関して示す格納アドレスの値に基づき、記憶装置101のプログラム部品DB111から読み出す(s107)。
また、業務プログラム生成支援システム100は、上述までで特定したテンプレート“テンプレート1”の実体ファイルを、テンプレート管理テーブル127における該当テンプレートIDに関して示す格納アドレスの値に基づき、記憶装置101のテンプレートDB110から読み出す(s108)。
続いて業務プログラム生成支援システム100は、上述のステップs108で実体ファイルを読み出したテンプレート“テンプレート1”に、ステップs107で実体ファイルを読み出した各プログラム部品“ロジック1”、“ロジック2−1”、“ロジック3”、“ロジック4”、“ロジック5−1”を設定し、当該業務プログラム“P0001”のソースコードを生成する(s109)。図13にて例示するように、テンプレート1300には、各プログラム部品の設定位置1301〜1305が予め記述されており、業務プログラム生成支援システム100は、各プログラム部品をテンプレート中の該当設置位置に設定する。
−−−フロー例2−−−
次に、記憶装置101のテンプレートDB110やプログラム部品DB111において、基本プログラム部品または派生プログラム部品の追加または削除がなされるイベントの発生に伴う処理について説明する。図14は、本実施形態の業務プログラム生成支援方法におけるフロー例2を示す図である。
こうしたプログラム部品の追加や削除が必要となる状況としては、例えば、当該業務プログラム生成支援の適用行が増減する事態、或いは、法改正等による制度対応に伴ってプログラム部品の改廃等が生じる事態を想定出来る。
この場合、業務プログラム生成支援システム100は、派生プログラム部品または基本プログラム部品の追加または削除の処理が、記憶装置101におけるプログラム部品DB111(図15)にてなされることを、当該プログラム部品DB111の記憶領域におけるファイル格納またはファイル削除のイベント発生により検知する(s200)。
こうした、派生プログラム部品や基本プログラム部品の追加や削除は、例えば、担当者がユーザ端末200を操作して、該当ファイルをプログラム部品DB111にアップロードする、或いは該当ファイルをプログラム部品DB111から削除する動作に対応している。
次に業務プログラム生成支援システム100は、上述の派生プログラム部品または基本プログラム部品の追加または削除の処理を検知した際に、該当ファイルが格納または削除された領域の情報に基づき、ロジック管理テーブル128(図16)における当該プログラム部品の格納アドレスの値を格納する、或いは当該プログラム部品の格納アドレスの値を削除する(s201)。
続いて、業務プログラム生成支援システム100は、上述の追加または削除の検知に伴い、当該検知が基本プログラム部品に関するものであれば(s202:y)、当該基本プログラム部品の登録または登録解除の対象となる業務プログラムおよびテンプレートに関して、ユーザ端末200を介して担当者による指定を受け付ける(s203)。
次に業務プログラム生成支援システム100は、上述のステップs203でユーザ端末200から受けた指定に基づき、ソース組立定義テーブル125において、該当業務プログラムのテンプレートに対し、上述で検知された該当基本プログラム部品のIDを登録または登録解除の処理を実行する(s204)。
一方、上述の検知が派生プログラム部品に関するものであれば(s202:n)、業務プログラム生成支援システム100は、当該検知が追加に関するものである場合(s205:y)、当該派生プログラム部品のIDのうち基本プログラム部品IDをキーに、当該業務プログラムのテンプレートに対応付ける基本プログラム部品のIDをソース組立定義テーブル125において検索し、該当する基本プログラム部品に関する可変フラグ欄が“0”であるか判定する(s206)。
上述の判定の結果、該当する基本プログラム部品に関する可変フラグ欄が“0”である場合(s206:y)、業務プログラム生成支援システム100は、当該可変フラグ欄に“1”を設定する(s207)。
例えば、派生プログラム部品“ロジック2−3”、“ロジック3−2”の追加処理がなされた場合、これらの元となった基本プログラム部品のID、すなわち“ロジック2”、“ロジック3”をキーに、ソース組立定義テーブル125において検索し、該当する基本プログラム部品に関する可変フラグ欄の値として、それぞれ“1”、“0”を特定出来る。すなわち、業務プログラム生成支援システム100は、基本プログラム部品のうち、可変フラグ欄の値が“0”の“ロジック3”の可変フラグ欄に“1”を設定する。
次に業務プログラム生成支援システム100は、当該派生プログラム部品の登録対象となる業務プログラムおよび適用行に関して、ユーザ端末200を介して担当者による指定を受け付ける(s208)。ここでは、例えば、派生プログラム部品“ロジック2−3”、“ロジック3−2”の登録対象として、業務プログラム“P0001”、適用行“C銀行”なる指定を受け付けたとする。
業務プログラム生成支援システム100は、上述のステップs208で得た、業務プログラム“P0001”および適用行“C銀行”の値に基づき、可変ロジック判定テーブル126(図17)において、例えば当該業務プログラム“P0001”の対象行“C銀行”向けとなる当該派生プログラム部品“ロジック2−3”、“ロジック3−2”のIDを登録する(s209)。
また、業務プログラム生成支援システム100は、上述までのステップで適宜に更新されたソース組立定義テーブル125および可変ロジック判定テーブル126に基づき、フロー例1と同様に、ユーザ端末200から受けた生成指示に応じて、テンプレート1800(図18)に各プログラム部品を設定し、当該業務プログラムのソースコードを生成し(s210)、処理を終了する。
他方、当該検知が削除に関するものであれば(s205:n)、業務プログラム生成支援システム100は、当該派生プログラム部品のIDのうち基本プログラム部品IDをキーに、当該業務プログラムのテンプレートに対応付ける基本プログラム部品のIDをソース組立定義テーブル125において検索し、該当する基本プログラム部品に関する可変フラグ欄が“1”であるか判定する(s211)。
上述の判定の結果、該当する基本プログラム部品に関する可変フラグ欄が“1”でなかった、すなわち“0”であった場合(s211:n)、業務プログラム生成支援システム100は、上述の削除動作自体にエラー等の不具合があると判断し、以後の処理を終了する。
他方、上述の判定の結果、該当する基本プログラム部品に関する可変フラグ欄が“1”である場合(s211:y)、業務プログラム生成支援システム100は、上述の削除がなされた当該派生プログラム部品の登録解除の対象行と、業務プログラムに関して、ユーザ端末200を介して担当者による指定を受け付ける(s212)。ここでは、例えば、派生プログラム部品“ロジック5−1”の登録解除対象として、業務プログラム“P0001”、適用行“A銀行”なる指定を受け付けたとする。
そして業務プログラム生成支援システム100は、可変ロジック判定テーブル126において当該業務プログラムの該当基本プログラム部品に関する派生プログラム部品が、削除事象の対象となった派生プログラム部品のみであるか判定する(s213)。
この判定の結果、可変ロジック判定テーブル126において当該業務プログラムの該当する基本プログラム部品に関する派生プログラム部品が、削除事象の対象となった派生プログラム部品のみである場合(s213:y)、業務プログラム生成支援システム100は、ソース組立定義テーブル125における該当する基本プログラム部品に関する可変フラグ欄に“0”を設定する(s214)。
例えば、派生プログラム部品“ロジック5−1”の削除処理がなされた場合、業務プログラム生成支援システム100は、これの元となった基本プログラム部品のID、すなわち“ロジック5”をキーに、ソース組立定義テーブル125において検索し、該当する基本プログラム部品に関する可変フラグ欄の値として“1”を特定出来る。この場合、業務プログラム生成支援システム100は、可変ロジック判定テーブル126において当該業務プログラム“P0001”の該当する基本プログラム部品“ロジック5”に関する派生プログラム部品が、削除事象の対象となった派生プログラム部品“ロジック5−1”のみであると特定する。従って業務プログラム生成支援システム100は、ソース組立定義テーブル125における該当する基本プログラム部品“ロジック5”に関する可変フラグ欄に“0”を設定する。
次に、業務プログラム生成支援システム100は、上述のステップs212で得た、業務プログラム“P0001”および適用行“A銀行”の値に基づき、可変ロジック判定テーブル126において、例えば当該業務プログラム“P0001”の対象行“A銀行”向けとなる当該派生プログラム部品“ロジック5−1”のIDを登録解除する(s215)。ここでの登録解除の手法としては値の削除あるいは不活性化の従来技術を採用すればよい。
また、業務プログラム生成支援システム100は、上述までのステップで適宜に更新されたソース組立定義テーブル125および可変ロジック判定テーブル126に基づき、フロー例1と同様に、ユーザ端末200から受けた生成指示に応じて、テンプレート1900(図19)に各プログラム部品を設定し、当該業務プログラムのソースコードを生成し(s216)、処理を終了する。
−−−フロー例3−−−
次に、複数銀行の合併などに伴って、合併後の存続銀行に関して規定している基本プログラム部品および派生プログラム部品の構成に、他銀行の構成を寄せる処理について説明する。図20は、本実施形態の業務プログラム生成支援方法におけるフロー例3を示す図である。
まず、業務プログラム生成支援システム100は、或る銀行への所定銀行の合併に伴う、所定業務プログラムの統一要求をユーザ端末200から受け付け、ソース組立定義テーブル125において当該業務プログラムのテンプレートに関して規定されている基本プログラム部品を特定する(s300)。
例えば、“A銀行”への“C銀行”の合併に伴う、業務プログラム“P0001”の統一要求をユーザ端末200から受け付けたとする。その場合、業務プログラム生成支援システム100は、ソース組立定義テーブル125において当該業務プログラム“P0001”のテンプレート“テンプレート1”に関して規定されている基本プログラム部品として、“ロジック1”〜“ロジック5”を特定できる。
続いて業務プログラム生成支援システム100は、上述のステップs300で特定した基本プログラム部品“ロジック1”〜“ロジック5”に関して、ソース組立定義テーブル125の該当レコードにおける可変フラグ欄の値が“1”であるか判定する(s301)。
上述の判定の結果、可変フラグ欄の値が“1”の基本プログラム部品が特定できなかった場合(s301:n)、テンプレートに設定するのは基本プログラム部品のみという構成であり、合併対象の銀行間で当該業務プログラムのソースコードに差異は無いとして処理を終了する。
一方、上述の判定の結果、可変フラグ欄の値が“1”の基本プログラム部品が特定できた場合(s301:y)、業務プログラム生成支援システム100は、可変ロジック判定テーブル126(図21)において、当該業務プログラム“P0001”に設定する派生プログラム部品として、上述の合併対象の“A銀行”および“C銀行”のうち存続銀行である“A銀行”に関して規定されているものを特定する(s302)。
また、業務プログラム生成支援システム100は、上述した合併対象の銀行のうち存続銀行たる“A銀行”以外の他銀行すなわち“C銀行”に関して、可変ロジック判定テーブル126において、当該業務プログラム“P0001”に設定する派生プログラム部品を特定する(s303)。図21の可変ロジック判定テーブル126の場合、“C銀行”に関して業務プログラム“P0001”に設定する派生プログラム部品を、“ロジック2−1”、“ロジック3−2”を特定出来る。
この場合、業務プログラム生成支援システム100は、上述で“C銀行”に関して特定した当該派生プログラム部品のID“ロジック2−1”、“ロジック3−2”のうち、基本プログラム部品ID部分、すなわち“ロジック2”、“ロジック3”を抽出し、この基本プログラム部品IDが一致する基本プログラム部品が、上述の“A銀行”に関して特定されているか判定する(s304)。この判定は、可変ロジック判定テーブル126において、基本プログラム部品ID部分、すなわち“ロジック2”、“ロジック3”に関して、“A銀行”に関して派生プログラム部品が登録されていないこと、すなわち元の基本プログラム部品を採用していることを判定するする処理となる。
上述の判定の結果、“C銀行”に関して特定した当該派生プログラム部品のID“ロジック2−1”、“ロジック3−2”のうち基本プログラム部品ID部分“ロジック2”、“ロジック3”が一致する基本プログラム部品が、“A銀行”に関して特定されていた場合(s305:y)、業務プログラム生成支援システム100は、可変ロジック判定テーブル126において当該業務プログラム“P0001”の基本プログラム部品“ロジック2”、“ロジック3”に関して、“C銀行”向けに登録されていた派生プログラム部品のIDを削除する(s306)。
なお、業務プログラム生成支援システム100は、この時、当該削除により、可変ロジック判定テーブル126において、当該業務プログラム“P0001”の基本プログラム部品“ロジック2”、“ロジック3”に関して登録されていた派生プログラム部品のIDが皆無となった場合、ソース組立定義テーブル125において当該業務プログラムのテンプレートにおける当該基本プログラム部品“ロジック2”、“ロジック3”に関する可変フラグ欄の値を“0”とする。
他方、上述の判定の結果、“C銀行”に関して特定した当該派生プログラム部品のID“ロジック2−1”、“ロジック3−2”の基本プログラム部品ID部分“ロジック2”、“ロジック3”が一致する基本プログラム部品が、“A銀行”に関して特定されていない場合(s305:n)、業務プログラム生成支援システム100は、“A銀行”に関する派生プログラム部品を可変ロジック判定テーブル126で特定する(s307)。図21の可変ロジック判定テーブル126の場合、“ロジック2−1”、“ロジック5−1”を特定できる。
また、業務プログラム生成支援システム100は、当該特定した派生プログラム部品“ロジック2−1”、“ロジック5−1”と、上述で“C銀行”に関し特定した派生プログラム部品“ロジック2−1”、“ロジック3−2”とを、例えば、そのIDに関して照合し、同じ処理に対応するもの、すなわちIDのうち基本プログラム部品ID部分は一致するものについて、その付帯番号まで一致するか判定する(s308)。
上述の例であれば、“ロジック2−1”、“ロジック5−1”と、“ロジック2−1”、“ロジック3−2”とを、その基本プログラム部品ID部分である、“ロジック2”または“ロジック5”と、“ロジック2”または“ロジック3”とで一致するものについて、その付帯番号まで一致するか判定する。この場合、“ロジック2−1”が該当する。
一方、業務プログラム生成支援システム100は、上述の判定により、上述の“A銀行”および“C銀行”の各派生プログラム部品のうち、そのIDの基本プログラム部品ID部分が一致するもので、その付帯番号が一致しないものを特定した場合(s309:n)、可変ロジック判定テーブル126における、“C銀行”の派生プログラム部品の情報を“A銀行”の派生プログラム部品の情報に変更する(s310)。上述の例であれば、“A銀行”および“C銀行”の各派生プログラム部品の間で、該当するものは無い。
また、業務プログラム生成支援システム100は、上述までのステップで適宜に更新されたソース組立定義テーブル125および可変ロジック判定テーブル126に基づき、フロー例1、2と同様に、ユーザ端末200から受けた生成指示に応じて、テンプレート(図22)に各プログラム部品を設定し、当該業務プログラムのソースコードを生成し(s311)、処理を終了する。なお、業務プログラム生成支援システム100は、上述のように合併に関する処理が完了した“A銀行”と“C銀行”を、同じ“A銀行グループ”であるとして、適用行管理テーブル129(図10)に対応関係を登録するものとする。
本実施形態によれば、各組織(例:銀行)の所定業務に関して、当該業務のプログラムに用いるプログラム部品単位で、組織間で共通なもの或いは組織特有のものを明確に区別し、効率的に管理することが可能である。また、組織の経営統合、合併、企業グループへの新たな組織の加入、分離といった事態に際し、或る組織における組織特有のプログラム部品を、合併先の組織での共通部品に置き換えるといった処理が効率的なものとなり、ひいては業務プログラム生成も効率化される。
すなわち、プログラム生成用のテンプレートに合成するプログラム部品の管理を簡便化し、プログラム生成の効率化を図ることが可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の業務プログラム生成支援システムにおいて、前記演算装置は、所定テンプレートに設定すべき組織特有のまたは組織間で共通のプログラム部品の追加または削除の処理が所定装置にてなされることに伴い、当該プログラム部品の登録または登録解除の対象組織に関して所定入力装置にて指定を受け付け、前記テーブルにおいて、前記所定テンプレートに対応付ける当該プログラム部品の登録または登録解除の処理を更に実行するものであるとしてもよい。
これによれば、業務プログラム生成の担当者等が、例えば或る銀行向けの業務プログラムに関して当該銀行特有のプログラム部品を作成して登録した場合、業務プログラム生成支援システム側では、この登録動作を記憶装置における所定領域へのファイル格納の検知等により特定し、上述のテーブルにおいて該当業務プログラムのテンプレートに対応付ける当該プログラム部品の情報登録処理を自動的に実行することになる。また、業務プログラム生成の担当者等が、例えば或る銀行向けの業務プログラムに関して当該銀行特有のプログラム部品を削除した場合、業務プログラム生成支援システム側では、この削除動作を記憶装置における所定領域でのファイル削除の検知等により特定し、上述のテーブルにおいて該当業務プログラムのテンプレートに対応付ける当該プログラム部品の情報解除処理を自動的に実行することになる。このプログラム部品の削除に合わせて新たなプログラム部品の登録がなされる場合は「置換」とみなせる。このように、上述の担当者等は上述のテーブルの管理作業を行う作業から解放され、業務プログラム生成業務の全体効率も向上する。
また、本実施形態の業務プログラム生成支援システムにおいて、前記演算装置は、所定の複数組織間での所定業務プログラムの統一要求を所定入力装置にて受け付け、前記複数組織のうち所定組織に関して前記テーブルで規定された、当該業務プログラムのテンプレートに設定すべき組織特有のおよび組織間で共通の各プログラム部品を前記各処理に関して特定する処理と、前記複数組織のうち前記所定組織以外の組織に関して、前記テーブルで当該テンプレートに対応付けられている各処理の各プログラム部品の情報を、対応する処理に関して特定した前記組織特有のまたは組織間で共通の各プログラム部品の情報に変更する処理を更に実行するものであるとしてもよい。
これによれば、組織の統合、合併といった事態に対応して、片寄せの基準となる所定組織向けの各プログラム部品の構成に沿って、統合、合併の対象組織のプログラム部品の構成を自動的に変更し、統合、合併の後の組織間で統一したプログラム部品の構成を業務プログラムに関して定義することが簡便かつ効率的なものとなる。
また、本実施形態の業務プログラム生成支援方法において、前記情報処理システムが、所定テンプレートに設定すべき組織特有のまたは組織間で共通のプログラム部品の追加または削除の処理が所定装置にてなされることに伴い、当該プログラム部品の登録または登録解除の対象組織に関して所定入力装置にて指定を受け付け、前記テーブルにおいて、前記所定テンプレートに対応付ける当該プログラム部品の登録または登録解除の処理を更に実行するとしてもよい。
また、本実施形態の業務プログラム生成支援方法において、前記情報処理システムが、所定の複数組織間での所定業務プログラムの統一要求を所定入力装置にて受け付け、前記複数組織のうち所定組織に関して前記テーブルで規定された、当該業務プログラムのテンプレートに設定すべき組織特有のおよび組織間で共通の各プログラム部品を前記各処理に関して特定する処理と、前記複数組織のうち前記所定組織以外の組織に関して、前記テーブルで当該テンプレートに対応付けられている各処理の各プログラム部品の情報を、対応する処理に関して特定した前記組織特有のまたは組織間で共通の各プログラム部品の情報に変更する処理とを更に実行するとしてもよい。
また、本実施形態の業務プログラム生成支援方法において、上述のテンプレート管理テーブルおよびロジック管理テーブルは、格納先のアドレスの変わりに、ファイルサーバのファイルパスを管理する構成としてもよい。或いは、上述のテンプレート管理テーブルおよびロジック管理テーブルに代えて、KVS(Key Value Store)やオブジェクトデータベース等のデータベース管理システムを用いる構成としてもよい。