(57)【要約】【課題】プログラムの多様な相互関連情報を可視化して提供し、高品質かつ高効率なプログラム開発、保守を可能とする。【解決手段】情報処理装置２０の表示装置５０に表示される画面５００において、「タスク」、「テーブル」、「モジュール」、「画面／帳票」、「アラーム」ごとに設定された出力可能な一覧のリストから出力を希望する一覧を選択するとともに、検索キーを入力する。このようにして設定された抽出情報に応じて収集された解析データが情報処理装置２０に転送されて、Ｅｘｃｅｌ（Ｒ）シートに展開した形で表示装置５０に表示される。例えば、出力を希望する一覧として「テーブル」に関する「項目一覧」が選択され、「スラグ比」が検索キーとして設定された場合、項目名称として「スラグ比」を含むテーブルの関連データ項目の一覧が表示される。【選択図】      図１
2004227397.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの解析の結果得られる解析データを格納するデータベースを有する第１の情報処理装置と、
上記第１の情報処理装置から転送される解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示する第２の情報処理装置とを有することを特徴とするプログラムの相互関連情報提供システム。
【請求項２】
上記プログラムの要素はタスク、テーブル、モジュール、画面／帳票、アラームの少なくともいずれか一つであることを特徴とする請求項１に記載のプログラムの相互関連情報提供システム。
【請求項３】
予め設定された一覧のリストからユーザに所望のものを選択させるとともに検索キーの入力を受け付けて抽出情報を設定する抽出情報設定手段と、上記第１の情報処理装置から転送される解析データを用いて、上記抽出情報設定手段にて選択された一覧を作成する一覧作成手段とを備えたことを特徴とする請求項１又は２に記載のプログラムの相互関連情報提供システム。
【請求項４】
上記抽出情報設定手段により設定された抽出情報に応じて、上記データベースから解析データを抽出する抽出手段を備えたことを特徴とする請求項３に記載のプログラムの相互関連情報提供システム。
【請求項５】
プログラムの解析の結果得られた解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示することを特徴とするプログラムの相互関連情報提供装置。
【請求項６】
プログラムの解析の結果得られた解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示する処理をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項７】
請求項６に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば生産現場の統括制御・管理システムに用いられるアプリケーションプログラムの要素の相互関連（クロスリファレンス）情報を抽出して可視化するためのプログラムの相互関連情報提供システム、装置、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体に関する。
【０００２】
【従来の技術】
プログラム解析に関しては多くの提案がなされており、例えば特許文献１には、プログラムのソースファイルからファイルアクセスの状況を正確かつ高速に、さらに人間が理解しやすいように出力するために、ソースプログラムの制御構造を決定する文と入出力文と手続きとを抽出してプログラム基本構造とし、プログラム基本構造に離れて記述された手続きを呼び出す手続き呼出が含まれている場合に、その手続きを手続き呼出の直後に挿入してプログラム展開構造とし、プログラム展開構造から入出力文に関与しない文を削除してアクセス構造とするプログラム解析手法について開示されている。
【０００３】
【特許文献１】
特開平１０−２８３１７５号公報
【０００４】
【発明が解決しようとする課題】
ところで、プログラムの開発、保守にあっては、あるプログラムを変更する場合にその変更が及ぼす影響等を調査する必要がある。しかしながら、上記特許文献１に開示された技術では、ファイルアクセスの状況を正確かつ高速に、さらに人間が理解しやすいように出力することはできるが、全体システムで稼動するプログラムの多様な相互関連情報を提供することはできない。
【０００５】
このようにプログラムの解析手法については多くの提案がなされているが、プログラム改造等による影響範囲を把握しやすくするために、プログラムの解析結果に基づいて全体システムで稼動するプログラムの多様な相互関連情報を提供する手法は見当たらない。
【０００６】
本発明は上記の点に鑑みてなされたものであり、プログラムの多様な相互関連情報を可視化して提供し、高品質かつ高効率なプログラム開発、保守を可能とすることを目的とする。
【０００７】
【課題を解決するための手段】
本発明のプログラムの相互関連情報提供システムは、プログラムの解析の結果得られる解析データを格納するデータベースを有する第１の情報処理装置と、上記第１の情報処理装置から転送される解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示する第２の情報処理装置とを有する点に特徴を有する。
【０００８】
また、本発明のプログラムの相互関連情報提供システムの他の特徴とするところは、上記プログラムの要素はタスク、テーブル、モジュール、画面／帳票、アラームの少なくともいずれか一つである点にある。
【０００９】
また、本発明のプログラムの相互関連情報提供システムの他の特徴とするところは、予め設定された一覧のリストからユーザに所望のものを選択させるとともに検索キーの入力を受け付けて抽出情報を設定する抽出情報設定手段と、上記第１の情報処理装置から転送される解析データを用いて、上記抽出情報設定手段にて選択された一覧を作成する一覧作成手段とを備えた点にある。
【００１０】
また、本発明のプログラムの相互関連情報提供システムの他の特徴とするところは、上記抽出情報設定手段により設定された抽出情報に応じて、上記データベースから解析データを抽出する抽出手段を備えた点にある。
【００１１】
本発明のプログラムの相互関連情報提供装置は、プログラムの解析の結果得られた解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示する点に特徴を有する。
【００１２】
本発明のコンピュータ読み取り可能な記憶媒体は、プログラムの解析の結果得られた解析データを用いて、上記プログラムの要素の相互関連を表す一覧を表示手段に表示する処理をコンピュータに実行させる点に特徴を有する。
【００１３】
本発明のコンピュータ読み取り可能な記憶媒体は、上記本発明のコンピュータプログラムを格納した点に特徴を有する。
【００１４】
【発明の実施の形態】
以下、図面を参照して、本発明によるプログラムの相互関連情報提供システム、装置、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体の好適な実施の形態について説明する。本実施の形態では、鉄鋼設備のプロセス制御用のソフトウェアエンジニアリング支援に導入されるＣＡＳＥツール（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｓｏｆｔｗａｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔｏｏｌ）として用いられるものを例として説明する。
【００１５】
図１には、本実施の形態におけるプログラムの相互関連情報提供システムの機能構成を示す。同図に示すように、リレーショナルデータベース（以下、ＲＤＢ）１２を有するサーバ１０と、パーソナルコンピュータ等からなる情報処理装置２０とが接続されている。なお、本実施の形態では、サーバ１０が本発明でいう第１の情報処理装置に相当し、情報処理装置２０が本発明でいう第２の情報処理装置或いはプログラムの相互関連情報提供装置に相当する。
【００１６】
サーバ１０には、ＬＣＤ等の表示装置３０と、ポインティングデバイス（マウス等）やキーボード等の入力装置４０とが接続されている。同様に情報処理装置２０にも、表示装置５０と、入力装置６０とが接続されている。なお、図１には１台の情報処理装置２０しか図示しないが、複数台存在していてもかまわない。
【００１７】
サーバ１０において、１１はプログラムソース群を解析するプログラム解析部であり、解析対象のアプリケーションプログラムの論理構造を解析し、プログラムを構成する複数の処理単位それぞれに関する解析データを得る。解析対象となるアプリケーションプログラムは、ある全体システムで稼動する複数のプログラムである。
【００１８】
１２はＲＤＢであり、プログラム解析部１１による解析の結果得られる解析データ群を格納する。ＲＤＢ１２では、「タスク」、「テーブル」、「モジュール」、「画面／帳票」、「アラーム」といったアプリケーションプログラムの構築要素や関連要素別に解析データを管理する。
【００１９】
１３は抽出部であり、情報処理装置２０から転送される抽出情報に応じて、ＲＤＢ１２から解析データを抽出し、その解析データを情報処理装置２０に転送する。
【００２０】
情報処理装置２０において、２１は抽出情報設定部であり、ユーザにより設定された抽出情報をサーバ１０に転送する。具体的には、アプリケーションプログラムの「タスク」、「テーブル」、「モジュール」、「画面／帳票」、「アラーム」ごとに、これら要素の相互関連を表す一覧のリスト（「タスク」に関しては指定タスクの一覧を表示する「タスク一覧」等、「テーブル」に関しては指定テーブルの一覧を表示する「テーブル一覧」等）が予め設定されており、このリストからユーザに所望のものを選択させるとともに、検索キーの入力を受け付けて抽出情報を設定する。
【００２１】
２２は一覧作成部であり、サーバ１０から転送される解析データを用いて、抽出情報設定部２１にて選択された一覧をＥｘｃｅｌ（Ｒ）等の表計算ソフトウェアを利用して作成し、表示装置５０に表示する。
【００２２】
以下、図２〜７に示す各画面を参照して、本実施の形態のプログラムの相互関連情報提供システムにおける処理動作について詳細に説明する。
【００２３】
（サーバ１０における処理動作）
図２には、プログラムソース解析のための画面２００の一例を示す。チェックボックス２０１では、解析結果であるアプリケーションプログラムの解析データを格納するＲＤＢ１０２、この例ではＯＲＡＣＬＥ（オラクル）又はＳＱＬ−Ｓｅｒｖｅｒ（マイクロソフト）のいずれかを選択する。
【００２４】
また、ディレクトリ入力欄２０２には、解析するソースが格納されているディレクトリを入力（フルパス）する。この場合に、「￥」記号は「￥￥」と記述する。なお、この欄に記述したディレクトリ内にあるディレクトリ（サブディレクトリ）の中も解析の対象となる。
【００２５】
また、読み飛ばし関数名を登録する場合、読み飛ばし関数ファイル編集ボタン２０３を押下すると、具体的には図示しないが、テキストエディタが起動し、読み飛ばし関数登録ファイルが開かれる。ここで、ソース内を検索する際に読み飛ばしをする行のキーワードを登録する。なお、読み飛ばし関数となっているが、インクルード文等も読み飛ばし可能である。
【００２６】
ソースプログラムの解析を開始する場合、準備作業（必須）ボタン２０４を押下する。これにより解析対象となるプログラムファイルを把握する処理が実行される。
【００２７】
そして、モジュール構成解析ボタン２０５を押下すると、解析対象となるモジュールの構成を解析するための処理が実行され、各タスク内のモジュール相関が解析される。
【００２８】
また、トランザクション情報項目情報解析ボタン２０６を押下すると、ソース内で使用しているＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文の情報を解析するための処理が実行され、各モジュール内でどのテーブルのどの項目にどのようなアクセスをしているかが解析される。
【００２９】
定義書解析ボタン２０７を押下すると、図３に示すように、作成された定義書（ＡＰ（アプリケーションプログラム）定義書、テーブル定義書）から解析データを作成する定義書解析画面３００が表示される。この定義書解析画面３００において、定義書よりモジュール名称、テーブル情報等を収集することができる。
【００３０】
ディレクトリ入力欄３０１には、ＡＰ定義書が格納されているディレクトリを入力（フルパス）する。この場合に、「￥」記号は「￥￥」と記述する。なお、この欄に記述したディレクトリ内にあるディレクトリ（サブディレクトリ）の中も解析の対象となる。
【００３１】
ＡＰ定義書の解析を開始する場合、解析ボタン３０２を押下すると、解析対象となるＡＰ定義書が把握され、解析が開始される。また、スクリプトファイル作成ボタン３０３を押下することにより、解析対象のＡＰ定義書の解析結果からＲＤＢ１２に登録するためのスクリプトファイルが作成される。
【００３２】
また、ディレクトリ入力欄３０４には、テーブル定義書が格納されているディレクトリを入力（フルパス）する。この場合に、「￥」記号は「￥￥」と記述する。なお、この欄に記述したディレクトリ内にあるディレクトリ（サブディレクトリ）の中も解析の対象となる。
【００３３】
テーブル定義書の解析を開始する場合、解析ボタンを押下３０５すると、解析対象となるテーブル定義書が把握され、解析が開始される。また、スクリプトファイル作成ボタン３０６を押下することにより、解析対象のテーブル定義書の解析結果からＲＤＢ１２に登録するためのスクリプトファイルが作成される。
【００３４】
その後、図４に示すような解析データ登録画面４００を介して、まず登録するプロジェクトを選択する（チェックボックス４０１）。ＲＤＢ１２においてプロジェクト別（コンピュータシステム別）でプログラムソースや解析データ群の格納場所を分けるためである。そして、登録する解析データを選択して入力し（入力欄４０２）、登録ボタン４０３を押下して、解析データをＲＤＢ１２に登録する。
【００３５】
（情報処理装置２０における処理動作）
図５には、プログラムの相互関連情報を提供するための画面５００の一例を示す。「データベース設定」欄５０１において、サーバ名入力欄５０１ａには、接続するサーバ１０のサーバ名を選択して入力する。また、データベース名入力欄５０１ｂには、接続するＲＤＢ１２のデータベース名を選択して入力する。
【００３６】
「ワーキングディレクトリを入力」欄５０２において、入力欄５０２ａには、クロスリファレンスをインストールしたディレクトリを選択して入力する。入力後、登録ボタン５０２ｂを押下すれば、今回の設定内容が保存されて、次回起動時にも反映される。
【００３７】
「Ｅｘｃｅｌ（Ｒ）のパスを入力」欄５０３において、入力欄５０３ａには、Ｅｘｃｅｌ（Ｒ）の実行ファイルが存在している位置を入力（フルパス）する。入力後、登録ボタン５０３ｂを押下すれば、今回の設定内容が保存されて、次回起動時にも反映される。
【００３８】
次に、一覧リスト表示部５０４から出力を希望する一覧を選択する。一覧リスト表示部５０４には、「タスク」、「テーブル」、「モジュール」、「画面／帳票」、「アラーム」といったアプリケーションプログラムの要素ごとに出力可能な一覧のリストが予め設定されている。
【００３９】
すなわち、「タスク」に関しては、指定タスクの一覧を表示する「タスク一覧」、指定タスクの関連モジュールの一覧を表示する「モジュール関連一覧」、指定タスクの関連テーブルの一覧を表示する「テーブル関連一覧」、指定タスクの関連モジュールをツリー表示する「モジュール一覧（ツリー）」の４種類が出力可能な一覧として設定されている。
【００４０】
また、「テーブル」に関しては、指定テーブルの一覧を表示する「テーブル一覧」、指定テーブルの関連データ項目の一覧を表示する「項目一覧」、指定テーブルの関連タスクの一覧を表示する「タスク関連一覧」の３種類が出力可能な一覧として設定されている。
【００４１】
また、「モジュール」に関しては、指定モジュールの一覧を表示する「モジュール一覧」、指定モジュールの親モジュールの一覧を表示する「呼び出し元モジュール一覧」の２種類が出力可能な一覧として設定されている。
【００４２】
また、「画面／帳票」に関しては、指定画面／帳票Ｎｏ．の画面／帳票一覧を表示する「画面／帳票一覧」、指定画面／帳票Ｎｏ．の関連モジュール一覧を表示する「モジュール関連一覧」、指定画面／帳票Ｎｏ．の関連テーブル一覧を表示する「テーブル関連一覧」の３種類が出力可能な一覧として設定されている。
【００４３】
また、「アラーム」に関しては、アラーム一覧を表示する「アラーム一覧」の１種類が出力可能な一覧として設定されている。
【００４４】
一覧リスト表示部５０４から出力を希望する一覧を選択したならば、「解析結果からの抽出」欄５０５において、抽出区分入力欄５０５ａに、抽出区分を選択して入力する。抽出区分として、「タスク」に関する４種類の一覧のいずれかが選択された場合はタスク略称を、「テーブル」に関する３種類の一覧のいずれかが選択された場合はテーブル名称或いは項目名称を、「モジュール」に関する２種類の一覧のいずれかが選択された場合はモジュール略称を、「画面／帳票」に関する一覧が選択された場合は管理Ｎｏ．を入力することになる。「アラーム」に関する一覧が選択された場合は入力する必要はない。
【００４５】
さらにテキスト入力欄５０５ｂには、上記選択された抽出区分（タスク略称、テーブル名称、項目名称、モジュール略称、管理Ｎｏ．）に応じた検索キーを入力する。なお、検索は「・・・で始まる」ではなく、「・・・を含む」で検索されるようにしておけば、ワイルドカードを指定する必要がない。
【００４６】
そして、抽出開始ボタン５０５ｃを押下すれば、当該画面５００で設定された抽出情報がサーバ１０に伝えられる。これにより、抽出情報に応じたデータ収集が開始され、収集された解析データが情報処理装置２０に転送されて、Ｅｘｃｅｌ（Ｒ）シートに展開した形で表示装置５０に表示される。
【００４７】
例えば、図６に示す例は、同図（ａ）に示すように、一覧リスト表示部５０４から出力を希望する一覧として、「テーブル」に関する「項目一覧」が選択された例である。そして、抽出区分である項目名称として、「スラグ比」が検索キーとして設定されている。この場合、情報処理装置２０の表示装置５０には、同図（ｂ）に示すように、項目名称として「スラグ比」を含むテーブルの関連データ項目の一覧がＥｘｃｅｌ（Ｒ）シートに展開した形で表示される。
【００４８】
また、図７に示す例は、同図（ａ）に示すように、リスト表示部５０４から出力を希望する一覧として、「タスク」に関する「モジュール一覧（ツリー）」が選択された例である。そして、抽出区分であるタスク略称として、「ＰＧＥ７Ａ」が検索キーとして設定されている。この場合、情報処理装置２０の表示装置５０には、同図（ｂ）に示すように、タスク略称として「ＰＧＥ７Ａ」を含むタスクの関連モジュールのツリー図がＥｘｃｅｌ（Ｒ）シートに展開した形で表示される。
【００４９】
以上述べたように、プログラムの解析データを用いて、当該プログラム（或いはプログラム内モジュール）が入出力しているテーブルやデータ項目等の相互関連情報を抽出し、一覧を表示することができるので、プログラムの多様な相互関連情報を可視化して提供することができる。したがって、プログラム改造による影響範囲を一目で理解することができ、改造ミスや漏れ等を防ぐとともに、プログラム不具合の調査を効率良くかつ迅速にサポートすることができ、高品質かつ高効率なプログラム開発、保守が可能となる。
【００５０】
特に、Ｅｘｃｅｌ（Ｒ）等の表計算ソフトウェアを利用して作成した一覧が表示されるので、可視性に優れた、使いやすい資料を提供することができる。また、表計算ソフトウェアを利用した自動展開であるので、保存後いつでも使うことができ、また、設計、保守、報告等の資料としても幅広く活用することができる。
【００５１】
また、予め各種アプリケーションプログラムを解析しておき、それら解析データをＲＤＢ１２に格納しておけば、情報処理装置２０において高応答で相互関連情報を提供することができる。
【００５２】
なお、プログラムの解析を行うサーバ１０と、一覧の表示を行う情報処理装置２０とが別体である例を説明したが、単一の装置によりプログラムの解析と一覧の表示を行うようにしてもよい。ただし、別体とした場合、例えばサーバ１０側から解析データを転送するに際して、プログラムの言語によらず解析データを所定の形式に統一した形で転送する機能を持たせることにより、情報処理装置２０の抽出情報設定部２１と一覧作表部２２は、変更することなく汎用的に使用することが可能となる。
【００５３】
図８は、本発明のプログラムの相互関連情報抽出装置を構成可能なコンピュータシステムの内部構成の一例を示すブロック図である。同図において、１２００はコンピュータＰＣである。コンピュータ１２００は、ＣＰＵ１２０１と、ＲＯＭ１２０２と、ＲＡＭ１２０３と、キーボード（ＫＢ）１２０９のキーボードコントローラ（ＫＢＣ）１２０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）１２１０のＣＲＴコントローラ（ＣＲＴＣ）１２０６と、ハードディスク（ＨＤ）１２１１及びフレキシブルディスク（ＦＤ）１２１２のディスクコントローラ（ＤＫＣ）１２０７と、ネットワーク１２２０との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）１２０８等がシステムバス１２０４を介して互いに通信可能に接続された構成としている。
【００５４】
ＣＰＵ１２０１は、ＲＯＭ１２０２或いはＨＤ１２１１に記憶されたソフトウェア、或いはＦＤ１２１２より供給されるソフトウェアを実行することで、システムバス１２０４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ１２０１は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ１２０２、或いはＨＤ１２１１、或いはＦＤ１２１２から読み出して実行することで、上記本実施の形態での動作を実現するための制御を行うことになり、これらＣＰＵ１２０１等が本発明でいう各手段を構成するものである。
【００５５】
（他の実施の形態）
以上説明したプログラムテスト支援装置は、コンピュータのＣＰＵ或いはＭＰＵ、ＲＡＭ、ＲＯＭ、ＲＡＭ等で構成されるものであり、上述のようにＲＡＭやＲＯＭ等に記憶されたプログラムが動作することによって実現される。
【００５６】
したがって、プログラム自体が上述した実施の形態の機能を実現することになり、本発明を構成する。プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク（ＬＡＮ、インターネット等のＷＡＮ、無線通信ネットワーク等）システムにおける通信媒体（光ファイバ等の有線回線や無線回線等）を用いることができる。
【００５７】
さらに、上記プログラムをコンピュータに供給するための手段、例えばかかるプログラムを格納した記憶媒体は本発明を構成する。かかる記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５８】
なお、上記実施の形態において示した各部の形状及び構造は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００５９】
【発明の効果】
以上述べたように本発明によれば、プログラムの解析の結果得られる解析データを用いて、プログラムの要素の相互関連を表す一覧、例えばプログラム内モジュールが入出力しているテーブルやデータ項目の一覧を表示するようにしたので、プログラムの多様な相互関連情報を可視化して提供することができ、高品質かつ高効率なプログラム開発、保守が可能となる。
【図面の簡単な説明】
【図１】本実施の形態におけるプログラムの相互関連情報提供システムの機能構成を示す図である。
【図２】プログラムソース解析のための画面２００の一例を示す図である。
【図３】定義書解析画面３００の一例を示す図である。
【図４】解析データ登録画面４００の一例を示す図である。
【図５】プログラムの相互関連情報を提供するための画面５００の一例を示す図である。
【図６】プログラムの相互関連情報を提供するための画面５００の入力例と、その結果表示される画面の例を示す図である。
【図７】プログラムの相互関連情報を提供するための画面５００の入力例と、その結果表示される画面の例を示す図である。
【図８】プログラムの相互関連情報提供装置を構成可能なコンピュータシステムの内部構成の一例を示すブロック図である。
【符号の説明】
１０        サーバ
１１        プログラム解析部
１２        リレーショナルデータベース
１３        抽出部
２０        情報処理装置
２１        抽出情報設定部
２２        一覧作成部
３０、５０  表示装置
４０、６０  入力装置
【図１】
2004227397.tif 000003
【図２】
2004227397.tif 000004
【図３】
2004227397.tif 000005
【図４】
2004227397.tif 000006
【図５】
2004227397.tif 000007
【図６】
2004227397.tif 000008
【図７】
2004227397.tif 000009
【図８】
2004227397.tif 000010