(57)【要約】【課題】情報ノード間の関係リンク設定を支援するソフトウェア資産活用装置、ソフトウェア資産活用方法及びプログラムを提供する。【解決手段】ソフトウェア資産活用装置１００は、抽象度及び詳細度により区分されたブロックに配置された情報ノード、各情報ノード間の関係リンクを保持するリポジトリ４、起点情報ノードを受付ける情報入力部５、起点情報ノードに複数の関係リンクを介して関係づけられたノード候補を抽出する情報抽出部６、起点情報ノードとノード候補との間に新たに設定し得る関係リンク候補を出力する情報分析部７を有する。情報分析部７は、起点情報ノードとノード候補間の関係リンクの重みを示す第１の評価値を算出し、第１の評価値を用いてノード候補の重みを示す第２の評価値を算出し、第１の評価値及び第２の評価値を用いて関係リンク候補の重みを示す第３の評価値を算出し、第３の評価値に応じて関係リンク候補を整序して出力する。【選択図】図１−１
2014146241.tif 000002
【特許請求の範囲】
【請求項１】
抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定した資産管理マトリクスを保持するリポジトリと、
前記情報ノードの１つを、起点情報ノードと指定する入力を受け付ける情報入力部と、
前記起点情報ノードに複数の前記関係リンクを介して関係づけられている前記情報ノードである、ノード候補を抽出する情報抽出部と、
前記起点情報ノードと、前記ノード候補と、の間に新たに設定し得る関係リンク候補を出力する情報分析部とを有し、
前記情報分析部は、
前記起点情報ノードと、前記ノード候補と、の間に設定されている前記関係リンクの重みを示す第１の評価値を算出し、
前記第１の評価値を用いて、前記ノード候補の重みを示す第２の評価値を算出し、
前記第１の評価値及び前記第２の評価値を用いて、前記前記起点情報ノードと、前記ノード候補と、の間に設定し得る前記関係リンク候補の重みを示す第３の評価値を算出し、
前記第３の評価値に応じて、前記関係リンク候補を整序して出力する
ソフトウェア資産活用装置。
【請求項２】
前記関係リンクは、前記情報ノード間の関係性を示す属性を有し、
前記情報分析部は、前記関係リンクの属性に応じて、前記関係リンクの重みを示す第１の評価値を算出する
請求項１記載のソフトウェア資産活用装置。
【請求項３】
前記関係リンクは、前記情報ノード間の関係性を示す方向を有し、
前記情報分析部は、前記関係リンクの方向に応じて、前記関係リンクの重みを示す第１の評価値を算出する
請求項１又は２記載のソフトウェア資産活用装置。
【請求項４】
前記情報分析部は、前記起点情報ノードと、前記ノード候補と、の間に設定されている複数の前記関係リンクの中に、方向が正対する複数の前記関係リンクが含まれている場合、これらの前記関係リンクの前記第１の評価値の少なくとも一部を相殺する
請求項３記載のソフトウェア資産活用装置。
【請求項５】
前記情報分析部は、前記起点情報ノードと、前記ノード候補と、の間に設定されている複数の前記関係リンクの前記第１の評価値を累計することにより、前記第２の評価値を算出する
請求項１乃至４いずれか１項記載のソフトウェア資産活用装置。
【請求項６】
前記リポジトリは、前記情報ノードの性質を示すキーワードを、前記情報ノードと対応付けて保持し、
前記情報分析部は、前記起点情報ノードと、前記ノード候補と、に設定されているキーワードが同一であるか否かに応じて、前記第３の評価値を変化させる
請求項１乃至５いずれか１項記載のソフトウェア資産活用装置。
【請求項７】
前記情報分析部は、前記起点情報ノードと、前記ノード候補と、が区分けされているブロックの位置関係に応じて、前記第３の評価値を変化させる
請求項１乃至６いずれか１項記載のソフトウェア資産活用装置。
【請求項８】
抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定した資産管理マトリクスについて、
前記情報ノードの１つである、起点情報ノードを指定する入力ステップと、
前記起点情報ノードに複数の前記関係リンクを介して関係づけられている前記情報ノードである、ノード候補を抽出する情報抽出ステップと、
前記起点情報ノードと、前記ノード候補と、の間に新たに設定し得る関係リンク候補を出力する情報分析ステップとを有し、
前記情報分析ステップは、
前記起点情報ノードと、前記ノード候補と、の間に設定されている前記関係リンクの重みを示す第１の評価値を算出し、
前記第１の評価値を用いて、前記ノード候補の重みを示す第２の評価値を算出し、
前記第１の評価値及び前記第２の評価値を用いて、前記前記起点情報ノードと、前記ノード候補と、の間に設定し得る前記関係リンク候補の重みを示す第３の評価値を算出し、
前記第３の評価値に応じて、前記関係リンク候補を整序して出力する
ソフトウェア資産活用方法。
【請求項９】
請求項８記載のソフトウェア資産活用方法を、コンピュータに実行させるためのプログラム。
【請求項１０】
抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定した
データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェア資産活用装置、ソフトウェア資産活用方法及びプログラムに関し、特に情報ノード間の関係リンク設定手法に関する。
【背景技術】
【０００２】
企業等が情報システムの設計、構築、運用を行うためには、様々な情報、例えば、情報システム（以下、単にシステムと呼ぶ）が利用される業務の内容（業務プロセス）を定義づける情報（業務定義情報）、システム設計情報、ソースコード、テスト仕様情報、運用仕様情報等が必要である。これらの情報を、総じてソフトウェア資産と呼ぶ。
【０００３】
従来より、このようなソフトウェア資産を管理、活用するための種々のツールが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２７６９１１号公報
【特許文献２】国際公開第２００９／０１１０５６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
企業等は、長期にわたりシステムを利用してゆく中で、企業等の活動の目的等に鑑み、システムの拡張や改造を積み重ねることが多い。その結果、システムは、新旧様々なソフトウェア、ハードウェア及び開発技術が混在して複雑に絡み合った状態となり、ソフトウェア資産全体の把握が困難な状況となる。このことは、システムの拡張や改造等（リニューアル）を難しくしており、企業等は、活動の目的や要求の変化に合わせた最適かつ最善なシステムの変更を迅速に行えず、ビジネス機会を逃す等の問題に直面している。
【０００６】
従来のソフトウェア資産管理ツールは、かかる問題に十分対応できていない。その要因は、例えば以下のとおりである。
【０００７】
業務プロセスと、システムの実装（例えば設計、ソースコード、運用仕様等）との関係は、必ずしも全て文書として明文化されているとは限らず、暗黙知として形成されている場合が多い。これらの暗黙知は、従来のソフトウェア管理ツールでは管理することができない。そのため、システムリニューアルにあたり、例えば改造による業務等への影響範囲を特定するための調査に多大な時間がかかる。さらに、事前に影響範囲を洗い出すことができない場合には、システムリニューアル終盤の評価フェーズで問題が検出されることになり、無駄な時間やコストが発生する。
【０００８】
また、システムの設計仕様と、システムの実装（例えばソースコード、運用仕様等）とが一致していない、あるいは設計書自体が存在しない場合がある。このような場合、システムリニューアルにあたり、ソースコードを直接解読して改造すべき箇所や改造による影響範囲を特定する作業が必要となり、多大な時間や費用を要する。
【０００９】
仮にシステムリニューアルに成功したとしても、従来のソフトウェア管理ツールは、その過程で得られた情報を、再利用可能あるいはメンテナンス可能な形式で保管しておくための有効な手段を用意していない。そのため、後に再びシステムリニューアルが必要になった場合に再度同様の問題が発生する可能性が高い。したがって、長期的に見て、リニューアルコストを十分抑制できていない。
【００１０】
例えば、従来のソフトウェア資産ツールは、ソースコードのみを管理対象としていたり、特定の利用者に関係する情報のみを管理対象としているなど、システム全体のソフトウェア資産を統合的に扱えておらず、その結果、ソフトウェア資産の効果的な活用も実現できていなかった。
【００１１】
また、ソフトウェア管理ツールでは一般に、利用者が、新規の情報（情報ノード）を登録する際、その新規な情報ノードと、その情報ノードと関係する既存の情報ノードと、の間の関係性を示す情報（関係リンク）を併せて登録する。しかし、この関係リンクの設定作業は非常に手間を要し、かつ設定漏れが発生しやすいものであった。従来のソフトウェア管理ツールでは、例えば、情報ノードの名称（業務名、設計書における機能名、ソースコードにおけるモジュール名等）が同じである場合等には、利用者はそれらの情報同士の対応関係を明確に認識でき、関係リンクを容易に設定できていた。しかし、利用者が認識し辛い、細かな情報同士の対応関係は、設定漏れとなりやすかった。その結果、情報の蓄積は不完全な状態にとどまり、情報活用時の精度も十分に確保できていなかった。
【００１２】
本発明は、このような問題点を解決するためになされたものであり、情報ノード間の関係リンク設定を支援するソフトウェア資産活用装置、ソフトウェア資産活用方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係るソフトウェア資産活用装置は、抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定した資産管理マトリクスを保持するリポジトリと、前記情報ノードの１つを、起点情報ノードと指定する入力を受け付ける情報入力部と、前記起点情報ノードに複数の前記関係リンクを介して関係づけられている前記情報ノードである、ノード候補を抽出する情報抽出部と、前記起点情報ノードと、前記ノード候補と、の間に新たに設定し得る関係リンク候補を出力する情報分析部とを有し、前記情報分析部は、前記起点情報ノードと、前記ノード候補と、の間に設定されている前記関係リンクの重みを示す第１の評価値を算出し、前記第１の評価値を用いて、前記ノード候補の重みを示す第２の評価値を算出し、前記第１の評価値及び前記第２の評価値を用いて、前記前記起点情報ノードと、前記ノード候補と、の間に設定し得る前記関係リンク候補の重みを示す第３の評価値を算出し、前記第３の評価値に応じて、前記関係リンク候補を整序して出力するものである。
【００１４】
本発明に係るソフトウェア資産活用方法は、抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定した資産管理マトリクスについて、前記情報ノードの１つである、起点情報ノードを指定する入力ステップと、前記起点情報ノードに複数の前記関係リンクを介して関係づけられている前記情報ノードである、ノード候補を抽出する情報抽出ステップと、前記起点情報ノードと、前記ノード候補と、の間に新たに設定し得る関係リンク候補を出力する情報分析ステップとを有し、前記情報分析ステップは、前記起点情報ノードと、前記ノード候補と、の間に設定されている前記関係リンクの重みを示す第１の評価値を算出し、前記第１の評価値を用いて、前記ノード候補の重みを示す第２の評価値を算出し、前記第１の評価値及び前記第２の評価値を用いて、前記前記起点情報ノードと、前記ノード候補と、の間に設定し得る前記関係リンク候補の重みを示す第３の評価値を算出し、前記第３の評価値に応じて、前記関係リンク候補を整序して出力するものである。
【００１５】
本発明に係るプログラムは、上記ソフトウェア資産活用方法を、コンピュータに実行させるためのプログラムである。
【００１６】
本発明に係るデータ構造は、抽象度及び詳細度によって区分分けされたブロックに対し、ソフトウェア資産を構成する個々の情報単位である情報ノードを配置し、各情報ノード間の関係性を関係リンクによって設定したものである。
【発明の効果】
【００１７】
本発明により、情報ノード間の関係リンク設定を支援するソフトウェア資産活用装置、ソフトウェア資産活用方法及びプログラムを提供できる。
【図面の簡単な説明】
【００１８】
【図１−１】実施の形態１にかかるソフトウェア資産活用装置１００の構成を示す図である。
【図１−２】実施の形態１にかかるソフトウェア資産活用装置１００の構成を示す図である。
【図２−１】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−２】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−３】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−４】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−５】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−６】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−７−１】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−７−２】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−７−３】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−８】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−１】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−２】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−３】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−４】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−５】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−６】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図２−９−７】実施の形態１にかかるソフトウェア資産活用装置１００におけるソフトウェア資産の管理方法を示す図である。
【図３−１】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理の概念を示す図である。
【図３−２】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理の概念を示す図である。
【図３−３】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理の概念を示す図である。
【図３−４】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理の概念を示す図である。
【図４−１】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理（メイン処理）を示す図である。
【図４−２】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理（ノード候補抽出処理）を示す図である。
【図４−３】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理（リンク候補抽出処理）を示す図である。
【図４−４】実施の形態１にかかるソフトウェア資産活用装置１００におけるコスト表の例を示す図である。
【図５−１】実施の形態１にかかるソフトウェア資産活用装置１００における関係リンク候補抽出処理の概念を示す図である。
【図５−２】実施の形態１にかかるソフトウェア資産活用装置１００におけるノードテーブルの例を示す図である。
【図５−３】実施の形態１にかかるソフトウェア資産活用装置１００におけるリンクテーブルの例を示す図である。
【図６−１】実施の形態１にかかるソフトウェア資産活用装置１００におけるノード候補テーブルの例を示す図である。
【図６−２】実施の形態１にかかるソフトウェア資産活用装置１００におけるリンク候補テーブルの例を示す図である。
【図６−３】実施の形態１にかかるソフトウェア資産活用装置１００における処理結果の例を示す図である。
【図６−４】実施の形態１にかかるソフトウェア資産活用装置１００における処理結果の例を示す図である。
【図７−１】実施の形態１にかかるソフトウェア資産活用装置１００における処理結果の例を示す図である。
【図７−２】実施の形態１にかかるソフトウェア資産活用装置１００における処理結果の例を示す図である。
【図７−３】実施の形態１にかかるソフトウェア資産活用装置１００における処理結果の例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。
図１−１に、本実施の形態にかかるソフトウェア資産活用装置１００の基本構成を示す。また、図１−２に、ソフトウェア資産活用装置１００のより好ましい構成を示す。ソフトウェア資産活用装置１００は、ソフトウェア資産を構成する情報を保持するためのリポジトリ４、リポジトリ４に対する情報の入力、抽出、分析等を行う処理装置３を有する。また、利用者が処理部に対する入力操作を行うための入力装置１、処理装置３の処理結果等を利用者に提示する出力装置２を備えていることが好ましい。
【００２０】
ソフトウェア資産活用装置１００は、典型的にはコンピュータであり、制御プログラムに基づいて各種処理を実行する中央制御装置、制御プログラム及びリポジトリ４等を格納する揮発性または不揮発性の記憶装置等により構成される。但し、コンピュータは物理的に単一である必要はなく、複数のコンピュータが各種処理を分散的に処理する構成としてもよい。
【００２１】
入力装置１は、利用者から処理装置３への入力インターフェースであり、例えばリポジトリ４に格納する情報を入力するための手段として機能する。例えば、キーボード、マウス、通信インターフェース等であってよい。
【００２２】
出力装置２は、処理装置３から利用者への出力インターフェースであり、各種処理結果の出力に用いられる。例えば、リポジトリ４に格納された情報を外部へ取り出すための手段として機能する。例えば、ディスプレイ、プリンタ、通信インターフェース等であってよい。
【００２３】
処理装置３は、リポジトリ４に対して情報を格納する情報入力部５、リポジトリ４内の情報を、様々な条件、形式に従って抽出する情報抽出部６、抽出した情報を所定の手法で分析する情報分析部７を有する。
【００２４】
リポジトリ４は、例えば、ソフトウェア資産を構成する情報を格納する情報保持部８、各情報に対して付与されるキーワードを保持するキーワード保持部９、ソフトウェア資産を構成する情報間の関係性に関する情報を格納するリンクテーブル１０を有する。リポジトリ４は、ソフトウェア資産活用装置１００が有する図示しない記憶装置内に設けられた、論理的な記憶手段である。
【００２５】
（リポジトリ）
ここで、図２?１乃至図２?９を用いて、リポジトリ４が、どのような概念に基づいてソフトウェア資産を管理するかについて説明する。
【００２６】
上述のように、ソフトウェア資産は様々な情報の集合であるが、これらソフトウェア資産を構成する個々の情報単位を情報ノードと呼ぶ。例えば、業務定義情報、システム設計情報、ソースコード、テスト仕様情報、運用仕様情報等を構成する、意味を持つ情報のまとまり（情報単位）が、情報ノードである。文書化されたソフトウェア資産が存在する場合は、その文書データの全部または一部が、情報ノードの実体である。一方、文書化されていない情報についても、文書データ等の実体を有しない情報ノードを作成することができる。例えば、Ａ機能について記載した文書が存在しなくても、情報システムにＡ機能が必要である場合は、利用者はＡ機能の名称を冠した、いわば空の情報ノードを作成し、リポジトリ４に格納できる。
【００２７】
（マトリクスとブロック）
リポジトリ４は、これらの情報ノードそれぞれを、「抽象度」と「詳細度」の２つの評価基準により分類したうえで格納する。「抽象度」「詳細度」には、それぞれ複数の段階（レベル）が設けられる。情報ノードは、それら複数のレベルのいずれかに割り当てられる。すなわち、リポジトリ４は、情報ノードを、「抽象度」「詳細度」の２軸によって定義されるマトリクス上のいずれかの位置に割り当てて格納する。
【００２８】
図２?１に、本実施の形態が想定するマトリクスを例示する。この例では、マトリクスの縦軸が「抽象度」、横軸が「詳細度」を示す。「抽象度」「詳細度」は、原点から遠ざかるほど大きくなる。すなわち、より原点から離れた位置には、より抽象的又は詳細な内容を含む情報ノードが格納される。本実施の形態では、「抽象度」「詳細度」のレベルを、レベル番号によって識別することとする。すなわち、「抽象度」「詳細度」の最も小さいレベルを、レベル番号「１」と呼ぶ。以降、「抽象度」「詳細度」が大きくなるに従って、昇順のレベル番号「２」「３」・・で呼称する。
【００２９】
なお、マトリクスの縦横のサイズ（レベル数）は固定的ではなく、管理対象のソフトウェア資産の規模や複雑さ等に応じて、利用者が自由に設定する事が可能である。
【００３０】
情報ノードが割り当てられるマトリクス上の位置を、ブロックと呼ぶ。本実施の形態では、個々のブロックを「抽象度レベル番号?詳細度レベル番号」の形式で、２つの数字の組によって特定する。例えば、図２?１において、情報ノードＸが割り当てられたブロックは「１?２」である。
【００３１】
（抽象度と詳細度）
ここで、「抽象度」「詳細度」の意義について説明する。「抽象度」とは、情報ノードを、情報の内容と、システムの実装と、の依存度の強さによって分類する尺度である。例えば、業務定義情報、システム設計情報、ソースコード、テスト仕様情報、運用仕様情報の５種類の情報ノードを、５段階の抽象度レベル１乃至５に分類する場合、実装への依存度が最も低い業務定義情報を、最も高い抽象度レベル（抽象度レベル＝５）に割り当てる。以降、実装への依存度が高まる順に、システム設計情報には抽象度レベル＝４を、ソースコードには抽象度レベル＝３、テスト仕様情報には抽象度レベル＝２、運用仕様情報には抽象度レベル＝１を割り当てる。
【００３２】
「詳細度」とは、情報ノードを、設計の詳細度によって分類する尺度である。例えば、図２?３に示すように、システム設計情報として、ＡＡ機能の概要を自然言語で記述した機能記述と、ＡＡ機能におけるデータ遷移を例えばＤＦＤ（Data Flow Diagram）等で記述したデータ関連図と、の２種類の情報ノードを、２段階の詳細度レベル１乃至２に割り当てる場合、設計の詳細度が最も高いデータ関連図を、最も高い詳細度レベル（詳細度レベル＝２）に割り当てる。一方、設計の詳細度が比較的低い機能記述には詳細度レベル＝１を割り当てる。
【００３３】
なお、リポジトリ４においては、詳細度が異なるが、同等の抽象度を有する情報ノードには同じ抽象度レベルを、抽象度が異なるが、同等の詳細度を有する情報ノードには同じ詳細度レベルを割り当てることが好ましい。
【００３４】
図２?２に、リポジトリ４を具体的に実現するためのテーブル構造の一例を示す。ソフトウェア資産活用装置１００は、例えば図示しない記憶装置上の記憶領域に、上記テーブル構造を有する情報保持部８を備えることができる。情報保持部８は、リポジトリ４に格納された情報ノードを識別するための情報名、情報ノードの位置を示すブロック、及び情報ノードの実体（情報実体。例えば文書データ等）の実際の保存場所を示す情報実体の場所、を少なくとも要素とする複数のレコードを保持できる。本実施の形態では、情報ノードの実体を、情報保持部８の外部の任意の保存場所に保存することとしている。なお、情報ノードの実体を、情報保持部８のレコード内に保持することとしても構わない。
【００３５】
（キーワード）
リポジトリ４においては、各情報ノードにキーワードを付与することができる。図２?３及び図２?４を用いて、情報ノードとキーワードとの関係について説明する。
【００３６】
図２?３は、情報保持部８の２つのブロック（１?１及び１?２）に、それぞれＡＡ、ＢＢ、ＣＣ、ＤＤという情報ノードが登録されている様子を示している。ブロック１?１に含まれる情報ノードの情報実体（例えば機能記述）と、ブロック１?２に含まれる情報ノードの情報実体（例えばデータ関連図）とでは、同様の論理構成や用語等が用いられていることが少なくないため、このような事象が生じ得る。ここで、ブロック１?１における情報ノードＡＡと、ブロック１?２における情報ノードＡＡとは、何らかの意味的な関連を有していることが多い。そこで、リポジトリ４においては、このような意味的な関連を識別するためのいわばタグとして、これらの情報ノードに対し、同一のキーワードを付与することができる。
【００３７】
図２?４に、情報ノードとキーワードとの関連づけを具体的に実現するためのテーブル構造の一例を示す。図２?４の情報保持部８は、図２?２の情報保持部８に比べ、各情報ノード（レコード）にユニークな番号が与えられ、たとえ同一情報名の情報ノードが複数存在しても、それらを識別可能に構成されている点で相違する。この例では、情報名ＡＡが２か所、ＢＢが２か所、ＣＣが２か所、ＤＤが２か所に存在している。
【００３８】
キーワード保持部９は、少なくともキーワード名と、情報番号リストとを対応付ける１以上のレコードからなるテーブルである。情報番号リストは、キーワードによって関連付けられる複数の情報ノードを、情報保持部８における番号によって特定する。
【００３９】
（関係リンク）
リポジトリ４は、個々の情報ノードの関係性に関する情報を保持することができる。この関係性を、関係リンクと称する。
【００４０】
関係リンクは、ある情報ノードと、当該情報ノードと同一ブロック、抽象度レベルのみが異なるブロック、及び詳細度レベルのみが異なるブロックに存在する他の情報ノードと、の間で設定することができる。
【００４１】
本実施の形態では、少なくとも以下の４種類の関係リンクを設定できる。同格関係は、同一の対象又は事象等を、別の目的や観点等に基づいて表現した情報ノード同士を関係づける関係リンクである。下位関係は、ある上位概念たる情報ノードと、当該情報ノードの下位概念や構成部品である情報ノードを関係づける関係リンクである。詳細化関係は、ある情報ノードと、当該情報ノードをより詳細化した情報ノードとを関係づける関係リンクである。具体化関係は、抽象的な概念を示す情報ノードと、当該情報ノードをより具体化した情報ノードとを関係づける関係リンクである。以上の他、情報ノード間でのデータの関連性や処理順序等を表現するため、任意の関係リンクを設定することもできる。
【００４２】
なお、詳細化関係は、詳細度レベルが異なる情報ノード同士で設定されても良く、同一の詳細度レベルの情報ノード同士で設定されても良い。また、具体化関係は、抽象度レベルが異なる情報ノード同士で設定されても良く、同一の抽象度レベルの情報ノード同士で設定されても良い。なお、リポジトリ４は、詳細化関係又は具体化関係が、詳細度レベル又は抽象度レベルを跨ぐものであるか否かを示すフラグを、それぞれ保持していることが好ましい。
【００４３】
図２?５は、ある仮想の企業の組織構造及び業務構造を、下位関係、及び「関連」の２つの関係リンクを用いて示したものである。ここで、「関連」とは、ある業務に関連する入出力情報を示す関係リンクであるものとする。この図は、以下の事実を示す。この企業は、「業務フロー」に関するソフトウェア資産（例えば文書化されたマニュアル等）を有する。この「業務フロー」の中には、「販売部門」にかかる業務フローが含まれる。「販売部門」の業務フローは、「受注」「在庫確認」「出荷指示」の３つの業務からなる。それぞれの業務における入出力情報は、「注文書」「製造指示」「出荷指示」である。
【００４４】
図２?６は、図２?５の関係リンクを具体的に実現するためのテーブル構造の一例である。図２?６の情報保持部８は、図２?４の情報保持部８と比較して、「出リンク」「入リンク」要素を有している点で相違する。ここで「出リンク」は、その情報ノードを始点とする関係リンクを、リンクテーブル１０（後述）で定義された番号によって特定している。また、「入リンク」は、その情報ノードを終点とする関係リンクを、リンクテーブル１０（後述）で定義された番号によって特定している。
【００４５】
なお、出リンク及び入リンク要素は、情報保持部８の構成上、必須の要素ではない。当該要素は、後述のリンクテーブル１０が有する要素と重複しており、リンクテーブル１０を情報ノードの番号で検索すれば取得することが可能である。しかしながら、実際の運用においては、リポジトリ４に登録される情報量が増加するほど、リンクテーブル１０の検索時間が増大し、ソフトウェア資産活用装置１００全体の性能に大きな影響を及ぼすことが予想される。よって、高速化の手段として、情報保持テーブルに出リンク及び入リンク要素を直接持つことは有効である。
【００４６】
リンクテーブル１０は、複数の情報ノード間に張られた関係リンクを定義、保存するためのテーブルである。リンクテーブル１０は、少なくとも番号、属性、始点情報、終点情報を要素とする、１以上のレコードを有する。番号は、関係リンクを一意に特定するための識別子である。属性は、関係リンクの種類を示す。始点情報は、関係リンクの始点となる情報ノードを、情報保持部８で定義された番号によって特定している。終点情報は、関係リンクの終点となる情報ノードを、情報保持部８で定義された番号によって特定している。
【００４７】
図２?７は、ある仮想の企業の組織構造及び業務構造を、同格関係、及び詳細化関係の２つの関係リンクを用いて示したものである。両端が矢印の線は、同格関係を示す。同格関係は、同じブロックの中で、本質的に同じ意味内容を有する情報ノード間に設定されている。片方が矢印の線は、詳細化関係を示す。この例において、詳細化関係は、詳細化レベルの異なるブロックに位置する情報ノード間に設定されている。
【００４８】
図２?８は、ある仮想の企業の組織構造及び業務構造を、具体化関係の関係リンクを用いて示したものである。片方が矢印の線は、具体化関係を示す。この例において、具体化関係は、抽象化レベルの異なるブロックに位置する情報ノード間に設定されている。
【００４９】
図２?９は、ある仮想の企業の組織構造及び業務構造に関するソフトウェア資産全体を、リポジトリ４に登録した例を示している。上述の図２?５、図２?７、図２?８は、この図の一部分を抜き出したものである。
【００５０】
利用者は、所定のユーザインタフェースを介し、入力装置１を利用して、処理装置３に、情報ノード、キーワード、関係リンクにかかるデータを入力する。処理装置３の情報入力部５は、これらの入力を受け付けると、リポジトリ４の情報保持部８、キーワード保持部９、リンクテーブル１０等に、それぞれデータを格納する処理を行う。
【００５１】
ここで、リポジトリ４に登録される情報が、体系的で、有効な分析に資するものであるためには、個々の情報ノードが孤立せず、ある情報ノードから別の情報ノードを辿れるように関係リンクを設定することが重要である。その場合、関係リンクの数はノードの数に等しいかそれ以上になる。また、上述のように、関係リンクとして下位関係、詳細化関係、具体化関係を採用する場合、２つの情報ノードに対して３つの関係リンクが存在し得る計算になる。以上より、新たに登録する情報ノードについて設定すべき関係リンクの数は、関係リンク数／既に登録されている情報ノード数≧１．５を満たすことが望ましい。すなわち、情報ノードは、単に他の１つの情報ノードとの間で関係リンクが設定されるだけではなく（関係リンク数／既に登録されている情報ノード数≧１）、その他の関連する情報ノードとの間においても、適切に関係リンクが設定されることが好ましい。
【００５２】
そのため、本実施の形態における情報抽出部６、情報分析部７は、新規に登録される情報ノードについて、既存の情報ノードに対して設定すべき関係リンクの候補を挙げ、利用者に対して提示する機能を有する。
【００５３】
情報抽出部６は、新規に登録された情報ノードを起点として、起点の情報ノードと他の情報ノードとの間に既に定義されている情報リンクを抽出する。すなわち、起点の情報ノードから辿ることができる情報ノードを抽出する。また、抽出した情報ノードから辿ることができる情報ノードをさらに抽出することができる。そして、情報分析部７は、これらの抽出された情報ノードの中から、起点の情報ノードにかかる関係リンク設定候補となる情報ノードを抽出する。具体的には、以下の処理を実行する。
【００５４】
情報ノードの抽出：情報抽出部６は、情報保持部８を参照し、起点の情報ノードに設定された出リンクおよび入リンクを取得する。さらに、出リンクおよび入リンクによって基点情報ノードと接続された情報ノードについて、同様に出リンクおよび入リンクを取得することにより、さらに辿ることのできる情報ノードを抽出してゆく。図３−１の例では、Ｘを起点情報ノードとすると、情報ノードＸから情報ノードＡを抽出し、情報ノードＡから情報ノードＢを抽出し、情報ノードＢから情報ノードＣを抽出する。
【００５５】
関係リンクの抽出：情報分析部７は、情報抽出部６が抽出した情報ノードと、起点情報ノードと、の間に設定できる可能性のある関係リンク（関係リンク候補）を抽出する。情報分析部７は、後述のような座標系の概念を用いて関係リンク候補を抽出する。図３−２は、情報分析部７による関係リンク候補抽出結果の例である。Ｘは起点情報ノードであり、Ａは起点情報ノードＸと既に関係リンクが設定されているものとする。このとき、情報分析部７は、情報ノードＢと起点情報ノードＸとの間の関係リンク候補として詳細化関係Ｓ、下位関係Ｔを選定している。情報ノードＣと起点情報ノードＸとの間の関係リンク候補として詳細化関係Ｕを選定している。
【００５６】
情報分析部７による関係リンク候補の抽出手法は以下のとおりである。まず、情報分析部７は、情報抽出部６が抽出した情報ノードそれぞれについて、起点情報ノードＸから抽出された情報ノードに至るまでに辿ったルートの性質と、起点情報ノードＸと抽出された情報ノードとの関係度とを、以下の手法で評価する。
【００５７】
辿ったルートの性質：情報分析部７は、図３−３に示すような、関係リンクの属性を軸とする直交座標系を用いて、起点情報ノードＸから抽出された情報ノードに至るまでに辿った関係リンクの性質を評価する。まず、起点ノードＸを原点０に位置づける。つぎに、辿った関係リンクの属性、及びその関係リンクが出リンクであったか入リンクであったかに応じて、抽出された情報ノードを座標系に位置づけする。すなわち、原点を基点として、辿った関係リンクが出リンクであれば、抽出された情報ノードの座標上の位置を、辿った関係リンクの属性を示す軸方向に１増加した位置とし、入リンクであれば反対に１減少した位置とする。同格関係など、出／入の区別（方向性）がない属性については、出リンクでも入リンクでも１増加させる。
【００５８】
図３−４に、情報抽出部６が図３−１のような情報ノードを抽出した場合において、情報分析部７が上記評価を行った例を示す。起点情報ノードＸは当然原点に位置付けられる。ＸからＡへのリンクは、図３−１によれば下位関係の入リンクであるため、図３−４でＡは原点より下位関係軸方向に１減少したところに位置づけられる。同じように、Ｂ及びＣも図３−４に示すように位置づけられる。
【００５９】
抽出した情報ノードと起点情報ノードとの関係度：情報分析部７は、抽出された情報ノードを上記座標軸上に位置付ける際の、各情報ノードの位置変化に基づいて、抽出した情報ノードと起点情報ノードとの間に設定されている関係リンクを、コストという概念で評価する。コストとは、情報ノード間の関係が深いほど少なく、関係が浅いほど大きな値をとる評価値である。また、情報分析部７は、起点情報ノードから抽出された情報ノードまでの間に存在する１以上の関係リンクのコストを累計した値を、抽出された情報ノードのコストとして算出することができる。
【００６０】
図３−１の座標系において、起点情報ノードＸ（原点）から遠ざかる方向を発散方向、起点情報ノードＸに近づく方向を収束方向とする。例えば、図３−４では、Ａは下位関係軸の発散方向に進み、Ｂは詳細化関係軸及び下位関係軸の発散方向に進み、Ｃは下位関係軸の収束方向に進んでいる。
【００６１】
コストは、発散方向へ進むと増加し、収束方向へ進むと減少するものとする。属性軸上において、情報ノードの位置が発散方向又は収束方向に１移動した場合の、コストの増加又は減少値は、例えば図４−４のコスト表のように定義される。このコスト表では、同格関係は、関係リンクで結ばれた情報ノード同士の内容、性質等がほとんど変わらないと考えられることから、コストの変化量が他の属性に比べて最も少なく設定されている。下位関係、詳細化関係、具体化関係は、発散方向に進むほど起点情報ノードＸとの内容的、性質的な関係性が薄まると考えられるから、コストが所定量増加するよう設定されている。一方、これらの関係リンクにおいては、一旦発散した後、同じ属性軸の収束方向に進むことによってコストはある程度回収されると考えられる。ただし、関係リンクの発散方向と収束方向を往復するたびに、起点情報ノードＸとの関係性は薄まる可能性が大きくなるため、増加したコストの全部は回収されない。その他の関連リンクについては、上述のいずれの関係リンクよりも情報ノード同士の関係性は低いと考えられるため、コストは一番大きく設定されている。
【００６２】
情報分析部７は、抽出された情報ノードそれぞれについて、その情報ノードの座標軸上の位置変化、換言すれば起点情報ノードＸ（原点）との相対的な位置変化を、上記コスト表を用いて、コストとして評価する。例えば、情報ノードＢは、起点情報ノードＸ（原点）から、詳細化関係軸の発散方向に１移動（コスト＝２）し、つづいて下位関係軸の発散方向に１移動（コスト＝２）した。よって、起点情報ノードＸに対する、情報ノードＢのコストは、２＋２＝４となる。同様に、情報ノードＡ、Ｃのコストはそれぞれ２である。
【００６３】
なお、情報分析部７は、さらに、キーワード情報、グループ情報を用いて、より精緻にコストを算出することとしても良い。
【００６４】
キーワード情報：情報分析部７は、キーワード保持部９を参照し、２つの情報ノード、すなわち起点情報ノードＸと抽出された情報ノードそれぞれとに定義されているキーワードが同じであれば、上述の手法で計算したコストを減少させ、例えば半分にすることができる。これは、キーワードが同じであれば、２つの情報ノードの関連性が高いと考えられるからである。
【００６５】
グループ情報：例えば、縦方向に接しているブロック間で、２つの情報ノードをつなぐ関係リンクが設定されている場合は、その関係リンクの属性は、具体化関係であることがもっとも望ましい。情報分析部７は、上述の場合において、仮に具体化関係でない関係リンクが設定されている場合は、リンクのコストを割増しし、例えば２倍にすることができる。２つの情報ノードの関係性は低いと考えられるためである。同じように、横方向に接しているブロック間で、２つの情報ノードをつなぐ関係リンクが設定されている場合は、その関係リンクの属性は、詳細化関係であることがもっとも望ましい。よって、情報分析部７は、この場合において、仮に詳細化関係でない関係リンクが設定されている場合は、リンクのコストを割増しし、例えば２倍にすることができる。
【００６６】
つづいて、図４のフローチャートを用いて、リポジトリ４に新規に情報ノード及び関係リンクを追加する場合の、ソフトウェア資産活用装置１００の動作について説明する。本実施例において、リポジトリ４は、図５−１に示すようなソフトウェア資産を予め格納しているものとする。具体的には、リポジトリ４は、情報保持部８とキーワド保持部９とを兼ね備えたノードテーブル（図５−２）と、リンクテーブル１０（図５−３）とを有する。また、本実施例では、情報ノードのコストを算出するためのノード候補テーブル（図６−１）、関係リンクのコストを算出するためのリンク候補テーブル（図６−２）を使用する。なお、コスト表は図４−４に示すものを使用するものとする。
【００６７】
（処理開始前の状態）
はじめに、図５−１乃至図５−３を用いて、新規情報ノードの追加処理の開始前における、リポジトリ４の状態について説明する。本実施例では、ブロックは１−１、２−１の２つが存在している。ブロック１−１は抽象度レベルが１、詳細度レベルが１であり、ブロック２−１は抽象度レベルが２、詳細度レベルが１である。従って、ブロック１−１はブロック２−１を具体化したグループである。
【００６８】
ブロック１−１には、業務フローノード、販売部門ノード、物流部門ノードが属している（図５−１。図５−２のＮｏ．１乃至３）。ブロック２−１には、システム構成図ノード、販売システムノード、物流システムノードが属している（図５−１。図５−２のＮｏ．４乃至６）。販売部門ノード、販売システムノードには、キーワード「販売」が付与されている（図５−２のＮｏ．２及び５）。物流部門ノード、物流システムノードにはキーワード「物流」が付与されている（図５−２のＮｏ．３及び６）。業務フローノードには、下位関係リンクにより、販売部門ノード、物流部門ノードが関連付けられている（図５−２のＮｏ．１及び２）。業務フローノードには、具体化関係リンクにより、システム構成図ノードが関連付けられている（図５−２のＮｏ．３）。販売部門ノードには、具体化関係リンクにより、販売システムノードが関連付けられている（図５−２のＮｏ．４）。システム構成図ノードには、下位関係リンクにより、販売システムノード、物流システムノードが関連付けられている（図５−２のＮｏ．５及び６）。
（物流システムノードからのノード候補抽出）
【００６９】
ここで、物流部門ノードが、新規に登録された情報ノードであるものとする。物流部門ノードと、業務フローノードとの間には、利用者の手により下位関係リンクが既に設定されている。本実施例に係るソフトウェア資産活用装置１００は、このような状況において、物流部門ノードから、他の適切な情報ノードに対して関係リンクを設定するための支援を実行する。
【００７０】
図４−１は、本実施例に係るソフトウェア資産活用装置１００のメイン処理を示すフローチャートである。
【００７１】
（Ａ１）情報入力部５は、入力装置１から、物流システムノードに対する関係リンク候補抽出処理の実行指示を受け付ける。情報抽出部６及び情報分析部７は、この物流システムノードを起点情報ノードとして、以下の処理を実行する。
【００７２】
（Ａ２）情報分析部７は、物流システムノードをノード候補テーブルに追加する。その際、各属性軸における情報ノードの位置を示す値、および情報ノードのコストの値を初期化、すなわち全て０にする（図６−１のＮｏ．１）。
【００７３】
（Ａ３）情報分析部７は、情報抽出部６は、ノード候補テーブルから、これまでにカレントノードに選定されたことが無く、かつコストが最も低いノードを、カレントノードに設定する。ここでは、物流システムノードがカレントノードとなる。
【００７４】
（Ａ４−Ａ５）情報抽出部６及び情報分析部７は、カレントノードについて、起点情報ノードとの間に設定し得る関係リンク候補を抽出する処理（リンク候補抽出処理。Ａ４）、及びカレントノードから辿り得る情報ノードを抽出する処理（ノード候補抽出処理。Ａ５）を、それぞれ実行する。なお、Ａ４のリンク候補抽出処理は、カレントノードが起点情報ノード自身であるか、既に起点情報ノードとの間に関係リンクが設定されている情報ノードである場合は、実行しない。
【００７５】
現在のカレントノードである物流システムノードは、起点情報ノード自身であるため、Ａ４のリンク候補抽出処理は行わない。Ａ５のノード候補抽出処理を行う。
【００７６】
（Ｃ１）情報抽出部６は、ノードテーブルを参照し、物流システムノードと関係リンクが定義されているシステム構成図ノードを抽出する。情報分析部７は、抽出したシステム構成図ノードを、ノード候補テーブルに追加する。その際、各属性軸における情報ノードの位置を示す値、および情報ノードのコストの値を、カレントノードである物流システムノードと同じく０に設定する。
【００７７】
（Ｃ２）情報分析部７は、ノードテーブルを参照し、カレントノードである物流システムノードと、抽出されたシステム構成図ノードとの間に設定されている関係リンクを抽出し、座標軸上における位置を評価する。ここでは、カレントノードから見て、逆方向の下位関係リンクが抽出される。情報分析部７は、ノード候補テーブルの、システム構成図ノードのレコードの、下位関係軸の値を１単位減算し、−１とする。
【００７８】
（Ｃ３）情報分析部７は、Ｃ２で求めた位置に基づき、抽出された情報ノードのコストを評価する。システム構成図ノードは、カレントノードである物流システムノードから見て、下位関係軸の発散方向に進んだ。よって、情報分析部７は、コスト表を参照しつつ、システム構成図ノードのコストに、下位関係属性の発散方向コストである２を加算し、２とする（図６−１のＮｏ.２）。
【００７９】
（システム構成図ノードからのノード候補抽出）
（Ａ３）情報分析部７は、ノード候補テーブルから、システム構成図ノードをカレントノードとして選択する。
【００８０】
（Ａ４−Ａ５）情報分析部７は、ノードテーブルを参照する。カレントノードのシステム構成図ノードは、起点情報ノードである物流システムノードとの間で、既に関係リンクが設定されていることがわかる。よって、Ａ４のリンク候補抽出処理を行わない。Ａ５のノード候補抽出処理を行う。
【００８１】
（Ｃ１）情報抽出部６は、ノードテーブルを参照し、カレントノードであるシステム構成図ノードと関係リンクが設定されている、販売システムノードを抽出する。情報分析部７は、抽出した販売システムノードを、ノード候補テーブルに追加する。その際、各属性軸における情報ノードの位置を示す値、および情報ノードのコストの値を、カレントノードであるシステム構成図ノードと同じ、下位関係軸＝−１、コスト＝２に設定する。
【００８２】
（Ｃ２−Ｃ３）情報分析部７は、ノードテーブルを参照し、カレントノードであるシステム構成図ノードと、抽出された販売システムノードとの間に設定されている関係リンクを抽出し、座標軸上における位置を評価する。ここでは、カレントノードから見て、順方向の下位関係リンクが抽出される。情報分析部７は、ノード候補テーブルの、販売システムノードのレコードの、下位関係軸の値に１単位減算し、−１から０に変更する。また、販売システムノードは、下位関係軸が収束方向に進んだので、情報分析部７は、コスト表を参照しつつ、下位関係属性の収束方向コストである−１を、現在のコスト２に加算し、１とする（図６−１のＮｏ.３）。
【００８３】
（Ｃ１−Ｃ３）同様に、カレントノードであるシステム構成図ノードとの間で関係リンクが設定されている業務フローノードを、ノード候補テーブルに追加し、下位関係軸を−１、具体化関係軸を−１、コストを４とする（図６−１のＮｏ.４）。
【００８４】
（販売システムノードからのノード候補抽出）
（Ａ３−Ａ５）情報抽出部６及び情報分析部７は、販売システムノードをカレントノードとして、ノード候補抽出処理を行う。処理内容は、上述のシステム構成図ノードをカレントノードとした場合の処理と同様である。この処理により、販売部門ノードがノード候補テーブルに追加される（図６−１のＮｏ.５）。
【００８５】
（販売部門ノードからのリンク候補及びノード候補抽出）
（Ａ３）情報分析部７は、ノード候補テーブルから販売部門ノードを選択し、カレントノードとする。販売部門ノードのコスト３は、業務フローノードのコスト４より低いためである。
【００８６】
（Ａ４）情報分析部７は、カレントノードである販売部門ノードについて、リンク候補抽出処理を行う。
【００８７】
（Ｂ１）情報分析部７は、カレントノードについて、値が０でない属性軸を１つ選択する。ここでは、販売部門ノードの具体化関係軸の値が−１であり、０でないため、この具体化関係軸を選定する。
【００８８】
（Ｂ２）情報分析部７は、カレントノードから起点情報ノードに向けた、上記選択した属性軸にかかる関係リンクを、リンク候補テーブルに追加する。この際、関係リンクのコストは、カレントノードと同じ値に設定する。ここでは、販売部門ノードから物流システムに向けた具体化関係リンクをリンク候補テーブルに追加し、この関係リンクのコストを３とする。
【００８９】
（Ｂ３−Ｂ５）情報分析部７は、リンク候補テーブルのコストに、この関係リンク自身のコストを加算する。ここでは、Ｂ２でリンク候補テーブルに追加した具体化関係リンクは、具体化関係軸方向に−１から０へ、すなわち収束方向に変化するものである。この変化のコストは、コスト表によれば−１である、よって、情報分析部７は、リンク候補テーブルおけるコスト３に、この関係リンク自身のコスト−１を加算し、２とする（図６−２のＮｏ.１）。
【００９０】
（Ａ５）情報抽出部６及び情報分析部７は、カレントノードである販売部門ノードについて、ノード候補抽出処理を行う。ここでは、ノード候補テーブルに追加すべき情報ノードが存在しないため、追加を行わない。
【００９１】
（業務フローノードからのリンク候補及びノード候補抽出）
（Ａ３−Ａ５）情報抽出部６及び情報分析部７は、業務フローノードをカレントノードに選定し、リンク候補抽出処理及びノード候補抽出処理を実行する。これにより、ノード候補テーブルには、Ｎｏ.６のレコードが追加される。また、リンク候補テーブルには、Ｎｏ.２、Ｎｏ.３のレコードが追加される。ここで、Ｎｏ.２の関係リンク候補は、上下方向に隣接したブロックを跨って設定される関係リンクであるが、この関係リンクの属性は具体化関係でないため、コストを通常の２倍の６とする（Ｂ５）。
【００９２】
（物流部門ノードからのリンク候補及びノード候補抽出）
（Ａ４）情報分析部７は、物流部門ノードについてリンク候補抽出処理を行う。
【００９３】
（Ｂ１）情報分析部７は、リンク候補テーブルの物流部門ノードにかかるレコードから、属性軸の値が−１である具体化関係軸を選定する。
【００９４】
（Ｂ２−Ｂ３）情報分析部７は、物流部門ノードから物流システムノードに向けた具体化関係リンクを、リンク候補テーブルに追加し、コストを３とする。この関係リンクは具体化関係軸に沿って−１から０へ、すなわち収束方向に変化するものであるため、上記コスト３に、この具体化関係リンクの収束方向コストである−１を加算し、２とする。
【００９５】
（Ｂ４）ここで、ノードテーブルを参照すると、物流部門ノードと物流システムノードに設定されているキーワードは同じく「物流」である。よって、情報分析部７は、キーワードによるコスト評価を行い、コストを現在の半分である１とする（Ｂ４）（図６−２のＮｏ.４）。
【００９６】
（Ａ５）情報抽出部６及び情報分析部７は、カレントノードである物流部門ノードについて、ノード候補抽出処理を行う。ここでは、ノード候補テーブルに追加すべき情報ノードが存在しないため、追加を行わない。
【００９７】
（結果出力）
（Ａ６）情報分析部７は、リンク候補テーブルの内容を、出力装置２に対して出力する。ここで、リンク候補テーブルのレコードを、コストの昇順で並べ替えるならば、起点情報ノードに対して設定することが望ましいと評価された順に、関係リンク候補を提示することができる。利用者は、この関係リンク候補を参照することにより、関係リンクの設定漏れの有無を確認することができる。
【００９８】
本実施例における結果の出力例を図６−３に示す。ここでは、物流部門ノードから物流システムノードに向けた具体化関係のリンクが、第一候補となる。
【００９９】
図７−１乃至図７−３に、利用者が、図６−３において提示された第一候補の関係リンクを、実際に設定した場合の、ソフトウェア資産の状態をに示す。下線は、関係リンクの設定により変化した箇所を示す。
【０１００】
本実施の形態によれば、ソフトウェア資産活用装置１００は、ある情報ノードと他の情報ノードとの間に設定し得る関係リンク候補を、他の情報ノードとの関係性の高さに従って、利用者に提示することができる。
【０１０１】
特に、本実施の形態では、ソフトウェア資産活用装置１００は、関係リンク候補を、関係リンクの属性に着目して評価する。そのため、より精度の高い関係リンク候補を提示できる。
【０１０２】
また、本実施の形態では、ソフトウェア資産活用装置１００は、情報ノードに設定されているキーワード、情報ノードが属するブロック等を分析し、関係リンク候補の評価に織り込む。これにより、さらに精度の高い関係リンク候補を提示できる。
【０１０３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０１０４】
例えば、図４−２のフローチャートのＢ３の処理においては、各属性軸の長さは考慮せず、属性の種類のみに基づいてコストを計算することとしても良い。これにより、情報ノード間の関係リンクをトポロジーとしてとらえたコスト計算が可能となる。
【０１０５】
また、図４−２のフローチャートのＢ４又はＢ５の処理において、キーワード又はブロックに係る情報を用いてコストを評価する際、コストに所定の係数を乗ずる方法に代えて、所定の調整値を加減点するなど、他の任意の評価方法を採用しても良い。
【０１０６】
また、図４−１のフローチャートのＡ１の処理において、起点情報ノードのほか、関係リンクの種類（属性）も入力できるようにし、Ａ５のノード候補抽出処理においては、指定された属性の関係リンクを、優先的に抽出するにしても良い。また、Ａ４において、指定された属性の関係リンクのコストを小さくする評価方法を採用しても良い。
【０１０７】
また、上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【０１０８】
１００  ソフトウェア資産活用装置
１  入力装置
２  出力装置
３  処理装置
４  リポジトリ
５  情報入力部
６  情報抽出部
７  情報分析部
８  情報保持部
９  キーワード保持部
１０  リンクテーブル
【図１−１】
2014146241.tif 000003
【図１−２】
2014146241.tif 000004
【図２−１】
2014146241.tif 000005
【図２−２】
2014146241.tif 000006
【図２−３】
2014146241.tif 000007
【図２−４】
2014146241.tif 000008
【図２−５】
2014146241.tif 000009
【図２−６】
2014146241.tif 000010
【図２−７−１】
2014146241.tif 000011
【図２−７−２】
2014146241.tif 000012
【図２−７−３】
2014146241.tif 000013
【図２−８】
2014146241.tif 000014
【図２−９−１】
2014146241.tif 000015
【図２−９−２】
2014146241.tif 000016
【図２−９−３】
2014146241.tif 000017
【図２−９−４】
2014146241.tif 000018
【図２−９−５】
2014146241.tif 000019
【図２−９−６】
2014146241.tif 000020
【図２−９−７】
2014146241.tif 000021
【図３−１】
2014146241.tif 000022
【図３−２】
2014146241.tif 000023
【図３−３】
2014146241.tif 000024
【図３−４】
2014146241.tif 000025
【図４−１】
2014146241.tif 000026
【図４−２】
2014146241.tif 000027
【図４−３】
2014146241.tif 000028
【図４−４】
2014146241.tif 000029
【図５−１】
2014146241.tif 000030
【図５−２】
2014146241.tif 000031
【図５−３】
2014146241.tif 000032
【図６−１】
2014146241.tif 000033
【図６−２】
2014146241.tif 000034
【図６−３】
2014146241.tif 000035
【図６−４】
2014146241.tif 000036
【図７−１】
2014146241.tif 000037
【図７−２】
2014146241.tif 000038
【図７−３】
2014146241.tif 000039