(57)【要約】【課題】データベースの構造変更におけるプログラムへの影響を予測するためのシミュレーションに係る手作業を削減する。【解決手段】変更出力装置は、プログラムの操作コードを特定し、当該操作コードに基づいて、変更前要素を特定する。また、変更出力装置は、データベースの構造変更に係る手順情報を取得し、当該手順に従って当該データ構造を変更する場合の変更後要素を特定する。さらに、変更出力装置は、変更前要素と変更後要素とに係る予測情報を生成し、予測情報を出力する。【選択図】図１７
2020201715.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するコード特定部と、
前記操作コードに基づいて、操作の対象となる前記要素である変更前要素を特定する変更前要素特定部と、
前記データベースのデータ構造を変更する手順を示す手順情報を取得する手順取得部と、
前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定する変更後要素特定部と、
前記変更前要素と前記変更後要素とに係る情報である予測情報を生成する情報生成部と、
前記予測情報を出力する出力部と、
を備える変更出力装置。
【請求項２】
前記コード特定部は、前記プログラムのソースコードのうち、前記プログラムの名称に係るコードである名称コードをさらに特定する
前記変更前要素特定部は、前記操作コードと前記名称コードに基づいて、操作の態様となる要素である変更前要素と当該操作を規定する前記プログラムの名称を特定する
請求項１に記載の変更出力装置。
【請求項３】
前記情報生成部は、前記変更後要素について、前記プログラムにおいて前記操作の対象となる回数を示す情報を生成する
請求項１または請求項２に記載の変更出力装置。
【請求項４】
前記情報生成部は、前記プログラムおよび前記変更後要素を表す図形と、前記プログラムに係る前記図形と前記変更後要素に係る前記図形とを関連づける接続線とを含み、前記変更後要素に係る図形が、当該変更後要素と前記変更前要素とが同一である場合と異なる場合とで異なる態様で表示されるグラフを生成する
請求項１から請求項３の何れか１項に記載の変更出力装置。
【請求項５】
前記変更前要素特定部および前記変更後要素特定部は、前記操作の対象となる要素と前記要素に対する操作種別とを特定し、
前記グラフの前記接続線は、前記変更後要素の操作種別に応じた態様で表示される
請求項４に記載の変更出力装置。
【請求項６】
前記グラフの前記接続線は、当該接続線に接続される前記図形に係る変更後要素が、前記プログラムにおいて前記操作の対象となる回数に応じた態様で表示される
請求項４または請求項５に記載の変更出力装置。
【請求項７】
前記手順に基づいて前記データベースのデータ構造を変更する変更指示生成部と、
を備える請求項１から請求項６の何れか１項に記載の変更出力装置。
【請求項８】
プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するステップと、
前記操作コードに基づいて、操作の対象となる要素である変更前要素を特定するステップと、
前記データベースのデータ構造を変更する手順を示す手順情報を取得するステップと、
前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定するステップと、
前記変更前要素と前記変更後要素とに係る情報である予測情報を生成するステップと、
前記予測情報を出力するステップと、
を有する変更出力方法。
【請求項９】
コンピュータを、
プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するコード特定部、
前記操作コードに基づいて、操作の対象となる要素である変更前要素を特定する変更前要素特定部、
前記データベースのデータ構造を変更する手順を示す手順情報を取得する手順取得部、
前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定する変更後要素特定部、
前記変更前要素と前記変更後要素とに係る情報である予測情報を生成する情報生成部、
前記予測情報を出力する出力部、
として機能させるための変更出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変更出力装置、変更出力方法および変更出力プログラムに関する。
【背景技術】
【０００２】
特許文献１には、プログラム修正作業に際して、修正対象プログラム部品の属性データと修正内容データとを取得し、属性データを修正内容データで更新した修正後データの情報を表示する技術が開示されている。
特許文献２には、情報処理装置間での移行を行う際に、移行前のデータベースのデータ構造から移行後のデータベースのデータモデルの作成等を行い、データベースへのアクセスを行うプログラムを、移行後のデータベースのデータおよびテーブルの名称を用いて、修正することにより、プログラムの再利用を効率良くする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０１５４５８号公報
【特許文献２】特開２００６−００４０９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
既存の業務システムをマイクロサービスに分割する場合など、システムの構成を変更する場合、当該業務システムに関わるデータベースの分割と、データベースの構造変更が必要となることがある。このようなデータベースのデータ構造変更の実施の前に、当該データベースのデータ操作に関わるプログラムへの影響を予測するため、予め当該構造変更を想定したシミュレーションを行うことが好ましい。
しかし、当該シミュレーションを行うためには、手作業による机上での予測や仮実装の作成による変化後の状態の確認が必要であった。そのため、構造変更の元となるデータベースの規模が大きいほど、当該シミュレーションは多大な工数を必要としている。
【０００５】
本発明の目的は、上述した課題を解決する変更出力装置、変更出力方法および変更出力プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、変更出力装置は、プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するコード特定部と、前記操作コードに基づいて、操作の対象となる要素である変更前要素を特定する変更前要素特定部と、前記データベースのデータ構造を変更する手順を示す手順情報を取得する手順取得部と、前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定する変更後要素特定部と、前記変更前要素と前記変更後要素とに係る情報である予測情報を生成する情報生成部と、前記予測情報を出力する出力部を備える。
本発明の一態様によれば、変更出力方法は、プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するステップと、前記操作コードに基づいて、操作の対象となる要素である変更前要素を特定するステップと、前記データベースのデータ構造を変更する手順を示す手順情報を取得するステップと、前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定するステップと、前記変更前要素と前記変更後要素とに係る情報である予測情報を生成するステップと、前記予測情報を出力するステップを有する。
本発明の一態様によれば、変更出力プログラムは、コンピュータを、プログラムのソースコードのうち、データベースの要素に対する操作に係るソースコードである操作コードを特定するコード特定部、前記操作コードに基づいて、操作の対象となる要素である変更前要素を特定する変更前要素特定部、前記データベースのデータ構造を変更する手順を示す手順情報を取得する手順取得部、前記手順に従って前記データ構造を変更する場合に、前記プログラムが前記データ構造の変更前と同一の挙動をとるために操作の対象とすべき前記要素である変更後要素を特定する変更後要素特定部、前記変更前要素と前記変更後要素とに係る情報である予測情報を生成する情報生成部、前記予測情報を出力する出力部として機能させる。
【発明の効果】
【０００７】
上記態様のうち少なくとも１つの態様によれば、データベースの構造変更におけるプログラムへの影響を予測するためのシミュレーションに係る手作業を削減できる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る変更出力システムの構成を示す図である。
【図２】一実施形態に係る変更出力装置の構成を示す概略ブロック図である。
【図３】一実施形態に係る変更出力装置のプログラム３０Ａのソースコードの一例を示す図である。
【図４】一実施形態に係る変更出力装置のプログラム３０Ｂのソースコードの一例を示す図である。
【図５】一実施形態に係る変更出力装置のプログラム３０Ａによる変更前要素と操作種別の一例を示す図である。
【図６】一実施形態に係る変更出力装置のプログラム３０Ｂによる変更前要素と操作種別の一例を示す図である。
【図７】一実施形態に係る変更出力装置の手順情報の入力の一例を示す図である。
【図８】一実施形態に係る変更出力装置の手順情報に入力により手順取得部が取得した手順情報の一例を示す図である。
【図９】一実施形態に係る変更出力装置のプログラム３０Ａによる変更後要素の一例を示す図である。
【図１０】一実施形態に係る変更出力装置のプログラム３０Ｂによる変更後要素の一例を示す図である。
【図１１】一実施形態に係る変更出力装置の情報生成部の予測情報の生成に係る動作の一例を示すフローチャートである。
【図１２】一実施形態に係る変更出力装置の情報生成部のグラフの生成に係る動作の一例を示すフローチャートである。
【図１３】一実施形態に係る変更出力装置の出力部が出力した予測情報の一例を示す図である。
【図１４】一実施形態に係る変更出力装置の出力部が出力したグラフの一例を示す図である。
【図１５】一実施形態に係る変更出力装置の出力部が出力したグラフの一例を示す図である。
【図１６】一実施形態に係る変更出力装置の動作を示すフローチャートである。
【図１７】基本構成に係る変更出力装置の構成を示す図である。
【図１８】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【０００９】
〈第１の実施形態〉
以下、図面を参照しながら本発明の第１の実施形態について詳しく説明する。
【００１０】
《変更出力システムの構成》
図１は、第１の実施形態に係る変更出力システム１０の構成を示す図である。変更出力システム１０は、変更対象となる対象システムのデータベース２０の構造を変更する場合に、当該対象システムを構成するプログラム３０への影響を予測するためのシステムである。
変更出力システム１０は、データベース記憶装置２１と、プログラム記憶装置３１と、プログラム処理装置３２と、表示装置３３と、入力装置３４と、変更出力装置１００を備える。
【００１１】
データベース記憶装置２１は、データベース２０を記憶する装置である。データベース記憶装置２１の例としては、オンプレミスストレージ、クラウドストレージが挙げられる。データベース２０は、検索、蓄積、削除および変更が容易にできるよう整理されたデータの集まりである。データベース２０の構造の例としては、階層型データベース、関係データベースが挙げられる。
【００１２】
プログラム記憶装置３１は、プログラム３０を記憶する装置である。プログラム記憶装置３１の例としては、オンプレミスストレージ、クラウドストレージが挙げられる。プログラム３０は、コンピュータに対する処理をソースコードで記述したものであり、データベース２０の要素に対する操作に係るソースコードを含むものである。変更出力システム１０におけるプログラム３０は、１つでも複数でも良い。例えば、図１のプログラム記憶装置３１は、プログラム３０Ａと、プログラム３０Ｂを記憶する。
【００１３】
プログラム処理装置３２は、プログラム記憶装置３１に記憶されているプログラム３０による処理を行う装置である。また、プログラム処理装置３２は、表示装置３３に出力を行い、入力装置３４の入力を受け入れる装置である。
プログラム処理装置３２は、入力装置３４によるユーザ４０の入力を受けて、プログラム記憶装置３１に記憶されているプログラム３０を変更出力装置１００に出力する。
【００１４】
表示装置３３は、プログラム処理装置３２による処理の入力を受けて表示する装置である。また、表示装置３３は、変更出力装置１００から出力を受けて表示する装置である。表示装置３３の例としては、ディスプレイ装置が挙げられる。
【００１５】
入力装置３４は、ユーザからのプログラム処理装置３２に対する入力や、ユーザ４０からの変更出力装置１００に対する入力を受け入れる装置である。入力装置３４の例としては、キーボード、マウスが挙がれられる。
【００１６】
《変更出力装置の構成》
図２は、第１の実施形態に係る変更出力装置１００の構成を示す図である。変更出力装置１００は、データベース２０の構造変更におけるプログラム３０への影響を予測するための装置である。
変更出力装置１００は、コード特定部１１０と、変更前要素特定部１２０と、手順取得部１３０と、変更後要素特定部１４０と、情報生成部１５０と、出力部１６０と、変更指示生成部１７０を備える。
【００１７】
コード特定部１１０は、プログラム３０のソースコードのうち、データベース２０の要素に対する操作に係るソースコードおよびプログラム３０の名称に係るコードである名称コードを特定する。データベース２０の要素に対する操作の例としては、参照、更新、リネーム、削除、追加が挙げられる。具体的には、コード特定部１１０は、ソースコードの各行からデータベース２０の操作に係るキーワードを検索し、キーワードが含まれる行を、操作コードとして特定する。キーワードの例としては、更新操作に係るキーワード「ＩＮＳＥＲＴ  ＩＮＴＯ」、「ＵＰＤＡＴＥ」、参照操作に係るキーワード「ＳＥＬＥＣＴ」、「ＷＨＥＲＥ」、削除操作に係るキーワード「ＤＥＬＥＴＥ」などが挙げられる。また、コード特定部１１０は、ソースコードの各行からプログラムの名称に係るキーワードを検索し、キーワードが含まれる行を、名称コードとして特定する。キーワードの例としては、「ＰＲＯＧＲＡＭ−ＩＤ」などが挙げられる。
【００１８】
図３は、プログラム３０Ａの埋め込み型ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）を用いたＣＯＢＯＬ（Ｃｏｍｍｏｎ  Ｂｕｓｉｎｅｓｓ  Ｏｒｉｅｎｔｅｄ  Ｌａｎｇｕａｇｅ）によるソースコードの一例である。
図３のソースコードの３行目の「ＩＮＳＥＲＴ  ＩＮＴＯ  Ｂｏｏｋｓ（ｂｏｏｋＩＤ，  ｔｉｔｌｅ，  ｐｕｂｌｉｓｈｅｒ，  ｐａｇｅｓ）ＶＡＬＵＥＳ（“Ａ”，“Ｂ”，“Ｃ”，１００」は、更新操作に係るキーワード「ＩＮＳＥＲＴ  ＩＮＴＯ」を含むコードである。つまり、コード特定部１１０は、「ＩＮＳＥＲＴ  ＩＮＴＯ  Ｂｏｏｋｓ（ｂｏｏｋＩＤ，  ｔｉｔｌｅ，  ｐｕｂｌｉｓｈｅｒ，  ｐａｇｅｓ）ＶＡＬＵＥＳ（“Ａ”，“Ｂ”，“Ｃ”，１００」を操作コードと特定する。
図３のソースコードの６行目の「ＳＥＬＥＣＴ  ｌａｎｇｕａｇｅ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｐａｇｅｓ＞１００」は、参照操作に係るキーワード「ＷＨＥＲＥ」を含むコードである。また、当該ソースコードの「ＳＥＬＥＣＴ  ｌａｎｇｕａｇｅ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｐａｇｅｓ＞１００」は、参照操作に係るキーワード「ＳＥＬＥＣＴ」を含むコードでもある。つまり、コード特定部１１０は、「ＳＥＬＥＣＴ  ｌａｎｇｕａｇｅ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｐａｇｅｓ＞１００」を、操作コードと特定する。
【００１９】
図３のソースコードの１行目の「ＰＲＯＧＲＡＭ−ＩＤ．ＢＯＯＫＳＥＡＲＣＨ．」は、プログラム３０Ａの名称に係るキーワード「ＰＲＯＧＲＡＭ−ＩＤ」を含むコードである。つまり、コード特定部１１０は、プログラム３０Ａから、「ＰＲＯＧＲＡＭ−ＩＤ．ＢＯＯＫＳＥＡＲＣＨ．」を名称コードとして特定する。
【００２０】
図４は、プログラム３０Ｂの埋め込み型ＳＱＬを用いたＣＯＢＯＬによるソースコードの一例である。
図４のソースコードの３行目の「ＵＰＤＡＴＥ  Ｂｏｏｋｓ  ＳＥＴ  ｃｏｕｎｔｒｙ  ＝  ‘Ｊａｐａｎ’  ＷＨＥＲＥ  ｃｏｕｎｔｒｙ」は、更新操作に係るキーワード「ＵＰＤＡＴＥ」を含むコードである。また、当該ソースコードの「ＵＰＤＡＴＥ  Ｂｏｏｋｓ  ＳＥＴ  ｃｏｕｎｔｒｙ  ＝  ‘Ｊａｐａｎ’  ＷＨＥＲＥ  ｃｏｕｎｔｒｙ」は、参照操作に係るキーワード「ＷＨＥＲＥ」を含むコードである。つまり、「ＵＰＤＡＴＥ  Ｂｏｏｋｓ  ＳＥＴ  ｃｏｕｎｔｒｙ  ＝  ‘Ｊａｐａｎ’  ＷＨＥＲＥ  ｃｏｕｎｔｒｙ」は、操作コードである。
【００２１】
図４のソースコードの６行目の「ＳＥＬＥＣＴ  ｐｕｂｌｉｓｈｅｒ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｌａｎｇｕａｇｅ」は、参照操作に係るキーワード「ＳＥＬＥＣＴ」を含むコードである。また、当該ソースコードの「ＳＥＬＥＣＴ  ｐｕｂｌｉｓｈｅｒ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｌａｎｇｕａｇｅ」は、参照操作に係るキーワード「ＷＨＥＲＥ」を含むコードである。つまり、「ＳＥＬＥＣＴ  ｐｕｂｌｉｓｈｅｒ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｌａｎｇｕａｇｅ」は、操作コードである。
【００２２】
つまり、コード特定部１１０は、プログラム３０Ｂから、「ＵＰＤＡＴＥ  Ｂｏｏｋｓ  ＳＥＴ  ｃｏｕｎｔｒｙ  ＝  ‘Ｊａｐａｎ’  ＷＨＥＲＥ  ｃｏｕｎｔｒｙ」と、「ＳＥＬＥＣＴ  ｐｕｂｌｉｓｈｅｒ  ＦＲＯＭ  Ｂｏｏｋｓ  ＷＨＥＲＥ  ｌａｎｇｕａｇｅ」を操作コードとして特定する。
【００２３】
図４のソースコードの１行目の「ＰＲＯＧＲＡＭ−ＩＤ．ＰＵＢＬＩＳＨＥＲＳＴＡＴ．」は、プログラム３０Ｂの名称コードである。つまり、コード特定部１１０は、プログラム３０Ｂから、「ＰＲＯＧＲＡＭ−ＩＤ．ＰＵＢＬＩＳＨＥＲＳＴＡＴ．」を名称コードとして特定する。
【００２４】
変更前要素特定部１２０は、コード特定部１１０が特定した操作コードと名称コードに基づいて、操作の対象となる要素である変更前要素、当該要素に対する操作種別およびプログラム名を特定する。当該プログラム名は、プログラム名称を意味する。
【００２５】
図５は、変更前要素特定部１２０が、プログラム３０Ａにより特定された操作コードと名称コードに基づいて特定した、変更前要素、操作種別、プログラム名の一例である。
例えば、図３の３行目の操作コード「ＩＮＳＥＲＴ  ＩＮＴＯ  Ｂｏｏｋｓ（ｂｏｏｋＩＤ，  ｔｉｔｌｅ，  ｐｕｂｌｉｓｈｅｒ，  ｐａｇｅｓ）」は、データベース２０の要素であるテーブル「Ｂｏｏｋｓ」のコラム「ｂｏｏｋＩＤ」に対し、更新操作「ＩＮＳＥＲＴ  ＩＮＴＯ」を行うものである。
つまり、変更前要素特定部１２０は、３行目の操作コードから、テーブル名「Ｂｏｏｋｓ」、コラム「ｂｏｏｋＩＤ」、操作種別「更新」を特定する。これにより、図５の２列の２行目のように、変更前要素は「Ｂｏｏｋｓ．ｂｏｏｋＩＤ」となり、図５の３列の２行目のように、操作種別は「更新」となる。上記の「Ｂｏｏｋｓ．ｂｏｏｋＩＤ」は、テーブル「Ｂｏｏｋｓ」のコラム「ｂｏｏｋＩＤ」を意味する。
【００２６】
また、プログラム３０Ａにより特定された名称コードは、「ＰＲＯＧＲＡＭ−ＩＤ．ＢＯＯＫＳＥＡＲＣＨ．」であるため、図５に示すテーブルのプログラム名は、「ＢＯＯＫＳＥＡＲＣＨ」である。したがって、変更前要素特定部１２０は、プログラム３０Ａから抽出された各変更前要素に、プログラム名「ＢＯＯＫＳＥＡＲＣＨ」を関連付ける。同様に変更前要素特定部１２０は、プログラム３０Ｂから抽出された各変更前要素に、プログラム名「ＰＵＢＬＩＳＨＳＴＡＴ」を関連付ける。
【００２７】
上記のように、プログラム３０Ａと、プログラム３０Ｂにより特定された操作コード、名称コードに基づいて、変更前要素特定部１２０が特定した変更前要素、操作種別、プログラム名の関係は図５と図６のようになる。
【００２８】
手順取得部１３０は、データベース２０のデータ構造を変更する手順を示す手順情報を取得する。具体的には、ユーザ４０により入力された手順情報に係る入力を入力装置３４が受け入れ、手順取得部１３０が、当該入力に基づいて手順情報を取得する。
【００２９】
図７は、ユーザ４０により入力された手順情報の一例を示す図である。当該手順情報に係る入力は、具体的なプログラム言語によるものに限るのではなく、図７のように、変更出力装置１００用にカスタマイズされたものも含まれる。
図８は、手順取得部１３０が、図７の手順情報に係る入力により取得した手順情報の一例を示す図である。
【００３０】
図７の１行目の「ＣＲＥＡＴＥ  ＴＡＢＬＥ  Ｐｕｂｌｉｓｈｅｒｓ」は、操作内容が「ＣＲＥＡＴＥ  ＴＡＢＬＥ」であり、操作対象が「Ｐｕｂｌｉｓｈｅｒｓ」であることを示す。つまり、「ＣＲＥＡＴＥ  ＴＡＢＬＥ  Ｐｕｂｌｉｓｈｅｒｓ」の入力は、データベース２０に、「Ｐｕｂｌｉｓｈｅｒｓ」の名のテーブルを作成する手順情報である。そのため、手順取得部１３０は、図８の２行目の手順情報を取得する。
【００３１】
図７の２行目の「ＥＸＰＯＲＴ  Ｂｏｏｋｓ．ｐｕｂｌｉｓｈｅｒ  ＴＯ  ＰｕｂｌｉｓｈｅｒｓＯＮ  ＰｕｂｌｉｓｈｅｒＩＤ  ＦＯＲ  ＰＵＢＬＩＳＨＳＴＡＴ」は、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」にコラム「ｐｕｂｌｉｓｈｅｒ」を作成し、当該コラムを「ＰＵＢＬＩＳＨＳＴＡＴ」に再リンクさせ、当該コラムをテーブル「Ｐｕｂｌｉｓｈｅｒｓ」にコラム「ｐｕｂｌｉｓｈｅｒＩＤ」にコピーし、テーブル「Ｂｏｏｋｓ」のコラム「Ｐｕｂｌｉｓｈｅｒ」の名称を、「ＰｕｂｌｉｓｈｅｒＩＤ」にリネームする手順情報に係る入力である。
【００３２】
図７の２行目は以下の操作により実現される。すなわち、
１．データベース２０のテーブル「Ｐｕｂｌｉｓｈｅｒｓ」にコラム「ｐｕｂｌｉｓｈｅｒ」を作成する手順。
２．データベース２０のテーブル「Ｐｕｂｌｉｓｈｅｒｓ」のコラム「Ｐｕｂｌｉｓｈｅｒ」に、プログラム３０Ｂに係るプログラム「ＰＵＢＬＩＳＨＳＴＡＴ」を再リンクする手順。
３．データベース２０のテーブル「Ｂｏｏｋｓ」のコラム「Ｐｕｂｌｉｓｈｅｒ」の名称を、「ＰｕｂｌｉｓｈｅｒＩＤ」にリネームする手順。
４．データベース２０のテーブル「Ｐｕｂｌｉｓｈｅｒｓ」のコラム「Ｐｕｂｌｉｓｈｅｒ」を、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」のコラム「ＰｕｂｌｉｓｈｅｒＩＤ」にコピーする手順。
手順取得部１３０は、上記１〜４により、図８の３〜６行目の手順情報を取得する。
【００３３】
図７の３行目の「ＭＯＶＥ  Ｂｏｏｋｓ．ｃｏｕｎｔｒｙ  ＴＯ  Ｐｕｂｌｉｓｈｅｒｓ」は、データベース２０のテーブル「Ｂｏｏｋｓ」のコラム「ｃｏｕｎｔｒｙ」を、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」に、「ＭＯＶＥ」の操作である。つまり、「ＭＯＶＥ  Ｂｏｏｋｓ．ｃｏｕｎｔｒｙ  ＴＯ  Ｐｕｂｌｉｓｈｅｒｓ」の入力は、データベース２０のテーブル「Ｂｏｏｋｓ」のコラム「ｃｏｕｎｔｒｙ」を、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」に、移動する手順情報である。そのため、手順取得部１３０は、図８の７行目の手順情報を取得する。
【００３４】
図７の４行目の「ＣＯＰＹ  Ｂｏｏｋｓ．ｌａｎｇｕａｇｅ  ＴＯ  Ｐｕｂｌｉｓｈｅｒｓ  ＦＯＲ  ＰＵＢＬＩＳＨＥＲＳＴＡＴ」は、データベース２０のテーブル「Ｂｏｏｋｓ」のコラム「ｌａｎｇｕａｇｅ」を、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」に、「ＣＯＰＹ」し、当該「ＣＯＰＹ」されたテーブル「Ｐｕｂｌｉｓｈｅｒｓ」のコラム「ｌａｎｇｕａｇｅ」に、プログラム３０Ｂに係るプログラム「ＰＵＢＬＩＳＨＳＴＡＴ」を「ＦＯＲ」の操作である。
つまり、「ＣＯＰＹ  Ｂｏｏｋｓ．ｌａｎｇｕａｇｅ  ＴＯ  Ｐｕｂｌｉｓｈｅｒｓ  ＦＯＲ  ＰＵＢＬＩＳＨＥＲＳＴＡＴ」の入力は、データベース２０のテーブル「Ｂｏｏｋｓ」のコラム「ｌａｎｇｕａｇｅ」を、テーブル「Ｐｕｂｌｉｓｈｅｒｓ」に、コピーし、当該コピーされたテーブル「Ｐｕｂｌｉｓｈｅｒｓ」のコラム「ｌａｎｇｕａｇｅ」に、プログラム３０Ｂに係るプログラム「ＰＵＢＬＩＳＨＳＴＡＴ」を再リンクする手順情報である。そのため、手順取得部１３０は、図８の５行目、８行目および９行目の手順情報を取得する。
【００３５】
上記のように、図７の手順情報に係る入力に基づいて、手順取得部１３０が取得した手順が図８となる。
【００３６】
変更後要素特定部１４０は、手順取得部１３０が取得した手順に従って、データベース２０のデータ構造を変更した場合に、プログラム３０が当該データ構造の変更前と同一の挙動をとるために操作の対象とすべき要素である変更後要素を特定する。
【００３７】
図９は、データベース２０を図８に係る手順に従って、当該データベース２０のデータ構造を変更する場合に、プログラム３０Ａが当該データ構造の変更前と同一の挙動をとるために操作の対象とすべき要素として、変更後要素特定部１４０が特定した変更後要素の例である。
【００３８】
例えば、変更後要素特定部１４０は、手順取得部１３０が取得した手順情報の全ての手順と、変更前要素を照らし合わせて、同一のコラムからなる変更前要素を変更する。
【００３９】
変更後要素特定部１４０は、手順取得部１３０が取得した手順情報である図８の手順情報のうち、６行目の「ＦＲＯＭ」欄の「Ｂｏｏｋｓ．ｐｕｂｌｉｓｈｅｒ」と、図５の４行目の変更前要素が同一であることから、当該変更前要素を手順により変更することにより変更後要素を特定する。つまり、図８の６行目の手順情報により、図９の４行目の変更後要素は、変更前要素の「Ｂｏｏｋｓ．ｐｕｂｌｉｓｈｅｒ」から、「Ｂｏｏｋｓ．ｐｕｂｌｉｓｈｅｒＩＤ」となる。図９の４行目の変更後要素を除く、図９の変更後要素は、変更前要素と同じである。
【００４０】
図１０は、データベース２０を図８に係る手順に従って、当該データベース２０のデータ構造を変更する場合に、プログラム３０Ｂが当該データ構造の変更前と同一の挙動をとるために操作の対象とすべき要素として、変更後要素特定部１４０が特定した変更後要素である。
【００４１】
図８の２行目と７行目の手順情報により、図１０の２行目の変更後要素は、変更前要素の「Ｂｏｏｋｓ．ｃｏｕｎｔｒｙ」から、「Ｐｕｂｌｉｓｈｅｒｓ．ｃｏｕｎｔｒｙ」となる。
図８の２行目と３行目と４行目の手順情報により、図１０の４行目の変更後要素は、変更前要素の「Ｂｏｏｋｓ．ｐｕｂｌｉｓｈｅｒ」から、「Ｐｕｂｌｉｓｈｅｒｓ．Ｐｕｂｌｉｓｈｅｒ」となる。
【００４２】
図８の２行目と４行目と５行目の手順情報により、図１０の５行目の変更後要素は、「Ｐｕｂｌｉｓｈｅｒｓ．ＰｕｂｌｉｓｈｅｒＩＤ」で、操作種別は「参照」で新しく特定される。
図８の８行目と９行目の手順情報により、図１０の６行目の変更後要素は、変更前要素の「Ｂｏｏｋｓ．ｌａｎｇｕａｇｅ」から、「Ｐｕｂｌｉｓｈｅｒｓ．ｌａｎｇｕａｇｅ」となる。
【００４３】
情報生成部１５０は、変更前要素特定部１２０が特定した変更前要素と、変更後要素特定部１４０が特定した変更後要素に係る情報である予測情報を生成する。また、当該予測情報には、当該変更後要素についてプログラム３０において操作の対象となる回数が含まれる。
さらに、情報生成部１５０は、変更後要素と変更前要素とが同一である場合と異なる場合とで異なる態様で表示される、図形と接続線に係るグラフを生成する。当該図形は、プログラム３０および当該変更後要素を表す。また、当該接続線は、プログラム３０と変更後要素とを関連つける。
【００４４】
以下、図面を参照しながら、変更出力装置１００の情報生成部１５０の予測情報の生成に係る動作の一例を説明する。
図１１は、第１の実施形態に係る変更出力装置１００の情報生成部１５０の予測情報の生成に係る動作の一例を示すフローチャートである。
【００４５】
情報生成部１５０は、変更後要素特定部１４０が特定した変更後要素を、変更後要素特定部１４０から取得する（ステップＳ１１）。
情報生成部１５０は、当該変更後要素と同じ変更後要素であり、且つ変更後要素のプログラム名が、当該変更後要素のプログラム名と同じプログラム名である変更後要素の回数を、変更後要素毎にタグ付ける（ステップＳ１２）。
【００４６】
情報生成部１５０は、ステップＳ１２でタグ付けた変更後要素の回数が２以上である変更後要素について、当該変更後要素の回数から１を減算した値を、当該変更後要素の重複数として、当該変更後要素にタグ付ける（ステップＳ１３）。
【００４７】
情報生成部１５０は、変更後要素と変更前要素が異なる、当該変更後要素について、変更点のタグを付ける（ステップＳ１４）。また、情報生成部１５０は、上記の変更点のタグを有する変更後要素のうち、最後の変更後要素については、上記の変更点のタグの代わりに、最後変更点のタグを付ける（ステップＳ１４）。
【００４８】
情報生成部１５０は、変更後要素と同じ変更後要素であり、且つ当該変更後要素のプログラム名と同じプログラム名を有する変更後要素のうち、最初の変更後要素に係る変更後要素を除き、重複除外のタグを付ける（ステップＳ１５）。
【００４９】
以下、図面を参照しながら、変更出力装置１００の情報生成部１５０のグラフの生成に係る動作の一例を説明する。
図１２は、第１の実施形態に係る変更出力装置１００の情報生成部１５０のグラフの生成に係る動作の一例を示すフローチャートである。
【００５０】
情報生成部１５０は、変更後要素に係るプログラム名と、変更後要素について、当該プログラム名毎に図形データを生成し、当該変更後要素毎に図形データを生成する（ステップＳ２１）。
【００５１】
情報生成部１５０は、変更後要素について、当該変更後要素に係るプログラム名を繋げる接続線データを生成する（ステップＳ２２）。
【００５２】
情報生成部１５０は、ステップＳ２１において生成した図形データのうち、変更後要素のタグを参照することにより、情報生成部１５０が生成した予測情報の変更点、最終変更点に係る変更後要素の図形を、変更点、最終変更点にかからない変更後要素の図形と異なる形の図形に変更する（ステップＳ２３）。
例えば、情報生成部１５０は、変更点に係る変更後要素の図形を薄い灰色に係る図形に変更し、最終変更点に係る変更後要素の図形を濃い灰色に係る図形に変更する。
【００５３】
情報生成部１５０は、ステップＳ２２において生成した接続線データのうち、変更後要素に係る操作種別、情報生成部１５０が生成した予測情報の回数のタグに基づいて、当該接続線の態様を変更する（ステップＳ２４）。
例えば、情報生成部１５０は、回数が２以上の変更後要素に係る接続線については、当該接続線の太さを、回数が１の変更後要素に係る接続線より太くする変更を行う。情報生成部１５０は、回数が多くなるほど太くなるように変更しても良い。
【００５４】
また、情報生成部１５０は、変更後要素に係る操作種別に基づいて、当該変更後要素に係る接続線の態様を変更する。例えば、変更後要素に係る操作種別が更新である場合は、当該接続線を実線とし、変更後要素の操作種別が参照である場合は、当該接続線を破線と変更する。
【００５５】
出力部１６０は、情報生成部１５０が生成した予測情報を出力する。例えば、出力部１６０は、情報生成部１５０が生成した予測情報やグラフを、図１の表示装置３３に出力する。表示装置３３は、出力部１６０の出力を受けて、当該出力に係る予測情報やグラフをユーザ４０に表示する。
【００５６】
図１３は、情報生成部１５０が生成した予測情報の一例を示す図である。
図１３の４列目の「タグ」の欄には、変更後要素毎にタグ付けられた回数、重複数、変更点、最終変更点、重複除外の情報が表示される。出力部１６０は、重複除外のタグに係る変更後要素については、当該変更後要素に係る欄を灰色とし、重複除外のタグ以外のタグを出力しない。
【００５７】
例えば、図１３の２行目の変更後要素「Ｂｏｏｋｓ．ｂｏｏｋＩＤ」は、プログラム３０Ａに係るプログラム「ＢＯＯＫＳＥＡＲＣＨ」においての操作の対象となる回数が１回であるため、図１３の４列の２行目には、「回数＝１」が出力される。
また、図１３の５行目の変更後要素「Ｂｏｏｋｓ．ｐａｇｅｓ」は、プログラム３０Ａに係るプログラム「ＢＯＯＫＳＥＡＲＣＨ」においての操作の対象となる回数が、図１３の７行目と合わせて２回となる。そのため、図１３の４列の５行目には、「回数＝２」が出力される。
【００５８】
図１３の一例では、変更前要素を含んでいない情報となっているが、変更前要素を含む表であっても良い。例えば、出力部１６０は、図１３のテーブルにおける変更後要素の左側に変更前要素を出力しても良い。
【００５９】
図１４は、情報生成部１５０が生成したグラフの一例を示す図である。
図形Ｚ１Ａはプログラム３０Ａに係るプログラム「ＢＯＯＫＳＥＡＲＣＨ」を表す図形である。
図形Ｚ２は、変更後要素の一部であるコラムを表す図形である。図形Ｚ２Ａ、図形Ｚ２Ｂ、図形Ｚ２Ｃ、図形Ｚ２Ｄ、図形Ｚ２Ｅには、それぞれ、変更後要素の一部であるコラムが記載される。
図形Ｚ３Ａは、変更後要素の一部であるテーブル「Ｂｏｏｋｓ」を表す図形である。
【００６０】
図形Ｚ１と図形Ｚ２とは、接続線で関連つけられており、当該接続線は変更後要素の操作種別と、操作の対象となる回数に応じて態様が異なる。
図１４では、変更後要素の操作種別が更新である場合は、当該接続線を実線として表現している。また、変更後要素の操作種別が参照である場合は、当該接続線を破線として表現している。さらに、操作の対象となる回数が２回以上の場合、当該接続線を太い実線として表現している。
【００６１】
また、図１４の図形Ｚ２Ｃは、変更後要素と変更前要素が異なるため、図形Ｚ２Ａ、図形Ｚ２Ｂ、図形Ｚ２Ｄ、図形Ｚ２Ｅとは異なる態様となる。例えば、図形Ｚ２Ｃは、薄い灰色の図形で表されている。
【００６２】
図１５は、情報生成部１５０が生成したグラフを、出力部１６０が出力した一例を示す図である。
【００６３】
図形Ｚ１Ｂはプログラム３０Ｂに係るプログラム「ＰＵＢＬＩＳＨＳＴＡＴ」を表す図形である。
図形Ｚ２Ｅ、図形Ｚ２Ｆ、図形Ｚ２Ｇ、図形Ｚ２Ｈは、変更後要素の一部であるコラムである。図形Ｚ３Ｂは、変更後要素の一部であるテーブルである。図形Ｚ２Ｅ、図形Ｚ２Ｆ、図形Ｚ２Ｇは、変更前要素と変更後要素が異なるため、薄い灰色の図形で表されている。また、図形Ｚ２Ｈは、変更前要素と変更後要素が異なり、図８の手順情報における最終変更に該当するため、例えば、濃い灰色で表されている。
【００６４】
図１４と図１５における図形Ｚ１、図形Ｚ２および図形Ｚ３は一例であり、図１４、図１５とは異なる態様の図形で情報生成部１５０がグラフを生成しても良い。
【００６５】
図１のユーザ４０は、表示装置３３が出力した予測情報やグラフを用いて、データベース２０のデータ構造変更におけるプログラム３０への影響を予測することができる。
例えば、図１のユーザ４０は、図１５のグラフを用いることにより、データ構造変更後においては、プログラム３０Ｂであるプログラム「ＰＵＢＬＩＳＨＳＴＡＴ」が、データベース２０のテーブル「Ｂｏｏｋｓ」を操作しないことが容易に予測できる。
【００６６】
変更指示生成部１７０は、手順取得部１３０が取得した手順に基づいて、データベース２０のデータ構造を変更する。例えば、変更指示生成部１７０は、手順取得部１３０が取得した手順を、データベース２０が受け入れられる言語でのコードに変換し、データベース２０に当該コードを出力して、データベース２０のデータ構造を変更する。
【００６７】
《変更出力装置の動作》
以下、図面を参照しながら変更出力装置１００の動作を説明する。
図１６は、変更出力装置１００の動作を示すフローチャートである。
【００６８】
コード特定部１１０は、操作コード、名称コードを特定する。例えば、コード特定部１１０は、プログラム３０の操作コード、名称コードを特定する（ステップＳ１）。
変更前要素特定部１２０は、ステップＳ１において特定された操作コード、名称コードに基づいて、変更前要素、プログラム名称を特定する（ステップＳ２）。
【００６９】
手順取得部１３０は、データベース２０のデータ構造を変更する手順を示す手順情報を取得する。例えば、手順取得部１３０は、図１のユーザ４０が入力装置３４を通じて入力した当該手順情報を取得する（ステップＳ３）。
【００７０】
変更後要素特定部１４０は、ステップＳ３で手順取得部１３０が取得した手順に従って、変更後要素を特定する（ステップＳ４）。
情報生成部１５０は、ステップＳ２の変更前要素とステップＳ４の変更後要素に係る予測情報およびグラフを生成する（ステップＳ５）。
【００７１】
出力部１６０は、ステップＳ６において生成された予測情報およびグラフを出力する（ステップＳ６）。例えば、出力部１６０は、ステップＳ５において生成された予測情報およびグラフを図１の表示装置３３に出力する。
変更指示生成部１７０は、ステップＳ３の手順に基づいて、データベース２０のデータ構造を変更する（ステップＳ７）。
【００７２】
《作用・効果》
第１の実施形態に係る変更出力装置１００は、プログラム３０のソースコードのうち、データベース２０の要素に対する操作に係るソースコードである操作コードを特定するコード特定部１１０を備え、当該操作コードに基づいて、操作の対象となる要素である変更前要素を特定する変更前要素特定部１２０を備える。また、変更出力装置１００は、データベース２０のデータ構造を変更する手順を示す手順情報を取得する手順取得部１３０を備え、当該手順に従って当該データ構造を変更する場合に、プログラム３０が当該データ構造の変更前と同一の挙動をとるために操作の対象とすべき当該要素である変更後要素を特定する変更後要素特定部１４０を備える。さらに、変更出力装置１００は、変更前要素と変更後要素とに係る情報である予測情報を生成する情報生成部１５０と、予測情報を出力する出力部１６０を備える。
これにより、変更出力装置１００のユーザ４０は、データベース２０の構造変更の手順に係る情報を入力することにより、簡単に予測情報を確認することができる。そのため、変更出力装置１００のユーザ４０は、データベース２０の構造変更におけるプログラム３０への影響を予測するためのシミュレーションに係る手作業を削減できる。
【００７３】
第１実施形態に係る変更出力装置１００のコード特定部１１０は、当該操作コードを特定し、プログラム３０のソースコードのうち、プログラム３０の名称に係るコードである名称コードを特定する。また、変更出力装置１００の変更前要素特定部１２０は、当該操作コードと当該名称コードに基づいて、操作の態様となる要素である変更前要素と当該プログラムの名称を特定する。
これにより、変更出力装置１００のユーザ４０は、プログラム名毎に出力された予測情報を確認することができ、プログラム３０が複数の場合、データベース２０の構造変更におけるプログラム毎の影響を予測するシミュレーションにおいての手作業を削減できる。
【００７４】
第１実施形態に係る変更出力装置１００の情報生成部１５０は、当該変更後要素について、プログラム３０において操作の対象となる回数を示す情報を生成する。これにより、変更出力装置１００のユーザ４０は、データベース２０の構造変更において、データベース２０の要素別のプログラムの影響を予測するためのシミュレーションに係る手作業を削減できる。
【００７５】
第１実施形態に係る変更出力装置１００の情報生成部１５０は、プログラム３０および当該変更後要素を表す図形と、プログラム３０と当該変更後要素とを関連つける接続線とを含み、当該変更後要素に係る図形の態様が、当該変更後要素と当該変更前要素とが同一である場合と異なる場合とで異なる態様で表示されるグラフを生成する。これにより、変更出力装置１００のユーザ４０は、出力されたグラフを確認することができ、データベース２０の構造変更においてのシミュレーションの結果を容易に確認できる。
【００７６】
第１実施形態に係る変更出力装置１００の変更前要素特定部１２０および変更後要素特定部１４０は、当該操作の対象となる要素と当該要素に対する操作種別とを特定し、当該グラフの当該接続線は、当該変更後要素の操作種別に応じた態様で表示される。これにより、変更出力装置１００のユーザ４０は、データベース２０の構造変更におけるデータベース２０のプログラムの影響を予測するためのシミュレーションにおいて、操作種別を把握することができ、当該シミュレーションに係る手作業をより削減できる。
【００７７】
第１実施形態に係る変更出力装置１００は、情報生成部１５０が生成する当該グラフの当該接続線は、当該接続線に接続される当該図形に係る変更後要素が、プログラム３０において当該操作の対象となる回数に応じた態様で表示される。これにより、変更出力装置１００のユーザ４０は、データベース２０の構造変更において、当該構造変更前後においてより頻繁に用いる要素の変化を簡単に確認できる。そのため、変更出力装置１００のユーザ４０は、データベース２０のプログラムの影響を予測するためのシミュレーションに係る手作業を削減でき、当該シミュレーションの結果の確認が容易になる。
【００７８】
第１実施形態に係る変更出力装置１００は、前記手順に基づいて前記データベースのデータ構造を変更する変更指示生成部１７０を備える。これにより、変更出力装置１００のユーザ４０は、当該構造変更に係るデータベース２０の構造変更に係る作業を改めて行わなくても、データベース２０において当該構造変更を実施できる。そのため、変更出力装置１００のユーザ４０は、データベース２０の構造変更において、データベース２０のプログラムの影響を予測するためのシミュレーションの後に、容易に当該シミュレーションに係る当該データベース２０の構造変更を実施できる。
【００７９】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
情報生成部１５０は、変更前要素特定部１２０と、変更後要素特定部１４０が特定した操作種別に基づいて、変更前要素と変更後要素に係るグラフの図形や接続線が異なる態様で表示しても良い。
【００８０】
《基本構成》
図１７は、本発明による変更出力装置１００の基本構成を示す概略ブロック図である。
上述した実施形態では、本発明による変更出力装置１００の一実施形態として図２に示す構成について説明したが、本発明による変更出力装置１００の基本構成は、図１７に示すとおりである。
基本構成に係る変更出力装置１００は、コード特定部１１０と、変更前要素特定部１２０と、手順取得部１３０と、変更後要素特定部１４０と、情報生成部１５０、出力部１６０を備える。
【００８１】
基本構成に係る変更出力装置１００は、プログラム３０のソースコードのうち、データベース２０の要素に対する操作に係るソースコードである操作コードを特定するコード特定部１１０を備え、当該操作コードに基づいて、操作の態様となる要素である変更前要素を特定する変更前要素特定部１２０を備える。また、変更出力装置１００は、データベース２０のデータ構造を変更する手順を示す手順情報を取得する手順取得部１３０を備え、当該手順に従って当該データ構造を変更する場合に、プログラム３０が当該データ構造の変更前と同一の挙動をとるために操作の対象とすべき当該要素である変更後要素を特定する変更後要素特定部１４０を備える。さらに、変更出力装置１００は、変更前要素と変更後要素とに係る情報である予測情報を生成する情報生成部１５０、予測情報を出力する出力部１６０を備える。
これにより、変更出力装置１００のユーザ４０は、データベース２０の構造変更におけるプログラム３０への影響を予測するためのシミュレーションに係る手作業を削減できる。
【００８２】
図１８は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ１１００は、プロセッサ１１１０、メインメモリ１１２０、ストレージ１１３０、インタフェース１１４０を備える。
上述の変更出力装置１００は、コンピュータ１１００に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ１１３０に記憶されている。プロセッサ１１１０は、プログラムをストレージ１１３０から読み出してメインメモリ１１２０に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ１１１０は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ１１２０に確保する。
【００８３】
プログラムは、コンピュータ１１００に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージ１１３０に既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ１１００は、上記構成に加えて、または上記構成に代えてＰＬＤ（Programmable Logic Device）などのカスタムＬＳＩ（Large Scale Integrated Circuit）を備えてもよい。ＰＬＤの例としては、ＰＡＬ(Programmable Array Logic)、ＧＡＬ(Generic Array Logic)、ＣＰＬＤ(Complex Programmable Logic Device)、ＦＰＧＡ（Field Programmable Gate Array）が挙げられる。この場合、プロセッサ１１１０によって実現される機能の一部または全部が当該集積回路によって実現されてよい。
【００８４】
ストレージ１１３０の例としては、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ１１３０は、コンピュータ１１００のバスに直接接続された内部メディアであってもよいし、インタフェース１１４０または通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ１１００に配信される場合、配信を受けたコンピュータ１１００が当該プログラムをメインメモリ１１２０に展開し、上記処理を実行してもよい。少なくとも１つの実施形態において、ストレージ１１３０は、一時的でない有形の記憶媒体である。
【００８５】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ１１３０に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００８６】
１０  変更出力システム
２０  データベース
２１  データベース記憶装置
３０  プログラム
３１  プログラム記憶装置
３２  プログラム処理装置
３３  表示装置
３４  入力装置
４０  ユーザ
１００  変更出力装置
１１０  コード特定部
１２０  変更前要素特定部
１３０  手順取得部
１４０  変更後要素特定部
１５０  情報生成部
１６０  出力部
１７０  変更指示生成部
１１００  コンピュータ
１１１０  プロセッサ
１１２０  メインメモリ
１１３０  ストレージ
１１４０  インタフェース
【図１】
2020201715.tif 000003
【図２】
2020201715.tif 000004
【図３】
2020201715.tif 000005
【図４】
2020201715.tif 000006
【図５】
2020201715.tif 000007
【図６】
2020201715.tif 000008
【図７】
2020201715.tif 000009
【図８】
2020201715.tif 000010
【図９】
2020201715.tif 000011
【図１０】
2020201715.tif 000012
【図１１】
2020201715.tif 000013
【図１２】
2020201715.tif 000014
【図１３】
2020201715.tif 000015
【図１４】
2020201715.tif 000016
【図１５】
2020201715.tif 000017
【図１６】
2020201715.tif 000018
【図１７】
2020201715.tif 000019
【図１８】
2020201715.tif 000020