(57)【要約】【課題】部品を検索した際に、当該部品が開発者の要求する条件を満たしている部品であることを容易に理解することが可能となるソフトウェア部品再利用支援システムを提供する。【解決手段】開発者端末１０１から開発者によって入力されたデータが部品支援装置１０３へと送信されると、当該データはデータ受信機能１０７によって受信される。次に、受信されたデータと開発用構成管理リポジトリ１０２に格納されているテストデータとに基づいて部品構成管理リポジトリ１０４に格納されている部品群から開発者の要求を満足する部品が検索される。続いて、開発者の要求を満足した部品のソースコード、仕様情報が開発者端末１０１へと送信されるとともに提案部品表示画面３００に表示されることで、開発者に部品が提案される。【選択図】      図１
2008040969.tif 000002
【特許請求の範囲】
【請求項１】
開発者が要求するソフトウェア部品のカテゴリ情報を入力する機能及び前記ソフトウェア部品のカテゴリ情報を送信する機能を有する開発者端末と、
前記開発者によって作成された前記ソフトウェア部品のソースコード、仕様書、テストデータに関する情報を格納する開発用構成管理リポジトリと、
前記開発者端末から送信された情報を受信するデータ受信機能及び前記開発者が要求するソフトウェア部品を検索して提案する部品提案機能及び前記前記開発用構成管理リポジトリからソフトウェア部品となるソースコードを収集する部品収集機能を備えた部品支援装置と、
前記ソフトウェア部品のソースコード、仕様書、テストデータに関する情報を格納する部品構成管理リポジトリと、
前記ソフトウェア部品の利用状況やソフトウェア部品の格納情報を格納する部品情報データベースと
を備えたソフトウェア部品再利用支援システムであって、
前記部品支援装置における部品提案機能は、
前記開発者端末から送信されたカテゴリ情報及び前記開発用構成管理リポジトリに格納されている開発者が要求するソフトウェア部品のテストデータから、前記開発者の要求を満たすソフトウェア部品を検索する部品検索部と、
該部品検索部によって検索されたソフトウェア部品のソースコード、仕様情報、関連ファイルに関する情報を表示する部品情報表示部と、
該部品情報表示部に表示されている情報のソフトウェア部品を前記開発者端末に送信する部品送信部と
を備えており、
前記部品収集機能は、
前記開発用構成管理リポジトリに格納されているソフトウェア部品のソースコードを解析ツールで解析する解析部と、
該解析部で解析された情報からソフトウェア部品として利用可能であるか否かを判断する部品候補決定部と、
該部品候補決定部で決定されたソフトウェア部品及び部品情報を前記部品構成管理リポジトリ及び前記部品情報データベースにそれぞれ格納する部品格納部と
を備えることを特徴とするソフトウェア部品再利用支援システム。
【請求項２】
前記ソフトウェア部品再利用支援システムは、更に前記部品支援装置から前記ソフトウェア部品の利用状況に関する情報及び新規登録情報を受信して、これらの情報に基づいて前記部品構成管理リポジトリに格納されているソフトウェア部品の管理を行う汎用化担当者端末を備えており、
前記部品支援装置は、前記ソフトウェア部品の利用状況や新規登録部品に関する情報を前記汎用化部品担当者端末へ通知する集計結果通知機能を更に備えることを特徴とする請求項１に記載のソフトウェア部品再利用支援システム。
【請求項３】
前記部品検索部は、開発者から送信されるソフトウェア部品のカテゴリ情報、テストデータに基づいて前記部品構成管理リポジトリから前記開発者が要求するソフトウェア部品に類似するソフトウェア部品を検索することを特徴とする請求項１又は請求項２に記載のソフトウェア部品再利用支援システム。
【請求項４】
前記部品検索部は、前記開発者が要求するソフトウェア部品に類似するソフトウェア部品を検索する際に、前記テストデータ及び前記部品構成管理リポジトリに格納されているソフトウェア部品のソースコードに基づいてテストドライバを作成し、該テストドライバを実行させることによりカバレージ及びテストデータの期待値に対してテスト結果の一致している割合を示す結果一致率を算出し、前記カバレージ及び結果一致率が前記カバレージに対する閾値及び前記結果一致率に対する閾値をそれぞれ超えているか否かを判断し、閾値を超えた場合には類似するソフトウェア部品であると判定することを特徴とする請求項３に記載のソフトウェア部品再利用支援システム。
【請求項５】
前記部品収集機能は、前記開発用構成管理リポジトリに格納されているソースコードを解析して、ソースコードの凝集度、結合度からソースコードがソフトウェア部品として使用可能であるか否かを判断し、前記ソースコードがソフトウェア部品として使用可能であると判断した場合には、前記ソフトウェア部品のソースコード、仕様書、テストデータに関する情報を前記開発用構成管理リポジトリから抽出して前記部品構成管理リポジトリに格納することを特徴とする請求項１乃至請求項４のうち何れか一項に記載のソフトウェア部品再利用支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発者が要求するソフトウェア部品を開発者が作成したテストデータに基づいてソフトウェア部品が格納されている構成管理リポジトリから要求するソフトウェア部品を探し出して提案する機能を備えており、かつ開発者が管理するリポジトリに存在するソースコードからソフトウェア部品となるソースコード、仕様書、テストデータに関する情報を抽出する機能を備えているソフトウェア部品再利用支援システムに関するものである。
【背景技術】
【０００２】
システム開発を行う上で、ゼロからプログラムを作成してシステム開発を行うよりも、ソフトウェア部品を再利用してシステム開発を行うことによる開発効率の改善が必然的に要求されている。
特許文献１に記載された発明では、パターンマッチングによるオブジェクト検索の際に、モデリングデータを一定の法則のもとに特徴ベクトル空間上に位置付けるための特徴抽出を行うことにより、型や数を元にした形式的な構造、名称を元にした意味的な構造、複数クラス間の関連性から検索が実行されることで、要求するソフトウェア部品の検索をしている。
【特許文献１】特開２００４−２８７６５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載された発明の場合、システムの学習機能により、使い込むほど検索結果の精度を高ることができるものの、システムを使い始めた時点においては、学習機能が十分に発揮されないために開発者が要求するソフトウェア部品を検索することは困難である。また、型や数を元にした形式的な構造、名称を元にした意味的な構造、複数クラス間の関連性から検索を行っているため、検索されたソフトウェア部品が開発者の要求する機能のソフトウェア部品であるとは限らない。仮に、開発者の要求するソフトウェア部品であったとしても、提案されたソースコードが開発者の要求するソフトウェア部品として適切であるか否かを判断することは容易ではない。そのため、開発者は検索されたソフトウェア部品が適切なものであるのか否かを判断することに手間がかかってしまう。
【０００４】
本発明の目的は、開発者によって作成されたテストデータ及びソフトウェア部品のカテゴリ情報から開発者の要求するソフトウェア部品を検索し、当該ソフトウェア部品を提案する際に開発者に提案するソフトウェア部品が要求を満たしたものであることを容易に理解することが可能となるソフトウェア部品再利用支援システムを提供することである。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明のソフトウェア部品再利用支援システムは、開発者が要求するソフトウェア部品のカテゴリ情報を入力する機能及び前記ソフトウェア部品のカテゴリ情報を送信する機能を有する開発者端末と、前記開発者によって作成された前記ソフトウェア部品のソースコード、仕様書、テストデータに関する情報を格納する開発用構成管理リポジトリと、前記開発者端末から送信された情報を受信するデータ受信機能及び前記開発者が要求するソフトウェア部品を検索して提案する部品提案機能及び前記前記開発用構成管理リポジトリからソフトウェア部品となるソースコードを収集する部品収集機能を備えた部品支援装置と、前記ソフトウェア部品のソースコード、仕様書、テストデータに関する情報を格納する部品構成管理リポジトリと、前記ソフトウェア部品の利用状況やソフトウェア部品の格納情報を格納する部品情報データベースとを備えたソフトウェア部品再利用支援システムであって、前記部品支援装置における部品提案機能は、前記開発者端末から送信されたカテゴリ情報及び前記開発用構成管理リポジトリに格納されている開発者が要求するソフトウェア部品のテストデータから、前記開発者の要求を満たすソフトウェア部品を検索する部品検索部と、該部品検索部によって検索されたソフトウェア部品のソースコード、仕様情報、関連ファイルに関する情報を表示する部品情報表示部と、該部品情報表示部に表示されている情報のソフトウェア部品を前記開発者端末に送信する部品送信部とを備えており、前記部品収集機能は、前記開発用構成管理リポジトリに格納されているソフトウェア部品のソースコードを解析ツールで解析する解析部と、該解析部で解析された情報からソフトウェア部品として利用可能であるか否かを判断する部品候補決定部と、該部品候補決定部で決定されたソフトウェア部品及び部品情報を前記部品構成管理リポジトリ及び前記部品情報データベースにそれぞれ格納する部品格納部とを備えることを特徴とする。
【発明の効果】
【０００６】
本発明のソフトウェア部品再利用支援システムによれば、開発者の必要としているソフトウェア部品を提案することができるとともに、当該提案されたソフトウェア部品が開発者の要求を満たし得るソフトウェア部品であるか否かを容易に認識することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明を適用したソフトウェア部品再利用支援システムの一実施の形態について説明する。
まず、ソフトウェア部品再利用支援システムの構成について説明する。
図１に示すように、ソフトウェア部品再利用支援システムは、開発者端末１０１、開発用構成管理リポジトリ１０２、部品支援装置１０３、部品構成管理リポジトリ１０４、部品情報データベース１０５、及び汎用化担当者端末１０６で構成されている。そして、これらの装置等は図示しないネットワークを介して相互に接続されており、データ等の送受信が可能となるように構成されている。
【０００８】
開発者端末１０１は開発者によって操作されるものであり、当該開発者端末１０１によって部品支援装置１０３に対してソフトウェア部品（以下、単に「部品」ともいう。）が要求されるとともに、部品情報データベース１０５から部品のダウンロード等が実行される。開発用構成管理リポジトリ１０２には、開発者によって作成完了されたソースコード、仕様書、テストデータ等に関する情報や、他のシステム開発で作成されたファイル等も格納されている。部品支援装置１０３では、開発者から部品の提案に関する要求があった場合、要求される機能を満たす部品の検索、部品の提案、部品の抽出等が実行されるとともに、部品の利用状況、部品登録情報が集計される。この部品支援装置１０３にはデータ受信機能１０７、部品提案機能１０８、部品収集機能１０９、集計結果通知機能１１０が備えられている。
【０００９】
データ受信機能１０７は、開発者端末１０１から送信された開発者の要求に関するデータを受信する。部品提案機能１０８は、送信された開発者の要求に関するデータに基づいて開発者からの要求を満足する部品を検索するとともに、当該検索された部品に関するデータを開発者に提案すべく開発者端末１０１に送信する。更に、部品提案機能１０８は、部品検索部１１１、部品情報表示部１１２、及び部品送信部１１３で構成されている。部品検索部１１１は、開発者から要求されている部品を部品構成管理リポジトリ１０４から検索する。部品情報表示部１１２は、部品検索部１１１において検索された部品を提案部品として、当該検索された部品のソースコードや仕様情報等を表示する。そして、部品送信部１１３は、開発者が提案された部品の取得を機能する旨のデータを受信した場合に部品のソースコード、仕様書、テストデータ等に関する情報を開発者端末１０１に送信する。
【００１０】
部品収集機能１０９は、開発用構成管理リポジトリ１０２に格納されているソースコードを解析するとともに、部品となるソースコードを決定して抽出する。集計結果通知機能１１０は、部品の利用状況に関する情報及び抽出された部品に関する情報を汎用化担当者へ通知する。具体的に、部品収集機能１０９は解析部１１４、部品候補決定部１１５、及び品格納部１１６で構成されている。解析部１１４は、開発用構成管理リポジトリ１０２からソースコード、仕様書、テストデータに関する情報を取得して、ソースコードの解析を行う。部品候補決定部１１５は、解析部１１４において解析された情報に基づいてソースコードが部品として使用することができるか否かを判断する。そして部品格納部１１６は、部品候補決定部１１５によって決定された部品のデータや当該部品の情報を部品構成管理リポジトリ１０４や部品情報データベース１０５に格納する。
【００１１】
部品構成管理リポジトリ１０４には、部品収集機能１０９によって収集された部品に関する情報が格納される。また、部品情報データベース１０５には、部品に関する情報が格納されている。そして、汎用化担当者端末１０６では部品構成管理リポジトリ１０４に格納されている部品の管理が行われる。
【００１２】
次に、開発者端末１０１に表示される画面について説明する。
図２に示すように、開発者端末１０１の部品検索依頼画面２００には開発者からの部品の提案に関する情報を入力するための画面が表示される。具体的に、部品検索依頼画面２００には、テキストボックス２０１、チェックボックス２０２、「検索」ボタン２０３、「キャンセル」ボタン２０４とが表示される。テキストボックス２０１には、開発用構成管理リポジトリ１０２に格納されており、開発者によって要求された部品のテストデータ格納場所が記述される。チェックボックス２０２には、開発者によって要求された部品の分類が指定される。「検索」ボタン２０３は、検索の実行依頼を要求するボタンである。そして、「キャンセル」ボタン２０４は、部品検索をキャンセルするボタンである。
【００１３】
また、図３に示すように、開発者端末１０１の提案部品表示画面３００には、ファイルリスト３０１、提案部品仕様情報３０２、ソースビュー３０３、検索結果３０４、カバレージ率３０５、結果一致率３０６、「次へ」ボタン３０７、「前へ」ボタン３０８、「ダウンロード」ボタン３０９、「キャンセル」ボタン３１０が表示される。ファイルリスト３０１には、開発者に提案する部品と依存関係のあるファイルが表示される。提案部品仕様情報３０２には、提案する部品の仕様が表示される。ソースビュー３０３には、提案する部品のソースコードが表示される。ソースビュー３０３に表示されるソースとしては、提案する部品の関数またはメソッドがある。検索結果３０４には、提案する部品の数が表示される。カバレージ率３０５には、提案する部品のソースコードとテストデータを用いてテストしたときのカバレージの結果が表示される。結果一致率３０６には、提案する部品のソースコードとテストデータを用いてテストしたときのテストデータ記載の期待値とが、どのくらいの割合で一致していたのかが表示される。「次へ」ボタン３０７は、部品を検索した結果、複数件該当した場合、一つ後の候補の部品情報へと遷移するボタンである。「前へ」ボタン３０８は、一つ前の候補の部品情報へと遷移するボタンである。「ダウンロード」ボタン３０９は、開発者が提案された部品を取得したい場合に部品送信の要求を依頼するボタンである。「キャンセル」ボタン３１０は、提案した部品の情報画面を閉じる場合に終了依頼をするボタンである。
【００１４】
次に、このように構成されているソフトウェア部品再利用支援システムによって実現される、部品を再利用するための方法について説明する。
・部品支援装置１０３における処理の概要について
図４に示すように、開発者端末１０１から開発者によって入力されたデータが送信されると、当該データはデータ受信機能１０７によって受信される（ステップ４０１）。次に、データ受信機能１０７で受信されたデータと開発用構成管理リポジトリ１０２に格納されているテストデータとに基づいて部品構成管理リポジトリ１０４に格納されている部品群から開発者の要求を満足する部品が検索される（ステップ４０２）。続いて、開発者の要求を満足した部品のソースコード、仕様情報が開発者端末１０１へと送信されるとともに提案部品表示画面３００に表示されることで、開発者に部品が提案される（ステップ４０３）。次に、開発用構成管理リポジトリ１０２から部品となるソースコードが抽出される（ステップ４０４）。そして、部品の利用状況に関する情報や新規に登録された部品に関する情報が汎用化担当者端末１０６へと送信される（ステップ４０５）
【００１５】
・データ受信機能１０７における処理の流れについて
図５に示すように、データ受信機能１０７によって、開発者端末１０１から送信されたカテゴリ情報及びテストデータ格納場所情報に関するデータが受信される（ステップ５０１）。そして、当該テストデータ格納場所情報に基づいて開発用構成管理リポジトリ１０２からテストデータが取得される（ステップ５０２）。
【００１６】
・部品検索部１１１における処理の流れについて
図６に示すように、まず、データ受信機能１０７によって受信されたカテゴリ情報をキーとして部品情報データベース１０５に登録されている部品の部品ＩＤ、ソースコード格納情報が取得される（ステップ６０１）。次に、当該ソースコード格納情報に基づいて部品構成管理リポジトリ１０４に格納されている部品のソースコードが取得される（ステップ６０２）。次に、取得された部品のソースコード及びデータ受信機能１０７によって取得されたテストデータに基づいてテストドライバが作成される（ステップ６０４）。続いて、作成されたテストドライバが実行されて、テストの実行結果が集計される（ステップ６０５）。具体的には、カバレージ及び実行結果がテストデータに記載されている期待値通りのものが得られた割合（以下、「結果一致率」という。）が集計される。
【００１７】
そして、テストの実行結果が集計された結果、カバレージ及び結果一致率がカバレージに対する閾値及び結果一致率に対する閾値をそれぞれ超えた場合（ステップ６０６）、当該条件の満たされている部品が開発者に提案される部品としてリストに追加される（ステップ６０７）。なお、ステップ６０４からステップ６０７までは、部品構成管理リポジトリ１０４から取得された部品の関数（メソッド等）の数だけ繰り返し実行される（ステップ６０３）。また、リストには、開発者に提案される部品とともに当該部品の部品ＩＤ、ファイル名、関数名、関数開始行、関数終了行、カバレージの結果、結果一致率等が記述される。関数開始行及び関数終了行はテストドライバ作成時にソースコードから抽出されるものである。
【００１８】
・部品情報表示部１１２における処理の流れについて
図７に示すように、まず、部品検索部１１１において提案された部品のリストが取得される（ステップ７０１）。次に、取得されたリストに記載されている部品ＩＤをキーとして部品情報データベース１０５から提案された部品の依存するファイル及び部品の仕様格納情報が取得される（ステップ７０２）。続いて、取得された仕様格納情報に基づいて部品構成管理リポジトリ１０４から部品の仕様書に関する情報が取得される（ステップ７０３）。そして、提案された部品の依存するファイル名、仕様書の内容と部品のソースコードが提案部品表示画面３００のファイルリスト３０１、提案部品仕様情報３０２、ソースビュー３０３にそれぞれ出力される（ステップ７０４）。なお、提案部品表示画面３００に部品のファイル名等が出力される場合、リストに記述された関数開始行から関数終了行のソースコードはソースビュー３０３に、また関数の仕様情報は提案部品仕様情報３０２にそれぞれ表示される。
【００１９】
・部品送信部１１３における処理の流れについて
開発者によって「ダウンロード」ボタン３０９が押下された場合には、図８に示すように、開発者端末１０１の提案部品表示画面３００に表示されている部品の部品ＩＤが取得される（ステップ８０１）。次に、取得された部品ＩＤをキーとして部品情報データベース１０５から該当する部品の格納されている領域に関する情報、仕様書格納情報、テストデータ格納情報が取得される（ステップ８０２）。続いて、部品情報データベース１０５から取得されたこれら各情報に基づいて部品構成管理リポジトリ１０４から部品のソースコード、仕様書、テストデータに関する情報が取得される（ステップ８０３）。そして、部品構成管理リポジトリ１０４から取得された各ファイルは開発者端末１０１へと送信される（ステップ８０４）。開発者端末１０１へファイルを送信後、部品情報データベース１０５の使用頻度１５０７を更新する（ステップ８０５）。
【００２０】
・解析部１１４における処理の流れについて
図９に示すように、まず、開発用構成管理リポジトリ１０２に格納されているソースコード、仕様書、テストデータが取得される（ステップ９０１）。次に、取得されたソースコードの凝集度が計算されるとともに（ステップ９０３）、ソースコードの結合度が計算される（ステップ９０４）。なお、前記ステップ９０３及びステップ９０４は取得されたソースコードの数だけ繰り返し実行される（ステップ９０２）。ステップ９０１で取得されるソースコード、仕様書、テストデータに関する情報は前回チェックされてから更新されたファイルが対象となる。また、凝集度や結合度は既存のツールを使用して計算される。
【００２１】
・部品候補決定部１１５における処理の流れについて
図１０に示すように、まず、解析部１１４において計算された凝集度や結合度が取得されるとともに（ステップ１００２）、取得された凝集度及び結合度が凝集度に対する閾値及び結合度に対する閾値をそれぞれ超えているか否かについて判定される（ステップ１００３）。判定の結果、凝集度及び結合度がそれぞれの閾値を超えていた場合、部品構成管理リポジトリ１０４に格納されている部品の中に抽出された部品と類似している部品（類似部品数）がいくつあるかについての計算が実行される（ステップ１００４）。また、部品の候補としてソースコードが抽出される（ステップ１００５）。なお、ステップ１００２からステップ１００５までは開発用構成管理リポジトリ１０２に格納されている部品のうち、前回のチェックから更新された部品の数だけ繰り返し実行される（ステップ１００１）。 
【００２２】
・図１０における類似部品数の計算処理の流れについて
図１１に示すように、まず、部品構成管理リポジトリ１０４に格納されているソースコードとテストデータが取得される（ステップ１１０１）。次に、部品の候補となったソースコードのテストデータ及び部品管理リポジトリ１０４から抽出されたソースコードに基づいてテストドライバが作成される（ステップ１１０４）。次に、部品管理リポジトリ１０４から抽出された部品のテストデータと部品の候補となるソースコードからテストドライバが作成される（ステップ１１０５）。続いて、ステップ１１０４で作成されたドライバによってテストが実行されるとともに（ステップ１１０６）、ステップ１１０５で作成されたドライバによってテストが実行される（ステップ１１０７）。そして、上記ステップ１１０６、１１０７で実行されたテストの結果に基づいて結果一致率が集計される（ステップ１１０８）。
【００２３】
そして、集計された結果一致率が、結果一致率に対する閾値を超えているか否かについて判定される（ステップ１１０９）。結果一致率が閾値を超えていた場合、部品管理リポジトリ１０４から抽出された部品と部品の候補とが類似する部品であると判断されて、部品情報データベース１０５に登録されている部品管理リポジトリ１０４から抽出された部品の部品ＩＤをキーとして類似部品数の更新が行われる（ステップ１１１０）。なお、上記ステップ１１０４からステップ１１１０までの処理は部品構成管理リポジトリ１０４から取得した部品の関数（メソッド）数だけ繰り返し実行される（ステップ１１０３）。また、上記ステップ１１０３からステップ１１１０までの処理は部品候補のソースコード中の関数（メソッド）数だけ繰り返し実行される（ステップ１１０２）。ここで、部品検索部１１１で使用されている結果一致率の閾値と類似部品数の計算で使用されている閾値とは異なる値である。
【００２４】
・部品格納部１１６における処理の流れについて
図１２に示すように、候補となる部品の部品ＩＤ、分類、概要、部品格納情報、仕様書格納情報、テストデータ格納情報、使用頻度、類似部品数、通知フラグ、関連ファイルの格納情報が部品情報データベース１０５に登録される（ステップ１２０１）。次に、部品情報データベース１０５に登録された候補となる部品のソースコード、仕様書、テストデータが部品構成管理リポジトリ１０４に格納される（ステップ１２０２）。なお、部品ＩＤは、部品情報データベース１０５に登録される際に自動的に発番される。また、分類や概要に関する情報は、仕様書から抽出される。更に、通知フラグが部品情報データベース１０５に登録される際には、汎用化担当者へ通知が実行されるようにフラグが設定される。そして、部品構成管理リポジトリ１０４に格納されるファイルは部品ＩＤの名前でフォルダが作成され、そのフォルダ内にソースコードフォルダ、仕様書フォルダ、テストデータフォルダがそれぞれ作成されることで管理を容易なものとしている。
【００２５】
・集計結果通知機能１１０における処理の流れについて
図１３に示すように、まず、部品情報データベース１０５から部品ＩＤ、分類、概要、使用頻度、類似部品数に関する情報が取得される（ステップ１３０１）。次に、取得されたデータから、使用頻度及び類似部品数が使用頻度に対する閾値及び類似部品数に対する閾値をそれぞれ超えているものについて汎用候補とされる（ステップ１３０２）。続いて、集計結果のデータが汎用化担当者端末１０６に送信される（ステップ１３０３）。次に、ステップ１３０１で取得された部品の通知フラグを通知済みに設定するように部品情報データベース１０５の通知フラグが更新される（ステップ１３０４）。ここで、部品情報データベース１０５から取得される部品情報は汎用化担当者が前回集計結果を参照してから利用された部品及び新規に登録された部品が対象とされる。更に、前回チェックされた否かの判断については部品情報テーブルの通知フラグの情報から判断される。
【００２６】
なお、部品支援装置１０８の各機能で使用される、事前に結果一致率に対する閾値、カバレージに対する閾値、凝集度に対する閾値、結合度に対する閾値、使用頻度に対する閾値、類似部品数に対する閾値の設定が汎用化担当者によって部品支援装置１０８に対して事前に行われる。ここで、結果一致率に対する閾値は、開発者に部品の提案をするときに使用される閾値と類似部品数の計算で使用する閾値とがある。
【００２７】
次に、部品の利用状況、新規に登録された部品の情報を通知する集計結果通知画面１４００について説明する。
図１４に示すように、集計結果通知画面１４００には、汎用列１４０１、部品ＩＤ列１４０２、分類列１４０３、概要列１４０４、使用頻度列１４０５、類似部品数１４０６、集計結果日１４０７が表示される。汎用列１４０１には、部品が汎用的な部品であるか否かが表示される。部品ＩＤ列１４０２には、部品ＩＤが表示される。分類列１４０３には、部品がどの分野の部品であるのかについての情報が表示される。概要列１４０４には、部品の概要が表示される。使用頻度列１４０５には、これまでに部品がどの程度使用されているのかについての情報が表示される。類似部品数１４０６には、部品構成管理リポジトリ１０５に当該部品と類似している部品が他にどのくらいあるのかについての情報が表示される。集計結果日１４０７には、集計結果が汎用化担当者に通知された日付が表示される。なお、これらの情報は、汎用化部品担当者が部品構成管理リポジトリ１０５に格納されている部品を整理する際の情報としても活用される。
【００２８】
次に、部品情報データベース１０５に部品情報が格納される際の部品情報テーブル１５００の構造について説明する。
図１５に示すように、部品情報テーブル１５００は、部品ＩＤ列１５０１、分類列１５０２、概要列１５０３、部品格納情報１５０４、仕様書格納情報１５０５、テストデータ格納情報１５０６、使用頻度列１５０７、類似部品数１５０８、通知フラグ１５０９で構成されている。部品ＩＤ列１５０１の欄には、各部品に固有の英数字からなるＩＤが表示されている。この部品ＩＤ１５０１は主キーであり、部品を登録する際に一意な値が自動的に発番される。分類列１５０２の欄には、どの分野で使用される部品であるのかについての情報が表示されている。概要列１５０３の欄には、部品の概要が表示されている。部品格納情報１５０４の欄には、部品のソースコードが部品構成管理リポジトリ１０４のどの場所に格納されているのかについての情報が表示されている。
【００２９】
また、仕様書格納情報１５０５の欄には、部品の仕様書が部品構成管理リポジトリ１０４のどの場所に格納されているのかについての情報が表示されている。テストデータ格納情報１５０６の欄には、部品のテストデータが部品構成管理リポジトリ１０４のどの場所に格納されているのかについての情報が表示されている。使用頻度列１５０７の欄には、対応する部品がこれまでどの程度使用されているのかという情報が表示されている。類似部品数１５０８の欄には、部品構成管理リポジトリ１０４に当該部品と類似している部品が他にどの程度存在するのかについての情報が表示される。通知フラグ１５０９の欄には、集計結果通知機能１１０における部品の利用状況や新規登録部品の情報を汎用化担当者端末１０６へ通知するか否か判断するための情報が表示されている。
【００３０】
次に、部品を実行するために必要となるファイルを登録するための部品関連ファイル情報テーブル１６００の構造について説明する。
図１６に示すように、部品関連ファイル情報テーブル１６００は、部品ＩＤ列１６０１とファイル格納情報１６０２とで構成されている。部品ＩＤ列１６０１の欄には、各部品に固有の英数字からなるＩＤが表示されている。ファイル格納情報１６０２は、部品ＩＤのファイルと依存関係のあるファイルが部品構成管理リポジトリ１０４のどの場所に格納されているのかについての情報が表示されている。なお、部品関連ファイル情報テーブル１６００においては、部品ＩＤ列１６０１とファイル格納情報列１６０２とが主キーとなっている。
【００３１】
以上のように、本実施の形態のソフトウェア部品再利用支援システムによれば、次のような効果がある。
○部品支援装置１０３における部品提案機能１０８によって開発者の必要としている部品を提案することができる。また、部品支援装置１０３では、開発者端末１０１から受信したデータと開発用構成管理リポジトリ１０２に格納されているテストデータとに基づいて部品構成管理リポジトリ１０４に格納されている部品群から開発者の要求を満足する部品が検索されるため、開発者は、当該部品が開発者の要求を満たし得る部品であるか否かを容易に認識することができる。
【００３２】
○開発者によって作成されて開発用構成管理リポジトリ１０２に格納されているソースコードが部品として使用可能か否かを判断し、部品として使用可能なソースコードであった場合には、当該ソースコードを抽出して部品構成管理リポジトリ１０４に部品として蓄積することができる。
○部品情報テーブル１５００における使用頻度列１５０７の欄には対応する部品がこれまでどの程度使用されているのかという情報が表示される。したがって、現在、どのような分野の部品が普及しているかという情報を把握することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態の一例を示すシステム構成図。
【図２】開発者からの部品提案に関する情報を入力する部品検索依頼画面。
【図３】開発者に提案される部品のソースコード等を表示する提案部品表示画面。
【図４】部品支援装置１０３における処理の概要を示すフローチャート。
【図５】データ受信機能１０７の処理の流れを示すフローチャート。
【図６】部品検索部１１１の処理の流れを示すフローチャート。
【図７】部品情報表示部１１２の処理の流れを示すフローチャート。
【図８】部品送信部１１３の処理の流れを示すフローチャート。
【図９】解析部１１４の処理の流れを示すフローチャート。
【図１０】部品候補決定部１１５の処理の流れを示すフローチャート。
【図１１】図１０における類似部品数の計算の処理の流れを示すフローチャート。
【図１２】部品格納部１１６の処理の流れを示すフローチャート。
【図１３】集計結果通知機能１１０の流れを示すフローチャート。
【図１４】部品の利用状況、新規登録された部品の情報を通知する集計結果通知画面。
【図１５】部品情報テーブルの構造。
【図１６】部品関連ファイル情報テーブルの構造。
【符号の説明】
【００３４】
１０１  開発者端末
１０２  開発用構成管理リポジトリ
１０３  部品支援装置
１０４  部品構成管理リポジトリ
１０５  部品情報データベース
１０６  汎用化担当者端末
１０７  データ受信機能
１０８  部品提案機能
１０９  部品収集機能
１１０  集計結果通知機能
１１１  部品検索部
１１２  部品情報表示部
１１３  部品送信部
１１４  解析部
１１５  部品候補決定部
１１６  部品格納部
【図１】
2008040969.tif 000003
【図２】
2008040969.tif 000004
【図３】
2008040969.tif 000005
【図４】
2008040969.tif 000006
【図５】
2008040969.tif 000007
【図６】
2008040969.tif 000008
【図７】
2008040969.tif 000009
【図８】
2008040969.tif 000010
【図９】
2008040969.tif 000011
【図１０】
2008040969.tif 000012
【図１１】
2008040969.tif 000013
【図１２】
2008040969.tif 000014
【図１３】
2008040969.tif 000015
【図１４】
2008040969.tif 000016
【図１５】
2008040969.tif 000017
【図１６】
2008040969.tif 000018