(57)【要約】【課題】依存関係が複雑に入り組んだソフトウェアで、その依存関係を把握して正しい引用を行うことを可能とするソフトウェア再利用管理装置等を提供する。【解決手段】ソフトウェア再利用管理装置１０は、１つ以上の引用可能なソフトウェア部品を予め記憶しているソフトウェア記憶部３３と、ソフトウェア部品のライセンス形態を含む引用情報を予め記憶している引用情報記憶部３１と、作成された新規ソフトウェアにソフトウェア部品を引用するソフトウェア引用手段２５と、新規ソフトウェアをソフトウェア記憶部に記憶するソフトウェア登録手段２６と、引用されたソフトウェア部品の引用情報を引用情報記憶部から読み出す引用情報取得手段２４と、読み出されたソフトウェア部品の引用情報から新規ソフトウェアの引用情報を作成して引用情報記憶部に記憶する引用情報登録手段２３と、作成された引用情報を表示する引用情報表示手段２１とを有する。【選択図】図１
2010205032.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の引用可能なソフトウェア部品を予め記憶しているソフトウェア記憶部と、
前記ソフトウェア部品のライセンス形態を含む引用情報を予め記憶している引用情報記憶部と、
作成された新規ソフトウェアに前記ソフトウェア部品を引用するソフトウェア引用手段と、
前記新規ソフトウェアを前記ソフトウェア記憶部に記憶するソフトウェア登録手段と、
前記引用が行われた際に引用された前記ソフトウェア部品の前記引用情報を前記引用情報記憶部から読み出す引用情報取得手段と、
読み出された前記ソフトウェア部品の前記引用情報から前記新規ソフトウェアの引用情報を作成して前記引用情報記憶部に記憶する引用情報登録手段と、
前記作成された前記新規ソフトウェアの引用情報を表示する引用情報表示手段と
を有することを特徴とするソフトウェア再利用管理装置。
【請求項２】
前記引用情報記憶部を参照して、特定のソフトウェア部品を引用して作られたソフトウェアを検索すると共に、その検索結果を表示するソフトウェア検索手段を有することを特徴とする、請求項１に記載のソフトウェア再利用管理装置。
【請求項３】
前記引用情報登録手段が、前記ソフトウェア部品の前記引用情報に含まれる前記ライセンス形態を、前記新規ソフトウェアの前記引用情報に含めることを特徴とする、請求項１に記載のソフトウェア再利用管理装置。
【請求項４】
前記ソフトウェア部品および前記新規ソフトウェアの前記ライセンス形態で引用が制限されるライセンス形態の組み合わせを記憶している引用ルール記憶部と、
前記ソフトウェア部品および前記新規ソフトウェアの前記ライセンス形態の組み合わせが前記引用ルール記憶部に記憶された組み合わせに該当するか否かについて判断し、該当すればユーザにその旨を通知する引用ルール判定手段と
を有することを特徴とする、請求項１に記載のソフトウェア再利用管理装置。
【請求項５】
新規ソフトウェアに対してソフトウェア引用手段がソフトウェア記憶部に予め記憶されたソフトウェア部品を引用し、
前記引用が行われた際に引用された前記ソフトウェア部品のライセンス形態を含む引用情報を引用情報取得手段が引用情報記憶部から読み出し、
読み出された前記ソフトウェア部品の前記引用情報から引用情報登録手段が前記新規ソフトウェアの引用情報を作成し、
作成された前記新規ソフトウェアの前記引用情報を前記引用情報登録手段が前記引用情報記憶部に記憶すると共に、引用情報表示手段が当該引用情報を表示し、
作成された前記新規ソフトウェアをソフトウェア登録手段が前記ソフトウェア記憶部に記憶することを特徴とするソフトウェア再利用管理方法。
【請求項６】
ソフトウェア検索手段が前記引用情報記憶部を参照して、特定のソフトウェア部品を引用して作られたソフトウェアを検索し、その検索結果を表示することを特徴とする、請求項５に記載のソフトウェア再利用管理方法。
【請求項７】
コンピュータに、
予め記憶されたソフトウェア部品を新規ソフトウェアに対して引用する手順と、
前記引用が行われた際に引用された前記ソフトウェア部品のライセンス形態を含む引用情報を読み出す手順と、
読み出された前記ソフトウェア部品の前記引用情報から前記新規ソフトウェアの引用情報を作成する手順と、
作成された前記新規ソフトウェアの前記引用情報を記憶すると共に当該引用情報を表示する手順と、
作成された前記新規ソフトウェアを記憶する手順と
を実行させることを特徴とするソフトウェア再利用管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの開発環境に関し、特にソフトウェアの引用に伴う依存関係の管理に関する。
【背景技術】
【０００２】
コンピュータの計算能力はますます増大する一方であり、大規模なソフトウェアを実行することも容易に可能となっている。それに応じてソフトウェアの開発にかかる手間も増大する一方である。その手間を少しでも軽減するために、既存のソフトウェアをモジュール化して引用して再利用することが一般的に行われている。これは自社が過去に開発したソフトウェアに限らず、たとえばハードウェアやＯＳのベンダーがソフトウェア開発者に対してライブラリを特定のライセンス形態の下で供給するなどのような形で行われることも多い。
【０００３】
このため、ソフトウェアの再利用に伴う依存関係は、多くの業者、そして様々なライセンス形態が絡み、ますます複雑なものとなっている。そこで、ソフトウェア部品のバージョンやその引用に伴う依存関係などについてデータベースに登録して管理し、ソフトウェア部品の改良や不具合修正を行う際に、以前のバージョンとの互換性を確認できるようにするということは一般的に行われている。
【０００４】
ソフトウェアの依存関係の管理について、次のような技術文献が開示されている。特許文献１には、ソフトウェア部品のバージョンを管理し、ソフトウェア部品の改良や不具合修正を行った際に以前のバージョンとの互換性を確認するという技術が記載されている。特許文献２には、文書管理で、引用を行った際に自動的に引用元を参照して、文書を系統化して管理するという技術が記載されている。
【０００５】
特許文献３には、異なる言語環境で開発されたソフトウェアのオブジェクト間の依存関係をデータベースに登録して追跡可能にしたという技術が記載されている。特許文献４には、ソフトウェア間の依存関係からライセンス制限について判別するという技術が記載されている。
【０００６】
特許文献５には、ソフトウェア間の再利用などによる依存関係をデータベースに登録して、修正による影響範囲を確認できるようにしたという技術が記載されている。特許文献６には、ライセンス付きのプログラムを使用する際にそのライセンスをチェックするという技術が記載されている。特許文献７には、ソースプログラムファイルの検索を高速化するという技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１２８４５０号公報
【特許文献２】特開２００７−０７２７２３号公報
【特許文献３】特開２００２−１２３３９０号公報
【特許文献４】特開２００４−２５２８７０号公報
【特許文献５】特開２００８−１２３４３２号公報
【特許文献６】特開２００８−１９１８８９号公報
【特許文献７】特開平０６−２７４３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述の各引用文献では、特許文献４および６がソフトウェア引用の正当性について判別する技術について記載しているが、これらの技術では既に作成されたソースファイルに対して正当性をチェックしており、引用を行った時点でチェックしているのではない。その引用を行っているユーザが、ソフトウェア間の依存関係を把握して正しい引用を行うには、その引用が行われている時点で正当性のチェックが行われることが望ましいが、これらの技術では機能が不足している。これら以外の各特許文献では、ソフトウェア引用の正当性について判別する技術は記載されていない。
【０００９】
本発明の目的は、依存関係が複雑に入り組んだソフトウェアで、その依存関係を把握して正しい引用を行うことを可能とするソフトウェア再利用管理装置、ソフトウェア再利用管理方法およびそのプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係るソフトウェア再利用管理装置は、１つ以上の引用可能なソフトウェア部品を予め記憶しているソフトウェア記憶部と、ソフトウェア部品のライセンス形態を含む引用情報を予め記憶している引用情報記憶部と、作成された新規ソフトウェアにソフトウェア部品を引用するソフトウェア引用手段と、新規ソフトウェアをソフトウェア記憶部に記憶するソフトウェア登録手段と、引用が行われた際に引用されたソフトウェア部品の引用情報を引用情報記憶部から読み出す引用情報取得手段と、読み出されたソフトウェア部品の引用情報から新規ソフトウェアの引用情報を作成して引用情報記憶部に記憶する引用情報登録手段と、作成された新規ソフトウェアの引用情報を表示する引用情報表示手段とを有することを特徴とする。
【００１１】
上記目的を達成するため、本発明に係るソフトウェア再利用管理方法は、新規ソフトウェアに対してソフトウェア引用手段がソフトウェア記憶部に予め記憶されたソフトウェア部品を引用し、引用が行われた際に引用されたソフトウェア部品のライセンス形態を含む引用情報を引用情報取得手段が引用情報記憶部から読み出し、読み出されたソフトウェア部品の引用情報から引用情報登録手段が新規ソフトウェアの引用情報を作成し、作成された新規ソフトウェアの引用情報を引用情報登録手段が引用情報記憶部に記憶すると共に、引用情報表示手段が当該引用情報を表示し、作成された新規ソフトウェアをソフトウェア登録手段がソフトウェア記憶部に記憶することを特徴とする。
【００１２】
上記目的を達成するため、本発明に係るソフトウェア再利用管理プログラムは、コンピュータに、予め記憶されたソフトウェア部品を新規ソフトウェアに対して引用する手順と、引用が行われた際に引用されたソフトウェア部品のライセンス形態を含む引用情報を読み出す手順と、読み出されたソフトウェア部品の引用情報から新規ソフトウェアの引用情報を作成する手順と、作成された新規ソフトウェアの引用情報を記憶すると共に当該引用情報を表示する手順と、作成された新規ソフトウェアを記憶する手順とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明は、上述したようにソフトウェア部品のライセンス形態を含む引用情報を引用先のソフトウェアの引用情報として作成し、その引用情報を表示するように構成したので、依存関係が複雑に入り組んだソフトウェアであっても、その引用が行われた時点でユーザが引用情報を正しく把握して適切な対応を取ることができる。これによって、ユーザが正しい引用を行うことが可能であるという、優れた特徴を持つソフトウェア再利用管理装置、ソフトウェア再利用管理方法およびそのプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係るソフトウェア再利用管理装置の構成を示す説明図である。
【図２】図１に示したソフトウェア再利用管理装置でユーザが行うソフトウェアの引用の概念について示す説明図である。図２（ａ）は、ユーザがソフトウェア部品Ａおよびソフトウェア部品Ｂを引用して、新たなソフトウェアＸを作成するという状態を示している。図２（ｂ）は、図２（ａ）で示したソフトウェアＸを引用して、ユーザがさらに別のソフトウェアＹを作成するという状態を示している。
【図３】図１に示したソフトウェア再利用管理装置でユーザがソフトウェア部品を引用した新たなソフトウェアを開発する際に、図１に示した各機能部が行う処理を表したフローチャートである。
【図４】図１に示したソフトウェア再利用管理装置でユーザが特定のソフトウェア部品の特定のバージョンを引用したソフトウェアを検索する際に、図１に示した各機能部が行う処理を表したフローチャートである。
【図５】図２〜４に示した例で、特定のソフトウェア部品を検索した結果の例を示す説明図である。
【図６】本発明の第２の実施形態に係るソフトウェア再利用管理装置７１０の構成を示す説明図である。
【図７】図６に示した引用ルール記憶部のデータ構成の例を示す説明図である。
【図８】図６に示したソフトウェア再利用管理装置ユーザがソフトウェア部品を引用した新たなソフトウェアを開発する際に、図６に示した各機能部が行う処理を表したフローチャートである。
【図９】図６に示したソフトウェア再利用管理装置で行われようとした間違った引用の例を示す説明図である。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るソフトウェア再利用管理装置１０は、１つ以上の引用可能なソフトウェア部品を予め記憶しているソフトウェア記憶部３３と、ソフトウェア部品のライセンス形態を含む引用情報を予め記憶している引用情報記憶部３１と、作成された新規ソフトウェアにソフトウェア部品を引用するソフトウェア引用手段２５と、新規ソフトウェアをソフトウェア記憶部に記憶するソフトウェア登録手段２６と、引用が行われた際に引用されたソフトウェア部品の引用情報を引用情報記憶部から読み出す引用情報取得手段２４と、読み出されたソフトウェア部品の引用情報から新規ソフトウェアの引用情報を作成して引用情報記憶部に記憶する引用情報登録手段２３と、作成された新規ソフトウェアの引用情報を表示する引用情報表示手段２１とを有する。
【００１６】
また、ソフトウェア再利用管理装置１０は、引用情報記憶部３１を参照して、特定のソフトウェア部品を引用して作られたソフトウェアを検索すると共に、その検索結果を表示するソフトウェア検索手段２７を有する。
【００１７】
ここで引用情報登録手段２３は、ソフトウェア部品の引用情報に含まれるライセンス形態を、新規ソフトウェアの引用情報に含める。
【００１８】
以上の構成を備えることにより、ライセンス形態を含む引用情報をユーザが的確に把握することが可能となる。
以下、これをより詳細に説明する。
【００１９】
図１は、本発明の第１の実施形態に係るソフトウェア再利用管理装置１０の構成を示す説明図である。ソフトウェア再利用管理装置１０は一般的なコンピュータ装置であり、プログラムを実施する主体であるＣＰＵ（Central Processing Unit）１１と、プログラムおよびデータを記憶および保存する不揮発性記憶装置であるＨＤＤ（Hard Disk Drive）１２と、ＣＰＵ１１がＨＤＤ１２から読み込んだプログラムおよびデータを一時記憶させるＲＡＭ（Random Access Memory）１３と、ユーザがプログラムおよびデータを入力するキーボードなどの入力装置１４と、ＣＰＵ１１が処理結果をユーザに対して表示する表示装置１５とを有する。
【００２０】
ＣＰＵ１１では、引用情報表示手段２１、引用情報登録手段２３、引用情報取得手段２４、ソフトウェア引用手段２５、ソフトウェア登録手段２６、ソフトウェア検索手段２７といった各機能部が、コンピュータプログラムとして実行される。ＨＤＤ１２には、引用情報記憶部３１、ソフトウェア記憶部３３といった各機能部が、各々の情報を記憶する。これらの各機能部は、概略次のように動作する。
【００２１】
ソフトウェア記憶部３３は、ソフトウェア再利用管理装置１０で作成されたソフトウェア、もしくはそこで引用可能なソフトウェア部品を記憶している。引用情報記憶部３１は、ソフトウェア記憶部３３に記憶されたソフトウェア部品の引用情報を記憶している。
【００２２】
ここでいうソフトウェア部品とは、他のソフトウェアの中に引用して使用可能なものをいう。たとえばライブラリなどのように、他のソフトウェアの中に引用して使用されることを前提としたものだけでなく、既に１本のソフトウェアとして完成されたものも含めて、ソフトウェア部品という。
【００２３】
ソフトウェア登録手段２６は、新規に開発あるいは変更されたソフトウェアをソフトウェア記憶部３３に記憶させる。ソフトウェア引用手段２５は、ソフトウェア記憶部３３に登録されたソフトウェア部品を、新規に開発される別のソフトウェアに引用する。引用情報取得手段２４は、その際に引用元ソフトウェアの引用情報を引用情報記憶部３１から取得する。引用情報登録手段２３は、引用元ソフトウェアの引用情報を引用先に受け継いで引用情報記憶部３１に登録する。
【００２４】
引用情報表示手段２１は、ソフトウェア部品を引用する際、該ソフトウェア部品の引用情報を、引用情報記憶部３１を参照して表示装置１５に表示する。ソフトウェア検索手段２７は、特定のソフトウェア部品を引用して作られたソフトウェアを、引用情報記憶部３１およびソフトウェア記憶部３３を参照することによって検索して、その検索結果を表示装置１５に表示する。
【００２５】
図２は、図１に示したソフトウェア再利用管理装置１０でユーザが行うソフトウェアの引用の概念について示す説明図である。図２（ａ）は、ユーザがソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１を引用して、新たなソフトウェアＸ３０１を作成するという状態を示している。また図３は、図１に示したソフトウェア再利用管理装置１０でユーザがソフトウェア部品を引用した新たなソフトウェアを開発する際に、図１に示した各機能部が行う処理を表したフローチャートである。
【００２６】
ソフトウェア記憶部３３には、ソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１があらかじめ登録されている。引用情報記憶部３１には、ソフトウェア部品Ａ１０１の引用情報１０２、およびソフトウェア部品Ｂ２０１の引用情報２０２が記録されている。
【００２７】
引用情報１０２および２０２は、各々のソフトウェア部品の名称とバージョン番号、およびライセンス種類を含んでいる。ソフトウェア部品Ａのバージョン番号１０２ａは「０．１」であり、ソフトウェア部品Ｂのバージョン番号２０２ａは「０．１」である。また、ソフトウェア部品Ａのライセンス種類は特にないが、ソフトウェア部品Ｂのライセンス種類２０２ｂは「商用ライセンス」である。
【００２８】
ユーザは、ソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１の中で、引用したい部分を指定する（図３・ステップＳ５０１）。ソフトウェア部品Ａ１０１の中でユーザが指定した引用部分を１０３、ソフトウェア部品Ｂ２０１の中でユーザが指定した引用部分を２０３とし、図２の中では太線で表す。するとソフトウェア引用手段２５が、引用情報取得手段２４を介してソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１に該当する引用情報１０２および２０２を取得する（図３・ステップＳ５０２）。
【００２９】
ユーザは、これらの引用部分１０３および２０３を、ソフトウェアＸ３０１にコピー＆ペーストする（図３・ステップＳ５０３）。すると、引用情報登録手段２３は引用情報１０２および２０２から新たなソフトウェアＸ３０１の引用情報３０２を作成し、引用情報記憶部３１に登録する（図３・ステップＳ５０４）。引用情報３０２には、ソフトウェアＸ３０１に含まれる引用部分１０３および２０３に対応する引用元である、ソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１の引用情報１０２および２０２がそのまま含まれる。
【００３０】
また、引用情報３０２に含まれるライセンス種類３０２ｂは、引用元のライセンス種類がそのまま受け継がれる。ソフトウェア部品Ａ１０１にはライセンス種類は特になく、ソフトウェア部品Ｂ１０２のライセンス種類２０２ｂは「商用ライセンス」であるので、ソフトウェアＸ３０１のライセンス種類３０２ｂは「商用ライセンス」となる。たとえばソフトウェア部品Ａ１０１のライセンス種類が「ＢＳＤ（Berkeley Software Distribution）ライセンス」であった場合、ソフトウェアＸ３０１のライセンス種類３０２ｂは「ＢＳＤライセンス、商用ライセンス」というように、単純に引用元のライセンス種類を合わせたものとなる。
【００３１】
最後に、こうしてステップＳ５０４で作成された引用情報３０２を、引用情報表示手段２１が表示装置１５に表示して、この引用に係る処理は終了する（図３・ステップＳ５０５）。
【００３２】
図２（ｂ）は、図２（ａ）で示したソフトウェアＸ３０１を引用して、ユーザがさらに別のソフトウェアＹ４０１を作成するという状態を示している。その際、ユーザがソフトウェアＸ３０１の中で指定した引用部分３０３には、ソフトウェアＸ３０１でソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１から引用された引用部分１０３および２０３がそのまま含まれている。
【００３３】
この場合も、図３で示したものと同様の動作が行われ、引用情報登録手段２３がソフトウェアＹ４０１の引用情報４０２を作成し、引用情報記憶部３１に登録する。この引用情報４０２には、ソフトウェアＸ３０１の引用情報３０２がそのまま含まれ、さらにソフトウェア部品Ａ１０１およびソフトウェア部品Ｂ２０１の引用情報１０２および２０２がそのまま含まれる。
【００３４】
図４は、図１に示したソフトウェア再利用管理装置１０でユーザが特定のソフトウェア部品の特定のバージョンを引用したソフトウェアを検索する際に、図１に示した各機能部が行う処理を表したフローチャートである。たとえば、ソフトウェア部品Ａ１０１のバージョン番号１０２ａ「０．１」に、不具合が発生したことが判明したとする。
【００３５】
この場合、ユーザはソフトウェア検索手段２７に、検索したいソフトウェア部品の名称と、そのバージョン番号とを入力する（図４・ステップＳ６０１）。するとソフトウェア検索手段２７は、引用情報記憶部３１およびソフトウェア記憶部３３を参照してこれに該当するソフトウェアを検索し、その検索結果を表示装置１５に表示する（図４・ステップＳ６０２）。
【００３６】
図５は、図２〜４に示した例で、ソフトウェア部品Ａ１０１のバージョン番号１０２ａ「０．１」を検索した結果の例を示す説明図である。大本となったソフトウェア部品Ａ１０１と、それを引用したソフトウェアＸ３０１の引用部分１０３、ソフトウェアＹ４０１の引用部分３０３に含まれる引用部分１０３が、この検索により表示装置１５に示される。
【００３７】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本発明に係るソフトウェア再利用管理方法は、新規ソフトウェアに対してソフトウェア引用手段がソフトウェア記憶部に予め記憶されたソフトウェア部品を引用し（図３・ステップＳ５０１〜５０３）、引用されたソフトウェア部品のライセンス形態を含む引用情報を引用情報取得手段が引用情報記憶部から読み出し（図３・ステップＳ５０２）、読み出されたソフトウェア部品の引用情報から引用情報登録手段が新規ソフトウェアの引用情報を作成し（図３・ステップＳ５０４）、作成された新規ソフトウェアの引用情報を引用情報登録手段が引用情報記憶部に記憶すると共に、引用情報表示手段が当該引用情報を表示し（図３・ステップＳ５０５）、作成された新規ソフトウェアをソフトウェア登録手段がソフトウェア記憶部に記憶する。
【００３８】
また、ソフトウェア検索手段が引用情報記憶部を参照して、特定のソフトウェア部品を引用して作られたソフトウェアを検索し、その検索結果を表示する（図４・ステップＳ６０１〜６０２）。
【００３９】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する主体であるＣＰＵ１１に実行させるようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
【００４０】
まず、本実施形態では引用元から引用先へ引用情報を継承しているので、特定のソフトウェア部品を含むソフトウェアを検索・表示できる。従って、特定のソフトウェア部品のバージョンアップをする際に、その部品を利用している更新すべきソフトウェアを簡単に検索して把握できる。
【００４１】
また、新しく作成したソフトウェアの引用情報を、ソフトウェア再利用管理装置１０が自動的に作成してシステムに登録しているので、ユーザがその手間をかける必要がない。さらに、現在作成しているソフトウェアの引用情報がユーザに提示されるので、複雑な引用関係であっても、ユーザはその引用関係を的確に把握して適切な対応を取ることができる。
【００４２】
（第２の実施形態）
本発明の第２の実施形態に係るソフトウェア再利用管理装置７１０は、添付図６に示すように、前述の第１の実施形態に係るソフトウェア再利用管理装置１０の構成に加えて、さらにソフトウェア部品および新規ソフトウェアのライセンス形態で引用が制限されるライセンス形態の組み合わせを記憶している引用ルール記憶部７３２と、ソフトウェア部品および新規ソフトウェアのライセンス形態の組み合わせが引用ルール記憶部に記憶された組み合わせに該当するか否かについて判断し、該当すればユーザにその旨を通知する引用ルール判定手段７２２とを有する構成とした。
【００４３】
この構成によっても、第１の実施形態と同じ効果を得ることが可能となる。さらに、ユーザが正しくない引用を行おうとした場合に、それに対して警告を発することが可能となる。ユーザは、この警告に応じて適切な対応を取ることができる。
以下、これをより詳細に説明する。
【００４４】
図６は、本発明の第２の実施形態に係るソフトウェア再利用管理装置７１０の構成を示す説明図である。ソフトウェア再利用管理装置７１０は、先に説明した第１の実施形態に係るソフトウェア再利用管理装置１０と比べて、ＣＰＵ１１で動作するプログラムに引用ルール判定手段７２２が、ＨＤＤ１２に記憶されているデータに引用ルール記憶部７３２が、それぞれ追加されている。この点以外は、ソフトウェア再利用管理装置７１０は前述のソフトウェア再利用管理装置１０と同一の構成を有するので、同一の要素については同一の名称および参照番号を付す。
【００４５】
図７は、図６に示した引用ルール記憶部７３２のデータ構成の例を示す説明図である。ソフトウェアを引用するに際しては、特殊な条件が課せられているライセンス形態がある。たとえばＧＰＬ（General Public License）ライセンスのソフトウェアから引用したソフトウェアを公開する場合には、ソースコードの公開を義務づけられる。このように、複数種類のライセンス形態が混在することや、異なるライセンス形態のソフトウェアに対して引用されることによって、意図しないソースコード公開義務が発生したりするなどのような問題が発生しうる。
【００４６】
そこで、引用ルール記憶部７３２には、たとえば「ＧＰＬライセンスから商用ライセンス」「商用ライセンスからＧＰＬライセンス」「商用ライセンスからＢＳＤライセンス」などのように、引用が制限される引用元７３２ａおよび引用先７３２ｂのライセンス形態の組み合わせが記憶されている。引用ルール判定手段７２２は、行われようとしている引用が、引用ルール記憶部７３２に記憶された組み合わせに該当するか否かを判断し、該当すればユーザにその旨を通知する。
【００４７】
ただし、引用ルール記憶部７３２に記憶されたライセンス形態の組み合わせであっても、全くそのような引用が禁止されているわけではない。前述のような「ソースコードの公開」などのような特定の条件をクリアしさえすれば、引用が可能な場合もある。このため、本実施形態では、「ユーザにその旨を通知する」だけであり、そのような引用自体を禁止するものではない。
【００４８】
図８は、図６に示したソフトウェア再利用管理装置７１０でユーザがソフトウェア部品を引用した新たなソフトウェアを開発する際に、図６に示した各機能部が行う処理を表したフローチャートである。最初の３ステップは図３に示した第１の実施形態に係る動作と同一であるので、ステップＳ５０１〜５０３という同一の参照番号を付している。
【００４９】
第１の実施形態と異なる動作は、ステップＳ５０３の後に、引用ルール判定手段７２２が、行われようとしている引用が正しい引用であるか否かを、引用ルール記憶部７３２を参照して判断するという動作である（図８・ステップＳ８０４）。間違った引用である場合は、引用ルール判定手段７２２はその旨のエラー表示を表示装置１５に表示する（図８・ステップＳ８０５）。ただし、ステップＳ８０４の判断結果にかかわらず、図３に示した第１の実施形態に係る動作と同一のステップＳ５０４〜５０５は行われる。
【００５０】
図９は、図６に示したソフトウェア再利用管理装置７１０で行われようとした間違った引用の例を示す説明図である。図２（ｂ）で説明したソフトウェアＹ４０１（ライセンス種類４０２ｂは「商用ライセンス」）に、ユーザがさらに別のソフトウェア部品Ｃ９０１を引用しようとした。このソフトウェア部品９０１のライセンス種類９０２ｂは「ＧＰＬライセンス」であり、これは引用ルール記憶部７３２に記憶された組み合わせに該当する。この場合、図８のステップＳ８０４で「ＮＯ」と判定されてステップＳ８０５に進み、引用ルール判定手段７２２は表示装置１５にエラー表示をする。
【００５１】
なお、引用ルール記憶部７３２に記憶された引用ルールは、ユーザが任意に設定することが可能である。また、ソフトウェアの引用情報と引用ルールを編集する手段およびタイミングなどについては任意の技術を適用できる。本実施形態はソフトウェアのみならず、たとえば仕様書の作成などに適用することも可能である。
【００５２】
以上で示した第２の実施形態では、第１の実施形態の効果に加えて、以下のような効果を奏する。
本実施形態では、引用情報に示される引用関係が正しい引用であるか否かを判定し、間違った引用であればその旨をユーザに通知するように構成されているので、ユーザはその引用に対して、ライセンス形態に基づく的確な対応を取ることができる。
【００５３】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【００５４】
本発明はソフトウェアの開発環境全般に適用することができる。特に、ソフトウェア部品の使い回しが頻繁に行われる環境において好適である。
【符号の説明】
【００５５】
１０、７１０  ソフトウェア再利用管理装置
１１  ＣＰＵ
１２  ＨＤＤ
１３  ＲＡＭ
１４  入力装置
１５  表示装置
２１  引用情報表示手段
２３  引用情報登録手段
２４  引用情報取得手段
２５  ソフトウェア引用手段
２６  ソフトウェア登録手段
２７  ソフトウェア検索手段
３１  引用情報記憶部
３３  ソフトウェア記憶部
１０１  ソフトウェア部品Ａ
１０２、２０２、３０２、４０２  引用情報
１０２ａ、２０２ａ、３０２ａ、４０２ａ  バージョン番号
１０２ｂ、２０２ｂ、３０２ｂ、４０２ｂ、９０２ｂ  ライセンス種類
１０３、２０３、３０３  引用部分
２０１  ソフトウェア部品Ｂ
３０１  ソフトウェアＸ
４０１  ソフトウェアＹ
７２２  引用ルール判定手段
７３２  引用ルール記憶部
７３２ａ  引用元
７３２ｂ  引用先
９０１  ソフトウェア部品Ｃ
【図１】
2010205032.tif 000003
【図２】
2010205032.tif 000004
【図３】
2010205032.tif 000005
【図４】
2010205032.tif 000006
【図５】
2010205032.tif 000007
【図６】
2010205032.tif 000008
【図７】
2010205032.tif 000009
【図８】
2010205032.tif 000010
【図９】
2010205032.tif 000011