(57)【特許請求の範囲】
【請求項１】
設計資産が格納された設計資産格納手段内における設計資産の相互依存関係を管理するリポジトリシステムにおいて、
前記設計資産がモデル図における各設計要素単位であるとともに、
ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、
設計資産及び設計資産間の関連を、設計要素を最小単位として前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納手段と、
前記設計資産及び設計資産関連格納手段によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得手段と、
前記設計資産関連取得手段によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納手段によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知手段とを有し、
前記設計資産及び設計資産関連格納手段は、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別し、
前記設計資産関連取得手段は、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成する
ことを特徴とするリポジトリシステム。
【請求項２】
開発者ごとに前記設計資産の更新通知の設定又は解除を設定する設計資産更新通知設定手段を有することを特徴とする請求項１記載のリポジトリシステム。
【請求項３】
開発者から指定された前記設計資産を前記設計資産格納手段から取得する設計資産取得手段を有することを特徴とする請求項１又は２記載のリポジトリシステム。
【請求項４】
開発者が前記設計資産取得手段によって前記設計資産を取得したとき、前記設計資産更新通知設定手段は、該開発者について前記設計資産の更新通知を設定することを特徴とする請求項３記載のリポジトリシステム。
【請求項５】
設計資産が格納された設計資産格納手段内における設計資産の相互依存関係を管理するリポジトリシステムの管理方法において、
前記設計資産がモデル図における各設計要素単位であるとともに、
ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、
設計資産及び設計資産間の関連を、設計要素を最小単位として前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納工程と、
前記設計資産及び設計資産関連格納工程によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得工程と、
前記設計資産関連取得工程によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納工程によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知工程とを有し、
前記設計資産及び設計資産関連格納工程では、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別し、
前記設計資産関連取得工程では、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成する
ことを特徴とするリポジトリシステムの管理方法。
【請求項６】
開発者ごとに前記設計資産の更新通知の設定又は解除を設定する設計資産更新通知設定工程を有することを特徴とする請求項５記載のリポジトリシステムの管理方法。
【請求項７】
開発者から指定された前記設計資産を前記設計資産格納手段から取得する設計資産取得工程を有することを特徴とする請求項５又は６記載のリポジトリシステムの管理方法。
【請求項８】
開発者が前記設計資産取得工程によって前記設計資産を取得されたとき、前記設計資産更新通知設定工程は、該開発者について前記設計資産の更新通知を設定することを特徴とする請求項７記載のリポジトリシステムの管理方法。
【請求項９】
設計資産が格納された設計資産格納手段を有するコンピュータに、
設計資産及び設計資産間の関連を、設計要素を最小単位として、前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納処理と、
前記設計資産及び設計資産関連格納処理によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得処理と、
前記設計資産関連取得処理によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納処理によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知処理とを実行させ、
前記設計資産がモデル図における各設計要素単位であるとともに、
ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、
前記設計資産及び設計資産関連格納処理が、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別する処理であり、
前記設計資産関連取得処理が、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成する処理である
ことを特徴とするリポジトリシステムの管理プログラム。
【請求項１０】
前記コンピュータに、
開発者ごとに前記設計資産の更新通知の設定又は解除を設定する設計資産更新通知設定処理を実行させることを特徴とする請求項９記載のリポジトリシステムの管理プログラム。
【請求項１１】
前記コンピュータに、
開発者から指定された前記設計資産を前記設計資産格納手段から取得する設計資産取得処理を実行させることを特徴とする請求項９又は１０記載のリポジトリシステムの管理プログラム。
【請求項１２】
開発者が前記設計資産取得処理によって前記設計資産を取得されたとき、前記設計資産更新通知設定処理は、該開発者について前記設計資産の更新通知を設定することを特徴とする請求項１１記載のリポジトリシステムの管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リポジトリシステム、リポジトリシステムの管理方法、及びそのプログラムに関し、特に、複数人によるソフトウェア開発のモデル設計を効率化するリポジトリシステム、リポジトリシステムの管理方法、及びそのプログラムに関する。
【背景技術】
【０００２】
従来のソフトウェア設計におけるリポジトリシステムの一例として、永和システムマネジメント（株）が販売している製品である「ＪＵＤＥ／Ｅｎｔｅｒｐｒｉｓｅ」がある。図１０に示す従来のリポジトリシステムは、リポジトリシステム２００と、設計資産格納庫３００とから構成されている。更に、リポジトリシステム２００は、設計資産取得手段１と、設計資産格納手段２とから構成されており、モデル図およびパッケージ単位での設計資産の取得、登録、更新、削除の各処理を行うことができる。
【０００３】
従来のソフトウェア設計におけるリポジトリシステムは以下のように動作する。設計資産取得者１０１は、モデル図又はパッケージの単位で設計資産を設計資産格納庫３００から取得する。設計資産格納者１０２は、設計資産をモデル図又はパッケージの単位で設計資産格納庫３００に登録、更新、又は設計資産格納庫３００から削除する。
【０００４】
特許文献１では、プログラム開発のグループを構成するプログラマが登録されるグループ定義ファイルと、このグループ定義ファイルに登録されたプログラマによるそれぞれのプログラム開発作業に伴い共通利用可能な共有ファイルと、上記各プログラマそれぞれのプログラム開発作業に基づき作成される個人作成ファイルと、上記各プログラマにより作成された個人生成ファイルがそれぞれ別々に保存される個人ファイルと、この個人ファイルのそれぞれに保存された個人生成ファイルに対応して登録され、該個人生成ファイルで利用した共有ファイルとの関係を示す関係レコードと、上記共有ファイルに変更が生じた際に、上記グループ定義ファイルに登録されたプログラマに対応する上記個人ファイル内に関係レコードを検索し、該共有ファイルに変更により影響が及ぶ個人生成ファイルを検出する影響ファイル検出手段とを有することにより、共有ファイルに変更が生じた際に、そのままの上でプログラム開発作業が進行されることなく、影響の及び他のファイルを容易に検出することができるプログラム開発管理装置が提案されている。
【特許文献１】特開平０６−２７４３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の発明は以下の問題を有している。
【０００６】
ソフトウェアの開発においては、開発者同士が共通の記法に従ったモデルを記述することで設計作業を行う場合が多い。共通の記法に関しては、例えばＯＭＧ（Object Management Group）がＵＭＬ（Unified Modeling Language）２．０といった形で規定している。
【０００７】
開発者はモデル図のエディタで規定された設計要素（下記の図３を参照）を配置することにより、モデルを１つ又は複数の図（以下モデル図とする）として記述する。
【０００８】
従来のソフトウェア開発で用いられてきたリポジトリシステムは、図１０に示すように、上記のモデル図や複数のモデル図をまとめたパッケージを単位として、設計資産格納庫３００に対する格納（登録、更新、削除）処理を提供する設計資産格納手段６及び設計資産格納庫３００に格納したパッケージ、モデル図やモデル図に配置された設計要素を取得する処理を備えた設計資産取得手段１を備えたリポジトリシステム２００’であった。
【０００９】
しかし、モデル設計におけるモデル図や設計要素の間には複雑な関連をもっているものが多い。そのため、モデル図に配置する設計要素は、１つのモデル図だけでなく、複数のモデル図で共有される場合がある。さらに、あるモデル図に配置された設計要素を参照して、新たな設計要素を他のモデル図に配置する場合もある。
【００１０】
このような設計要素の間に複雑な関連をもったモデルを、モデル図を最小単位として管理した場合、複数のモデル図の間で共有している設計要素を更新する際に、設計資産更新者１０２が共有している設計要素を含む全てのモデル図を手作業で同じように更新しなければならなかった。
【００１１】
また、あるモデル図に配置された設計要素を参照して新しい設計要素が配置された場合、参照先のモデル図の設計要素が更新または削除されたときに、参照元のモデル図の開発者はその更新または削除を自動的に知ることができない。よって、設計情報取得者１０１は、参照先の設計要素を含むモデル図が更新または削除されたという情報を設計資産格納庫３００から設計資産取得手段１を用いて取得し、更新された設計資産の内容を確認して、手作業で参照元の設計資産を修正する必要があった。
【００１２】
特許文献１記載のプログラム開発管理装置は、他の開発者と共有する情報と、共有する情報とを別のリポジトリデータベースに格納・管理しているため、共有を行うプログラマの情報と、共有を行わないプログラマの情報とを区別しなければならず、リポジトリデータベースが効率的に利用されていない。また、リポジトリデータベースに格納される情報は、ファイルを最小単位として配置されているため、そのファイル内に共有可能なデータがあったとしても、それらを他の開発者と共有することができない。
【００１３】
そこで、本発明は、開発に関連した設計資産に対して更新通知の設定をしておき、更新通知を設定した設計資産の参照先の設計資産が更新されたとき、リポジトリシステムから更新通知を受けることにより、設計資産の間の複雑な依存関係をもったモデルが更新された際に、開発者が自身への影響範囲を確実に把握することができるリポジトリシステム、リポジトリシステムの管理方法、及びそのプログラムを提案することを目的としている。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明は、第１の態様として、設計資産が格納された設計資産格納手段内における設計資産の相互依存関係を管理するリポジトリシステムにおいて、前記設計資産がモデル図における各設計要素単位であるとともに、ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、設計資産及び設計資産間の関連を、設計要素を最小単位として前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納手段と、前記設計資産及び設計資産関連格納手段によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得手段と、前記設計資産関連取得手段によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納手段によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知手段とを有し、前記設計資産及び設計資産関連格納手段は、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別し、前記設計資産関連取得手段は、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成することを特徴とするリポジトリシステムを提供する。
【００１５】
上記目的を達成するために、本発明は、第２の態様として、設計資産が格納された設計資産格納手段内における設計資産の相互依存関係を管理するリポジトリシステムの管理方法において、前記設計資産がモデル図における各設計要素単位であるとともに、ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、設計資産及び設計資産間の関連を、設計要素を最小単位として前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納工程と、前記設計資産及び設計資産関連格納工程によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得工程と、前記設計資産関連取得工程によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納工程によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知工程とを有し、前記設計資産及び設計資産関連格納工程では、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別し、前記設計資産関連取得工程では、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成することを特徴とするリポジトリシステムの管理方法を提供する。
【００１６】
上記目的を達成するために、本発明は、第３の態様として、設計資産が格納された設計資産格納手段を有するコンピュータに、設計資産及び設計資産間の関連を、設計要素を最小単位として、前記設計資産格納手段に格納し、前記設計資産及び前記設計資産間の関連を新たに登録、更新、又は削除する設計資産及び設計資産関連格納処理と、前記設計資産及び設計資産関連格納処理によって格納される前記設計資産に関連する設計資産のリストを生成する設計資産関連取得処理と、前記設計資産関連取得処理によって生成された前記リストに含まれる設計資産の開発者、及び前記設計資産及び設計資産関連格納処理によって格納される前記設計資産の開発者に、前記設計資産の登録、更新、又は削除を通知する設計資産更新通知処理とを実行させ、前記設計資産がモデル図における各設計要素単位であるとともに、ある設計資産と別の設計資産との間の関連である設計資産間の関連が、前記モデル図のメタモデルによって定義がなされている、各設計要素間の関連であり、前記設計資産及び設計資産関連格納処理が、ある設計資産を格納する前に、該設計資産と既に格納されている設計資産との差分を検出し、差分のある属性と差分のない属性を分別する処理であり、前記設計資産関連取得処理が、前記差分のある属性への参照が設定された参照元のみの設計資産のリストを生成する処理であることを特徴とするリポジトリシステムの管理プログラムを提供する。
【発明の効果】
【００２９】
本発明は、開発に関連した設計資産に対して更新通知の設定をしておき、更新通知を設定した設計資産の参照先の設計資産が更新されたとき、リポジトリシステムから更新通知を受けることにより、設計資産の間の複雑な依存関係をもったモデルが更新された際に、開発者が自身への影響範囲を確実に把握することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の一実施形態に係わるリポジトリシステムの構成及び処理について説明する。
【００３１】
本実施形態に係わるリポジトリシステムは、設計資産格納庫に格納するモデルに関して設計要素を最小単位として管理し、モデル図は複数の設計要素を子としてもつ要素として管理することにより、複数のモデル図の間で１つの設計要素を共有して利用する。
【００３２】
また、設計資産格納者がリポジトリシステムを通して設計資産格納庫にモデル図を格納する際に、格納するモデル図に含まれる設計要素を参照している設計要素を設計資産関連取得手段によって解析し、モデル図の格納による影響範囲を自動的に調べ、かつ設計資産更新通知手段により参照している設計要素を含むモデル図を開発している設計資産取得者に対して、参照元の設計要素を含むモデル図に含まれる設計要素の更新や削除を通知する。
【００３３】
設計要素とは、モデル図に配置される各要素のことで、モデルの設計を行うエディタによって異なるが、例えば、ＵＭＬ２．０  ＳｕｐｅｒＳｔｒｕｃｔｕｒｅ（０４−１０−０２版）の８１ページで定義されたメタモデル“Ｅｌｅｍｅｎｔ”の子要素を実際に表現したインスタンスをあらわしている。
【００３４】
図２は、設計資産格納者がリポジトリシステムを通してクラス図（ＣＣＣ）を構成する設計要素を設計資産格納庫に格納する際に、クラス、汎化（Generalization）、及びオペレーションを配置したクラス図を最小単位の設計要素からなる設計資産をパッケージとしてまとめた例である。
【００３５】
設計資産格納庫に格納されたモデルを取得する単位を設計資産と定義すると、本実施形態における設計資産の最小単位はモデル図に配置した設計要素であり、モデル図やモデル図をまとめたパッケージも設計資産になり得る。設計資産は親子関係をもつことができ、設計要素同士が親子関係となることもある。モデル図とその内部に配置した設計要素、パッケージとそれを構成するモデル図も設計要素の親子関係として表現される。
【００３６】
図３に、図２に示した設計要素同士が参照関係をもつクラス図を参照して、シーケンス図を記述した例を示す。シーケンス図（ＢＢＢ）は、クラス図（ＣＣＣ）に配置した設計要素の情報を参照して、記述した例である。まず、クラスＸＸＸを参照してライフラインａを、クラスＹＹＹを参照してライフラインｂを配置する。次に、クラスＸＸＸのオペレーションｘｘｘ１を参照してライフラインａへのメッセージｘｘｘ１を配置する。
【００３７】
図４は、図３で示したシーケンス図に基づいて、参照関係をもつ設計要素からなる設計資産の構造を表現した例である。参照先の設計要素を表現するために、設計資産の位置を一番の親となるパッケージから子をたどったパスとして表現している。なお、図３で示した論理的な参照関係以外にも、親子関係をもった設計資産に関しては、常に親となる設計資産が子となる設計資産を参照しているという関連を設定していることとする。また、循環した参照は設定できないこととする。
【００３８】
また、図２で示したクラスは、ＵＭＬ２．０  Super Structure（０４−１０−０２版）において、親となるクラスの属性を備えている。例えば、親クラスである“Named Element”の属性として定義された“Name”や、同じく親となるクラスである“Redefineable Element”の属性として定義された“isLeaf”を属性として有する。そこで、設計資産を設計資産および設計資産関連格納手段を通して設計資産格納庫に格納する際に、参照先として設計要素が保持する属性を指定できるようにすることにより、以下の効果が得られる。
【００３９】
例えば、図４に示すライフラインａを格納する際、クラスＸＸＸの属性を参照先として設定する。具体的には、設計資産および設計資産関連格納手段を通して設計資産を設計資産格納庫に格納する前に、既に格納されている当該設計資産との差分を検出し、差分のある属性と、差分のない属性とを分別してから設計資産を格納する。
【００４０】
そして、参照元の設計資産の集合を取得する際に、差分のない属性への参照が設定された設計資産が取得されないようにして、差分のある属性または設計資産への参照が設定された参照元の設計資産のみの集合を取得する。例えば、クラスＸＸＸの属性“isLeaf”の属性のみを変更して設計資産および設計資産関連格納手段を通して設計資産格納庫に格納する場合、属性“Name”の属性値が変更されていないため、差分のない属性に分別され、ライフラインａは更新通知の対象から外される。したがって、参照先の設計資産の更新の影響範囲をより正確に把握することができ、かつ本来不要な参照先の設計資産の更新通知を削減することができる。また、参照先の設計資産の設定に属性と属性値に関する条件を設定可能にすることにより、設定した条件を満たすような差分が参照先の設計資産にあった場合のみ、更新通知を行うことができ、かつ不要な参照先の設計資産の更新通知を削減することができる。
【００４１】
次に、本実施形態に係わるリポジトリシステムの具体的な構成について図１を用いて説明する。なお、本実施形態に係わるリポジトリシステム２００の周辺は、設計資産取得者１０１、設計資産格納者１０２、及び設計資産格納庫３００を有して構成されている。
【００４２】
リポジトリシステム２００にアクセスを行う開発者は、役割により設計資産取得者１０１と設計資産格納者１０２に分別できる。設計資産取得者１０１と設計資産格納者１０２は同じ開発者であっても構わない。リポジトリシステムを利用したソフトウェアの開発において、開発者は設計資産取得者１０１として、設計資産格納庫３００から設計資産を取得して開発を行ない、設計資産格納者１０２として設計資産格納庫３００に設計資産を格納するといった開発手法がとられるため、どちらの役割も兼ねることになる。
【００４３】
設計資産格納庫３００は、設計資産を格納する物理的な場所であり、設計資産の版や設計資産の間の参照関係を設計資産に紐付けて管理することができる。
【００４４】
リポジトリシステム２００は、設計資産取得手段１、設計資産および設計資産関連格納手段２、設計資産関連格納手段３、設計資産更新通知設定手段４、及び資産更新手段５を有して構成される。
【００４５】
設計資産取得手段１は、設計資産取得者１０１からの要求に基づき、指定された設計資産の最新版（又は特定の版）を設計資産格納庫３００から検索・取得して返す。
【００４６】
設計資産および設計資産関連格納手段２は、設計資産格納者１０２から渡された設計資産及び設計資産に設定された参照先の設計資産への関連を設計資産格納庫３００に格納する際、以下の処理を実行する。格納する設計資産が新しく格納する設計資産の場合、初版として登録し、既に登録済みの設計資産であった場合は版をあげて最新版として登録する。
【００４７】
一方、設計資産格納庫３００から設計資産を削除する場合、設計資産および設計資産格納手段２は、設計資産格納者１０２から渡された削除対象の設計資産Ａ１及び親となる設計資産Ａ２の名前に基づいて、設計資産格納庫３００に格納されている親となる設計資産Ａ２の子から設計資産Ａ１を削除する。
【００４８】
設計資産関連取得手段３は、設計資産に関連として設定された参照先の設計資産を取得する操作を、関連として設定された参照先の設計資産がなくまるまで繰り返し行ない、そのリストを返却する。
【００４９】
設計資産更新通知設定手段４は、設計資産取得者１０１からの要求に基づき、設計資産格納庫３００に保存されている指定された設計資産に対する開発者（設計資産取得者１０１）単位の更新通知設定または更新通知設定の解除を行って更新する。
【００５０】
設計資産更新通知手段５は、設計資産関連取得手段３によって取得した参照先の設計資産Ａ３と、及び更新された（参照元の）設計資産Ａ４とを受け取り、設計資産Ａ３に対して更新通知の設定を行っている設計資産取得者１０１、及び設計資産格納者１０２に対して、参照元の設計資産の更新を通知する。設計資産取得者１０１に更新を通知するタイミングは、設計資産取得者１０１が指定した時間、又は（定期的に）リポジトリシステム２００に問合せに来たタイミングであってもよく、リポジトリシステム２００と設計資産開発者１０１がＬＡＮで接続されていれば、設計資産が更新されたタイミングでリアルタイムに設計資産開発者１０１に更新情報をプッシュで通知してもよい。
【００５１】
次に、本実施形態に係わるリポジトリシステムの動作について図５から図７を用いて説明する。
【００５２】
まず、図５に示すフローチャートを用いて、設計資産取得者１０１が更新通知を受ける設計資産を設定する処理について説明する。
【００５３】
設計資産取得者１０１は、更新通知を設定する設計資産の名前をリポジトリシステム２００の設計資産更新通知設定手段４に送る（ステップＳ５０１）。設計資産更新通知設定手段４は、受信した名前の設計資産を設計資産取得者１０１の更新通知の対象として、設計資産格納庫３００に設定する（ステップＳ５０２）。
【００５４】
次に、図６に示すフローチャートを用いて、設計資産格納者１０２が設計資産を格納又は削除した際に、格納した設計資産を参照している設計資産に対する更新通知を設定している設計資産取得者１０１及び設計資産格納者１０２に対して、リアルタイムで更新通知を行う処理について説明する。
【００５５】
設計資産格納者１０２は、格納又は削除する設計資産Ａと、設計資産Ａに設定された関連をリポジトリシステム２００の設計資産および設計資産関連格納手段２に送る（ステップＳ６０１）。
【００５６】
設計資産Ａを格納する場合、設計資産および設計資産関連格納手段２は、格納する設計資産Ａと設計資産Ａに設定された関連とが新規であれば初版として、既に登録されていれば版をあげて設計資産格納庫３００に登録する（ステップＳ６０２）。
【００５７】
一方、設計資産Ａを削除する場合、設計資産および設計資産関連格納手段２は、設計資産格納庫３００に格納されている親となる設計資産Ａ２の子から設計資産Ａ、及び設計資産Ａ２から設計資産Ａへの関連を削除する（ステップＳ６０２）。
【００５８】
設計資産および設計資産関連格納手段２による、設計資産Ａの格納又は削除処理が完了すると（ステップＳ６０２）、設計資産関連取得手段３によって設計資産Ａの参照先である設計資産の集合が取得される（ステップＳ６０３）。設計資産更新通知手段５は参照先の設計資産Ｂに更新通知を設定している設計資産取得者１０１の集合を取得する（ステップＳ６０４）。
【００５９】
次に、設計資産更新通知手段５は、ステップＳ６０４で取得した設計資産取得者１０１及び設計資産更新者１０２ごとに保持している更新通知リストに設計資産Ａ及び参照の元となる設計資産を格納して更新する（ステップＳ６０５）。そして、設計資産更新通知手段５は、参照先の設計資産Ｂを入力として、再帰的にステップＳ６０４及びステップＳ６０５の処理を行う（ステップＳ６０６）。
【００６０】
さらに、設計資産更新通知手段５は、設計資産取得者１０１のそれぞれと設計資産更新者１０２に対して、ステップＳ６０５において更新した更新通知リストを通知する（ステップＳ６０７）。
【００６１】
設計資産取得者１０１に対して通知を行うタイミングを、設計資産取得者１０１が指定した時間、又は定期的にリポジトリシステム２００に問合せが来たタイミングにおいて行う場合、図７に示すフローチャートの流れにより、設計資産取得者１０１に対する更新通知が行なわれる。
【００６２】
まず、設計資産取得者１０１が更新通知リストの取得要求をリポジトリシステム２００の設計資産更新通知手段５に送る（ステップＳ７０１）。設計資産更新通知手段５は更新通知リストを設計資産取得者１０１に通知する（ステップＳ７０２）。
【００６３】
上述の処理によれば、設計資産更新通知設定手段４によって、開発に関連した設計資産に対して更新通知の設定をしておき、設定をした設計資産の参照先の設計資産の更新通知を設計資産更新通知手段５によってリポジトリシステム２００から受けることにより、設計資産の間の複雑な依存関係をもったモデルが更新された際に、開発者が自身への影響範囲を確実に把握することができる。
【００６４】
また、設計資産更新者１０２のモデルの変更をその変更のたびに認識することができ、更新内容を逐次反映しながら開発を行うことにより、設計資産格納庫３００に格納された設計資産の内容と乖離することなく複数人での開発を行うことができる。
【００６５】
また、設計資産を格納する際に設計資産関連取得手段３によって、格納する設計資産を参照している設計資産を網羅的に取得して、設計資産更新通知手段５によって通知を受けることことにより、設計資産変更者１０２が設計資産を設計資産格納庫３００に格納する際に、影響の受けるモデル（設計資産）の範囲を網羅的に知ることができることにある。
【００６６】
次に、他の実施形態に係わるリポジトリシステムの構成及び動作について説明する。なお、本実施形態に係わるリポジトリシステム２００の周辺は、設計資産取得者１０１、設計資産格納者１０２、及び設計資産格納庫３００を有して構成されている。
【００６７】
図８に示す本実施形態に係わるリポジトリシステム２００は、設計資産取得手段１´、設計資産および設計資産関連格納手段２、設計資産関連取得手段３、設計資産更新通知設定手段４、及び設計資産更新手段５を有して構成される。
【００６８】
設計資産取得手段１´は、設計資産取得者１０１からの要求に基づき、指定された設計資産の特定の版（または最新版）を設計資産格納庫３００から検索・取得して返す。また、取得した設計資産の名前を設計資産更新通知手段４に送る。
【００６９】
設計資産取得手段１´以外の構成については、先に説明した実施形態に係わるリポジトリシステムと同様であるため、ここでは説明を省略する。
【００７０】
次に、図９に示すフローチャートを用いて、設計資産取得者１０１が更新通知を受ける設計資産を設定する処理について説明する。
【００７１】
まず、設計資産取得者１０１は、取得する設計資産の名前をリポジトリシステム２００の設計資産取得手段１´に送る（ステップＳ９０１）。設計資産取得手段１´は、設計資産格納庫３００から設計資産を取得して、設計資産開発者１０１に返す（ステップＳ９０２）。設計資産更新通知設定手段４は、設計資産を設計資産取得者１０１の更新通知の対象として、設計資産格納庫３００に設定する（ステップＳ９０３）。
【００７２】
設計資産格納者１０２が設計資産を格納してから、更新通知を設計資産取得者１０１や設計資産格納者１０２が受け取るまでの処理の流れは、図６および図７に示されたフローチャートの処理の流れと同様である。
【００７３】
上述の処理よれば、設計資産取得手段１´において設計資産取得者１０１が取得を行った設計資産を、設計資産通知設定手段５に引き渡して更新通知の対象とすることにより、設計資産取得者１０１が更新通知を行う設計資産の設定を手動で行う必要がなく、取得した設計資産に関しては自動で更新通知を受け取ることができる。
【図面の簡単な説明】
【００７４】
【図１】本発明に係わるリポジトリシステムの構成を示すブロック図である。
【図２】設計資産格納者によって作成されたクラス図の一例である。
【図３】設計資産格納庫に格納された設計要素を用いて作成されたシーケンス図である。
【図４】参照関係をもつ設計要素からなる設計資産の構造である。
【図５】設計資産取得者が更新通知を受ける設計資産を設定する処理のフローチャートである。
【図６】リポジトリシステムが設計資産取得者へ更新通知を行う処理のフローチャートである。
【図７】所定のタイミングで設計資産取得者へ更新通知を行う処理のフローチャートである。
【図８】本発明に係わるリポジトリシステムの構成を示すブロック図である。
【図９】設計資産取得者が更新通知を受ける設計資産を設定する処理のフローチャートである。
【図１０】従来のリポジトリシステムの構成を示すブロック図である。
【符号の説明】
【００７５】
１、１´    設計資産取得手段
２    設計資産および設計資産関連格納手段
３    設計資産関連取得手段
４    設計資産更新通知設定手段
５    設計資産更新通知手段
６    設計資産格納手段
１０１    設計資産取得者
１０２    設計資産格納者
２００    リポジトリシステム
３００    設計資産格納庫
【図１】
0004848760.tif 000002
【図２】
0004848760.tif 000003
【図３】
0004848760.tif 000004
【図４】
0004848760.tif 000005
【図５】
0004848760.tif 000006
【図６】
0004848760.tif 000007
【図７】
0004848760.tif 000008
【図８】
0004848760.tif 000009
【図９】
0004848760.tif 000010
【図１０】
0004848760.tif 000011