(57)【要約】      （修正有）【課題】利用者が求めるソフトウェア部品を的確に発見することができるソフトウェア部品検索システムを提供すること。【解決手段】ソフトウェア部品、部品入出力定義を記憶装置106に格納する格納手段と104、利用者から要求された検索入出力定義に基づいて記憶装置106に格納されているソフトウェア部品を検索し、検索されたソフトウェア部品をソフトウェア部品候補記憶部107に格納する候補検索手段105と、全てのソフトウェア部品を順次取り出して動作させ、実行環境109上で動作させているソフトウェア部品に対して評価を実施し、評価結果報告データを作成する評価項目実行手段108と、前記評価結果報告データを格納する評価結果記憶部110と、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力する評価結果検証手段111を有する。【選択図】図１
2007164241.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア部品提供者から入力装置を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を記憶装置に格納する格納手段と、
ソフトウェア部品利用者から入力装置を介して入力された前記部品入力に与えるべきデータの型である検索入力定義、および前記部品出力として受け取りたいデータの型である検索出力定義に基づいて前記記憶装置に格納されているソフトウェア部品を検索する候補検索手段と、
前記候補検索手段によって検索されたソフトウェア部品を格納するソフトウェア部品候補記憶部と、
前記ソフトウェア候補記憶部に格納されている全てのソフトウェア部品を順次取り出し、１つずつ所定の実行環境上で動作させ、当該実行環境上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成する評価項目実行手段と、
前記評価結果報告データを格納する評価結果記憶部と、
前記評価結果記憶部に格納されている全ての評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力する評価結果検証手段
を有することを特徴とするソフトウェア部品検索システム。
【請求項２】
利用者が必要とする機能仕様情報は、前記評価項目表と、前記検索入力定義と、前記検索出力定義に記述され、
利用者が要求する品質レベルは評価結果条件テーブルに記述され、
前記記述された評価項目表、検索入力定義、検索出力定義、及び評価結果条件データは前記入力装置を介して前記候補検索手段に送出され、
前記候補検索手段は、前記記憶装置に格納されている全てのソフトウェア部品に対となる部品入力定義及び部品出力定義を順次取得し、取得した部品入力定義と前記検索入力定義とが完全に一致し、取得した部品出力定義に検索出力定義が完全に内包されている場合、取得した部品入力定義と部品出力定義とに対応するソフトウェア部品を前記記憶装置から取得し、取得したソフトウェア部品を前記ソフトウェア部品候補記憶部に格納することを特徴とする請求項1記載のソフトウェア部品検索システム。
【請求項３】
評価項目実行手段は、
ソフトウェア候補記憶部に格納されている全てのソフトウェア部品を順次取り出し、１つずつ前記実行環境上にロードし、
前記実行環境上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表に記載されている入力データをソフトウェア部品に入力し、
得られた出力が前記評価項目表に記載されている出力データと一致した場合、当該評価項目を合格とし、一致していなかった場合に不合格とする旨の評価結果報告データを出力することを特徴とする請求項1又は２記載のソフトウェア部品検索システム。
【請求項４】
前記評価項目の合否判定処理では、入力データを割り当てることができる全ての組み合わせについて評価し、合格した組み合わせの結果をその評価項目の結果とすることを特徴とする請求項３記載のソフトウェア部品検索システム。
【請求項５】
前記評価結果報告データが評価結果条件を満たす場合、当該評価結果報告データと、その評価結果報告データに対となるソフトウェア部品とが評価結果記憶部に格納され、全ての評価結果報告データについての検証が終了すると、前記評価結果検証手段は前記評価結果記憶部に格納されている全ての評価結果報告データと、その評価結果報告データと対となるソフトウェア部品とを出力することを特徴とする請求項４記載のソフトウェア部品検索システム。
【請求項６】
前記部品入力定義には、[型名：個数 [, 型名：個数]・・・]という書式で記述され、部品出力定義には、[型名：個数：出力先 [, 型名：個数：出力先]・・・]という書式で記述されることを特徴とする請求項１〜５のいずれかに記載のソフトウェア部品検索システム。
【請求項７】
前記評価項目表は、評価項目の番号と、入力データと、その入力データを与えたときに出力されるデータとの列を持つ表であることを特徴とする請求項１〜６のいずれかに記載のソフトウェア部品検索システム。
【請求項８】
前記評価結果検証手段は前記全ての評価結果報告データと、前記対となるソフトウェア部品とを、所定の通信手段を介して出力装置に出力することを特徴とする請求項４記載のソフトウェア部品検索システム。
【請求項９】
ソフトウェア部品提供者から入力装置を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を記憶部に格納し、ソフトウェア部品利用者から入力装置（102）を介して入力された前記部品入力に与えるべきデータの型である検索入力定義、および前記部品出力として受け取りたいデータの型である検索出力定義前記検索入力定義および前記検索出力定義に基づいて前記記憶部に格納されているソフトウェア部品を検索するソフトウェアコンポーネント検索手段と、
前記ソフトウェアコンポーネント検索手段によって検索されたソフトウェア部品を格納するソフトウェア部品候補記憶部と、
前記ソフトウェア候補記憶部に格納されている全てのソフトウェア部品を順次取り出し、１つずつ所定の実行環境上で動作させ、当該実行環境上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成する評価項目実行手段と、
前記評価結果報告データを格納する評価結果記憶部と、
前記評価結果記憶部に記憶されている全ての評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力する評価結果検証手段
を有することを特徴とするソフトウェア部品検索システム。
【請求項１０】
ソフトウェア部品提供者から入力装置を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を利用してソフトウェア部品を供給するコンピュータシステムにおけるソフトウェア部品検索方法において、
前記コンピュータシステムが、
前記ソフトウェア部品、前記部品入力定義、及び前記部品出力定義を格納するステップと、
ソフトウェア部品利用者が要求するソフトウェア部品への入力に与えられるべきデータの型である検索入力定義、および部品出力として受け取りたいデータの型である検索出力定義に基づいてソフトウェア部品を検索するステップと、
前記検索されたソフトウェア部品を格納するステップと、
前記ソフトウェア候補記憶部に格納されている全てのソフトウェア部品を順次取り出し、１つずつ所定の実行環境上で動作させるステップと、
当該実行環境上で動作させているソフトウェア部品に対して、利用者にて入力された評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成するステップと、
前記評価結果報告データを格納するステップと、
前記格納された全評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力するステップ
を有することを特徴とするソフトウェア部品検索方法。
【請求項１１】
利用者が必要とする機能仕様情報は前記評価項目表と、前記検索入力定義と、前記検索出力定義に記述され、利用者が要求する品質レベルは前記評価結果条件テーブルに記述され、
前記候補検索ステップでは、記述された評価項目表、検索入力定義、検索出力定義、及び評価結果条件データを受け、前記記憶装置に格納されている全てのソフトウェア部品に対となる部品入力定義及び部品出力定義を順次取得し、取得した部品入力定義と前記検索入力定義とが完全に一致し、取得した部品出力定義に検索出力定義が完全に内包されている場合、取得した部品入力定義と部品出力定義とに対応するソフトウェア部品を前記記憶装置から取得し、取得したソフトウェア部品を格納することを特徴とする請求項１０記載のソフトウェア部品検索方法。
【請求項１２】
前記評価結果報告データを作成するステップでは、
格納されている全てのソフトウェア部品を順次取り出し、１つずつ前記実行環境上にロードし、
前記実行環境上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表に記載されている入力データをソフトウェア部品に入力し、
得られた出力が前記評価項目表に記載されている出力データと一致した場合、当該評価項目を合格とし、一致していなかった場合に不合格とする旨の評価結果報告データを出力する
ことを特徴とする請求項１０又は１１記載のソフトウェア部品検索方法。
【請求項１３】
前記評価項目の合否判定ステップでは、入力データを割り当てることができる全ての組み合わせについて評価し、合格した組み合わせの結果をその評価項目の結果とすることを特徴とする請求項１２記載のソフトウェア部品検索方法。
【請求項１４】
前記評価結果報告データが評価結果条件を満たす場合、当該評価結果報告データと、その評価結果報告データに対となるソフトウェア部品とを評価結果記憶部に格納し、全ての評価結果報告データについての検証が終了すると、前記評価結果記憶部に格納されている全ての評価結果報告データと、その評価結果報告データと対となるソフトウェア部品とを出力するステップを有することを特徴とする請求項１３記載のソフトウェア部品検索方法。
【請求項１５】
コンピュータに、
ソフトウェア部品提供者から入力装置を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を格納するステップと、
ソフトウェア部品利用者が要求するソフトウェア部品への入力に与えられるべきデータの型である検索入力定義、および部品出力として受け取りたいデータの型である検索出力定義に基づいてソフトウェア部品を検索するステップと、
前記検索されたソフトウェア部品を格納するステップと、
前記ソフトウェア候補記憶部に格納されている全てのソフトウェア部品を順次取り出し、１つずつ所定の実行環境上で動作させるステップと、
当該実行環境上で動作させているソフトウェア部品に対して、利用者にて入力された評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成するステップと、
前記評価結果報告データを格納するステップと、
前記格納された全評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力するステップ
を実行させることを特徴とするプログラム。
【請求項１６】
請求項１５いずれかに記載のプログラムを記録したことを特徴とするコンピュータ読取可能な情報記録媒体（コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、または、半導体メモリを含む。）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア部品検索システム、方法、プログラム、記憶媒体に関し、特に情報処理装置を利用し、利用者が求めるソフトウェア部品を的確に発見することができるソフトウェア部品検索システム、方法、プログラム、記憶媒体に関する。
【背景技術】
【０００２】
従来のソフトウェア部品検索システムの一例が以下の特許文献１に記載されている。図１０に示すように、この従来のソフトウェア部品検索システムは、ソフトウェアコンポーネント検索システム(1001)と、入力装置(1002)と、出力装置(1003)と、格納手段(1004)と、検索手段(1005)と、記憶装置(1006)とから構成される。
【０００３】
このような構成を有する従来のソフトウェア検索方法は次のように動作する。格納手段(1004)は、入力装置(1002)から格納データとして入力されたソフトウェア部品と、そのソフトウェア部品の特徴を表現したメタデータとの組を記憶装置(1006)に格納する。検索手段(1005)は、記憶装置(1006)に記憶されている全メタデータの中から、入力装置(1003)から検索条件として入力されたメタデータに合致するメタデータを検索する。検索手段(1005)は、入力装置(1003)から検索条件として入力されたメタデータと合致した記憶装置(1006)内のメタデータの対となるソフトウェア部品を取得し、出力装置(1003)に出力する。
【０００４】
上記のように動作する従来のソフトウェア部品検索方法によって検索されたソフトウェア部品が、利用者が求めている部品であるかどうかは、利用者自身の手で確認する必要がある。
【０００５】
また、その確認作業では、マニュアル等のドキュメント類による利用方法の確認や、実際に評価を行い、動作を確認する。ソフトウェア部品群の中に類似した部品が複数ある場合、最も適した部品を見つけるためには、全ての部品に対して確認作業を別に行わなければならない。
【０００６】
【特許文献１】特開２００５−７１２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のソフトウェア部品検索手法によって見つかったソフトウェア部品は、利用者が求める品質を満たすかどうか利用者自身の手で確認する必要があり、この確認作業にかかる工数はソフトウェア部品リポジトリ内の類似ソフトウェア部品の数に比例して増大するという問題が生ずる。
【０００８】
また、ソフトウェア部品提供者が部品の評価を行い、その評価結果をソフトウェア部品の情報として添付し、提供者により設計・作成された評価項目を実施することで品質評価を得たとしても、その得られた評価結果としての品質が利用者の求める品質を満たすかどうかまで判断できない。
【０００９】
すなわち、部品提供者によって実施された評価項目によって保証される品質レベルと、利用者が求める品質レベルを示す定量的かつ的確な指標が無く、利用者は実施された評価項目の詳細を確認しなければ、その評価項目によって保障される品質レベルを判断することができない。
【００１０】
さらに、ソフトウェア部品の品質を保証するために実施された評価は、部品提供者が考える仕様に対する評価であり、部品利用者が求めている仕様に対する品質を保証するものとは限らず、部品提供者と部品利用者間で生じる仕様の差異を埋めることは困難であり、結局のところ上記の確認作業が必須となってしまう。
【００１１】
ところが、提供者が実施した評価項目の詳細を全て確認することは非常に困難である。そのため、従来の手法では、利用者が検索によって取得したソフトウェア部品を利用者自身の手で評価する必要があった。
【００１２】
上記したように、取得したソフトウェア部品の品質を確かめるための確認工程にかかるコストは高く、そのコストは検索によって見つかる類似部品の数に比例して増大するという課題があった。
【００１３】
本発明は、上記課題を解決し、利用者が求めるソフトウェア部品を的確に発見することができるソフトウェア部品検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１５】
本発明の第１の態様によるソフトウェア部品検索システムは、ソフトウェア部品提供者から入力装置（102）を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を記憶装置（106）に格納する格納手段(104)と、ソフトウェア部品利用者から入力装置（102）を介して入力された前記部品入力に与えるべきデータの型である検索入力定義、および前記部品出力として受け取りたいデータの型である検索出力定義に基づいて前記記憶装置（106）に格納されているソフトウェア部品を検索する候補検索手段（105）と、前記候補検索手段（105）によって検索されたソフトウェア部品を格納するソフトウェア部品候補記憶部（107）と、前記ソフトウェア候補記憶部（107）に格納されている全てのソフトウェア部品を順次取り出し、１つずつ実行環境（109）上で動作させ、当該実行環境（109）上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成する評価項目実行手段（108）と、前記評価結果報告データを格納する評価結果記憶部（110）と、前記評価結果記憶部（110）に格納されている全ての評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力する評価結果検証手段（111）を有することを特徴とする。
【００１６】
さらに、本発明の第２の態様によるソフトウェア部品検索システムは、利用者が必要とする機能仕様情報が、前記評価項目表と、前記検索入力定義と、前記検索出力定義に記述され、利用者が要求する品質レベルは評価結果条件テーブルに記述され、前記記述された評価項目表、検索入力定義、検索出力定義、及び評価結果条件データは前記入力装置（102）を介して前記候補検索手段に送出され、
前記候補検索手段（105）は、前記記憶装置（106）に格納されている全てのソフトウェア部品に対となる部品入力定義及び部品出力定義を順次取得し、取得した部品入力定義と前記検索入力定義とが完全に一致し（ステップF12）、取得した部品出力定義に検索出力定義が完全に内包されている場合（ステップF14）、取得した部品入力定義と部品出力定義とに対応するソフトウェア部品を前記記憶装置（102）から取得し、取得したソフトウェア部品を前記ソフトウェア部品候補記憶部に格納する（ステップF15）ことを特徴とする。
【００１７】
さらに、本発明の第３の態様によるソフトウェア部品検索システムは、評価項目実行手段（108）が、ソフトウェア候補記憶部（107）に格納されている全てのソフトウェア部品を順次取り出し（ステップF21）、１つずつ実行環境（109）上にロードし（ステップF22）、実行環境（109）上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表に記載されている入力データをソフトウェア部品に入力し、得られた出力が前記評価項目表に記載されている出力データと一致した場合、当該評価項目を合格とし、一致していなかった場合に不合格とする（ステップF23）旨の評価結果報告データを出力することを特徴とする。
【００１８】
さらに、本発明の第４の態様によるソフトウェア部品検索システムは、前記評価項目の合否判定処理では、入力データを割り当てることができる全ての組み合わせについて評価し、合格した組み合わせの結果をその評価項目の結果とすることを特徴とする。
【００１９】
さらに、本発明の第５の態様によるソフトウェア部品検索システムは、前記評価結果報告データが評価結果条件を満たす場合、当該評価結果報告データと、その評価結果報告データに対となるソフトウェア部品とが評価結果記憶部（110）に格納され（ステップF33）、全ての評価結果報告データについての検証が終了すると、前記評価結果検証手段（109）は前記評価結果記憶部（110）に格納されている全ての評価結果報告データと、その評価結果報告データと対となるソフトウェア部品とを出力する（ステップF35）ことを特徴とする。
【００２０】
また、本発明の第６の態様によるソフトウェア部品検索方法は、ソフトウェア部品提供者から入力装置（102）を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を利用してソフトウェア部品を供給するコンピュータシステムにおけるソフトウェア部品検索方法において、前記コンピュータシステムが、前記ソフトウェア部品、前記部品入力定義、及び前記部品出力定義を格納するステップと、ソフトウェア部品利用者が要求するソフトウェア部品への入力に与えられるべきデータの型である検索入力定義、および部品出力として受け取りたいデータの型である検索出力定義に基づいてソフトウェア部品を検索するステップと、前記検索されたソフトウェア部品を格納するステップと、前記ソフトウェア候補記憶部（107）に格納されている全てのソフトウェア部品を順次取り出し、１つずつ実行環境（109）上で動作させるステップと、当該実行環境（109）上で動作させているソフトウェア部品に対して、利用者にて入力された評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成するステップと、前記評価結果報告データを格納するステップと、前記格納された全評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力するステップを有することを特徴とする。
【００２１】
また、本発明の第７の態様によるプログラムは、コンピュータに、
ソフトウェア部品提供者から入力装置（102）を介して入力されたソフトウェア部品、部品入力定義、及び部品出力定義を格納するステップと、ソフトウェア部品利用者が要求するソフトウェア部品への入力に与えられるべきデータの型である検索入力定義、および部品出力として受け取りたいデータの型である検索出力定義に基づいてソフトウェア部品を検索するステップと、前記検索されたソフトウェア部品を格納するステップと、前記ソフトウェア候補記憶部（107）に格納されている全てのソフトウェア部品を順次取り出し、１つずつ実行環境（109）上で動作させるステップと、当該実行環境（109）上で動作させているソフトウェア部品に対して、利用者にて入力された評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成するステップと、前記評価結果報告データを格納するステップと、前記格納された全評価結果報告データを順次取り出し、前記評価結果報告データが前記利用者から入力された評価結果条件を満たす場合、その評価結果報告データと、当該評価結果報告データと対となるソフトウェア部品とを出力するステップを実行させることを特徴とする。
【００２２】
また、本発明の第７の態様による情報記録媒体は、前記プログラムを記録したことを特徴とするコンピュータ読取可能な情報記録媒体（コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、または、半導体メモリを含む。）である。
【発明の効果】
【００２３】
本発明によれば、利用者が求めている入力とそれに対する出力を検索の条件にし、かつ、指定した評価に合格したものを検索結果として提供するため、利用者が求めるソフトウェア部品を的確に発見することができる。
【００２４】
すなわち、アプリケーション開発者が求めている品質を満たすソフトウェア部品を検索するために、入出力のデータ型を指定してソフトウェア部品の候補を取得し、指定した評価項目を実施してその評価結果によって求めている品質を満たすソフトウェア部品に絞り込みを行い、利用者が作成した評価項目をもとにソフトウェア部品が評価され、検索結果として評価の結果を利用者に提供することによって、利用者は自身が要求する品質を満たすソフトウェア部品を取得することができる。
【００２５】
又、本発明によれば、利用者に提供されるソフトウェア部品は、利用者自身が指定した評価項目について評価されているため、利用者が求める仕様・品質を満たしているものと判断できるため、ソフトウェア部品提供者が、仕様の認識違いによる利用者からの不当な責任追及が無くなる。
【００２６】
又、本発明によれば、既存のソフトウェアコンポーネント検索システムを利用すれば、従来のソフトウェア部品検索システム及びそのシステムに蓄積されているソフトウェア部品を変更することなく導入できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明に係るソフトウェア部品検索システムの第１の実施の形態について図面を参照して説明する。なお、本実施の形態ではJava（登録商標）言語（Sun Microsystems社が開発したプログラミング言語）によって記述されたソフトウェア部品の検索のシステム及び方法について説明する。
【００２８】
図１に示すように、本実施の形態に係るソフトウェア部品検索システム(100)は、ソフトウェア部品検索部（101）と、入力装置（102）と、出力装置（103）と、格納手段（104）と、候補検索手段（105）と、記憶装置（106）と、ソフトウェア部品候補記憶部（107）と、評価項目実行手段（108）と、実行環境（109）と、評価結果記憶部（110）と、評価結果検証手段（111）とを有している。
【００２９】
ソフトウェア部品検索部（101）は、格納手段（104）と、候補検索手段（105）と、ソフトウェア部品候補記憶部（107）と、評価項目実行手段（108）と、評価結果記憶部（110）と、評価結果検証手段（111）とから構成される。評価項目実行手段（108）は実行環境（109）を持つ。記憶装置（106）には、ソフトウェア部品と、そのソフトウェア部品に対する部品入力定義と、そのソフトウェア部品に対する部品出力定義とが格納される。
【００３０】
本実施の形態で扱うソフトウェア部品は、論理ブロックと、メソッドと、クラスとから構成される。ここで、論理ブロックとはプログラム中のループ処理や分岐処理等の、１つ以上のJava（登録商標）言語の命令文のかたまりである。１つの論理ブロックが持つ入力は論理ブロック中で使用する変数であり、出力は変数の値の変化を意味する。メソッドとはJava（登録商標）のメソッドを意味し、あらかじめ決められた名前と引数を持つ処理で、内部には０個以上の論理ブロックを含むクラスが持つ機能である。入力は引数を意味し、出力は戻り値となる。クラスとはJava（登録商標）のクラスを意味し、０個以上のメソッドを持ち、０個以上のデータを有するものを示す。入出力はクラスが持つ各メソッドの入出力となる。また、それぞれのソフトウェア部品の出力には、ファイルへの出力や、標準出力への出力も含まれる。
【００３１】
部品入力定義には、入力データの型と、そのデータの個数との組を０個以上記述する。部品入力定義には、例えば[型名：個数 [, 型名：個数]・・・]という書式で記述する。
【００３２】
部品出力定義には、出力データの型と、そのデータの個数と、出力先との組を０個以上記述する。部品出力定義には、例えば[型名：個数：出力先 [, 型名：個数：出力先]・・・]という書式で記述する。出力先には、例えば標準出力や、ファイルや、変数などを指定することができる。
【００３３】
入力装置（102）には、評価項目表と、評価結果条件と、検索入力定義と、検索出力定義との組をデータとして１個以上入力する。
【００３４】
評価項目表は、図７に示されるように、評価項目の番号と、入力データと、その入力データを与えたときに出力されるデータとの列を持つ表である。
【００３５】
評価結果条件には、図８に示されるように、例えば実行時間条件や、I/O（Input/Output）回数といった各評価項目に対する結果条件を０個以上記述することができる。さらに、許容合格率を０個または１個記述することができる。実行時間条件には、ソフトウェア部品に入力データを与え出力データが得られるまでに最大でどれだけの時間を費やしても良いかを示す。I/O回数には、ソフトウェア部品に入力データを与え出力データが得られるまでに発生してもよいI/Oの回数を示す。許容合格率には、評価項目表に記された項目の数のうち、何割の項目が合格すべきかを示す。
【００３６】
なお、検索入力定義は、部品入力定義と記述される内容・書式は同じである。検索出力定義は、部品出力定義と記述される内容・書式は同じである。
【００３７】
出力装置（103）からは、ソフトウェア部品と、評価結果報告書（以下、評価結果報告データと呼ぶ。）との組がデータとして０個以上出力される。
【００３８】
図９に示されるように、評価結果報告書（以下、評価結果報告データと呼ぶ。）には、実施した評価項目の番号と、実施した評価項目の合否と、実行時間と、I/O回数と、その他評価項目実施時に計測した評価結果との列をもつ表である。上記した各装置はそれぞれ概略以下のように動作する。
【００３９】
格納手段（104）は、ソフトウェア部品提供者から入力装置（102）を通じて与えられたソフトウェア部品と、部品入力定義と、部品出力定義とを記憶装置（106）に格納する。
【００４０】
候補検索手段（105）は、利用者から入力装置（102）を通じて与えられた検索入力定義と、検索出力定義によって、記憶装置（106）に蓄積されているソフトウェア部品を検索する。
【００４１】
候補検索手段（105）は、検索によって見つかったソフトウェア部品をソフトウェア部品候補記憶部（107）に格納する。
【００４２】
評価項目実行手段（108）は、ソフトウェア候補記憶部（107）に記憶されている全てのソフトウェア部品を順次取り出し、１つずつ実行環境（109）上で動作させる。
【００４３】
評価項目実行手段（109）は、実行環境（109）上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表にしたがって全ての評価項目の評価を実施し、評価結果報告データを作成し、評価結果記憶部（110）に格納する。
【００４４】
評価結果検証手段（111）は、評価結果記憶部（110）に記憶されている全ての評価結果報告データを順次取り出し、評価結果条件を満たしている評価結果報告データと、その評価結果報告データと対となるソフトウェア部品との組を、出力装置（103）に出力する。
【００４５】
次に、図１、図７、図８、及び図９、並びに、図４、図５、及び図６のフローチャートを参照して本発明の第1の実施の形態に係るソフトウェア部品検索システムの動作について詳細に説明する。
【００４６】
ソフトウェア部品提供者は、格納したいソフトウェア部品と、そのソフトウェア部品に対する部品入力定義と、そのソフトウェア部品に対する部品出力定義とを入力装置（102）に格納部品として入力する。
【００４７】
格納手段（104）は、ソフトウェア部品提供者から入力装置（102）を通じて与えられたソフトウェア部品と、部品入力定義と、部品出力定義とを記憶装置（106）に格納する。
【００４８】
利用者は、利用者が必要としている機能仕様を評価項目表と、検索入力定義と、検索出力定義に記述し、求める品質のレベルを評価結果条件に記述する。
【００４９】
利用者は、記述した評価項目表と、検索入力定義と、検索出力定義と、評価結果条件とを入力装置（102）に検索条件として入力する。
【００５０】
候補検索手段（105）は、利用者から入力装置（102）を通じて与えられた検索入力定義と、検索出力定義を受け取る。
【００５１】
図４を参照すると、候補検索手段（105）は、記憶装置（106）に蓄積されている全てのソフトウェア部品に対となる部品入力定義と部品出力定義とを順次取得し（ステップF11及び、ステップF13）、取得した部品入力定義と検索入力定義とが完全に一致し（ステップF12）、取得した部品出力定義に検索出力定義が完全に内包されている場合（ステップF14）、取得した部品入力定義と部品出力定義とに対応するソフトウェア部品を記憶装置（102）から取得し、取得したソフトウェア部品をソフトウェア部品候補記憶部に格納する（ステップF15）。
【００５２】
図５を参照すると、評価項目実行手段（108）は、ソフトウェア候補記憶部（107）に記憶されている全てのソフトウェア部品を順次取り出し（ステップF21）、１つずつ実行環境（109）上にロードする（ステップF22）。
【００５３】
評価項目実行手段（109）は、実行環境（109）上で動作させているソフトウェア部品に対して、利用者から与えられた評価項目表に記載されている入力データをソフトウェア部品に入力し、得られた出力が評項目表に記載されている出力データと一致していた場合、その評価項目を合格したものとみなし、一致していなかった場合に不合格とみなす（ステップF23）。
【００５４】
しかし、評価項目表に記載される入力データは、ソフトウェア部品のどの入力となるかを限定しない。例えば、評価項目表には３、４、“＋”などと記述しており、ソフトウェア部品がint calc(int a, String o, int b)のようなメソッドを持っていたとする。このとき、Stringである“＋”は一意にString oへ割り当てられるが、３及び、４はint aまたは、int bのどちらに割り当てるべきか決められていない。そこで、ステップF23の処理は、入力データを割り当てることができる全ての組み合わせについて評価し、合格した組み合わせの結果をその評価項目の結果とする。つまり、上記の例の場合、calc(３,“＋”,４)及び、calc（４,“＋”,３）の両方を評価し、その評価結果が評価項目表に記載されている出力データと一致した場合に、その評価項目の結果を合格とする。
【００５５】
各評価項目に記載されている評価を実施したときの合格/不合格を評価結果報告データに記載する（ステップF24）。作成した評価結果報告データを評価結果記憶部（110）に格納する（ステップF25）。
【００５６】
図６を参照すると、評価結果検証手段（111）は、評価結果記憶部（110）に記憶されている全ての評価結果報告データを順次取り出し（ステップF31）、評価結果報告データに記載されている評価結果が、利用者から入力された評価結果条件を満たしているかどうかを確認する（ステップF32）。
【００５７】
例えば、図のような評価結果条件が利用者から入力されていた場合、評価結果報告データが評価結果条件を満たす条件は「評価結果報告データに記載されている合否の項目が合格で、評価結果報告データの実行時間が評価結果条件の実行時間より短く、評価結果報告データのI/O回数が評価結果条件のI/O回数よりも小さい列の数の総数が、（評価結果報告データの全項目数）×（評価結果条件に記載されている許容合格率/１００）より大きい」となる。
【００５８】
評価結果報告データが評価結果条件を満たす場合、評価結果報告データと、その評価結果報告データに対となるソフトウェア部品との組データを評価結果リスト（評価結果テーブル）に格納する（ステップF33）。全ての評価結果報告データについてステップF32の検証を終えると、評価結果検証手段（109）は評価結果リストに格納されている全ての評価結果報告データと、その評価結果報告データと対となるソフトウェア部品との組を、出力装置（103）に出力する（ステップF35）。
【００５９】
本実施の形態に係るソフトウェア部品検索システムによれば、利用者は、入出力と評価項目を指定することで、求めている仕様を明確に表現することができる。入出力と評価によってソフトウェア部品を選定することで、最終的に提供されたソフトウェア部品は指定した仕様を満たしている。さらに、結果許容値を指定することで、ソフトウェア部品の品質のレベルを指定することができ、結果として得られた評価レポートを参照して不合格となった項目を合格するよう部品を修正することで、利用者が求めている全ての仕様を満たすソフトウェア部品を手に入れることができる。
【００６０】
以下、本発明の第２の実施の形態に係るソフトウェア部品検索システムの構成について図２を参照して詳細に説明する。図２に示されるように、本実施の形態に係るソフトウェア部品検索システム(200)は、ソフトウェア部品検索部（201）と、入力装置（202）と、出力装置（203）と、格納手段（204）と、候補検索手段（205）と、記憶装置（206）と、ソフトウェア部品候補記憶部（207）と、評価項目実行手段（208）と、実行環境（209）と、評価結果記憶部（210）と、評価結果検証手段（211）と、通信手段（212）とから構成されている。
【００６１】
次に、本実施の形態に係るソフトウェア部品検索システム(200)の動作について詳細に説明する。基本的に、上記した本発明の第１の実施の形態と同様の動作となる。入力装置（202）及び、出力装置（203）を受け渡す際に、通信手段（212）を介してソフトウェア部品検索部（201）との通信を行う。通信手段（215）の例として、情報通信網を利用したWeb経由や電子メール等が挙げられる。
【００６２】
次に、本実施の形態における効果は上記した本発明の第１の実施の形態における効果と同様である。
【００６３】
以下、本発明の第３の実施の形態に係るソフトウェア部品検索システム(300)の構成について図３を参照して詳細に説明する。図３に示されるように、ソフトウェア部品検索システム(300)は、ソフトウェア部品検索部（301）と、入力装置（302）と、出力装置（303）と、候補実行手段（304）と、ソフトウェアコンポーネント検索システム（305）と、ソフトウェア部品候補記憶部（306）と、評価項目実行手段（307）と、実行環境（308）と、評価結果記憶部（309）と、評価結果検証手段（310）とから構成されている。
【００６４】
次に、本実施の形態に係るソフトウェア部品検索システム(300)の動作について詳細に説明する。基本的に、上記した本発明の第１の実施の形態に係るソフトウェア部品検索システムと同様の動作となる。上記した特許文献１に開示されているような従来の手法を用いたソフトウェアコンポーネント検索システム（305）は、本発明の第１の実施例における格納手段（102）及び、候補検索手段（103）及び、記憶装置（104）と同様の機能を有している。ソフトウェア部品検索部（301）は、ソフトウェアコンポーネント検索システムによって見つかったソフトウェア部品に対し、評価項目表に記載された評価項目にしたがって評価を実施し、評価結果条件にしたがって評価結果を検証することで、利用者が求めている品質を満たしているソフトウェア部品に絞り込む。
【００６５】
本発明の第３の実施の形態における効果は、従来のソフトウェア部品検索システム及びそのシステムに蓄積されているソフトウェア部品を変更することなく導入できることにある。さらに、上記した本発明の第１の実施の形態における効果と同様の効果がある。
【００６６】
また、発明対象としては、上記ソフトウェア部品検索システムが実行するソフトウェア部品検索方法における各ステップをコンピュータに実行させるプログラムも含み、このプログラムはプログラムそのものであってもよいし、このプログラムがコンピュータで読み取り可能な記録媒体に格納されているものであってもよい。
【００６７】
本発明では、この記録媒体として、マイクロコンピュータで処理が行なわれるために必要なメモリ、例えばＲＯＭのようなものそのものがプログラムメディアであってもよいし、また、図示していない外部記憶装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはマイクロコンピュータがアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにロードされて、そのプログラムが実行される方式であってもよい。このロード用のプログラムは予め本体装置に格納されているものとする。
【００６８】
ここで、上記プログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、ＦＤ（フレキシブルディスク）やＨＤ（ハードディスク）等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ等の光ディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００６９】
また、本発明においては、インターネットを含む通信ネットワークと接続可能なシステム構成であることから、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め装置本体に格納しておくか、あるいは別の記録媒体からインストールされるものであってもよい。
【００７０】
さらに、本発明では、プログラム自体として、マイクロコンピュータで実行される処理そのものであってもよいし、あるいはインターネットを含む通信ネットワークとアクセスすることで取り込める、あるいは取り込めたものであってもよいし、こちらから送り出すものであってもよい。
【００７１】
また、上記した各実施の形態は、本発明を好適に実施した形態の一例に過ぎず、本発明は、その主旨を逸脱しない限り、種々変形して実施することが可能なものである。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施の形態に係るソフトウェア部品検索システムの構成を示しブロック図である。
【図２】本発明の第２の実施の形態に係るソフトウェア部品検索システムの構成を示したブロック図である。
【図３】本発明の第３の実施の形態に係るソフトウェア部品検索システムの構成を示したブロック図である。
【図４】候補検索手段の処理動作を説明するためのフローチャートである。
【図５】評価項目実行手段の処理動作を説明するためのフローチャートである。
【図６】評価結果検証手段の処理動作を説明するためのフローチャートである。
【図７】評価項目表の一記述例を示した図である。
【図８】評価結果条件の一記述例を示した図である。
【図９】評価結果報告書の一記述例を示した図である。
【図１０】従来技術に係るソフトウェアコンポーネント検索システムの構成を示した図である。
【符号の説明】
【００７３】
１００，２００，３００    ソフトウェア部品検索システム
１０１，２０１，３０１    ソフトウェア部品検索部
１０２，２０２，３０２    入力装置
１０３，２０３，３０３    出力装置
１０４，２０４    格納手段
１０５，２０５    候補検索手段
１０６，２０６    記憶装置
１０７，２０７，３０６    ソフトウェア部品候補記憶部
１０８，２０８，３０７    評価項目実行手段
１０９，２０９，３０８    実行環境
１１０，２１０，３０９    評価結果記憶部
１１１，２１１，３１０    評価結果検証手段
２１２    通信手段
３０４    検索実行手段
３０５    ソフトウェアコンポーネント検索システム
【図１】
2007164241.tif 000003
【図２】
2007164241.tif 000004
【図３】
2007164241.tif 000005
【図４】
2007164241.tif 000006
【図５】
2007164241.tif 000007
【図６】
2007164241.tif 000008
【図７】
2007164241.tif 000009
【図８】
2007164241.tif 000010
【図９】
2007164241.tif 000011
【図１０】
2007164241.tif 000012