(57)【要約】【課題】ユーザの多種多様なリクエストに応じて、労力やコストの節約の観点から適切な態様でソフトウェアが改訂されるように、ソフトウェアを管理しうるシステムを提供する。【解決手段】本発明のソフトウェア管理システムによれば、第１エンティティの改訂要求情報に基づき、改訂必要部分に応じた成分が正値でその他は０となる第１ベクトルＡ*が設定される。また、この第１ベクトルＡ*と、第２エンティティの改訂適性評価が高いソフトウェア部分に応じた成分ほど大きい正値をとる第２ベクトルＢ*との内積Ａ*・Ｂ*が算出される。そしてこの内積が大きい第２ベクトルＢ*を有する第２エンティティが優先的にソフトウェア部分の改訂発注先として選定される。【選択図】  図１
2007115163.tif 000002
【特許請求の範囲】
【請求項１】
第１エンティティの要求に応じて、第２エンティティによって改訂されうるソフトウェアを、第１エンティティの第１端末および第２エンティティの第２端末とのネットワーク通信によって管理するシステムであって、
第１端末から発信された、第１エンティティが要求するソフトウェアの改訂内容を表す改訂要求情報が入力されたことに応じて、第１アルゴリズムを記憶手段から読み出し、入力されたソフトウェアの改訂要求情報に基づき、記憶手段から読み出した第１アルゴリズムにしたがって、ソフトウェア部分のうち、改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になる第１ベクトルを設定する第１処理手段と、
複数の第２エンティティのそれぞれについて、ソフトウェアの部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正の値をとるように設定されている第２ベクトルを記憶手段から読み出し、第１処理手段により設定された第１ベクトルと、記憶手段から読み出した第２ベクトルとの内積を算出する第２処理手段と、
第２処理手段により算出された内積が大きい第２ベクトルを有する第２エンティティを優先的に改訂発注先として選定し、この第２エンティティの第２端末に送信される、第１処理手段により設定された第１ベクトルの正値成分に応じたソフトウェア部分と、第１処理手段に入力された改訂要求情報に応じた当該部分の改定内容とを送信する第３処理手段とを備えていることを特徴とするソフトウェア管理システム。
【請求項２】
第１処理手段が、第１端末から発信された、第１エンティティを取り巻く社会環境を表す社会環境情報が入力されたことに応じて、第２アルゴリズムを記憶手段から読み出し、入力された社会環境情報に基づき、記憶手段から読み出した第２アルゴリズムにしたがって、社会環境情報の各情報項目の情報内容に応じて数値化し、当該数値を成分とする第１副ベクトルを設定し、
第２処理手段が、複数の第２エンティティのそれぞれを取り巻く社会環境情報の各情報項目の情報内容に応じた数値を成分とする第２副ベクトルを記憶手段から読み出し、第１処理手段により設定された第１副ベクトルと、記憶手段から読み出した第２副ベクトルとの差分ベクトルのノルムを算出し、
第３処理手段が、記憶手段から重みベクトルを読み出し、第１処理手段により設定された第１ベクトルと、該重みベクトルとの内積を閾値として設定し、第２処理手段により算出されたノルムが、設定した閾値以下である第２副ベクトルを有することを要件として第２エンティティを改訂発注先として選定することを特徴とする請求項１記載のソフトウェア管理システム。
【請求項３】
第２処理手段が、第１端末から発信された、第１エンティティによる改訂ソフトウェアの数値による評価結果と、該ソフトウェアを識別するためのソフトウェア識別情報とが入力されたことに応じて、該ソフトウェア識別情報に基づいて第２エンティティを特定し、入力された評価結果に基づいて該第２エンティティについての第２ベクトルを設定し、この第２エンティティのあらたな第２ベクトルとして記憶手段に記憶させることを特徴とする請求項１または２記載のソフトウェア管理システム。
【請求項４】
第２処理手段が、第２端末から発信された、第２エンティティによるソフトウェア部分の改訂に関する数値による自己評価結果が入力されたことに応じて、受信した自己評価結果に基づいて該第２エンティティについての第２ベクトルを設定し、この第２エンティティのあらたな第２ベクトルとして記憶手段に記憶させることを特徴とする請求項３記載のソフトウェア管理システム。
【請求項５】
第２エンティティによって改訂されたソフトウェア部分を第２端末から受信し、当該改訂部分をその他のソフトウェア部分と組み合わせて改訂ソフトウェアを完成させ、第１端末に配信される該ソフトウェアを出力する第４処理手段をさらに備えていることを特徴とする請求項１、２、３または４記載のソフトウェア管理システム。
【請求項６】
第３処理手段が、改訂発注先として選定した第２エンティティにソフトウェア部分の改訂を依頼することの承認を所定の承認端末との通信に基づいて得た上で、その第２エンティティを正式に改定発注先として選定することを特徴とする請求項１、２、３、４または５記載のソフトウェア管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１エンティティの要求に応じて、第２エンティティによって改訂されうるソフトウェアを、第１エンティティの第１端末および第２エンティティの第２端末とのネットワーク通信によって管理するシステムに関する。
【背景技術】
【０００２】
従来、ソフトウェア開発会社等によるソフトウェアの開発を支援するための手法が提案されている。例えば、ソフトウェア（ソースファイル）のバージョンをチェックすることで最新版のソフトウェアの納品を担保する技術的手法が提案されている（例えば、特許文献１参照）。また、開発中のソフトウェアをセグメントに限定して更新することで、ソフトウェアの更新の効率化を図る技術的手法が提案されている（例えば、特許文献２参照）。
【特許文献１】特開２００１−３２５０９９号公報  ００２４〜００３０段落、図３、図４
【特許文献２】特開２００１−３３１３０９号公報  ００５４段落
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、ソフトウェアはそのままの形ではなく、ユーザの諸事情に応じた形で改訂（仕様変更）された形で利用されることが多いため、ソフトウェアの改訂要求への対応に要する労力およびコストが不必要にかさむおそれがある。また、ユーザの数が多くなるほど改訂内容も多種多様となるため、多数のユーザからのソフトウェアの改訂要求への対応に要する労力およびコストがさらにかさむおそれがある。
【０００４】
そこで、本発明は、ユーザの多種多様なリクエストに応じて、労力やコストの節約の観点から適切な態様でソフトウェアが改訂されるように、ソフトウェアを管理しうるシステムを提供することを解決課題とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するための本発明のソフトウェア管理システムは、第１エンティティの要求に応じて、第２エンティティによって改訂されうるソフトウェアを、第１エンティティの第１端末および第２エンティティの第２端末とのネットワーク通信によって管理するシステムであって、第１端末から発信された、第１エンティティが要求するソフトウェアの改訂内容を表す改訂要求情報が入力されたことに応じて、第１アルゴリズムを記憶手段から読み出し、入力されたソフトウェアの改訂要求情報に基づき、記憶手段から読み出した第１アルゴリズムにしたがって、ソフトウェア部分のうち、改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になる第１ベクトルを設定する第１処理手段と、複数の第２エンティティのそれぞれについて、ソフトウェアの部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正の値をとるように設定されている第２ベクトルを記憶手段から読み出し、第１処理手段により設定された第１ベクトルと、記憶手段から読み出した第２ベクトルとの内積を算出する第２処理手段と、第２処理手段により算出された内積が大きい第２ベクトルを有する第２エンティティを優先的に改訂発注先として選定し、この第２エンティティの第２端末に送信される、第１処理手段により設定された第１ベクトルの正値成分に応じたソフトウェア部分と、第１処理手段に入力された改訂要求情報に応じた当該部分の改定内容とを送信する第３処理手段とを備えていることを特徴とする。
【０００６】
本発明のソフトウェア管理システムによれば、第１および第２ベクトルの内積が算出される。「第１ベクトル」は、ソフトウェア部分のうち、第１エンティティの要求に応じて定まる改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になるように設定される。すなわち、第１ベクトルの各成分のうち、正値をとる成分は改訂が必要なソフトウェア部分に対応している一方、０値をとる成分は改訂が不要なソフトウェア部分に対応している。「第２ベクトル」は、ソフトウェア部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正の値をとるように設定されている。すなわち、第２ベクトルの各成分のうち、大きい正値をとる成分は、第２エンティティの改訂適性の評価が高いソフトウェア部分に対応している。
【０００７】
したがって、第１および第２ベクトルの内積を選定基準とすることにより、第１エンティティが要求するソフトウェアの改訂内容に応じたソフトウェア部分を改訂する適性が高い第２エンティティが、当該ソフトウェア部分の改訂発注先として優先的に選定される。そして、第１エンティティの要求に鑑みて適切に改訂されたソフトウェアを、この第１エンティティに対して提供することができる。
【０００８】
例えば、図４に示されているようにソフトウェアがＮ個の部分に区分され、第１エンティティの改定要求がそのうち第ｉ部分（斜線）のみの改訂を必要とするものである場合、第１ベクトルＡ*は第ｉ成分のみが正値で、残りの成分は０に設定される。すなわち、第１ベクトルのＮ個の成分のうち、改訂必要部分に対応する第ｉ成分は１である一方、改訂不要部分に対応するその他の成分は０となるように第１ベクトルＡ*が設定される。また、第２エンティティＸ１の第２ベクトルＢ*の第ｉ成分ｂiが、第２エンティティＸ２のそれよりも大きい場合、第１ベクトルＡ*との内積が大きい第２ベクトルＢ*を有する第２エンティティＸ１が、他方の第２エンティティＸ２よりも優先的にソフトウェア部分の改訂発注先として選定される。これにより、第ｉ部分の改訂に関する評価が高い第２エンティティＸ１に、当該第ｉ部分の改訂が発注されうる。
【０００９】
なお、本発明の構成要素である各記憶手段は、コンピュータのハードウェア資源であるＲＯＭ（ＥＥＰＲＯＭ含む。）、ＲＡＭ等のメモリや、ハードディスクなどにより構成され、情報やアルゴリズムごとに個別のものであってもよいし、一部または全部の情報について共通のものであってもよい。
【００１０】
また、本発明のソフトウェア管理システムは、第１処理手段が、第１端末から発信された、第１エンティティを取り巻く社会環境を表す社会環境情報が入力されたことに応じて、第２アルゴリズムを記憶手段から読み出し、入力された社会環境情報に基づき、記憶手段から読み出した第２アルゴリズムにしたがって、社会環境情報の各情報項目の情報内容に応じて数値化し、当該数値を成分とする第１副ベクトルを設定し、第２処理手段が、複数の第２エンティティのそれぞれを取り巻く社会環境情報の各情報項目の情報内容に応じた数値を成分とする第２副ベクトルを記憶手段から読み出し、第１処理手段により設定された第１副ベクトルと、記憶手段から読み出した第２副ベクトルとの差分ベクトルのノルムを算出し、第３処理手段が、記憶手段から重みベクトルを読み出し、第１処理手段により設定された第１ベクトルと、該重みベクトルとの内積を閾値として設定し、第２処理手段により算出されたノルムが、設定した閾値以下である第２副ベクトルを有することを要件として第２エンティティを改訂発注先として選定することを特徴とする。
【００１１】
本発明のソフトウェア管理システムによれば、第１副ベクトルと第２副ベクトルとの差分ベクトルのノルムが算出される。「第１副ベクトル」および「第２副ベクトル」は、第１および第２エンティティのそれぞれを取り巻く社会環境情報の各情報項目の情報内容に応じた数値を成分とするベクトルである。
【００１２】
また、第１ベクトルは、前記のようにその各成分のうち、正値をとる成分は改訂が必要なソフトウェア部分に対応している一方、０値をとる成分は改訂が不要なソフトウェア部分に対応している。このため、改訂が必要なソフトウェア部分の重要性や、その改訂の難易度等が反映されるように重みベクトルの各成分の値が設定されることで、第１ベクトルおよび重みベクトルの内積に、改訂必要部分の重要性や、その改訂の難易度等が反映されるように閾値が設定されうる。
【００１３】
したがって、両者の差分ベクトルのノルムが、閾値以下であることを選定要件とすることにより、ソフトウェアの改訂必要部分の重要度等に応じた程度、第１エンティティの社会環境に適応する社会環境に取り囲まれている第２エンティティが当該部分の改定発注先として選定されうる。
【００１４】
さらに、本発明のソフトウェア管理システムは、第２処理手段が、第１端末から発信された、第１エンティティによる改訂ソフトウェアの数値による評価結果と、該ソフトウェアを識別するためのソフトウェア識別情報とが入力されたことに応じて、該ソフトウェア識別情報に基づいて第２エンティティを特定し、入力された評価結果に基づいて該第２エンティティについての第２ベクトルを設定し、この第２エンティティのあらたな第２ベクトルとして記憶手段に記憶させることを特徴とする。
【００１５】
本発明のソフトウェア管理システムによれば、第１エンティティによる改訂ソフトウェアに関する評価結果が、当該ソフトウェアの改訂に携わった第２エンティティの第２ベクトルに反映されうる。これにより、第１エンティティによる評価が高かったソフトウェアの改訂に携わった第２エンティティが、その後、同様のソフトウェア部分の改訂に際して優先的に改訂発注先として選定される可能性が高められる。そして、第１エンティティによる要求に応じて、必要部分の改訂への適性が高い第２エンティティによってソフトウェアが改訂されうる。
【００１６】
また、本発明のソフトウェア管理システムは、第２処理手段が、第２端末から発信された、第２エンティティによるソフトウェア部分の改訂に関する数値による自己評価結果が入力されたことに応じて、受信した自己評価結果に基づいて該第２エンティティについての第２ベクトルを設定し、この第２エンティティのあらたな第２ベクトルとして記憶手段に記憶させることを特徴とする。
【００１７】
本発明のソフトウェア管理システムによれば、ソフトウェアの改訂に携わった第２エンティティによる当該改訂に関する自己評価結果が、その第２エンティティの第２ベクトルに反映されうる。これにより、第２エンティティによってのみ評価されうるソフトウェア改訂に関する作業量の許容範囲や、１日あたりに可能な作業量等の事情が考慮された形で、第２エンティティのソフトウェア改訂に関する適性が評価されうる。
【００１８】
さらに、本発明のソフトウェア管理システムは、第２エンティティによって改訂されたソフトウェア部分を第２端末から受信し、当該改訂部分をその他のソフトウェア部分と組み合わせて改訂ソフトウェアを完成させ、第１端末に配信される該ソフトウェアを出力する第４処理手段をさらに備えていることを特徴とする。
【００１９】
本発明のソフトウェア管理システムによれば、第２エンティティによって改訂されたソフトウェア部分に基づいて完成された改訂ソフトウェアが、改訂発注元の第１エンティティの第１端末にネットワークを介して納品される。
【００２０】
また、本発明のソフトウェア管理システムは、第３処理手段が、改訂発注先として選定した第２エンティティにソフトウェア部分の改訂を依頼することの承認を所定の承認端末との通信に基づいて得た上で、その第２エンティティを正式に改定発注先として選定することを特徴とする。
【００２１】
本発明のソフトウェア管理システムによれば、ソフトウェア部分の改訂適性等とは別の事情が所定の承認端末による承認基準に反映されることで、当該事情に鑑みて適当な第２エンティティが改訂発注先として選定されうる。
【発明を実施するための最良の形態】
【００２２】
本発明のソフトウェア管理システムの実施形態について図面を用いて説明する。
【００２３】
図１は本発明のソフトウェア管理システムの構成例示図であり、図２は本発明のソフトウェア管理システムの機能説明図であり、図３は本発明のソフトウェア管理システムの機能例示図であり、図４はソフトウェアの構成例示図である。
【００２４】
図１に示されているソフトウェア管理システムは、第１エンティティの要求に応じて、第２エンティティによって改訂されうるソフトウェアを、第１エンティティの第１端末２１０、第２エンティティの第２端末２２０等とのネットワーク通信によって管理するシステムである。ソフトウェア管理システムは、第１端末２１０、第２端末２２０、第３端末２３０、および承認端末２４０のそれぞれとのインターネットやＬＡＮ等のネットワーク経由での通信機能を有するサーバ１００により構成されている。
【００２５】
ソフトウェア管理システムは、記憶部１０２と、第１処理部１１０と、第２処理部１２０と、第３処理部１３０と、第４処理部１４０とを備えている。各記憶部は、コンピュータのハードウェア資源であるＲＯＭ（ＥＥＰＲＯＭを含む。）、ＲＡＭ等のメモリや、ハードディスク等の記憶装置により構成されている。各処理部は、コンピュータのハードウェア資源であるＣＰＵ、信号入力回路、信号出力回路等により構成されている。サーバ１００は、そのメモリに格納されているソフトウェアによって後述する諸機能が付与されている。
【００２６】
記憶部１０２は、後述する第１アルゴリズム、第２アルゴリズム、第２ベクトル等を記憶保持する。
【００２７】
第１処理部１１０は、第１端末２１０から発信された、第１エンティティが要求するソフトウェアの改訂内容を表す「改訂要求情報」を受信する。また、第１処理部１１０は「第１アルゴリズム」を記憶部１０２から読み出す。そして、第１処理部１１０は、受信したソフトウェアの改訂要求情報に基づき、記憶部１０２から読み出した第１アルゴリズムにしたがって、ソフトウェア部分のうち、改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になる「第１ベクトル」を設定する。
【００２８】
第２処理部１２０は、複数の第２エンティティのそれぞれについて、ソフトウェア部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正の値をとるように設定されている「第２ベクトル」を記憶部１０２から読み出す。また、第２処理部１２０は、第１処理部１１０により設定された第１ベクトルと、記憶部１０２から読み出した第２ベクトルとの内積を算出する。
【００２９】
第３処理部１３０は、第２処理部１２０により算出された内積が大きい第２ベクトルを有する第２エンティティを優先的に改訂発注先として選定する。また、第３処理部１３０は、この第２エンティティの第２端末２２０に送信される、第１処理部１１０により設定された第１ベクトルの正値成分に応じたソフトウェア部分と、第１処理部１１０により第１端末２１０から受信された改訂要求情報に応じた当該部分の改定内容とを出力する。
【００３０】
第４処理部１４０は、第２エンティティによって改訂されたソフトウェア部分を第２端末２２０から受信し、当該改訂部分をその他のソフトウェア部分と組み合わせて改訂ソフトウェアを完成させ、該改訂ソフトウェアを第１端末２１０に送信する。
【００３１】
第１端末２１０、第２端末２２０および承認端末２３０のそれぞれは、パソコン、携帯電話機等、コンピュータや、コンピュータが搭載された装置または機器により構成され、キーボードやマウスなどの情報入力装置、モニタ（画像出力装置）等の構成を有している。
【００３２】
前記構成のソフトウェア管理システムの機能について図２および図３を用いて説明する。
【００３３】
本発明のソフトウェア管理システムは、図２に示されているように、第１エンティティから「ソフトウェア○○を〜できるようにしてほしい」等の要求を受け（図２／Ｓ１）、これに応じてソフトウェアの改訂必要部分を特定し（図３／Ｓ２）、該当部分の改訂発注先として適した第２エンティティを特定し（図３／Ｓ４）、特定した第２エンティティに「該当部分を〜のように改訂（または変更）してほしい」等の発注（依頼）をし、第２エンティティから当該改訂部分を受け取り（図３／Ｓ７）、ソフトウェア（改訂版）を完成させ（図３／Ｓ８）、この完成させたソフトウェアを第１エンティティに納品するまでの一連の処理を実行するためのものである。
【００３４】
以下、これらの処理について図３を用いて詳細に説明する。
【００３５】
まず、第１処理部１１０が「第１処理」を実行する（図３／Ｓ１１０）。具体的には、第１端末２１０からサーバ１００に「改訂要求情報」が送信される（図３／矢印Ａ１）。「改定要求情報」は第１エンティティが要求するソフトウェアの改訂内容を表す情報であり、例えば「生産実績数量欄の入力に応じてその時点での収支計算を実行する」「生産計画数量を生産ラインの稼働時間欄を細分化した上で表示する」「従業員の所属グループ欄を階層化して表示する」といった情報である。また、第１処理部１１０は、改訂要求情報の入力（受信）に応じて「第１アルゴリズム」を記憶部１０２から読み出す。
【００３６】
そして、第１処理部１１０は、改訂要求情報に基づき、第１アルゴリズムにしたがって、ソフトウェア部分のうち、改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になる「第１ベクトル」を設定する（図３／Ｓ１１１）。第１アルゴリズムは、改訂要求情報を解析して、ソフトウェアのどの部分の改訂が必要であるかを特定するためのものである。例えば、図４に示されているようにソフトウェアがＮ個の部分（セグメント等の任意の区分単位）に区分され、そのうちの第ｉ部分（斜線で表されている。）のみの改訂が必要である場合、第１ベクトルＡ*は次式（１）に示されているように、第ｉ成分のみが１（正値）であり、その他の成分は０であるＮ次元ベクトルとして設定される。
【００３７】
Ａ*＝t（ａ1，‥，ａi-1，ａi，ａi+1，‥，ａN）
＝t（０，‥，０，１，０，‥，０）  ‥（１）
【００３８】
さらに、第１端末２１０からサーバ１００に改訂要求情報とともに「社会環境情報」が送信される（図３／矢印Ａ１）。「社会環境情報」は、第１エンティティを取り巻く社会環境を表す情報であり、第２エンティティの「所在地（国、地方など）」や、「言語（方言）」、「民族」、「生活習慣」、「税関連の制度（たとえば、内税表示、外税表示、税率など）」等の文化や経済などに関する情報項目が含まれている。また、第１処理部１１０は、社会環境情報の入力（受信）に応じて「第２アルゴリズム」を記憶部１０２から読み出す。
【００３９】
そして、第１処理部１１０は、社会環境情報に基づき、第２アルゴリズムにしたがって、社会環境情報の各情報項目の情報内容に応じて数値化し、当該数値を成分とする第１副ベクトルを設定する（図３／Ｓ１１２）。第２アルゴリズムは、どのような情報内容が、どのような数値に対応するかという関係を特定するためのものである。例えば、「所在地」という情報項目についてその所在地（○○国●●州△△群‥）の緯度および経度を成分として含む第１副ベクトルが設定される。また、「言語」という情報項目について「英語」「仏語」「中国語」等の情報内容のそれぞれに予め割り振られた「０１」「１５」「２４」等の数値を成分として有する第１副ベクトルが設定される。このようにして、第１副ベクトルα*は、次式（２）に示されているようにＭ個の情報項目のそれぞれについて第２アルゴリズムにしたがった数値αj（ｊ＝１，２，‥，Ｍ）を成分として有するＭ次元のベクトルとして設定される。
【００４０】
α*＝t（α1，‥，αj，‥，αM）  ‥（２）
【００４１】
続いて、第２処理部１２０が「第２処理」を実行する（図３／Ｓ１２０）。具体的には、第２処理部１２０が第２エンティティのそれぞれに対応する「第２ベクトル」を記憶部１０２から読み出す。「第２ベクトル」は、ソフトウェア部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正の値をとるように設定されている。例えば、図４に示されているように、ソフトウェアがＮ個の部分に区分される場合、第２ベクトルＢ*は、次式（３）に示されているように各部分の改訂適性に応じた数値ｂi（＞０）を成分とするＮ次元ベクトルとして設定されている。
【００４２】
Ｂ*＝t（ｂ1，‥，ｂi，‥，ｂN）  ‥（３）
【００４３】
第２ベクトルＢ*、ひいては第２エンティティの改定適性評価には、第１エンティティ（顧客）の意見が反映されている。具体的には、第２処理部１２０が、第１エンティティによる改訂ソフトウェアの数値による評価結果と、ソフトウェアを識別するためのソフトウェア識別情報とを第１端末２１０から受信する。そして、第２処理部１２０が、このソフトウェア識別情報に基づいて第２エンティティを特定し、受信した評価結果に基づいてこの第２エンティティについての第２ベクトルＢ*を設定している。
【００４４】
また、第２エンティティの改定適性評価に第２エンティティ自身の意見も反映されている。具体的には、第２処理部１２０が、第２端末２２０から発信された、第２エンティティによるソフトウェア部分の改訂に関する数値による自己評価結果を受信する。そして、第２処理部１２０が、受信した自己評価結果に基づいてこの第２エンティティについての第２ベクトルＢ*を設定している。
【００４５】
また、第２エンティティＸ１の第ｉ部分の改訂適性が、第２エンティティＸ２のそれよりも高い場合、第２エンティティＸ１に対応する第２ベクトルＢ*の第ｉ成分ｂiは、第２エンティティＸ２のそれよりも大きくなる。その一方、第２エンティティＸ１の第ｊ部分の改訂適性が、第２エンティティＸ２のそれよりも高い場合、第２エンティティＸ１に対応する第２ベクトルＢ*の第ｊ成分ｂjは、第２エンティティＸ２のそれよりも小さくなる。
【００４６】
さらに、第２処理部１２０は、第１処理部１１０により設定された第１ベクトルと、記憶部１０２から読み出した第２ベクトルとの内積Ａ*・Ｂ*を次式（４）にしたがって算出する（図３／Ｓ１２１）
【００４７】
Ａ*・Ｂ*＝t（ａ1，‥，ａi，‥，ａN）・t（ｂ1，‥，ｂi，‥，ｂN）
＝ａ1・ｂ1＋‥＋ａi・ｂi＋‥＋ａN・ｂN）
＝Σiａi・ｂi  ‥（４）
【００４８】
また、第２処理部１２０は、「第２副ベクトル」を記憶部１０２から読み出す。「第２副ベクトル」は、複数の第２エンティティのそれぞれを取り巻く社会環境情報の各情報項目の情報内容に応じた数値を成分としている。例えば、第１副ベクトルと同様に、「所在地」という情報項目についてその所在地の緯度および経度を成分として含む第２副ベクトルが設定される。また、「言語」という情報項目について「英語」「仏語」「中国語」等の情報内容のそれぞれに予め割り振られた「０１」「１５」「２４」等の数値を成分として有する第２副ベクトルが設定される。このようにして、第２副ベクトルβ*は、次式（５）に示されているようにＭ個の情報項目のそれぞれについて数値βj（ｊ＝１，２，‥，Ｍ）を成分として有するＭ次元のベクトルとして設定されている。
【００４９】
β*＝t（β1，‥，βj，‥，βM）  ‥（５）
【００５０】
さらに、第２処理部１２０は、第１処理部１１０により設定された第１副ベクトルα*と、記憶部１０２から読み出した第２副ベクトルβ*との差分ベクトルのノルムＬを次式（６）にしたがって算出する（図３／Ｓ１２２）。
【００５１】
Ｌ＝｜α*−β*｜
＝｛（α1−β1）2＋‥＋（αj−βj）2＋‥＋（αN−βN）2｝1/2
＝｛Σj（αj−βj）2｝1/2  ‥（６）
【００５２】
次に、第３処理部１３０が「第３処理」を実行する（図３／Ｓ１３０）。具体的には、第３処理部１３０が、記憶部１０２から当該ソフトウェアに対応する「重みベクトル」を読み出す。「重みベクトル」は、例えば図４に示されているようにソフトウェアがＮ個の部分に区分される場合、重要性が高いほど、かつ、改訂の難易度が高いほど小さくなるように設定されている。重みベクトルＣ*は、次式（７）に示されているようにＮ個のソフトウェア部分のそれぞれについて数値ｃi（ｉ＝１，２，‥，Ｎ）を成分として有するＮ次元のベクトルとして設定されている。
【００５３】
Ｃ*＝t（ｃ1，‥，ｃi，‥，ｃN）  ‥（７）
【００５４】
また、第３処理部１３０は、第１処理部１１０により設定された第１ベクトルＡ*と、重みベクトルＣ*との内積Ａ*・Ｃ*を次式（８）にしたがって算出して、これを閾値ｃとして設定する（図３／Ｓ１３１）。
【００５５】
Ａ*・Ｃ*＝t（ａ1，‥，ａi，‥，ａN）・t（ｃ1，‥，ｃi，‥，ｃN）
＝ａ1・ｃ1＋‥＋ａi・ｃi＋‥＋ａN・ｃN）
＝Σiａi・ｃi  ‥（８）
【００５６】
さらに、第３処理部１３０は、第２処理部１２０により算出されたノルムＬ（式（６）参照）が、設定した閾値ｃ（式（８）参照）以下である第２副ベクトルβ*を有する第２エンティティを１次候補として選定する（図３／Ｓ１３２）。また、第３処理部１３０は、第２処理部１２０により算出された第１および第２ベクトルの内積Ａ*・Ｂ*が大きい第２ベクトルＢ*を有する第２エンティティを優先的に改訂発注先の２次候補（最終候補）として選定する（図３／Ｓ１３３）。また、第３処理部１３０は、第２エンティティの選定結果（改訂発注先の２次候補）を表す情報を承認端末２４０に送信（出力）する（図３／矢印Ａ２）。これに応じて承認端末２４０からサーバ１００に対して、承認および非承認の別が承認結果として送信される（図３／矢印Ａ３）。第３処理部１３０は、第２エンティティが改訂発注先として承認された場合、この第２エンティティの第２端末２２０に対して、ソフトウェアの改訂必要部分（当該部分のフォーマット）と、第１処理部１１０に入力された改訂要求情報に応じた当該部分の改定内容とを送信する（図３／矢印Ａ４）。
【００５７】
そして、第４処理部１４０が「第４処理」を実行する（図３／Ｓ１４０）。具体的には、第４処理部１４０は、第２端末２２０から発信された、第２エンティティによって改訂されたソフトウェア部分を受信し、当該改訂部分をその他のソフトウェア部分と組み合わせて改訂ソフトウェアを完成させる。また、第４処理部１４０は、改訂ソフトウェアを第３端末２３０に送信し（図３／矢印Ａ６）、その機能に問題がないか否かを検証させる。さらに、第４処理部１４０は、第３端末２３０から発信された当該検証結果を受信し（図３／矢印Ａ７）、機能に問題がない旨の検証結果が得られたことを確認してからこの改訂ソフトウェアを、依頼主である第１エンティティの第１端末２１０に送信する（図３／矢印Ａ８）。
【００５８】
本発明のソフトウェア管理システムによれば、第１ベクトルＡ*および第２ベクトルＢ*の内積Ａ*・Ｂ*が算出される（図３／Ｓ１２１）。第１ベクトルＡ*は、ソフトウェア部分のうち、第１エンティティの要求に応じて定まる改訂必要部分に応じた成分が正値になる一方、改訂不要部分に応じた成分が０になるように設定される（式（１））。すなわち、第１ベクトルＡ*の各成分ａiのうち、正値をとる成分は改訂が必要なソフトウェア部分に対応している一方、０値をとる成分は改訂が不要なソフトウェア部分に対応している（図４参照）。第２ベクトルＢ*は、ソフトウェア部分のうち、改訂適性に関する評価が高い部分に応じた成分ほど大きい正値をとるように設定されている（式（３））。すなわち、第２ベクトルＢ*の各成分ｂiのうち、大きい正値をとる成分は、第２エンティティの改訂適性の評価が高いソフトウェア部分に対応している。
【００５９】
したがって、第１および第２ベクトルの内積Ａ*・Ｂ*を選定基準とすることにより、第１エンティティが要求するソフトウェアの改訂内容に応じたソフトウェア部分を改訂する適性が高い第２エンティティが、当該ソフトウェア部分の改訂発注先として優先的に選定される（図３／Ｓ１３３）。そして、第１エンティティの要求に鑑みて適切に改訂されたソフトウェアを、この第１エンティティに対して提供することができる（図３／矢印Ａ８）。
【００６０】
例えば、図４に示されているようにソフトウェアがＮ個の部分に区分され、第１エンティティの改定要求がそのうち第ｉ部分（斜線）のみの改訂を必要とするものである場合、第１ベクトルＡ*は第ｉ成分のみが１で、残りの成分は０に設定される（式（１））。すなわち、第１ベクトルのＮ個の成分のうち、改訂必要部分に対応する第ｉ成分は１である一方、改訂不要部分に対応するその他の成分は０となるように第１ベクトルＡ*が設定される。また、第２エンティティＸ１の第２ベクトルＢ*の第ｉ成分ｂiが、第２エンティティＸ２のそれよりも大きい場合、第１ベクトルＡ*との内積が大きい第２ベクトルＢ*を有する第２エンティティＸ１が、他方の第２エンティティＸ２よりも優先的にソフトウェア部分の改訂発注先として選定される。これにより、第ｉ部分の改訂に関する評価が高い第２エンティティＸ１に、当該第ｉ部分の改訂が発注されうる。
【００６１】
また、第１副ベクトルα*と第２副ベクトルβ*との差分ベクトルのノルムＬが算出される（図３／Ｓ１２２）。第１副ベクトルα*および第２副ベクトルβ*は、第１および第２エンティティのそれぞれを取り巻く社会環境情報の各情報項目の情報内容に応じた数値を成分とするベクトルである（式（２）（５））。このノルムＬは、第１および第２エンティティの地理的意味での距離のほか、社会的または文化的観点からの類似または乖離の度合を表している。また、第１ベクトルＡ*は、前記のようにその各成分ａiのうち、値が１である（正値をとる）成分は改訂が必要なソフトウェア部分に対応している一方、値が０である成分は改訂が不要なソフトウェア部分に対応している。このため、改訂が必要なソフトウェア部分の重要性や、その改訂の難易度等が反映されるように重みベクトルＣ*の各成分の値ｃiが設定されることで、第１ベクトルＡ*および重みベクトルＣ*の内積に、改訂必要部分の重要性や、その改訂の難易度等が反映されるように閾値ｃが設定されうる（式（８））。
【００６２】
したがって、両者の差分ベクトルのノルムＬが、閾値ｃ以下であることを選定要件とすることにより、ソフトウェアの改訂必要部分の重要度等に応じた程度、第１エンティティの社会環境に適応する社会環境に取り囲まれている第２エンティティが当該部分の改定発注先として選定されうる（図３／Ｓ１３１）。
【００６３】
また、改訂発注先として選定された第２エンティティにソフトウェア部分の改訂を依頼することの承認を承認端末２４０との通信に基づいて得られた上で、その第２エンティティが正式に改定発注先として選定される（図３／矢印Ａ２，Ａ３，Ａ４）、これにより、ソフトウェア部分の改訂適性等とは別の事情が承認端末２４０による承認基準に反映されることで、当該事情に鑑みて適当な第２エンティティが改訂発注先として選定されうる。
【００６４】
なお、第２処理部１２０が、第１エンティティによる改訂ソフトウェアの数値による評価結果と、ソフトウェアを識別するためのソフトウェア識別情報とを第１端末２１０から受信し、このソフトウェア識別情報に基づいて第２エンティティを特定し、受信した評価結果に基づいてこの第２エンティティについての第２ベクトルＢ*を設定している。
【００６５】
これにより、第１エンティティによる改訂ソフトウェアに関する評価結果が、当該ソフトウェアの改訂に携わった第２エンティティの第２ベクトルＢ*に反映されうる。また、第１エンティティによる評価が高かったソフトウェアの改訂に携わった第２エンティティが、その後、同様のソフトウェア部分の改訂に際して優先的に改訂発注先として選定される可能性が高められる。そして、第１エンティティによる要求に応じて、必要部分の改訂への適性が高い第２エンティティによってソフトウェアが改訂されうる。
【００６６】
また、第２処理部１２０が、第２端末２２０から発信された、第２エンティティによるソフトウェア部分の改訂に関する数値による自己評価結果を受信し、受信した自己評価結果に基づいてこの第２エンティティについての第２ベクトルＢ*を設定している。
【００６７】
これにより、ソフトウェアの改訂に携わった第２エンティティによる当該改訂に関する自己評価結果が、その第２エンティティの第２ベクトルＢ*に反映されうる。また、第２エンティティによってのみ評価されうるソフトウェア改訂に関する作業量の許容範囲や、１日あたりに可能な作業量等の事情が考慮された形で、第２エンティティのソフトウェア改訂に関する適性が評価されうる。
【図面の簡単な説明】
【００６８】
【図１】本発明のソフトウェア管理システムの構成例示図
【図２】本発明のソフトウェア管理システムの機能説明図
【図３】本発明のソフトウェア管理システムの機能例示図
【図４】ソフトウェアの構成例示図
【符号の説明】
【００６９】
１００‥サーバ（ソフトウェア管理システム）、１０２‥記憶部、１１０‥第１処理部、１２０‥第２処理部、１３０‥第３処理部、１４０‥第４処理部、２１０‥第１端末、２２０‥第２端末、２３０‥第３端末、２４０‥承認端末
【図１】
2007115163.tif 000003
【図２】
2007115163.tif 000004
【図３】
2007115163.tif 000005
【図４】
2007115163.tif 000006