(57)【要約】【課題】ソースコードやモデリング情報などのソフトウェアまたはハードウェアの機能・動作を規定する開発情報である設計データの分割と再利用を目的とした、設計データが提供する機能の部品化（以下「部品化」）では、設計データの分割・部品化判断を設計データが提供する機能に基づいておこなっている。上記従来方法は、部品化された機能に対応する設計データの一部が変更された場合に、新しい設計データが提供する機能に対応するために関連するすべての部品を更新する必要があった。【解決手段】少なくとも２つ以上のことなるバージョンの設計データに基づいて、設計データの変更頻度を抽出する変更頻度抽出手段と、前記変更頻度抽出手段が提供する変更頻度情報に基づいて設計データを分割する変更頻度別分割手段を設けた。【選択図】  図１
2008269516.tif 000002
【特許請求の範囲】
【請求項１】
少なくともソースコード、またはモデリング情報を含むソフトウェアの機能または動作に関する２つ以上のバージョンの異なる開発情報である設計データの変更された頻度を抽出する変更頻度抽出手段と、
前記変更頻度抽出手段から得られる設計データの変更頻度に関する情報に基づいて、前記設計データの分割をおこなう変更頻度別分割手段と
を設け、
前記変更頻度別分割手段が前記設計データの分割箇所を示す設計データ分割情報を生成することを特徴とする設計データ分割装置。
【請求項２】
ハードウェアの機能または動作に関する２つ以上のバージョンの異なる開発情報である設計データの変更された頻度を抽出する変更頻度抽出手段と、
前記変更頻度抽出手段から得られる設計データの変更頻度に関する情報に基づいて、前記設計データの分割をおこなう変更頻度別分割手段と
を設け、
前記変更頻度別分割手段が前記設計データの分割箇所を示す設計データ分割情報を生成することを特徴とする設計データ分割装置。
【請求項３】
少なくともソースコード、またはモデリング情報を含むソフトウェアの機能または動作に関する２つ以上のバージョンの異なる開発情報である設計データの変更された頻度を示す情報を抽出し、
前記抽出された設計データの変更された頻度を示す情報に基づいて、前記設計データの分割箇所を示す設計データ分割情報を生成し、
前記設計データ分割情報を用いて、前記設計データの分割をおこなうことを特徴とする設計データ分割方法。
【請求項４】
ハードウェアの機能または動作に関する２つ以上のバージョンの異なる開発情報である設計データの変更された頻度を示す情報を抽出し、
前記抽出された設計データの変更された頻度を示す情報に基づいて、前記設計データの分割箇所を示す設計データ分割情報を生成し、
前記設計データ分割情報を用いて、前記設計データの分割をおこなうことを特徴とする設計データ分割方法。
【請求項５】
請求項１または２のいずれかに記載の設計データ分割装置において、
前記変更頻度別分割手段が、設計データの変更頻度に関する情報とユーザが指定する分割に関する情報に基づいて、前記設計データの分割をおこなうことを特徴とする設計データ分割装置。
【請求項６】
請求項１または２のいずれかに記載の設計データ分割装置において、
前記変更頻度別分割手段が、設計データに含まれる設計データの変更頻度に関する情報と論理ブロックまたは関数を有するモジュール情報に基づいて、前記設計データの分割をおこなうことを特徴とする設計データ分割装置。
【請求項７】
請求項１または２のいずれかに記載の設計データ分割装置において、
前記変更頻度別分割手段が、変更頻度に関する情報が特定範囲内にある複数の設計データ領域を１つの設計データに統合することを特徴とする設計データ分割装置。
【請求項８】
請求項１または２のいずれかに記載の設計データ分割装置において、
前記変更頻度別分割手段が、前記設計データを分割するため使用する補助情報に基づいて、変更頻度に関する情報が特定範囲内にある設計データ領域を少なくとも２つ以上に分割することを特徴とする設計データ分割装置。
【請求項９】
請求項８記載の設計データ分割装置において、
前記補助情報として、モジュール情報を用いることを特徴とする設計データ分割装置。
【請求項１０】
請求項１記載の設計データ分割装置において、
前記設計データがプログラムのソースコードであることを特徴とする設計データ分割装置。
【請求項１１】
請求項１または２のいずれかに記載の設計データ分割装置において、
前記設計データ分割情報に変更頻度に関する情報である変更頻度情報を含めたことを特徴する設計データ分割装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェア・ハードウェア機能の部品化・再利用に関する技術の提供に関するものである。
【背景技術】
【０００２】
従来、特定のソフトウェアシステムまたはハードウェアシステムの部品化には、該システムが提供する機能に着目し、システムを構成する複数機能を機能単位で部品化する方法が広く用いられている。これらについては、例えば特許文献１に開示がある。
【０００３】
【特許文献１】特開２００５−３５３０９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ソースコードやモデリング情報などのソフトウェアまたはハードウェアの機能・動作を規定する開発情報である設計データの分割と再利用を目的とした、設計データが提供する機能の部品化（以下「部品化」）では、従来は、設計データの分割・部品化判断を設計データが提供する機能に基づいておこなっていた。
【０００５】
上記従来方法は、機能ごとの設計データの部品化が可能となり、部品化された設計データの提供する機能である部品（以下「部品」）の組み合わせにより特定の機能をもつシステムを構築できる反面、部品化された機能に対応する設計データの一部が変更された場合に、新しい設計データが提供する機能に対応するために関連するすべての部品を更新する必要があった。
【０００６】
本発明の目的は、設計データの変更にともなう部品の更新を特定の部品に集約し、設計データ変更時に対応した更新が必要となる部品と、更新が不要な部品を設けるために必須の設計データ分割情報を生成することである。
【０００７】
さらに本発明の目的は、変更が必要となった部品のみ設計データの変更に応じて更新をおこない、更新が不要な部品を継続的に利用することで、設計データ変更にともなう部品の更新を局所化し、使い勝手がよく信頼性の高いシステムを構築可能な部品を作成するための設計データ分割情報を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するにあたり、本発明では少なくとも２つ以上のことなるバージョンの設計データに基づいて、設計データの変更頻度を抽出する変更頻度抽出手段と、前記変更頻度抽出手段が提供する変更頻度情報に基づいて設計データを分割する変更頻度別分割手段を設けた。
【０００９】
変更頻度抽出手段により、設計データの変更頻度に応じた分類が可能となる。さらに変更頻度別分割手段により、設計データの変更頻度分類に基づいた設計データ分割情報の生成が可能となる。設計データ分割情報に基づいて設計データの変更に対する影響を従来よりも小さな範囲に留めるような部品の生成がおこなえる。
【００１０】
これらにより、部品化された機能に対応する設計データの一部が変更された場合に、新しい設計データが提供する機能に対応するための部品の更新を対象となる部品に限定することが可能となり、使い勝手がよく信頼性の高いシステムを構築可能な部品を作成することが可能となる。
【発明の効果】
【００１１】
本発明によれば、従来よりも、より信頼性の高いソフトウェア、ハードウェア、システムの提供が可能となる。
【実施例１】
【００１２】
以下、本発明の一実施例を図１から図４を用いて説明する。
【００１３】
図１は設計データの変更をバージョン情報に基づいて管理するバージョン管理手段のシステム構成を示す図、図２は、バージョン管理システムと連動した本実施例の設計データ分割情報生成手段の構成を示す図、図３は設計データ分割情報生成手段の動作例を示す図、図４は変更頻度別分割手段の動作を示すフローチャートである。
【００１４】
図１において、１０１は利用者が変更内容をバージョン情報で管理された設計情報の取得をおこなうためのグラフィックユーザインターフェース（GUI）フロントエンド手段、１０２はバージョン管理制御手段１０５にネットワーク手段１０４を介してアクセスするためのバージョン管理機能アクセス手段、１０３は取得した特定バージョンの設計データに基づいた設計操作の管理をおこなう作業情報管理手段、１０４は物理・機能的に分離している機能・装置間でデータ通信・機能連携をおこなうためのネットワーク手段、１０５はバージョン情報と関連付けた設計データの管理をおこなうバージョン管理制御手段、１０６は設計データへのバージョン情報の付与・変更などの管理をおこなう来歴管理機能、１０７は任意の設計データ間の相違部分を抽出する差分管理機能、１０８はバージョン管理制御手段１０５が管理するバージョン情報や設計データの管理をおこなうバージョン管理データベース（以下バージョン管理DBと称す）である。
【００１５】
図２において、２０１はバージョン管理DB１０８が管理するバージョン情報と関連付けされた設計データを取得し、設計データ分割情報を生成する本実施例の設計データ分割情報生成手段、２０２は設計データを変更頻度に応じて領域に分け領域毎の変更頻度情報を生成する変更頻度抽出手段、２０３は変更頻度情報に基づいて設計データを分割する変更頻度別分割手段、２０４は本実施例の設計データ分割情報生成手段が生成する設計データ分割情報に基づいて設計データが提供する機能を部品化する変更頻度別部品化手段である。
【００１６】
以下、設計データバージョン管理システムの動作を図１を用いて説明する。図１において、利用者は作成した設計データ「A１」をGUIフロントエンド手段１０１を用いて、バージョン管理制御手段１０５に通知する。バージョン管理制御手段１０５では、来歴管理機能１０６を用いて通知された設計データ「A１」にバージョン情報「ｖ１．０」を付与し、バージョン管理DB１０８に該当設計データ「A１」と対応するバージョン情報「ｖ１．０」を登録する。
【００１７】
次に利用者は設計データ「A１」に変更を加えた設計データ「Ａ２」を作成する。このとき設計データ「Ａ１」と「Ａ２」は、例えば同じファイル名をもつことで同じ設計データの変更前後の版であることが確認される。変更した設計データ「Ａ２」はＧＵＩフロントエンド１０１を用いてバージョン管理制御手段１０５に通知する。前記設計データ「Ａ１」変更の際に、作業情報管理手段１０３が設計データ「Ａ１」に対する修正の有無の監視などおこなう。バージョン管理制御手段１０５は取得した設計データ「Ａ２」を差分管理機能１０７を用いて比較し、設計データに差分（相違）がある場合には設計データ「Ａ１」が更新されたと判断し、来歴管理手段１０６を用いて設計データ「Ａ２」に新しいバージョン情報「ｖ２．０」を付与し、前記設計データ「Ａ１」と「Ａ２」の差分設計データと新しいバージョン情報「ｖ２．０」をバージョン管理ＤＢ１０８に登録する。
【００１８】
以上の設計データバージョン管理システムの機能により、設計データに対する変更の有無や変更部分のバージョン情報に基づいた管理がおこなわれる。なお、以上の設計データの差分（相違）等に関してのバージョン管理システムによる変更管理は、上記に限定されるものではなく、その他に知られているものであっても良い。
【００１９】
以下、本発明の実施例の動作を図２を用いて説明する。図２において設計データ分割装置は、バージョン管理ＤＢ１０８から特定の設計データの少なくとも２つ以上の異なるバージョン、または１つのバージョンと少なくとも１つ以上の異なるバージョンの設計データの差分情報を取得する。取得した設計データを入力として、変更頻度抽出手段２０１はバージョン情報に基づいた設計データの変更箇所の特定をおこない、前記変更箇所毎の変更頻度に基づいて、変更頻度情報と変更頻度別の設計データ領域情報を生成する。
【００２０】
以下、前記変更頻度抽出手段２０１の動作を図３を用いて説形する。図３において３０１・３０２・３０３はそれぞれ同一の設計データのことなる３つのバージョンである。各設計データにおいて、斜線網掛けの部分は前回の設計データに対して変更された部分を示している。例えば設計データ３０１は、いつ前の同一設計データに対して前半の部分が変更され、後半の部分は変更されていないバージョンであることを示している。３０４は前記変更頻度抽出手段２０１が生成する変更頻度情報と変更頻度別の設計データ領域情報である。設計データ３０１から３０３で少なくとも１回以上変更のあった領域境界を変更頻度別の設計データ領域「ａ」から「ｆ」としている。設計データ領域「ａ」から「ｆ」の変更頻度情報は各領域の変更回数となり、それぞれ「２」「３」「２」「１」「０」「３」となる。
【００２１】
次に、図２の変更頻度別分割手段２０３の動作を、図３・図４を用いて説明する。変更頻度別分割手段２０３は変更頻度抽出手段２０１の生成する変更頻度情報と変更頻度別の設計データ領域情報に基づいて設計データ分割情報を生成する。
【００２２】
図４は変更頻度別分割手段２０３の動作を示す図である。処理４０１で設計データ領域の先頭を取得する。図３の例では設計データ領域「ａ」を設定する。処理４０１で設計データ領域（「ａ」）とその領域に対応する変更頻度情報「２」を取得する。処理４０３で変更頻度が規定値（「１」）を超えているか判定し、規定値を超えている場合には処理４０４で設計データ分割情報「ｐ」を該当設計領域に設定する。以上の変更頻度別分割手段２０３の動作により、設計データ領域「ａ」の設計データ分割情報は「ｐ」となる。処理４０３の判定で規定値以下の場合には処理４０５が実行され、該当する設計データ領域に設計データ分割情報「ｑ」が設定される。処理４０６において、対象となる設計データ領域がまだある場合には処理４０２に戻って同様の一連の処理が実行され、設計データ領域がない場合には変更頻度別分割手段２０３の処理を終了する。
【００２３】
図３の変更頻度情報と変更頻度別の設計データ領域情報３０４に対して、変更頻度別分割手段２０３の図４の処理を適用した場合の、設計データ分割情報は３０５となる。
【００２４】
以上、図３に示したように、変更頻度抽出手段２０２と変更頻度別分割手段２０３により変更頻度に基づいて、設計データから設計データ分割情報が生成される。以上が本実施例における設計データ分割情報生成手段２０１の動作である。
【００２５】
なお、設計データ分割情報生成手段２０１が生成する設計データ分割情報を用いて、変更頻度別部品化手段２０４では該設計データの提供する機能を部品化する。変更頻度別部品化手段２０４を実現する部品化技術は、コンポーネント技術として広く用いられているものであり、特に詳細に関してここでは記載しない。
【００２６】
以上、本実施例によれば、変更頻度抽出手段により、設計データの変更頻度に応じた分類が可能となる。さらに変更頻度別分割手段により、設計データの変更頻度分類に基づいた設計データ分割情報の生成が可能となる。設計データ分割情報に基づいて設計データの変更に対する影響を局所化可能な部品の生成がおこなえる。
【００２７】
これにより、部品化された機能に対応する設計データの一部が変更された場合に、新しい設計データが提供する機能に対応するための部品の更新を対象となる部品に限定することが可能となり、使い勝手がよく信頼性の高いシステムを構築可能な部品を作成することが可能となる。
【実施例２】
【００２８】
以下、本発明の他の実施例を図５と図６を用いて説明する。本実施例において、設計データ分割情報生成手段２０１のうち、変更頻度抽出手段２０２の機能と動作は先の実施例と同様である。本実施例では変更頻度別分割手段の動作のみが先の実施例と異なる。図５は変更頻度別分割手段の動作例を示す図、図６は変更頻度別分割手段の処理をしめすフローチャートである。
【００２９】
図５において、設計データ５０１から５０３から変更頻度抽出手段２０２は、先の実施例と同様の処理により変更頻度情報と変更頻度別の設計データ領域情報５０４を生成する。
【００３０】
変更頻度別分割手段は変更頻度情報と変更頻度別の設計データ領域情報５０４と関数領域情報５０６に基づいて設計データ分割情報を生成する。関数領域情報は、設計データを記述機能（以下「関数」と称す）毎に分類したときに各関数が設計データ内で占める領域を示す情報である。例えば図５の関数領域情報５０６では、設計データ５０３の中に「ｒ１」から「ｒ５」の５つの関数がそれぞれ関数領域情報５０６に図示された領域にあることを示している。
【００３１】
以下、変更頻度別分割手段の処理を図６を用いて説明する。処理６０１で最初の関数領域を関数領域情報として指定する。処理６０２で該当する関数領域情報を取得する。図５の例では、関数領域は「ｒ１」となる。処理６０３で指定した関数領域に含まれる変更頻度別の設計データ領域と対応する変更頻度情報を取得する。例えば関数領域「ｒ１」に対応する設計データ領域は「ａ」「ｂ」の２つであり、その２つの領域の変更頻度情報はそれぞれ「２」と「３」になるので、関数領域「ｒ１」の変更頻度情報は「２」と「３」の最大値「３」となる。処理６０４で前記関数領域の変更頻度情報を規定値「１」と比較し、規定値を超える場合には処理６０５で該当する関数領域の設計データ分割情報を「ｐ」とする。図５の例では、関数領域「ｒ１」の変更頻度情報は「３」なので、処理６０５で関数領域「ｒ１」の設計データ分割情報は「ｐ」となる。処理６０４で変更頻度情報が規定値未満の場合には処理６０６が実行され、該当する関数領域の設計データ分割情報が「ｑ」となる。処理６０７で指定された設計データに対応する全関数領域の処理が完了したかを判定し、完了していない場合には次の関数領域を設定し、処理６０２以降の処理を再度実行する。
【００３２】
上記図６に示した変更頻度別分割手段の処理を図５に対して適用すると、関数領域「ｒ２」には設計データ領域「ｂ」「ｃ」「ｄ」が対応し、対応する変更頻度情報「３」「２」「１」の最大値「３」が関数領域「ｒ２」の変更頻度情報となり、設計データ分割情報は「ｐ」となる。以下「ｒ３」から「ｒ５」に対しても同様の処理で設計データ分割情報が生成可能である。
【００３３】
以上、本実施例によれば、設計データの変更頻度に応じた設計データ分割情報を関数領域情報の境界に合わせて生成可能となり、生成された設計データ分割情報を用いた設計データの分割が、分割境界が関数境界と一致することで容易となる。
【００３４】
以上、記載の本発明における実施例１・２において、設計データ分割装置の機能構成に関しては、本実施例の構成に加えて、バージョン管理制御手段に設計データ分割機能が内蔵させて構成などが可能であり、その機能構成は特にこれを限定しない。
【００３５】
また、データ分割装置の実現方法は情報処理装置で実行可能なソフトウェアとしてこれを実現する構成や、専用のハードウェアを用いてデータ分割機能を実現する構成などが可能であり、特にこれを限定しない。
【００３６】
また、本実施例における設計データはハードウェア設計に用いるモデルデータ・ソースコードや、ソフトウェア設計の用いるモデルデータ・ソースコードなどがあり、設計データの種類は特にこれを限定しない。
【００３７】
また、設計データは１つの設計データ記述ファイルや、１つのシステムを記述する複数の設計データ記述ファイルまでいろいろな粒度の設計データを本実施例の対象とすることが可能であり、設計データの規模・粒度は特にこれを限定しない。
【００３８】
上述した本発明の実施例による変更頻度抽出手段により、設計データの変更頻度に応じた分類が可能となる。さらに変更頻度別分割手段により、設計データの変更頻度分類に基づいた設計データ分割情報の生成が可能となる。設計データ分割情報に基づいて設計データの変更に対する影響を局所化可能な部品の生成がおこなえる。
【００３９】
これにより、部品化された機能に対応する設計データの一部が変更された場合に、新しい設計データが提供する機能に対応するための部品の更新を対象となる部品に限定することが可能となり、使い勝手がよく信頼性の高いシステムを構築可能な部品を作成することが可能となる。
【図面の簡単な説明】
【００４０】
【図１】バージョン管理手段のシステム構成図
【図２】本実施例の設計データ分割情報生成手段の構成図
【図３】設計データ分割情報生成手段の動作例を示す図
【図４】変更頻度別分割手段の動作を示すフローチャート
【図５】設計データ分割情報生成手段の動作例を示す図
【図６】変更頻度別分割手段の動作を示すフローチャート
【符号の説明】
【００４１】
１０２  バージョン管理機能アクセス手段
１０４  ネットワーク手段
１０５  バージョン管理制御手段
１０８  バージョン管理ＤＢ
２０１  設計データ分割情報生成手段
２０２  変更頻度抽出手段
２０３  変更頻度別分割手段
【図１】
2008269516.tif 000003
【図２】
2008269516.tif 000004
【図３】
2008269516.tif 000005
【図４】
2008269516.tif 000006
【図５】
2008269516.tif 000007
【図６】
2008269516.tif 000008