(57)【要約】【課題】誤ったファイルの関連付けを抑制すること。【解決手段】ファイル管理サーバ１０は、関連付けする対象の少なくとも二つのファイル情報を取得すると、ファイル間の関連付けの可否を条件が設定された条件情報を記憶する記憶部１３を参照する。そして、ファイル管理サーバ１０は、二つのファイルが条件情報の条件を満たすか否かを判別する。その上で、ファイル管理サーバ１０は、条件を満たす場合にファイルの関連付けを実行する。【選択図】図２
2014130548.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
関連付けする対象の少なくとも二つのファイル情報を取得すると、ファイル間の関連付けの可否の条件が設定された条件情報を記憶する記憶部を参照して、該二つのファイルが前記条件情報の条件を満たすか否かを判別し、
条件を満たす場合にファイルの関連付けを実行する
処理を実行させることを特徴とする情報管理プログラム。
【請求項２】
前記記憶部の条件情報は従属関係を定義したフォルダの情報を含み、
前記条件を満たすか否かを判別する処理として、
従属関係が定義されたフォルダに格納されたファイルか否かにより条件を満たすか否かを判別する請求項１に記載の情報管理プログラム。
【請求項３】
前記条件を満たすか否かを判別する処理として、
ファイルの部分について関連付けをする対象として取得した場合、当該ファイルの部分を含むファイルを特定し、特定した該ファイルが条件を満たすか否かを判別する請求項１に記載の情報管理プログラム。
【請求項４】
前記記憶部の条件情報は従属関係を定義したフォルダの情報を含み、
前記条件を満たすか否かを判別する処理として、
従属関係が定義されたフォルダがループの関係にあるか否かによって、条件を満たすか否かを判別する請求項１に記載の情報管理プログラム。
【請求項５】
コンピュータが、
関連付けする対象の少なくとも二つのファイル情報を取得すると、ファイル間の関連付けの可否の条件が設定された条件情報を記憶する記憶部を参照して、該二つのファイルが前記条件情報の条件を満たすか否かを判別し、
条件を満たす場合にファイルの関連付けを実行する
処理を実行することを特徴とする情報管理方法。
【請求項６】
ファイル間の関連付けの可否の条件が設定された条件情報を記憶する記憶部と、
関連付けする対象の少なくとも二つのファイル情報を取得すると、該二つのファイルが前記条件情報の条件を満たすか否かを判別し、条件を満たす場合にファイルの関連付けを実行する制御部と
を有することを特徴とする情報管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報管理プログラム、情報管理方法及び情報管理装置に関する。
【背景技術】
【０００２】
製品の設計・開発を行う際には、設計・開発の各工程、いわゆるプロセスで生成される仕様書、設計書や検証データなどの成果物のファイルが管理される。かかる製品の一例としては、自動車業界、電機業界や精密業界などで用いられる制御システムや組込システムなどが挙げられる。このように、ファイル管理を行う場合には、仕様や設計の一部に変更が発生した場合にその影響範囲を特定できるように、互いに関係のあるファイル同士が関連付けられる。かかる関連付けによってトレーサビリティの向上を目指す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−１９５２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のファイル管理では、互いの関係が希薄なファイル同士が誤って関連付けられる場合があるという問題がある。このように、誤ったファイルの関連付けがなされた場合には、変更に対する影響範囲を適切に特定できず、トレーサビリティが低下してしまう。
【０００５】
１つの側面では、上記に鑑みてなされたものであって、誤ったファイルの関連付けを抑制できる情報管理プログラム、情報管理方法及び情報管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様の情報管理プログラムは、コンピュータに、関連付けする対象の少なくとも二つのファイル情報を取得すると、ファイル間の関連付けの可否の条件が設定された条件情報を記憶する記憶部を参照して、該二つのファイルが前記条件情報の条件を満たすか否かを判別し、条件を満たす場合にファイルの関連付けを実行する処理を実行させる。
【発明の効果】
【０００７】
一実施形態によれば、誤ったファイルの関連付けを抑制できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係るファイル管理システムの構成を示す図である。
【図２】図２は、実施例１に係るファイル管理サーバの機能的構成を示すブロック図である。
【図３】図３は、ツリー構造の一例を示す図である。
【図４】図４は、オブジェクト情報の一例を示す図である。
【図５】図５は、条件情報の一例を示す図である。
【図６】図６は、フォルダ条件、ファイル条件及びファイル要素条件の一例を示す図である。
【図７】図７は、関連付け情報の一例を示す図である。
【図８】図８は、関連付けが禁止される態様の一例を示す図である。
【図９】図９は、クライアント端末に表示される画面の一例を示す図である。
【図１０】図１０は、クライアント端末に表示される画面の一例を示す図である。
【図１１】図１１は、実施例１に係る関連付け処理の手順を示すフローチャートである。
【図１２】図１２は、実施例１に係る検索処理の手順を示すフローチャートである。
【図１３】図１３は、実施例１及び実施例２に係る情報管理プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して本願に係る情報管理プログラム、情報管理方法及び情報管理装置の実施例について説明する。なお、この実施例は適用範囲を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることができる。
【実施例１】
【００１０】
［システム構成］
図１は、実施例１に係るファイル管理システムの構成を示す図である。図１に示すファイル管理システム１は、製品の設計・開発の各工程でクライアント端末３０Ａ〜３０Ｃによって生成される開発資産、例えば仕様書、設計書や検証データなどの成果物のファイルを管理するものである。
【００１１】
図１に示すように、ファイル管理システム１には、ファイル管理サーバ１０と、クライアント端末３０Ａ〜３０Ｃとが収容される。なお、図１には、３つのクライアント端末をそれぞれ図示したが、ファイル管理システム１は任意の数のクライアント端末を収容できる。また、図１には、１つのファイル管理サーバでファイルを管理する場合を例示するが、複数のファイル管理サーバでファイルを分散して管理することとしてもかまわない。以下では、クライアント端末３０Ａ〜３０Ｃの各装置を区別なく総称する場合には、「クライアント端末３０」と記載する場合がある。
【００１２】
これらファイル管理サーバ１０及びクライアント端末３０の間は、ネットワーク５を介して相互に通信可能に接続される。かかるネットワーク７には、有線または無線を問わず、インターネット（Internet）、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１３】
このうち、ファイル管理サーバ１０は、製品の設計・開発の各工程で成果物して得られる開発資産のファイルを管理する情報管理サービスをクライアント端末３０に提供するコンピュータである。かかるファイル管理サーバ１０は、上記の情報管理サービスに関する処理を実行するＷｅｂサーバとして実装することとしてもよいし、また、上記の情報管理サービスをアウトソーシングにより提供するクラウドとして実装することもできる。他の一態様としては、パッケージソフトウェアやオンラインソフトウェアとして提供される情報管理プログラムを所望のコンピュータにプリインストール又はインストールさせることによっても実装できる。
【００１４】
クライアント端末３０は、上記の情報管理サービスの提供を受けるコンピュータである。例えば、クライアント端末３０は、製品の開発・設計に携わる開発者を始め、開発・設計に間接的に関係する関係者などによって使用される。以下では、開発者および関係者を総称して「開発関係者」と記載する場合がある。かかるクライアント端末３０の一態様としては、パーソナルコンピュータを始めとする固定端末の他、スマートフォン、携帯電話機、ＰＨＳ（Personal  Handyphone  System）やＰＤＡ（Personal  Digital  Assistants）などの移動体端末も採用できる。
【００１５】
かかるクライアント端末３０には、ファイル管理サーバ１０によって提供される情報管理サービスの提供を受けるフロントエンドとして機能するアプリケーションプログラム、例えばＷｅｂブラウザなどがプリインストールまたはインストールされる。なお、以下では、クライアント端末３０上で動作されるアプリケーションプログラムのことを「クライアントアプリ」と記載する場合がある。
【００１６】
例えば、クライアント端末３０は、クライアントアプリを介して開発関係者のアカウント名やパスワードなどのログインの認証情報の入力を受け付けた上でログインの認証情報をファイル管理サーバ１０へ送信する。これによって、開発関係者はログイン認証を受けることになる。この結果、ログイン認証に成功した場合、すなわちクライアント端末３０の操作者が開発関係者であると認証された場合には、当該開発関係者が有する権限にしたがって上記の情報管理サービスの一部または全部がファイル管理サーバ１０によって開放される。かかるログイン認証の成功後には、クライアント端末３０は、クライアントアプリを介して、開発関係者からファイル管理サーバ１０に対する各種のファイル操作を受け付けることができる。
【００１７】
かかるファイル操作の一態様としては、ファイル管理サーバ１０上に新規のファイルをアップロードする操作、ファイル管理サーバ１０上で管理されるファイルの内容の一部を変更する操作やファイルを削除したりする操作などが挙げられる。なお、以下では、ワープロソフトや表計算ソフトなどによって製品の開発・設計の各工程で作成される仕様書、設計書や検証データなどの文書ファイルのことを「ドキュメント」と記載する場合がある。ファイル操作の他の一態様としては、ファイル管理サーバ１０上で管理されるファイルのうち互いに関係のある複数のファイル情報を関連付ける関連付け操作が挙げられる。かかる関連付けは、例えば、あるファイルの内容の変更が他のファイルに与える影響範囲を検索するトレーサビリティを実現する目的でなされる。
【００１８】
なお、ここで言う「ファイル情報」は、必ずしもファイルそのものだけを指すものではなく、ファイルの中身が表す文書に含まれる要素であってもよい。例えば、表形式のファイルの場合には、表計算ソフトで表示される表のマス目であるセルなどが挙げられる。以下では、表計算ソフトのセルなどのように、ファイルの中身が表す文書に含まれる要素のことを「ファイル要素」と記載する場合がある。
【００１９】
［ファイル管理サーバ１０の構成］
続いて、本実施例に係るファイル管理サーバ１０の機能的構成について説明する。図２は、実施例１に係るファイル管理サーバ１０の機能的構成を示すブロック図である。図２に示すように、ファイル管理サーバ１０は、通信Ｉ／Ｆ（interface）部１１と、記憶部１３と、制御部１５とを有する。なお、ファイル管理サーバ１０は、図２に示した機能部以外にも既知のサーバ装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００２０】
通信Ｉ／Ｆ部１１は、他の装置、例えばクライアント端末３０との間で通信制御を行うインタフェースである。かかる通信Ｉ／Ｆ部１１の一態様としては、ＬＡＮ（Local  Area  Network）カードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１は、クライアント端末３０からファイル操作に関するコマンドやコマンドに対応するファイルを受信したり、また、あるファイルの内容の変更が他のファイルやファイル要素に与える影響範囲の検索要求を受信したりする。また、通信Ｉ／Ｆ部１１は、クライアント端末３０からのファイル操作のコマンドに対応するファイルを送信したり、また、変更の影響範囲の検索結果を送信したりする。
【００２１】
記憶部１３は、制御部１５で実行されるＯＳ（Operating  System）や情報管理プログラムなどの各種プログラムを記憶する記憶デバイスである。記憶部１３の一態様としては、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどの記憶装置が挙げられる。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２２】
記憶部１３は、制御部１５で実行されるプログラムに用いられるデータの一例として、ファイル１３ａと、オブジェクト情報１３ｂと、条件情報１３ｃと、関連付け情報１３ｄとを記憶する。なお、上記のファイル１３ａ、オブジェクト情報１３ｂ、条件情報１３ｃや関連付け情報１３ｄ以外にも、他の電子データ、例えば開発関係者のファイルへのアクセス権限なども併せて記憶することもできる。
【００２３】
このうち、ファイル１３ａは、製品の開発・設計の各工程で生成される各種のファイルである。かかるファイル１３ａの一例としては、要求分析、外部設計、内部設計といった工程で作成された各種のドキュメントを始め、プログラム設計の後にプログラミングされたプログラムの検証、いわゆるテストの工程で作成された各種のドキュメントが挙げられる。具体例を挙げれば、要求分析の成果として製品の機能に関する仕様が定義される「機能要件書」、外部設計の成果として製品の機能に関する基本設計が定義される「機能設計書」、内部設計の成果として製品の機能に関する詳細設計が定義される「機能詳細設計書」などのドキュメントが挙げられる。さらには、要件の観点からプログラムのテストの計画が定義された「要件テスト仕様書」、機能の観点からプログラムのテストの計画が定義された「機能テスト仕様書」などのドキュメントが挙げられる。
【００２４】
かかるファイル１３ａは、クライアント端末３０への表示や操作が仮想的なツリー構造で実現される。図３は、ツリー構造の一例を示す図である。図３には、ルートフォルダを頂点とし、「機能要件」、「機能設計」、「機能詳細設計」、「要件テスト仕様」、「機能テスト仕様」といった製品の開発・設計の各工程がルートフォルダの配下のフォルダとして配置されたツリー構造が例示されている。
【００２５】
図３に示すように、「機能要件」のフォルダには、「機能要件書」のファイルが格納されている。さらに、「機能要件書」のファイルは、「機能要件１」や「機能要件２」といったファイル要素を含んでいる。また、「機能設計」のフォルダには、「機能Ａ設計書」および「機能Ｂ設計書」の２つのファイルが格納されている。このうち、「機能Ａ設計書」のファイルは、「機能Ａ１設計」や「機能Ａ２設計」などのファイル要素を含み、また、「機能Ｂ設計書」のファイルは、「機能Ｂ１設計」のファイル要素を含んでいる。また、「機能詳細設計」のフォルダには、「機能Ａ１詳細設計書」、「機能Ａ２詳細設計書」および「機能Ｂ１詳細設計書」の３つのファイルが格納されている。このうち、「機能Ａ１詳細設計書」のファイルは、「詳細設計（イ）」及び「詳細設計（ロ）」などのファイル要素を含んでいる。また、「機能Ａ２詳細設計書」のファイルは、「詳細設計（α）」のファイル要素を含んでいる。さらに、「機能Ｂ１詳細設計書」のファイルは、「詳細設計（ｉ）」のファイル要素を含んでいる。また、「要件テスト仕様」のフォルダには、「要件１テスト仕様書」のファイルが格納されており、かかる「要件１テスト仕様書」のファイルが機能要件１に関する「テスト仕様１」を含んでいる。また、「機能テスト仕様」のフォルダには、「機能Ａ１テスト仕様書」のファイルが格納されており、かかる「機能Ａ１テスト仕様書」のファイルが機能Ａ１に関する「テスト仕様Ａ１」を含んでいる。
【００２６】
オブジェクト情報１３ｂは、上記の関連付けが実行されるフォルダ、ファイルやファイル要素といったオブジェクトに関する情報である。かかるオブジェクト情報１３ｂは、クライアント端末３０からのファイル操作が実行された場合に、後述の登録部１５ａによって生成、更新または消去がなされる。
【００２７】
例えば、クライアント端末３０からファイル管理サーバ１０上にフォルダを新規に作成するファイル操作を受け付けた場合には、新規に作成されたフォルダがオブジェクトとして新規に登録される。また、クライアント端末３０からファイルを新規にアップロードするファイル操作を受け付けた場合には、新規にアップロードされたファイルがオブジェクトとして新規に登録される。これとともに、新規にアップロードされたファイルの内容のうち特定のファイル要素が抽出された上でそのファイル要素がオブジェクトとして新規に登録される。また、クライアント端末３０からファイル管理サーバ１０上のフォルダを削除するファイル操作を受け付けた場合には、当該ファイル操作を受け付けたフォルダ、フォルダに含まれるファイル及びファイルが含むファイル要素などのオブジェクトが削除される。また、ファイルを削除するファイル操作を受け付けた場合には、当該ファイル操作を受け付けたファイル及びファイルが含むファイル要素などのオブジェクトが削除される。また、クライアント端末３０からファイル管理サーバ１０上のファイルを更新するファイル操作を受け付けた場合には、更新されるファイルの内容のうち特定のファイル要素が再抽出された上でそのファイル要素がオブジェクトとして上書きされる。
【００２８】
かかるオブジェクト情報１３ｂの一態様としては、「オブジェクトＩＤ（ＩＤ：IDentifier）」、「種別」、「フォルダ」、「ファイル」及び「ファイル要素」などの項目が対応付けられたデータを採用できる。ここで言う「オブジェクトＩＤ」とは、オブジェクトを識別する識別情報を指し、例えば、同一のフォルダ内のファイル、同一のファイルが含むファイル要素を識別できるように、フォルダ、ファイル及びファイル要素の各オブジェクトに固有のＩＤが付与される。また、「種別」とは、オブジェクトの種別を指し、かかる種類の一例としては、フォルダ、ファイルやファイル要素などが挙げられる。
【００２９】
図４は、オブジェクト情報１３ｂの一例を示す図である。図４には、図３に示したフォルダ、ファイル及びファイル要素の各オブジェクトが図示されている。図４に示すオブジェクトＩＤ「object0001」のオブジェクトは、図３に示した「機能要件」のフォルダを指す。このように、オブジェクトがフォルダである場合には、図４に示すように、ファイル及びファイル要素のフィールドはブランクとされる。また、図４に示すオブジェクトＩＤ「object0002」のオブジェクトは、図３に示した「機能要件書」のファイルを指す。このように、オブジェクトがファイルである場合には、図４に示すように、ファイル要素のフィールドはブランクとされる。また、図４に示すオブジェクトＩＤ「object0003」のオブジェクトは、図３に示した「機能要件１」のファイル要素を指す。このように、オブジェクトがファイル要素である場合には、図４に示すように、フォルダ、ファイル及びファイル要素の各フィールドに値が格納される。なお、図４に示すオブジェクト情報１３ｂのスキーマは、あくまで一例であり、図示の例に限定されない。例えば、フォルダ及びファイルに代えてフォルダまたはファイルの格納場所を表すパスを格納させることとしてもかまわない。
【００３０】
条件情報１３ｃは、オブジェクト間の関連付けに関する条件が定義された情報である。かかる条件情報１３ｃの一例としては、２つのオブジェクトの関連付けを許可する条件が搭載されたリスト、いわゆるホワイトリストが挙げられる。なお、以下では、条件情報１３ｃがホワイトリストである場合を例示するが、条件情報１３ｃをブラックリストとすることとしてもかまわない。
【００３１】
ここで、オブジェクト間の関連付けに条件を設定するのは、互いの関係が希薄なオブジェクト同士が誤って関連付けられるのを抑制するためである。これを実現するために、本実施例では、２つのオブジェクトのうち一方のオブジェクトに他方のオブジェクトが従属する従属関係を持つオブジェクトの組合せに絞って関連付けを許可する。かかる従属関係の一例としては、次のようなものが挙げられる。
【００３２】
例えば、図３の例でオブジェクトをフォルダ、すなわち工程という粒度で見た場合には、機能設計は、要求分析がなされた機能要件書、いわゆる機能仕様書にしたがって設計がなされるので、機能設計は、機能要件に従属しているとみなすことができる。同様に、詳細設計、いわゆる内部設計は、機能設計に従属しており、要件テスト仕様は、要件分析に従属しており、機能テスト仕様は、機能設計に従属しているとみなすことができる。
【００３３】
また、図３の例でオブジェクトをファイルという粒度で見た場合には、機能Ａの外部設計がなされた機能Ａ設計書にしたがって機能Ａ１および機能Ｂ１の詳細設計がなされる。このため、機能Ａ１詳細設計書および機能Ａ２詳細設計書は、機能Ａ設計書に従属しているとみなすことができる。同様に、機能Ｂ１詳細設計書は、機能Ｂ設計書に従属しており、要件１テスト仕様書は、機能要件書に従属しており、機能Ａ１テスト仕様書は、機能設計書に従属しているとみなすことができる。
【００３４】
さらに、図３の例でオブジェクトをファイル要素という粒度で見た場合には、機能要件書で定義された機能要件１にしたがって機能Ａの外部設計がなされるので、機能Ａ設計書がファイル要素である機能要件１に従属しているとみなすことができる。さらに、機能Ａ設計書で定義された機能Ａ１設計にしたがって機能Ａ１の詳細設計がなされるので、機能Ａ１詳細設計書が機能Ａ１設計に従属しているとみなすことができる。これと同様に、機能Ａ２詳細設計書は、機能Ａ２設計に従属しており、機能Ｂ１詳細設計書は、機能Ｂ１設計に従属しているとみなすことができる。さらに、同様に、要件１テスト仕様書は、機能要件１に従属しており、機能Ａ１テスト仕様書は、機能Ａ１設計に従属しているとみなすことができる。さらに、同様に、テスト仕様１は、機能要件１に従属しており、テスト仕様Ａ１は、機能Ａ１設計に従属しているとみなすことができる。
【００３５】
これらのことから、条件情報１３ｃには、オブジェクトの組合せのうち一方のオブジェクトに他方のオブジェクトが従属する従属関係を持つオブジェクトの組合せに関する条件が設定される。
【００３６】
かかる条件情報１３ｃの一態様としては、「条件番号」、「タイプ」、「条件１」及び「条件２」などの項目が対応付けられたデータを採用できる。ここで言う「条件番号」とは、条件を識別する識別情報を指す。また、「タイプ」とは、条件のタイプを指す。一例としては、関連付け操作がなされる２つのオブジェクトのうち他方のオブジェクトが従属するオブジェクトとして指定される従属先のオブジェクトに課す条件の粒度がフォルダであるフォルダ条件「folder」が挙げられる。他の一例としては、従属先のオブジェクトに課す条件の粒度がファイルであるファイル条件「file」が挙げられる。更なる一例としては、従属先のオブジェクトに課す条件の粒度がファイル要素であるファイル要素条件「element」などが挙げられる。また、「条件１」は、関連付け操作がなされる２つのオブジェクトのうち従属先のオブジェクトに課す条件を指し、「条件２」は、関連付け操作がなされる２つのオブジェクトのうち従属元のオブジェクトに課す条件を指す。
【００３７】
図５は、条件情報１３ｃの一例を示す図である。図６は、フォルダ条件、ファイル条件及びファイル要素条件の一例を示す図である。図５には、図３に示したオブジェクトを関連付ける場合に課すフォルダ条件、ファイル条件及びファイル要素条件が図示されている。また、図６には、図５に示したフォルダ条件、ファイル条件及びファイル要素条件を対象に従属先のオブジェクトから従属元のオブジェクトへ向かう方向を矢印で図示している。また、図６には、図５に示した条件番号のうちフォルダ名「機能要件」に関するフォルダ条件である条件番号「P001」及び「P004」、フォルダ名「機能設計」に関するフォルダ条件である条件番号「P002」及び「P003」、ファイル名「機能Ａ設計書」に関するファイル条件である条件番号「P005」〜「P006」及びファイル要素名「機能Ａ１設計」に関するファイル要素条件である条件番号「P008」〜「P010」の条件を抜粋して図示している。なお、図６で従属先のオブジェクトから従属元のオブジェクトへ向けて矢印を付与しているのは、変更があったオブジェクトの影響が当該オブジェクトの工程よりも後に実行される工程のオブジェクトに向けて波及する方向、すなわち変更の影響範囲の検索方向に合わせるためである。
【００３８】
図５に示す条件番号「P001」〜「P004」の条件は、フォルダ条件の一例である。例えば、図５に示す条件番号「P001」のフォルダ条件には、図６に示すように、従属先のオブジェクトが属するフォルダが「機能要件」であり、かつ従属元のオブジェクトが属するフォルダが「機能設計」であるという要件が設定されている。また、図５に示す条件番号「P002」のフォルダ条件には、図６に示すように、従属先のオブジェクトが属するフォルダが「機能設計」であり、かつ従属元のオブジェクトが属するフォルダが「機能詳細設計」であるという要件が設定されている。また、図５に示す条件番号「P003」のフォルダ条件には、図６に示すように、従属先のオブジェクトが属するフォルダが「機能設計」であり、かつ従属元のオブジェクトが属するフォルダが「機能テスト仕様」であるという要件が設定されている。また、図５に示す条件番号「P004」のフォルダ条件には、図６に示すように、従属先のオブジェクトが属するフォルダが「機能要件」であり、かつ従属元のオブジェクトが属するフォルダが「要件テスト仕様」であるという要件が設定されている。
【００３９】
図５に示す条件番号「P005」〜「P006」の条件は、ファイル条件の一例である。例えば、図５に示す条件番号「P005」のファイル条件には、図６に示すように、関連付け操作がなされた２つのオブジェクトのうち従属先のオブジェクトとして指定されたファイルもしくはファイル要素を含むファイルが「機能Ａ設計書」であり、かつ従属元のオブジェクトとして指定されたファイルもしくはファイル要素を含むファイルが「機能Ａ１詳細設計書」であるという要件が設定されている。さらに、図５に示す条件番号「P006」のファイル条件には、図６に示すように、従属先のオブジェクトとして指定されたファイルもしくはファイル要素を含むファイルが「機能Ａ設計書」であり、かつ従属元のオブジェクトとして指定されたファイルもしくはファイル要素を含むファイルが「機能Ａ２詳細設計書」であるという要件が設定されている。なお、ここでは、条件番号「P005」〜「P006」のファイル条件を例に挙げて説明したが、これ以外にも条件番号「P007」の条件を始めとする他のファイル条件が条件情報１３ｃに設定されていることを妨げない。
【００４０】
図５に示す「P008」〜「P010」の条件は、ファイル要素条件の一例である。例えば、図５に示す条件番号「P008」のファイル要素条件には、図６に示すように、関連付け操作がなされた２つのオブジェクトのうち従属先のオブジェクトとして指定されたファイル要素が「機能Ａ１設計」であり、かつ従属元のオブジェクトとして指定されたファイルが「機能Ａ１詳細設計書」であるという要件が設定されている。また、図５に示す条件番号「P009」のファイル要素条件には、図６に示すように、従属先のオブジェクトとして指定されたファイル要素が「機能Ａ１設計」であり、かつ従属元のオブジェクトとして指定されたファイル要素が「詳細設計（イ）」であるという要件が設定されている。また、図５に示す条件番号「P010」のファイル要素条件には、図６に示すように、従属先のオブジェクトとして指定されたファイル要素が「機能Ａ１設計」であり、かつ従属元のオブジェクトとして指定されたファイル要素が「詳細設計（ロ）」であるという要件が設定されている。なお、ここでは、条件番号「P008」〜「P010」のファイル要素条件を例に挙げて説明したが、これ以外にも条件番号「P011」〜「P013」の条件を始めとする他のファイル要素条件が条件情報１３ｃに設定されていることを妨げない。
【００４１】
ここで、図５に示す条件情報１３ｃの例では、従属先のオブジェクトが「条件１」に設定されたフォルダ名、ファイル名またはファイル要素名と完全一致し、かつ従属元のオブジェクトが「条件２」に設定されたフォルダ名、ファイル名またはファイル要素名と完全一致する場合にフォルダ条件、ファイル条件またはファイル要素条件に適合すると判別される場合を例示したが、「条件１」及び「条件２」との間で部分一致する場合に条件に適合すると判別することとしてもかまわない。例えば、ファイル要素条件の条件１に機能Ａが設定されており、かつ条件２に機能Ａ１が設定されている場合を想定する。この場合には、従属先として条件１「機能Ａ１」と部分一致するファイル要素名を持つオブジェクトが指定され、かつ従属元として条件２「機能Ａ１」と部分一致するファイル要素名またはファイル名を持つオブジェクトが指定された場合にファイル要素条件に適合すると判別される。このため、例えば、従属先のオブジェクトとしてファイル要素名が機能Ａ１設計を指定し、かつ従属元のオブジェクトとしてファイル名が機能Ａ１詳細設計書を指定する関連付け操作がなされた場合には、ファイル要素条件に適合すると判別される。
【００４２】
関連付け情報１３ｄは、複数のファイル情報の関連付け、すなわちオブジェクト間の関連付けに関する情報である。かかる関連付け情報１３ｄには、関連付け操作がなされた従属先及び従属元のオブジェクトの組合せがフォルダ条件、ファイル条件またはファイル要素条件のうち少なくともいずれか１つの条件を満たす場合に、当該従属先及び従属元のオブジェクトの組合せが関連付け部１５ｄによって追加登録される。
【００４３】
かかる関連付け情報１３ｄの一態様としては、「オブジェクトＩＤ１」及び「オブジェクトＩＤ２」が対応付けられた項目を採用できる。ここで言う「オブジェクトＩＤ１」とは、オブジェクトの組合せのうち従属先のオブジェクトのオブジェクトＩＤを指し、また、「オブジェクトＩＤ２」とは、オブジェクトの組合せのうち従属元のオブジェクトのオブジェクトＩＤを指す。
【００４４】
図７は、関連付け情報１３ｄの一例を示す図である。図７には、図３に示したオブジェクトの中で関連付け処理が実行されたオブジェクトの組合せが図示されている。例えば、図７に示すオブジェクトＩＤ１「object0002」及びオブジェクトＩＤ２「object0006」の組合せは、機能要件書のファイルおよび機能Ａ設計書のファイルの間に関連付け、いわゆるリレーションシップが設定されている。かかるリレーションシップは、機能要件書のファイルに機能Ａ設計書のファイルが従属していることを意味する。また、図７に示すオブジェクトＩＤ１「object0003」及びオブジェクトＩＤ２「object0006」の組合せは、機能要件１のファイル要素及び機能Ａ設計書のファイルの間にリレーションシップが設定されている。かかるリレーションシップは、機能要件１のファイル要素に機能Ａ設計書のファイルが従属していることを意味する。さらに、図７に示すオブジェクトＩＤ１「object0003」及びオブジェクトＩＤ２「object0021」の組合せは、機能要件１のファイル要素及びテスト仕様１のファイル要素の間にリレーションシップが設定されている。かかるリレーションシップは、機能要件１のファイル要素にテスト仕様１のファイル要素が従属していることを意味する。
【００４５】
制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１５は、図２に示すように、登録部１５ａと、受付部１５ｂと、判別部１５ｃと、関連付け部１５ｄと、検索部１５ｅとを有する。
【００４６】
このうち、登録部１５ａは、クライアント端末３０から受け付けたファイルを記憶部１３へ登録する処理部である。一態様としては、登録部１５ａは、クライアント端末３０からファイルを新規にアップロードするファイル操作を受け付けた場合に、新規にアップロードされたファイルを記憶部１３へ登録する。また、登録部１５ａは、新規にアップロードされたファイルにオブジェクトＩＤを採番し、当該ファイルのオブジェクトＩＤ及び種別とともに、当該ファイルの名称及びファイルが格納されたフォルダの名称を対応付けて記憶部１３内のオブジェクト情報１３ｂへ追加登録する。さらに、登録部１５ａは、新規にアップロードされたファイルの内容のうち特定のファイル要素、例えばファイルの特徴を表すファイル要素を抽出する。例えば、特定のファイル要素の一例としては、所定の項目と同一の行または列に位置するセル内の情報、例えば数字、記号、文字列などが抽出される。このようにしてセルから抽出される項目は、ドキュメントの内容に合わせて設定しておくことができる。例えば、機能要件書のファイルからファイル要素を抽出する場合には、要件分析された各機能要件の特徴を表す識別子、名称や説明文に関する項目を設定しておくことができる。そして、登録部１５ａは、先に抽出された各ファイル要素にオブジェクトＩＤを採番する。その上で、登録部１５ａは、当該ファイル要素のオブジェクトＩＤ及び種別とともに、当該ファイル要素の名称、ファイル要素の抽出元のファイルの名称及び抽出元のファイルが格納されたフォルダの名称を対応付けて記憶部１３内のオブジェクト情報１３ｂへ追加登録する。
【００４７】
他の一態様としては、登録部１５ａは、クライアント端末３０からファイル管理サーバ１０上のファイルを更新するファイル操作を受け付けた場合に、更新対象とするファイルを記憶部１３に上書きして登録する。さらに、登録部１５ａは、更新対象とするファイルの内容のうち特定のファイル要素を再抽出する。その上で、登録部１５ａは、再抽出された各ファイル要素のうち更新前に抽出されていたファイル要素と一致しないファイル要素にオブジェクトＩＤを採番する。その上で、登録部１５ａは、採番が実行されたファイル要素のオブジェクトＩＤ及び種別とともに、当該ファイル要素の名称、ファイル要素の再抽出元のファイルの名称及び抽出元のファイルが格納されたフォルダの名称を対応付けて記憶部１３内のオブジェクト情報１３ｂへ追加登録する。このとき、登録部１５ａは、更新前に抽出されていたファイル要素のうち再抽出されなかったファイル要素のレコードを記憶部１３内のオブジェクト情報１３ｂから削除する。
【００４８】
受付部１５ｂは、ファイル管理サーバ１０上で管理されるファイルのうち互いに関係のある複数のオブジェクトを関連付ける関連付け操作を受け付ける処理部である。一態様としては、受付部１５ｂは、クライアント端末３０から関連付け操作を起動させるコマンドを受け付けると、クライアント端末３０上で動作するクライアントアプリに従属先のオブジェクト及び従属元のオブジェクトを指定させる画面を表示させる。これによって、クライアント端末３０のＧＵＩ（Graphical  User  Interface）を介して、従属先のオブジェクト及び従属元のオブジェクトの指定を受け付ける。このとき、従属先のオブジェクト及び従属元のオブジェクトの指定として、例えば、ファイルとファイルの組合せ、ファイル要素とファイルの組合せもしくはファイル要素とファイル要素の組合せが指定されることになる。なお、ここでは、開発関係者の操作によって従属先のオブジェクト及び従属元のオブジェクトが指定される場合を例示したが、従属先のオブジェクト及び従属元のオブジェクトを自動的に抽出することもできる。
【００４９】
判別部１５ｃは、記憶部１３に記憶された条件情報１３ｃを参照して、関連付け操作を許可するか否かを判別する処理部である。
【００５０】
一態様としては、判別部１５ｃは、従属先のオブジェクト及び従属元のオブジェクトを指定する関連付け操作を受け付けると、オブジェクト情報１３ｂを参照して、受付部１５ｂによって指定が受け付けられた従属先のオブジェクトが属するフォルダと、従属元のオブジェクトが属するフォルダとを特定する。例えば、指定のオブジェクトがファイルである場合には、オブジェクト情報１３ｂに含まれるレコードのうち当該指定が受け付けられたファイル名を含むレコード内のフォルダ名が抽出される。また、指定のオブジェクトがファイル要素である場合には、オブジェクト情報１３ｂに含まれるレコードのうち当該指定が受け付けられたファイル要素名を含むレコード内のフォルダ名が抽出される。
【００５１】
続いて、判別部１５ｃは、従属先のオブジェクトが属するフォルダ及び従属元のオブジェクトが属するフォルダが条件情報１３ｃに設定されたフォルダ条件のうちいずれかのフォルダ条件に適合するか否かを判定する。例えば、判別部１５ｃは、従属先のオブジェクトとして指定されたファイルが格納されたフォルダのフォルダ名もしくは従属先のオブジェクトとして指定されたファイル要素を含むファイルが格納されたフォルダのフォルダ名と図５に示したフォルダ条件に含まれる条件１に設定されたフォルダ名とが完全一致し、かつ従属元のオブジェクトとして指定されたファイルが格納されたフォルダのフォルダ名もしくは従属元のオブジェクトとして指定されたファイル要素を含むファイルが格納されたフォルダのフォルダ名と図５に示したフォルダ条件に含まれる条件２に設定されたフォルダ名とが完全一致する場合に、関連付け操作がなされたオブジェクトの組合せがフォルダ条件に適合すると判別する。かかるフォルダ条件の適合の可否によって、従属先のオブジェクト及び従属元のオブジェクトが「フォルダ」という粒度で従属関係を有するか否かが確認される。このとき、条件情報１３ｃに設定されたいずれのフォルダ条件にも適合しない場合には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、判別部１５ｃは、関連付け操作がなされたオブジェクトの組合せの関連付けを禁止する。
【００５２】
一方、判別部１５ｃは、条件情報１３ｃに設定されたいずれかのフォルダ条件に適合する場合には、次のようなファイル条件の適合の可否を判定する。すなわち、判別部１５ｃは、従属先のオブジェクトが該当するファイル及び従属元のオブジェクトが該当するファイルが条件情報１３ｃに設定されたファイル条件のうちいずれかのファイル条件に適合するか否かを判定する。例えば、判別部１５ｃは、従属先のオブジェクトとして指定されたファイルのファイル名もしくは従属先のオブジェクトとして指定されたファイル要素を含むファイルのファイル名と図５に示したファイル条件に含まれる条件１に設定されたファイル名とが完全一致し、かつ従属元のオブジェクトとして指定されたファイルのファイル名もしくは従属元のオブジェクトとして指定されたファイル要素を含むファイルのファイル名と図５に示したファイル条件に含まれる条件２に設定されたファイル名とが完全一致する場合に、関連付け操作がなされたオブジェクトの組合せがファイル条件に適合すると判別する。かかるファイル条件の適合の可否によって、従属先のオブジェクト及び従属元のオブジェクトが「ファイル」という粒度で従属関係を有するか否かが確認される。
【００５３】
このとき、条件情報１３ｃに設定されたいずれのファイル条件にも適合しない場合には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、判別部１５ｃは、関連付け操作がなされたオブジェクトの組合せの関連付けを禁止する。
【００５４】
一方、判別部１５ｃは、条件情報１３ｃに設定されたいずれかのファイル条件に適合する場合には、従属先として指定されたオブジェクトの粒度がファイル要素であるか否かを判定する。このとき、従属先のオブジェクトの粒度がファイル要素ではなく、ファイルである場合には、関連付け操作がなされたオブジェクトの組合せがファイルとファイルであると確認できる。この場合には、それよりも粒度が小さいファイル要素条件の適合の可否を判定せずともよい。このため、判別部１５ｃは、関連付け操作がなされたオブジェクトの組合せの関連付けを許可する。
【００５５】
また、従属先として指定されたオブジェクトの粒度がファイル要素である場合には、関連付け操作がなされたオブジェクトの組合せがファイル要素とファイルの組合せもしくはファイル要素とファイル要素の組合せのいずれかであることが判明する。この場合には、ファイル要素条件の判定が続行される。すなわち、判別部１５ｃは、従属先のオブジェクトが該当するファイル要素と、従属元のオブジェクトが該当するファイルまたはファイル要素とが条件情報１３ｃに設定されたファイル要素条件のうちいずれかのファイル要素条件に適合するか否かを判定する。例えば、判別部１５ｃは、従属先のオブジェクトとして指定されたファイル要素のファイル要素名と図５に示したファイル要素条件に含まれる条件１に設定されたファイル要素名とが完全一致し、かつ従属元のオブジェクトとして指定されたファイルのファイル名もしくは従属元のオブジェクトとして指定されたファイル要素のファイル要素名と図５に示したファイル要素条件に含まれる条件２に設定されたファイル名もしくはファイル要素名とが完全一致する場合に、関連付け操作がなされたオブジェクトの組合せがファイル要素条件に適合すると判別する。かかるファイル要素条件の適合の可否によって、従属先のオブジェクト及び従属元のオブジェクトが「ファイル要素」という粒度で従属関係を有するか否かが確認される。
【００５６】
このとき、条件情報１３ｃに設定されたいずれのファイル要素条件にも適合しない場合には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、判別部１５ｃは、関連付け操作がなされたオブジェクトの組合せの関連付けを禁止する。一方、条件情報１３ｃに設定されたいずれかのファイル要素条件に適合する場合には、フォルダ、ファイル及びファイル要素の全ての粒度で従属関係の確認が終了したと確定できる。この場合には、判別部１５ｃは、関連付け操作がなされたオブジェクトの組合せの関連付けを許可する。
【００５７】
なお、ここでは、フォルダ条件、ファイル条件及びファイル要素条件を用いて関連付けを許可または禁止するかを判別する場合を例示したが、フォルダ条件、ファイル条件及びファイル要素条件のうち少なくともいずれか１つの条件に絞って条件の適合の可否を判定することもできる。例えば、判別部１５ｃは、フォルダ条件に適合したことをもって関連付け操作がなされたオブジェクトの組合せの関連付けを許可することとしてもよい。また、判別部１５ｃは、ファイル条件に適合したことをもって関連付け操作がなされたオブジェクトの組合せの関連付けを許可することとしてもよい。また、判別部１５ｃは、ファイル要素条件に適合したことをもって関連付け操作がなされたオブジェクトの組合せの関連付けを許可することとしてもよい。
【００５８】
関連付け部１５ｄは、オブジェクト間の関連付けを実行する処理部である。一態様としては、関連付け部１５ｄは、判別部１５ｃによって関連付けが許可された場合に、従属先のオブジェクト及び従属元のオブジェクトの関連付けを関連付け情報１３ｄに追加登録する。このとき、関連付け部１５ｄは、関連付け情報１３ｄが持つフィールドのうちオブジェクトＩＤ１のフィールドに従属先のオブジェクトを格納するとともに、オブジェクトＩＤ２のフィールドに従属元のオブジェクトを格納する。
【００５９】
ここで、図８を用いて、関連付けが禁止される態様の具体例を説明する。図８は、関連付けが禁止される態様の一例を示す図である。図８には、図５に示した条件情報１３ｃに設定されたフォルダ条件に適合しない関連付け操作、ファイル条件に適合しない関連付け操作及びファイル要素条件に適合しない関連付け操作が例示されている。
【００６０】
例えば、従属先のオブジェクトとして「機能Ａ設計書」のファイルが指定される場合を想定する。ここで、フォルダ条件では、従属先として指定されるオブジェクトよりも以前の工程で生成されるオブジェクトを従属元として指定する関連付け操作は許可されていない。このため、図８の（１）に例示するように、機能Ａ設計書が生成される外部設計の工程よりも前の要件分析の工程で生成される機能要件書を従属元のオブジェクトとして関連付ける関連付け操作はフォルダ条件に適合しない。よって、関連付けが禁止されることなる。また、フォルダ条件では、従属先として指定されるオブジェクトよりも後に実行される工程であっても従属関係がなく互いの関係が希薄である工程で生成されるオブジェクトを従属元として指定する関連付け操作は、許可されていない。このため、図８の（２）に示すように、要件テスト仕様書を従属元のオブジェクトとして指定する関連付け操作はフォルダ条件に適合せず、関連付けが禁止されることになる。
【００６１】
さらに、従属先のオブジェクトとして「機能Ａ設計書」のファイルが指定される場合を想定する。ここで、ファイル条件では、一方のファイルの機能が他方のファイルの機能に包含されないオブジェクト間の関連付け操作は許可されていない。このため、図８の（３）に示すように、機能Ａ設計書に包含されない機能Ｂ１設計が詳細設計された機能Ｂ１詳細設計書を従属元のオブジェクトとして指定する関連付け操作はファイル条件に適合せず、関連付けが禁止されることになる。
【００６２】
続いて、従属先のオブジェクトとして「機能Ａ１設計」のファイル要素が指定される場合を想定する。ここで、ファイル要素条件では、互いのオブジェクトが同一の機能を持たないオブジェクト間の関連付け操作は許可されていない。このため、図８の（４）に示すように、従属先として指定された機能Ａ１設計の機能Ａ１とは異なる種類の機能Ｂに属する機能Ｂ１が詳細設計された機能Ｂ１詳細設計書を従属元のオブジェクトとして指定する関連付け操作はファイル要素条件に適合せず、関連付けが禁止されることになる。また、図８の（５）及び（６）に示すように、従属先として指定された機能Ａ１設計の機能Ａ１と同種の機能Ａに属する機能Ａ２が詳細設計された機能Ａ２詳細設計書を従属元のオブジェクトとして指定したとしても、従属先及び従属元のオブジェクト間で互いの機能が類似するとは言えども同一であるとまでは言えない。このため、機能Ａ２詳細設計書および機能Ａ２詳細設計書で定義された詳細設計（α）を従属元のオブジェクトとして指定する関連付け操作はファイル要素条件に適合しない。よって、関連付けが禁止されることになる。
【００６３】
図２の説明に戻り、検索部１５ｅは、関連付け情報１３ｄを参照して、ファイル要素の変更が他のファイルに与える影響範囲を検索する処理部である。一態様としては、検索部１５ｅは、クライアント端末３０から変更対象とするファイル要素の指定を受け付ける。続いて、検索部１５ｅは、関連付け情報１３ｄに含まれる従属先のオブジェクト、図７の例で言えばオブジェクトＩＤ１に当該指定を受け付けたファイル要素と同一のファイル要素を持つレコードの従属元のオブジェクトを探索する。その後、検索部１５ｅは、所定の探索回数にわたって探索が終了するまで、関連付け情報１３ｄに含まれる従属先のオブジェクトに前回探索されたオブジェクトと同一のオブジェクトを持つレコードの従属元のオブジェクトを探索する処理を繰り返し実行する。そして、検索部１５ｅは、所定の回数にわたって探索が終了すると、それまでの探索で得られたオブジェクトを影響範囲の検索結果としてクライアント端末３０へ出力する。このとき、検索部１５ｅは、探索で得られたオブジェクトを所定の粒度に合わせて出力することができる。例えば、影響範囲の検索結果として出力するオブジェクトの粒度としてファイルが設定されている場合には、探索で得られたオブジェクトのうちファイルについてはそのまま影響範囲の検索結果として出力する一方でファイル要素についてはファイル要素の代わりに当該ファイル要素を含むファイルを影響範囲の検索結果として出力することもできる。
【００６４】
図９及び図１０は、クライアント端末３０に表示される画面の一例を示す図である。このうち、図９には、各種の検索条件を入力可能な検索画面２００が例示されている。また、図１０には、図９に示す検索条件が入力された場合の影響範囲の検索結果を含む検索結果画面２１０が例示されている。図９に示す検索画面２００には、フォルダ、ファイル及びファイル要素のプルダウンメニューが設けられている。このため、開発関係者は、フォルダ、ファイル、ファイル要素の順に操作することによって変更対象とするファイル要素を指定できる。この他にも、検索画面２００には、「探索回数」や「影響範囲の検索結果として出力する粒度」についてもプルダウンメニューが設けられており、変更対象とするファイル要素とともに探索回数及び粒度を受け付けることが可能となっている。
【００６５】
図９に示すように、検索画面２００上で変更対象とするファイル要素「機能Ａ１設計」、探索回数「１」および粒度「ファイル」が選択された状態で検索ボタン２００Ａが押下操作された場合には、図７に示した関連付け情報１３ｄを参照して次のような探索が実行される。すなわち、関連付け情報１３ｄに含まれるオブジェクトＩＤ１に当該指定を受け付けたファイル要素「機能Ａ１設計」、すなわち「object0007」と同一のファイル要素を持つレコードのオブジェクトＩＤ２「object0012」、「object0013」、「object0014」及び「object0024」が探索される。図９の例では、探索回数の指定が１回であるので、今回の探索、すなわち最初の１回で探索が終了する。なお、キャンセルボタン２００Ｂが押下された場合には、検索が中止された後にクライアント端末３０の画面表示が直前に閲覧していた画面や製品の開発・設計のトップ画面などに遷移する。
【００６６】
かかる探索で得られたオブジェクトＩＤ「object0012」、「object0013」、「object0014」及び「object0024」のうちオブジェクトＩＤ「object0013」及び「object0014」は、いずれも詳細設計（イ）及び詳細設計（ロ）に対応する。また、オブジェクトＩＤ「object0024」は、テスト仕様Ａ１に対応する。これらオブジェクトＩＤ「object0013」、「object0014」及び「object0024」はファイル要素である。図９の例では、粒度として「ファイル」が指定されているので、オブジェクトＩＤ「object0013」及び「object0014」のファイル要素を含む「機能Ａ１詳細設計書」のファイルが詳細設計（イ）及び詳細設計（ロ）の代わりに抽出される。さらに、オブジェクトＩＤ「object0024」のファイル要素を含む「機能Ａ１テスト仕様書」のファイルがテスト仕様Ａ１の代わりに抽出される。なお、ここでは、オブジェクトＩＤ「object0012」のオブジェクト「機能Ａ１詳細設計書」が探索されているので、必ずしも先の抽出は行わずともよい。
【００６７】
その上で、図１０に示すように、オブジェクトＩＤ「object0012」に対応する機能Ａ１詳細設計書およびオブジェクトＩＤ「object0024」に対応する機能Ａ１テスト仕様書の２つのドキュメントが検索結果画面２１０に表示される。かかる表示によって、開発関係者は、機能Ａ１設計のファイル要素に変更を行った場合には、機能Ａ１詳細設計書および機能Ａ１テスト仕様書に影響が波及することを把握できる。ここで、上記の従来技術のように、ファイル単位の関連付けしか行われていない場合には、機能Ａ１設計とは無関係な機能Ａ２詳細設計書も影響範囲の検索結果として出力される。一方、本実施例では、ファイル要素の単位で関連付けがなされた関連付け情報１３ｄを用いて検索が行われるので、機能Ａ１設計とは無関係な機能Ａ２詳細設計書を出力せずに済む結果、トレーサビリティの精度を向上させることができる。
【００６８】
その後、検索結果画面２１０上の再検索ボタン２１０Ａが押下操作された場合には、クライアント端末３０の画面表示が図９に示した検索画面２００に再び遷移し、「変更対象とするファイル要素」、「探索回数」または「影響範囲の検索結果として出力する粒度」の再指定がなされた上で再検索が実行される。一方、検索結果画面２１０上の戻るボタン２１０Ｂが押下操作された場合には、クライアント端末３０の画面表示が直前に閲覧していた画面や製品の開発・設計のトップ画面などに遷移する。
【００６９】
なお、制御部１５には、各種の集積回路や電子回路を採用できる。また、制御部１５が有する機能部の一部を別の集積回路や電子回路とすることもできる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００７０】
［処理の流れ］
次に、本実施例に係るファイル管理サーバの処理の流れについて説明する。なお、ここでは、ファイル管理サーバ１０によって実行される（１）関連付け処理を説明した後に、（２）検索処理を説明することとする。
【００７１】
（１）関連付け処理
図１１は、実施例１に係る関連付け処理の手順を示すフローチャートである。この関連付け処理は、従属先のオブジェクト及び従属元のオブジェクトを指定する関連付け操作が受け付けられた場合に処理が起動される。
【００７２】
図１１に示すように、従属先のオブジェクト及び従属元のオブジェクトを指定する関連付け操作を受け付けると（ステップＳ１０１）、判別部１５ｃは、次のような処理を実行する。すなわち、判別部１５ｃは、オブジェクト情報１３ｂを参照して、ステップＳ１０１で受け付けられた従属先のオブジェクトが属するフォルダと、従属元のオブジェクトが属するフォルダとを特定する（ステップＳ１０２）。
【００７３】
続いて、判別部１５ｃは、従属先のオブジェクトが属するフォルダ及び従属元のオブジェクトが属するフォルダが条件情報１３ｃに設定されたフォルダ条件のうちいずれかのフォルダ条件に適合するか否かを判定する（ステップＳ１０３）。
【００７４】
ここで、条件情報１３ｃに設定されたいずれのフォルダ条件にも適合しない場合（ステップＳ１０３Ｎｏ）には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、関連付け操作がなされたオブジェクトの組合せの関連付けを実行せず、そのまま処理を終了する。
【００７５】
一方、条件情報１３ｃに設定されたいずれかのフォルダ条件に適合する場合（ステップＳ１０３Ｙｅｓ）には、判別部１５ｃは、次のようなファイル条件の適合の可否を判定する。すなわち、判別部１５ｃは、従属先のオブジェクトが該当するファイル及び従属元のオブジェクトが該当するファイルが条件情報１３ｃに設定されたファイル条件のうちいずれかのファイル条件に適合するか否かを判定する（ステップＳ１０４）。
【００７６】
このとき、条件情報１３ｃに設定されたいずれのファイル条件にも適合しない場合（ステップＳ１０４Ｎｏ）には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、関連付け操作がなされたオブジェクトの組合せの関連付けを実行せず、そのまま処理を終了する。
【００７７】
一方、条件情報１３ｃに設定されたいずれかのファイル条件に適合する場合（ステップＳ１０４Ｙｅｓ）には、判別部１５ｃは、従属先として指定されたオブジェクトの粒度がファイル要素であるか否かを判定する（ステップＳ１０５）。
【００７８】
このとき、粒度がファイル要素ではない場合（ステップＳ１０５Ｎｏ）には、関連付け操作がなされたオブジェクトの組合せがファイルとファイルであると確認できる。この場合には、それよりも粒度が小さいファイル要素条件の適合の可否を判定せずともよい。このため、関連付け操作がなされたオブジェクトの組合せの関連付けが許可され、ステップＳ１０７の処理へ移行する。
【００７９】
また、従属先として指定されたオブジェクトの粒度がファイル要素である場合（ステップＳ１０５Ｙｅｓ）には、関連付け操作がなされたオブジェクトの組合せがファイル要素とファイルの組合せもしくはファイル要素とファイル要素の組合せのいずれかであることが判明する。
【００８０】
この場合には、ファイル要素条件の判定が続行される。すなわち、判別部１５ｃは、従属先のオブジェクトが該当するファイル要素と、従属元のオブジェクトが該当するファイルまたはファイル要素とが条件情報１３ｃに設定されたファイル要素条件のうちいずれかのファイル要素条件に適合するか否かを判定する（ステップＳ１０６）。
【００８１】
ここで、条件情報１３ｃに設定されたいずれのファイル要素条件にも適合しない場合（ステップＳ１０６Ｎｏ）には、従属先のオブジェクト及び従属元のオブジェクトが従属関係にない誤ったオブジェクトの組合せである可能性が高いと推定できる。この場合には、関連付け操作がなされたオブジェクトの組合せの関連付けを実行せず、そのまま処理を終了する。
【００８２】
一方、条件情報１３ｃに設定されたいずれかのファイル要素条件に適合する場合（ステップＳ１０６Ｙｅｓ）には、関連付け操作がなされたオブジェクトの組合せの関連付けが許可される。この場合には、関連付け部１５ｄは、従属先のオブジェクト及び従属元のオブジェクトを関連付け（ステップＳ１０７）、当該関連付けを関連付け情報１３ｄに追加登録し（ステップＳ１０８）、処理を終了する。
【００８３】
（２）検索処理
図１２は、実施例１に係る検索処理の手順を示すフローチャートである。この検索処理は、例えば、クライアント端末３０から検索要求を受け付けた場合に処理が起動される。図１２に示すように、検索部１５ｅは、クライアント端末３０に表示させた検索画面上で「変更対象とするファイル要素」、「探索回数」や「影響範囲の検索結果として出力する粒度」の指定を受け付ける（ステップＳ３０１〜ステップＳ３０３）。
【００８４】
続いて、検索部１５ｅは、関連付け情報１３ｄに含まれる従属先のオブジェクトに当該指定を受け付けたファイル要素と同一のファイル要素を持つレコードの従属元のオブジェクトを探索する（ステップＳ３０４）。
【００８５】
その後、検索部１５ｅは、ステップＳ３０２で指定された探索回数にわたって探索が終了するまで（ステップＳ３０５Ｎｏ）、関連付け情報１３ｄに含まれる従属先のオブジェクトに前回探索されたオブジェクトと同一のオブジェクトを持つレコードの従属元のオブジェクトを探索する処理（ステップＳ３０４）を繰り返し実行する。
【００８６】
そして、所定の回数にわたって探索が終了すると（ステップＳ３０５Ｙｅｓ）、検索部１５ｅは、それまでの探索で得られたオブジェクトをステップＳ３０１で指定された粒度に変換した上で影響範囲の検索結果としてクライアント端末３０へ出力し（ステップＳ３０６）、処理を終了する。
【００８７】
なお、図１２に示したステップＳ３０１〜ステップＳ３０３までの処理は、任意の順序に変更することができ、また、並行して処理を実行することもできる。さらには、ステップＳ３０２及びステップＳ３０３の処理は、探索回数および粒度を予め設定しておくことによって省略することもできる。
【００８８】
［実施例１の効果］
上述してきたように、本実施例に係るファイル管理サーバ１０は、複数のオブジェクトの関連付け操作を受け付けると、オブジェクト間の関連付けの可否が設定された条件を参照して、複数のオブジェクトが条件を満たす場合にファイルの関連付けを実行する。したがって、本実施例に係るファイル管理サーバ１０は、誤ったファイルの関連付けを抑制できる。
【実施例２】
【００８９】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９０】
［応用例］
例えば、ファイル管理サーバ１０は、従属関係が定義されたフォルダがループの関係にあるか否かによって、条件を満たすか否かを判別することもできる。例えば、条件情報１３ｃに含まれる従属先のオブジェクト及び従属元のオブジェクトが次のような関連付けの連なりを形成している場合を想定する。例えば、ファイルＡにファイルＢが従属しており、ファイルＢにファイルＣが従属しており、ファイルＣにファイルＤが従属している連なり「ファイルＡ→ファイルＢ→ファイルＣ→ファイルＤ」が形成されているとする。この場合に、従属先「ファイルＤ」及び従属元「ファイルＡ」とする関連付け操作がなされた場合には、かかる関連付けを許可すると「ファイルＡ→ファイルＢ→ファイルＣ→ファイルＤ→ファイルＡ」となり、関連付けの連なりがループを形成してしまう。このように、関連付けの連なりがループを形成すると、影響範囲の検索結果として同じファイルが重複して検索される可能性があり、トレーサビリティの精度が低下する可能性がある。このことから、トレーサビリティの精度の低下を抑制するために、ファイル管理サーバ１０は、ループを形成する関連付け操作、例えば「ファイルＤ→ファイルＡ」を禁止することができる。
【００９１】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、登録部１５ａ、受付部１５ｂ、判別部１５ｃ、関連付け部１５ｄまたは検索部１５ｅをファイル管理サーバ１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、登録部１５ａ、受付部１５ｂ、判別部１５ｃ、関連付け部１５ｄまたは検索部１５ｅを別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のファイル管理サーバ１０の機能を実現するようにしてもよい。また、記憶部１３に記憶されるファイル１３ａ、オブジェクト情報１３ｂ、条件情報１３ｃまたは関連付け情報１３ｄの全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のファイル管理サーバ１０の機能を実現するようにしてもかまわない。
【００９２】
［情報管理プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１３を用いて、上記の実施例と同様の機能を有する情報管理プログラムを実行するコンピュータの一例について説明する。
【００９３】
図１３は、実施例１及び実施例２に係る情報管理プログラムを実行するコンピュータの一例について説明するための図である。図１３に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００９４】
ＨＤＤ１７０には、図１３に示すように、上記の実施例１で示した登録部１５ａ、受付部１５ｂ、判別部１５ｃ、関連付け部１５ｄ及び検索部１５ｅと同様の機能を発揮する情報管理プログラム１７０ａが予め記憶される。この情報管理プログラム１７０ａについては、図２に示した各々の登録部１５ａ、受付部１５ｂ、判別部１５ｃ、関連付け部１５ｄ及び検索部１５ｅの各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【００９５】
そして、ＣＰＵ１５０が、情報管理プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１３に示すように、情報管理プログラム１７０ａは、情報管理プロセス１８０ａとして機能する。この情報管理プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、情報管理プロセス１８０ａは、図２に示した登録部１５ａ、受付部１５ｂ、判別部１５ｃ、関連付け部１５ｄ及び検索部１５ｅにて実行される処理、例えば図１１〜図１２に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００９６】
なお、上記の情報管理プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００９７】
１    ファイル管理システム
５    ネットワーク
１０    ファイル管理サーバ
１１    通信Ｉ／Ｆ部
１３    記憶部
１３ａ  ファイル
１３ｂ  オブジェクト情報
１３ｃ  条件情報
１３ｄ  関連付け情報
１５    制御部
１５ａ  登録部
１５ｂ  受付部
１５ｃ  判別部
１５ｄ  関連付け部
１５ｅ  検索部
３０Ａ，３０Ｂ，３０Ｃ    クライアント端末
【図１】
2014130548.tif 000003
【図２】
2014130548.tif 000004
【図３】
2014130548.tif 000005
【図４】
2014130548.tif 000006
【図５】
2014130548.tif 000007
【図６】
2014130548.tif 000008
【図７】
2014130548.tif 000009
【図８】
2014130548.tif 000010
【図９】
2014130548.tif 000011
【図１０】
2014130548.tif 000012
【図１１】
2014130548.tif 000013
【図１２】
2014130548.tif 000014
【図１３】
2014130548.tif 000015