(57)【要約】【課題】  利用するＯＳＳの選定において、より適したＯＳＳを選定する。【解決手段】  開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、その開発物件に対応するポリシーで示される選定条件のそれぞれへの、その利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力する検索手段と、その利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、そのスコアに重みを追加した更新スコアを含む、その利用候補ソフトウェアソースの情報を出力する選定支援手段と、を含む【選択図】      図１
2015161982.tif 000002
【特許請求の範囲】
【請求項１】
開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力する検索手段と、
前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する選定支援手段と、を含む
情報処理装置。
【請求項２】
前記選定支援手段は、前記利用候補ソフトウェアソースの使用実績が多いほど、更に前記利用候補ソフトウェアソースと他のソフトウェアソースとの組み合わせとしての使用実績が多いほど、利用に適することを示す前記重みを追加する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記選定支援手段は、既に選定されているソフトウェアソースに対して、利用条件が整合しないソフトウェアソースを、前記利用候補ソフトウェアソースから除外する
ことを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
利用される前記利用候補ソフトウェアソースと前記利用候補ソフトウェアソースに対応する前記スコアとを記憶する、ソフトウェアソース記憶手段を更に含み、
前記検索手段は、前記ソフトウェアソース記憶手段を検索して所望の前記スコアを有する前記利用候補ソフトウェアソースを検出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記検索手段は、前記利用候補ソフトウェアソースの前記選定条件を更に示す、操作者から与えられる付加要求に、更に基づいて前記スコアを出力する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の情報処理装置と、
前記既開発物件の構成を示す情報を含むデータベース手段と、を含む
開発システム。
【請求項７】
コンピュータが、
開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、
前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、
前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する
開発支援方法。
【請求項８】
開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、
前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、
前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する、処理をコンピュータに実行させる
プログラム。
【請求項９】
プロセッサと、
プロセッサが検索手段及び選定支援手段として動作するための、プロセッサによって実行される命令を保持する記憶部とを含み、
前記検索手段は、
開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、
前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発を支援するための技術に関し、特に利用可能なソースファイルを選定するための技術に関する。
【背景技術】
【０００２】
ソフトウェアを選定するためのさまざまな関連技術が知られている。
【０００３】
例えば、特許文献１は、プログラムモジュール流通方法を開示する。そのプログラムモジュール流通方法は、ユーザが入力する検索条件に合致するプログラムモジュールを検索する過程と、ユーザに選択させるためにその検索したプログラムモジュールの情報を表示する過程と、を有する。その検索条件は、プログラムモジュールの機能、プログラムモジュールの入出力の型、入力データに対する所望の出力データなどである。
【０００４】
特許文献２は、実行オブジェクト生成装置を開示する。その実行オブジェクト生成装置は、連携手段と連携ライセンス判定手段とを有する。
【０００５】
その連携手段は、複数のオブジェクトを連携させて実行処理される実行オブジェクトを作成する。
【０００６】
その連携ライセンス判定手段は、それらの連携される複数のオブジェクトにそれぞれ付与されているライセンス条件の組み合わせが矛盾するか否かを判定する。
【０００７】
特許文献２は、上述の構成を含むことにより、以下の効果を有するとしている。即ち、ライセンス条件の組み合わせが矛盾するようなソフトウェアの組み合わせを、実行オブジェクトの作成処理中で事前に発見することができる。従って、コンピュータシステムの機能構築作業を容易化して作業負担を軽減し、また、種々なソフトウェアの利用を促進することができる。
【０００８】
特許文献３は、ソフトウェアのインストール対象の環境条件を表す項目の各々がとる値に基づいて、インストール時の設定条件を表す項目の、各々の推奨値を決定するインストール支援装置を開示する。そのインストール支援装置は、リスク評価値記憶部とリスク評価値集計部とリスク評価値選択部と推奨値出力部を有する。
【０００９】
そのリスク評価値記憶部は、その環境条件を表す項目の環境候補値とその設定条件を表す項目の設定候補値との、組み合わせの各々に対応させて、そのソフトウェアの実行時に障害が発生するリスクを表すリスク評価値を記憶する。その環境条件を表す項目とは、例えば、業務システムの利用環境、端末環境、ネットワーク環境などである。その設定条件を表す項目とは、例えば、ＯＳＳ（Ｏｐｅｎ  Ｓｏｕｒｃｅ  Ｓｏｆｔｗａｒｅ）のバージョン、環境変数、設定ファイル中のパラメータなどである。
【００１０】
リスク評価値集計部は、入力された環境候補値に対応するリスク評価値をそのリスク評価値記憶部から読み取り、読み取ったリスク評価値を、対応する設定候補値ごとに集計する。
【００１１】
リスク評価値選択部は、その集計されたリスク評価値のうち、より低いリスクを表すリスク評価値を、設定条件を表す項目ごとに処理装置で選択する。
【００１２】
推奨値出力部は、その選択されたリスク評価値に対応する設定候補値を、設定条件を表す項目の、各々の推奨値として出力する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００４−０３８７４５号公報
【特許文献２】特開２００６−０８５２１１号公報
【特許文献３】特開２００８−２１０２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
近年、ソフトウェア開発環境において、社内のソフトウェア資産再利用とあわせてＯＳＳを利用する開発が一般的になりつつある。
【００１５】
その利用するＯＳＳの選定においては、常により適したＯＳＳを選定することが求められる。
【００１６】
しかしながら、上述した特許文献に記載された技術においては、実績のあるＯＳＳの選定という観点が抜けている。
【００１７】
例えば、特許文献１は、広義の意味での機能的な検索条件により、プログラムモジュールを検索する技術を開示するにすぎない。特許文献２は、オブジェクトのライセンス条件の矛盾を事前に検出する技術を開示するにすぎない。また、  特許文献３は、ソフトウェアのインストール対象の環境条件とインストール時の設定条件に基づいた、インストール後のリスク評価値に関する技術を開示するものにすぎない。
【００１８】
従って、上述した特許文献に記載された技術においては、ＯＳＳの選定に際して、利用実績の観点での適切さを考慮できないという問題点がある。
【００１９】
本発明の目的は、上述した問題点を解決する情報処理装置、開発支援方法及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明の一様態における第１の情報処理装置は、開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力する検索手段と、前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する選定支援手段と、を含む。
【００２１】
本発明の一様態における開発支援方法は、コンピュータが、開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する。
【００２２】
本発明の一様態におけるプログラムは、開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する、処理をコンピュータに実行させる。
【００２３】
本発明の一様態における第２の情報処理装置は、プロセッサと、プロセッサが検索手段及び選定支援手段として動作するための、プロセッサによって実行される命令を保持する記憶部とを含み、前記検索手段は、開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出し、前記開発物件に対応するポリシーで示される選定条件のそれぞれへの、前記利用候補ソフトウェアソースの適合の度合いを示す、スコアを出力し、前記利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、前記スコアに重みを追加した更新スコアを含む、前記利用候補ソフトウェアソースの情報を出力する。
【発明の効果】
【００２４】
本発明は、利用するＯＳＳの選定において、利用実績の観点を考慮して、より適したＯＳＳを選定することが可能になるという効果がある。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の第１の実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態におけるポリシー定義の一例を示す図である。
【図３】図３は、第１の実施形態における更新前スコアテーブルの一例を示す図である。
【図４】図４は、第１の実施形態における構成管理テーブルの一例を示す図である。
【図５】図５は、第１の実施形態におけるスコアテーブルの一例を示す図である。
【図６】図６は、第１の実施形態に係る情報処理装置を含む開発システムの構成を示すブロック図である。
【図７】図７は、第１の実施形態における内部ＳＷ（ｓｏｆｔｗｅａｒ）ファイルの一例を示す図である。
【図８】図８は、第１の実施形態における開発ＳＷ物件の一例を示す図である。
【００２６】
【図９】図９は、第１の実施形態に係る情報処理装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図１０】図１０は、第１の実施形態における情報処理装置の動作を示すフローチャートである。
【図１１】図１１は、第１の実施形態における更新前スコアテーブルの一例を示す図である。
【図１２】図１２は、第１の実施形態におけるスコアテーブルの一例を示す図である。
【発明を実施するための形態】
【００２７】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
【００２８】
＜＜＜第１の実施形態＞＞＞
図１は、本発明の第１の実施形態に係る情報処理装置１００の構成を示すブロック図である。
【００２９】
図１に示すように、本実施形態に係る情報処理装置１００は、ＳＷ検索部１５１とＳＷ選定支援部１５２とを含む。尚、図１に示す各構成要素は、ハードウェア単位の回路構成要素でも、コンピュータ装置の機能単位に分割された構成要素でもよい。ここでは、図１に示す構成要素は、コンピュータ装置の機能単位に分割された構成要素として説明する。
【００３０】
＝＝＝ＳＷ検索部１５１＝＝＝
ＳＷ検索部１５１は、開発物件に利用するソフトウェアソースの候補である利用候補ソフトウェアソースを検出する。次に、ＳＷ検索部１５１は、その開発物件に対応するポリシーで示される選定条件のそれぞれへの、その利用候補ソフトウェアソースの適合の度合いを示すスコアを生成し、そのスコアを出力する。
【００３１】
具体的には、ＳＷ検索部１５１は、そのスコアを含む更新前スコアテーブル１６１（後述）を生成し、出力する。
【００３２】
図２は、ポリシーを示すポリシー定義１７０の一例を示す図である。ポリシー定義１７０は、例えば、ＳＷ検索部１５１或いはＳＷ選定支援部１５２の内部に保持されてよい。この場合、ポリシー定義１７０は、情報処理装置１００の後述する記憶部７０２や記憶装置７０３などに記憶されてよい。また、ポリシー定義１７０は、後述する内部ＳＷ資産データベース１１０に保持されてもよい。
【００３３】
図２に示すように、ポリシー定義１７０は、ソフトウェアソースの選定条件を示す、要素と適合条件との組を含む。
【００３４】
要素が「ライセンス」の適合条件の「ソースコード開示不要」は、そのソフトウェアソースを利用した開発ＳＷ物件について、ソースコードの開示が不要であることが、そのソフトウェアソースを選定する条件であることを示す。
【００３５】
要素が「コード規模」の適合条件の「１００、０００行以下」は、そのソフトウェアソースのソースコードの行数が、１００、０００行以下であることが、そのソフトウェアソースを選定する条件であることを示す。
【００３６】
要素が「開発者規模」の適合条件の「１００人以上」は、そのソフトウェアソースの開発者の人数が、１００人以上であることが、そのソフトウェアソースを選定する条件であることを示す。
【００３７】
要素が「バージョンアップ頻度」の適合条件の「４回／年以上」は、そのソフトウェアソースのバージョンアップが、１年間に４回以上実施されていることが、そのソフトウェアソースを選定する条件であることを示す。
【００３８】
図３は、ある利用候補ソフトウェアソースに対応する、更新前スコアテーブル１６１の一例を示す図である。
【００３９】
図３に示すように、更新前スコアテーブル１６１は、ポリシー定義１７０の個々の項目（要素と適合条件との組み合わせ）に対するスコアを示す。
【００４０】
要素が「ライセンス」のスコアの「Ａ」は、適合条件の「ソースコード開示不要」に対する、その利用候補ソフトウェアソースの、適合の度合いが１００％以上であることを示す。例えば、ＳＷ検索部１５１は、要素が「ライセンス」の適合条件について、その適合条件を満足していれば適合の度合いを１００％と、その適合条件を満足していなければ０％と、判定する。即ち、要素が「ライセンス」のスコアの「Ａ」は、その利用候補ソフトウェアソースが適合条件の「ソースコード開示不要」を満足していることを示す。
【００４１】
要素が「コード規模」のスコアの「Ｃ」は、適合条件の「１００、０００行以下」に対する、その利用候補ソフトウェアソースの、適合の度合いが５０％未満であることを示す。例えば、ＳＷ検索部１５１は、要素が「コード規模」の適合条件について、その適合条件の数値を、その利用候補ソフトウェアソースのコード規模で除した値の百分率を、適合の度合いとする。即ち、要素が「コード規模」のスコアの「Ｃ」は、その利用候補ソフトウェアソースの、ソースコードの行数が２００、０００行を超えていることを示す。
【００４２】
要素が「開発者規模」のスコアの「Ｂ」は、適合条件の「１００人以上」に対する、その利用候補ソフトウェアソースの、適合の度合いが５０％以上１００％未満であることを示す。例えば、ＳＷ検索部１５１は、要素が「開発者規模」の適合条件について、その利用候補ソフトウェアソースの開発者の人数を、その適合条件の数値で除した値の百分率を、適合の度合いとする。即ち、要素が「開発者規模」のスコアの「Ｂ」は、その利用候補ソフトウェアソースの開発者の人数が、５０人以上９９人以下であることを示す。
【００４３】
要素が「バージョンアップ頻度」のスコアの「Ｂ」は、適合条件の「４回／年以上」に対するその利用候補ソフトウェアソースの適合の度合いが、５０％以上１００％未満であるであることを示す。例えば、ＳＷ検索部１５１は、要素が「バージョンアップ頻度」の適合条件について、その利用候補ソフトウェアソースの１年間あたりのバージョンアップ回数を、その適合条件の数値で除した値の百分率を、適合の度合いとする。即ち、要素が「バージョンアップ頻度」のスコアの「Ｂ」は、その利用候補ソフトウェアソースの１年間あたりのバージョンアップ回数が、２回または３回であることを示す。
【００４４】
尚、スコアは、「Ａ」、「Ｂ」及び「Ｃ」などの記号ではなく、上述の百分率の数値で示されてもよい。
【００４５】
また、ＳＷ検索部１５１は、上述の例に係わらず、任意の手法を用いてスコアを生成してよい。
【００４６】
＝＝＝ＳＷ選定支援部１５２＝＝＝
ＳＷ選定支援部１５２は、そのスコアに重みを追加した更新スコアを含むスコアテーブル１６０を生成し、そのスコアテーブル１６０を含むその利用候補ソフトウェアソースの情報を出力する。ＳＷ選定支援部１５２は、その利用候補ソフトウェアソースの任意の部分を含む既開発物件の構成を示す情報に基づいて、その重みを追加する。
【００４７】
ＳＷ選定支援部１５２が、過去に利用された実績が多いソフトウェアソースであるほど、及び過去に実績の多い「ソフトウェアソース間の組み合わせ」であるほど、高い（利用に適する）スコアであることを示す重みを追加する。過去に実績の多い「ソフトウェアソース間の組み合わせ」とは、換言すると、そのスコアテーブル１６０に対応する利用候補ソフトウェアソースと、他の利用候補ソフトウェアソースとが組み合わされて使用された実績が多いことを示す。
【００４８】
ＳＷ選定支援部１５２は、更に、その組み合わされた他の利用候補ソフトウェアソースのスコアを加味して、そのスコアテーブル１６０に対応する利用候補ソフトウェアソースのスコアに追加する重みを生成してもよい。
【００４９】
尚、ＳＷ選定支援部１５２は、スコアテーブル１６０を、例えば、ＳＷ選定支援部１５２の内部に保持してよい。この場合、スコアテーブル１６０は、情報処理装置１００の後述する記憶部７０２や記憶装置７０３などに記憶されてよい。また、ＳＷ選定支援部１５２は、スコアテーブル１６０を後述する内部ＳＷ資産データベース１１０に出力してよい。この場合、内部ＳＷ資産データベース１１０は、スコアテーブル１６０を保持する。
【００５０】
図４は、構成管理テーブル１８０の一例を示す図である。図４は、上述の既開発物件のＯＳＳ構成を示す情報を示す。尚、図中の二重引用符（“および”）で囲んだ文字列は、ＯＳＳコード断片及びＯＳＳファイルのそれぞれの識別子を示す。
【００５１】
図４に示すように、構成管理テーブル１８０は、既開発物件の開発物件識別子と、その既開発物件に含まれるＯＳＳの構成との組を含む。構成管理テーブル１８０の各行は、以下のことを示す。
【００５２】
開発物件識別子が「Ｃ」の既開発物件は、識別子が「Ｐ」のＯＳＳファイルのコード断片である識別子が「ｐ１」のＯＳＳコード断片と、識別子が「Ｒ」のＯＳＳファイルとを含む。
【００５３】
開発物件識別子が「Ｄ」の既開発物件は、識別子が「Ｐ」のＯＳＳファイルのコード断片である識別子が「ｐ１」のＯＳＳコード断片と、識別子が「Ｒ」のＯＳＳファイルのコード断片である識別子が「ｒ１」のＯＳＳコード断片とを含む。
【００５４】
開発物件識別子が「Ｅ」の既開発物件は、識別子が「Ｑ」のＯＳＳファイルと、識別子が「Ｒ」のＯＳＳファイルのコード断片である識別子が「ｒ１」のＯＳＳコード断片とを含む。
【００５５】
図５は、図３に示す更新前スコアテーブル１６１のスコアに重みを追加して、更新スコアとされたスコアを含むスコアテーブル１６０の一例を示す図である。
【００５６】
ここで、このスコアテーブル１６０に対応する利用候補ソフトウェアソースの識別子が、例えば「Ｒ」であるものとする。
【００５７】
例えば、要素が「ライセンス」のスコアに付加された重みの「（３、Ｐ８、Ｑ１）」に関し、「３」は、識別子が「Ｒ」のＯＳＳファイルを利用する既開発物件の数を示す利用数重みである。ＳＷ選定支援部１５２は、構成管理テーブル１８０を参照してＯＳＳ構成に「Ｒ」または「ｒ」を含む既開発物件を計数し、利用数重みを算出する。
【００５８】
その「Ｐ８」は、識別子が「Ｒ」のＯＳＳファイルとの組み合わせ重みである。ＳＷ選定支援部１５２は、構成管理テーブル１８０を参照してＯＳＳ構成に「Ｒ」または「ｒ」と、「Ｐ」または「ｐ」との組み合わせを含む既開発物件を抽出する。次に、ＳＷ選定支援部１５２は、その組み合わせを含む既開発物件の数（ここでは、「２」）に、識別子が「Ｐ」のＯＳＳファイルにおける要素が「ライセンス」の適合度「４」を乗じた値の「８」を算出する。
【００５９】
尚、その適合度は、スコアが「Ａ」の場合「４」、スコアが「Ｂ」の場合「２」、スコアが「Ｃ」の場合「１」とする。
【００６０】
その「Ｑ１」は、識別子が「Ｑ」のＯＳＳファイルとの組み合わせ重みである。ＳＷ選定支援部１５２は、構成管理テーブル１８０を参照してＯＳＳ構成に「Ｒ」または「ｒ」と、「Ｑ」または「ｑ」との組み合わせを含む既開発物件を抽出する。次に、ＳＷ選定支援部１５２は、その組み合わせを含む既開発物件の数（ここでは、「１」）に、識別子が「Ｑ」のＯＳＳファイルにおける要素が「ライセンス」の適合度「１」を乗じた値の「１」を算出する。
【００６１】
尚、その重みは、上述の利用数重みだけであってもよい。また、その重みは、組み合わせ重みだけであってもよい、また、その重みは、組み合わせ重みの数値部分を加算したものであってもよい。上述の例に係わらず、その重みは、例えば、値が大きいほどスコアが高い（利用に適する）ことを示す、任意の形式で表されてよい。
【００６２】
また、その更新スコアは、元のスコアを任意の方法を用いて、その元のスコアが示す情報を少なくとも包含する数値（例えば上述の百分率で示すスコア）に変換し、数値で示される重みを用いて任意の演算を施した値であってよい。上述の例に係わらず、その更新スコアは、任意の形式で表されてよい。
【００６３】
以上が、情報処理装置１００の機能単位の各構成要素についての説明である。
【００６４】
図６は、本実施形態に係る情報処理装置１００を含む開発システム９００の構成を示すブロック図である。尚、図中の二重引用符（“および”）で囲んだ文字列は、ＯＳＳファイル８２０、内部ＳＷファイル１２０、開発ＳＷ物件１３０及び既開発ＳＷ物件１９０のそれぞれの識別子を示す。
【００６５】
図３に示すように、開発システム９００は、情報処理装置１００と内部ＳＷ資産データベース（ソフトウェアソース記憶手段とも呼ばれる）１１０とＯＳＳ情報データベース８１０とを含む。
【００６６】
情報処理装置１００と内部ＳＷ資産データベース１１０とは、イントラネットを構成するネットワーク９１０で接続されている。情報処理装置１００とＯＳＳ情報データベース８１０とは、インターネットを構成するネットワーク９２０で接続されている。
【００６７】
図６に示す例に係わらず、開発システム９００は、任意の数の、情報処理装置１００、内部ＳＷ資産データベース及びＯＳＳ情報データベース、のそれぞれを含んでよい。
【００６８】
＝＝＝内部ＳＷ資産データベース１１０＝＝＝
内部ＳＷ資産データベース１１０は、内部ＳＷファイル１２０、開発ＳＷ物件１３０、スコアテーブル１６０、構成管理テーブル１８０、及び既開発ＳＷ物件１９０を保持する。図６の例に係わらず、内部ＳＷ資産データベース１１０は、任意の数の、内部ＳＷファイル１２０、開発ＳＷ物件１３０、スコアテーブル１６０、構成管理テーブル１８０及び既開発ＳＷ物件１９０、のそれぞれを保持してよい。
【００６９】
＝＝＝内部ＳＷファイル１２０＝＝＝
内部ＳＷファイル１２０は、ネットワーク９１０で接続されるイントラネット内において管理される、ソフトウェアソースである。
【００７０】
図７は、内部ＳＷファイル１２０の一例を示す図である。尚、図中の二重引用符（“および”）で囲んだ文字列は、ＯＳＳコード断片８２１のそれぞれの識別子を示す。
【００７１】
図７に示すように、内部ＳＷファイル１２０は、識別子が「ｑ１」のＯＳＳコード断片８２１及び識別子が「ｒ１」のＯＳＳコード断片８２１含む。尚、識別子が「ｑ１」のＯＳＳコード断片８２１は、識別子が「Ｑ」のＯＳＳファイル８２０のコード断片である。また、識別子が「ｒ１」のＯＳＳコード断片８２１は、識別子が「Ｒ」のＯＳＳファイル８２０のコード断片である。
【００７２】
＝＝＝開発ＳＷ物件１３０＝＝＝
開発ＳＷ物件１３０は、開発システム９００において、開発されるＳＷ物件である。図８は、開発ＳＷ物件１３０の一例を示す図である。尚、図中の二重引用符（“および”）で囲んだ文字列は、開発ＳＷ物件１３０及びＯＳＳファイル８２０のそれぞれの識別子を示す。
【００７３】
図８示すように、開発ＳＷ物件１３０は、開発ＳＷ物件１３０及びＯＳＳファイル８２０を含む。
【００７４】
＝＝＝ＯＳＳ情報データベース８１０＝＝＝
ＯＳＳ情報データベース８１０は、識別子が「Ｐ」のＯＳＳファイル８２０、識別子が「Ｑ」のＯＳＳファイル８２０及び識別子が「Ｒ」のＯＳＳファイル８２０を保持する。図６に示す例に係わらず、ＯＳＳ情報データベース８１０は、任意の数の、ＯＳＳファイル８２０を保持してよい。
【００７５】
以上が、情報処理装置１００を含む開発システム９００各構成要素についての説明である。
【００７６】
次に、情報処理装置１００のハードウェア単位の構成要素について説明する。
【００７７】
図９は、本実施形態における情報処理装置１００を実現するコンピュータ７００のハードウェア構成を示す図である。
【００７８】
図９に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、記憶装置７０３、入力部７０４、出力部７０５及び通信部７０６を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。例えば、記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体（非一時的記録媒体）である。また、記録媒体７０７は、情報を信号として保持する、一時的記録媒体であってもよい。
【００７９】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の全体の動作を制御する。例えば、ＣＰＵ７０１は、記憶装置７０３に装着された記録媒体７０７から、そのプログラムやデータを読み込み、読み込んだそのプログラムやそのデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、後述の図１０に示すフローチャートの動作をコンピュータ７００に実行させるためのプログラムである。
【００８０】
そして、ＣＰＵ７０１は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図１に示すＳＷ検索部１５１及びＳＷ選定支援部１５２として各種の処理を実行する。
【００８１】
尚、ＣＰＵ７０１は、通信網（不図示）に接続される外部コンピュータ（不図示）から、記憶部７０２にそのプログラムやそのデータをダウンロードしてもよい。
【００８２】
記憶部７０２は、そのプログラムやそのデータを記憶する。記憶部７０２は、スコアテーブル１６０や、ポリシー定義１７０、構成管理テーブル１８０などを記憶してよい。
【００８３】
記憶装置７０３は、例えば、光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク及び半導体メモリであって、記録媒体７０７を含む。記憶装置７０３（記録媒体７０７）は、そのプログラムをコンピュータ読み取り可能に記憶する。また、記憶装置７０３は、そのデータを記憶してもよい。記憶装置７０３は、スコアテーブル１６０や、ポリシー定義１７０、構成管理テーブル１８０などを記憶してよい。
【００８４】
入力部７０４は、オペレータによる操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスやキーボード、内蔵のキーボタン及びタッチパネルなどである。
【００８５】
出力部７０５は、例えばディスプレイで実現される。出力部７０５は、例えばＧＵＩ（ＧＲＡＰＨＩＣＡＬ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）による入力要求や出力などの確認をするために用いられる。
【００８６】
通信部７０６は、ネットワーク９１０及びネットワーク９２０のそれぞれを介して、内部ＳＷ資産データベース１１０及びＯＳＳ情報データベース８１０のそれぞれとのインタフェースを実現する。通信部７０６は、ＳＷ検索部１５１及びＳＷ選定支援部１５２の一部として含まれる。
【００８７】
以上説明したように、図１に示す情報処理装置１００の機能単位のブロックは、図９に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００８８】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給される場合、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを読み出して実行してもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを、記憶部７０２、記憶装置７０３またはその両方に格納してもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するそのプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。尚、情報を非一時的に記憶する記憶媒体は、不揮発性記憶媒体とも呼ばれる。
【００８９】
以上が、本実施形態における情報処理装置１００を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【００９０】
次に、図面を参照して、本実施形態の動作について詳細に説明する。
【００９１】
図１０は、本実施形態の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵ７０１によるプログラム制御に基づいて、実行されても良い。また、処理のステップ名については、Ｓ６０１のように、記号で記載する。
【００９２】
情報処理装置１００は、操作者からＳＷ選定支援を要求されたことを契機に、図１０に示すフローチャートの動作を開始する。例えば、操作者は、図９に示す入力部７０４を介して、この要求を入力する。操作者は、図９に示す通信部７０６を介して接続された図示しない端末から、この要求を入力してもよい。
【００９３】
ＳＷ選定支援要求は、少なくとも、選定したいＳＷの機能を示す情報（以後、機能情報と呼ぶ）を含む。また、ＳＷ選定支援要求は、開発言語や対応言語、関連・連携ＳＷ、動作環境などの付加的な選定条件（付加要求とも呼ばれる）を含んでよい。
【００９４】
ＳＷ検索部１５１は、内部ＳＷ資産データベース１１０及びＯＳＳ情報データベース８１０を検索し、ＳＷ選定支援要求に含まれる機能情報に対応するＯＳＳファイル８２０及びＯＳＳコード断片８２１を検出する（ステップＳ６０１）。
【００９５】
例えば、ＳＷ検索部１５１は、内部ＳＷ資産データベース１１０を検索し、所望のスコアテーブル１６０を有するソフトウェアソースを検出してよい。この場合、ＳＷ検索部１５１は、所望の数のソフトウェアソースを検出できなければ、ＯＳＳ情報データベース８１０を検索するようにしてよい。
【００９６】
次に、ＳＷ検索部１５１は、検出したＯＳＳファイル８２０及びＯＳＳコード断片８２１のそれぞれについてスコアを算出し、更新前スコアテーブル１６１を生成する（ステップＳ６０２）。
【００９７】
次に、ＳＷ検索部１５１は、生成した更新前スコアテーブル１６１をＳＷ選定支援部１５２へ出力する（ステップＳ６０３）。
【００９８】
図１１は、ステップＳ６０３においてＳＷ検索部１５１が生成した更新前スコアテーブル１６１を示す。尚、図１１に示す更新前スコアテーブル１６１は、図３に示す更新前スコアテーブル１６１に比べて、付加要求に関するスコアを更に含む。
【００９９】
次に、ＳＷ選定支援部１５２は、スコアに重みを追加した更新スコアを含むスコアテーブル１６０を生成する（ステップＳ６０４）。
【０１００】
次に、ＳＷ選定支援部１５２は、生成したスコアテーブル１６０を、操作者及び内部ＳＷ資産データベース１１０に対して出力する（ステップＳ６０５）。
【０１０１】
ＳＷ選定支援部１５２は、図９に示す出力部７０５を介して、操作者へスコアテーブル１６０を出力する。また、ＳＷ選定支援部１５２は、図９に示す通信部７０６を介して、操作者が利用する図示しない機器にスコアテーブル１６０を送信してもよい。また、ＳＷ選定支援部１５２は、図９に示す記憶装置７０３を介して、操作者が指定する記録媒体７０７にスコアテーブル１６０を記録してもよい。
【０１０２】
尚、ＳＷ選定支援部１５２は、ＳＷ検索部１５１を介して、操作者が選定したソフトウェアファイルを取得してよい。そして、ＳＷ選定支援部１５２は、操作者の実装作業におけるソフトウェアの組み込みを支援してよい。
【０１０３】
更に、ＳＷ選定支援部１５２は、上述の実装作業の完了後、実際に利用されたファイル単位ないしはコード断片単位でメタ情報を紐付けた上で、図８に示す内部ＳＷ資産データベース１１０の開発ＳＷ物件１３０へ登録してよい。そのメタ情報は、例えば、著作権情報等のソフトウェアの利用条件などである。
【０１０４】
また、ＳＷ選定支援部１５２は、予め定められた基準に基づいて、スコアテーブル１６０に示されるスコアを判定し、その判定に基づいて、予め定められた数のソフトウェアソースを操作者へ提示してよい。
【０１０５】
また、ＳＷ選定支援部１５２は、既に選定されたソフトウェアファイルの利用条件と、利用候補ソフトウェアソースとの利用条件とが整合しない場合、その利用候補ソフトウェアソースを提示しない、或いは提示時に警告を付加するようにしてよい。「利用条件が整合しない場合」は、例えば、一方が独占所有権のある商用ライセンスであり、他方がソースコード開示を必要となるＧＰＬ（Ｇｅｎｅｒａｌ  Ｐｕｂｌｉｃ  Ｌｉｃｅｎｓｅ）である場合である。
【０１０６】
上述のＳＷ選定支援部１５２の動作により、ソフトウェアソースの選定段階において、ライセンス違反の生じる可能性があるＳＷ利用を抑止することができる。
【０１０７】
上述した本実施形態における第１の効果は、利用するＯＳＳの選定において、利用実績の観点を考慮して、より適したＯＳＳを選定することが可能になる点である。
【０１０８】
その理由は、以下のような構成を含むからである。即ち、第１にＳＷ検索部１５１が、利用候補ソフトウェアソースを検索し、そのソフトウェアソースのそれぞれに対応するスコアを出力する。第２に、ＳＷ選定支援部１５２が、既開発物件の構成を示す情報に基づいてそのスコアに重みを追加した更新スコアを含む、利用候補ソフトウェアソースの情報を出力する。
【０１０９】
上述した本実施形態における第２の効果は、開発から保守に関わる対応コストを低減すること可能になる点である。
【０１１０】
その理由は、ＳＷ選定支援部１５２が、過去に利用された実績が多いソフトウェアソースであるほど、及び過去に実績の多い「ソフトウェアソース間の組み合わせ」であるほど、高いスコアであることを示す重みを追加するからである。
【０１１１】
即ち、結果的に、実績のあるソフトウェアソースやその組み合わせの再利用を促されることで、品質やライセンスの問題が発生する可能性が低減され、それらの問題が発生した場合も対処方法の前例やノウハウを利用できることが期待できるからである。
【０１１２】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数個の任意のその構成要素が１個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
【０１１３】
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウェア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウェア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
【０１１４】
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
【０１１５】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障のない範囲で変更することができる。
【０１１６】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生してよい。また、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
【０１１７】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されてよい。
【０１１８】
以上、各実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
【符号の説明】
【０１１９】
１００    情報処理装置
１１０    内部ＳＷ資産データベース
１２０    内部ＳＷファイル
１３０    開発ＳＷ物件
１５１    ＳＷ検索部
１５２    ＳＷ選定支援部
１６０    スコアテーブル
１６１    更新前スコアテーブル
１７０    ポリシー定義
１８０    構成管理テーブル
１９０    既開発ＳＷ物件
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    記憶装置
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
８１０    ＯＳＳ情報データベース
８２０    ＯＳＳファイル
８２１    ＯＳＳコード断片
９００    開発システム
９１０    ネットワーク
９２０    ネットワーク
【図１】
2015161982.tif 000003
【図２】
2015161982.tif 000004
【図３】
2015161982.tif 000005
【図４】
2015161982.tif 000006
【図５】
2015161982.tif 000007
【図６】
2015161982.tif 000008
【図７】
2015161982.tif 000009
【図８】
2015161982.tif 000010
【図９】
2015161982.tif 000011
【図１０】
2015161982.tif 000012
【図１１】
2015161982.tif 000013
【図１２】
2015161982.tif 000014