【実施例1】
【0012】
実施例1に係るシステムについて説明する。
図1は、ファイル管理装置を含んだシステムの全体の概略構成の一例を示す図である。
図1に示すように、システム10は、ファイル管理装置11と、端末装置12とを有する。ファイル管理装置11と端末装置12は、各種の情報を交換することが可能とされている。例えば、ファイル管理装置11と端末装置12は、ネットワーク13を介して通信可能に接続され、各種の情報を交換することが可能とされている。かかるネットワーク13の一態様としては、有線または無線を問わず、Local Area Network(LAN)やVirtual Private Network(VPN)などの任意の通信網が挙げられる。なお、
図1の例では、システム10は、端末装置12を2つ有する場合を例示したが、開示のシステムはこれに限定されず、端末装置12を任意の数とすることができる。
【0013】
端末装置12は、開発を行う開発者が用いるコンピュータである。端末装置12は、例えば、デスクトップ型PC(パーソナル・コンピュータ)、タブレット型PC、ノート型PCなどの情報処理装置等である。開発者は、開発に際し、端末装置12により各種のドキュメントを作成する。例えば、開発者は、開発で要求される機能の要件を記述した機能要件書や、それぞれの機能を設計する機能設計書、それぞれの機能が実現できているか否かをテストするためのテスト仕様書など、開発の段階に応じて各種のドキュメントを作成する。このような開発において作成されるドキュメントは、書類の種類や、開発時期、開発元など特定の種類毎に、記載する内容や、記載箇所、スタイルなどが定められ、記載の形式が統一される。ドキュメントは、同じ種類毎に記載の形式を統一することにより、同じ種類のどのドキュメントにも同じ項目が含まれるため、記載すべき項目が漏れることを抑制できる。また、ドキュメントは、同じ種類毎に記載の形式を統一することにより、同じ種類のドキュメントの内容を確認する際に目的の記載箇所を直ぐに参照できるため、内容の確認が行いやすくなる。開発者は、表形式でドキュメントの作成が可能なソフトウェアを用いて、ドキュメントの形式に沿ってドキュメントを作成する。表形式でドキュメントの作成が可能なソフトウェアとしては、例えば、Microsoft Excel(登録商標)等の表計算ソフトが挙がられる。なお、開発内容は、ソフトウェアの開発に限定されるものではなく、ハードウェアの開発であってもよい。例えば、自動車の開発では、要求される機能を満たすために、ハードウェアおよびソフトウェアの開発が行われる。また、各ドキュメントは、関連する開発のドキュメントから流用して作成される場合もある。例えば、自動車の開発では、既に開発済みの車種の部品を流用または改修して新規の車種の開発を行う場合、既に開発済みの車種の部品のドキュメントを流用して新規の車種のドキュメントが作成される。
【0014】
ファイル管理装置11は、ドキュメントのファイルを管理する装置である。ファイル管理装置11は、例えば、サーバコンピュータなどのコンピュータなどである。ファイル管理装置11は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、ファイル管理装置11を1台のコンピュータとした場合を例として説明する。ファイル管理装置11は、ドキュメントをグループに分けて管理することが可能である。例えば、ファイル管理装置11は、開発工程毎に、ドキュメントをグループに分けて管理する。ファイル管理装置11は、グループ毎にドキュメントの登録を受け付けるフォルダを分けており、端末装置12からドキュメントの登録を受け付ける。開発者は、端末装置12を用いてドキュメントを作成または修正した場合、ドキュメントの種類に応じたフォルダ内に、ドキュメントが記述された表形式のファイルを登録する。ファイル管理装置11は、フォルダに新規のドキュメントのファイルが登録された場合、登録されたドキュメントのファイルを記憶する。また、ファイル管理装置11は、登録済みのドキュメントのファイルがフォルダに新たに登録された場合、登録済みのドキュメントのファイルと、新たに登録されたドキュメントのファイルを比較して修正箇所および修正内容を特定する。そして、ファイル管理装置11は、新たに登録されたドキュメントのファイルと共に、特定した修正箇所および修正内容を修正履歴として記憶する。
【0015】
また、ファイル管理装置11は、登録されたドキュメントのファイル同士の関連性を判定する。ファイル管理装置11は、判定の結果、関連箇所を有するファイル同士を関連付けて管理する。
【0016】
次に、実施例1に係るファイル管理装置11について説明する。
図2は、ファイル管理装置の全体構成を示す図である。
図2に示すように、ファイル管理装置11は、通信I/F(インタフェース)部20と、表示部21と、入力部22と、記憶部23と、制御部24とを有する。
【0017】
通信I/F部20は、他の装置、例えば、端末装置12との間で通信制御を行うインタフェースである。通信I/F部20は、ネットワーク13を介して他の装置と各種情報を送受信する。例えば、通信I/F部20は、ネットワーク13を介して端末装置12からドキュメントが記述された表形式のファイルを受信する。かかる通信I/F部20の一態様としては、LANカードなどのネットワークインタフェースカードを採用できる。
【0018】
表示部21は、各種情報を表示する表示デバイスである。表示部21としては、Liquid Crystal Display(LCD)やCathode Ray Tube(CRT)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。
【0019】
入力部22は、各種の情報を入力する入力デバイスである。例えば、入力部22としては、マウスやキーボードなどの入力デバイスが挙げられる。入力部22は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部24に入力する。
【0020】
記憶部23は、ハードディスク、Solid State Drive(SSD)、光ディスクなどの記憶装置である。なお、記憶部23は、Random Access Memory(RAM)、フラッシュメモリ、Non Volatile Static Random Access Memory(NVSRAM)などのデータを書き換え可能な半導体メモリであってもよい。
【0021】
記憶部23は、制御部24で実行されるOperating System(OS)やファイル管理に用いる各種プログラムを記憶する。さらに、記憶部23は、制御部24で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部23は、ドキュメントデータ30と、形式情報31と、要素情報32と、ファイル情報33と、リレーション情報34とを記憶する。
【0022】
ドキュメントデータ30は、登録されたドキュメントのファイルのデータである。一例として、ドキュメントデータ30は、端末装置12からドキュメントの登録用のフォルダにドキュメントのファイルが登録されることにより格納される。他の一例として、ドキュメントデータ30は、ドキュメント内の要素を抽出する際に後述の抽出部40によって参照される。
【0023】
形式情報31は、ドキュメントの記載の形式毎に、表形式のファイルにおいて関連付けを行う要素に関する情報を記憶したデータである。ここで、開発では、設計の工程において開発で要求される要件を定め、要件を具体的に実現するための機能を設計する。そして、テストの工程では、設計した機能が実現されているテストし、機能により要求される要件が満たされているかテストを行う。このように、要件と機能とテスト項目は、互いに関連性を有する場合がある。このように関連性を有する場合、何れかが修正されると、関連性を有する他の部分も修正を行う場合がある。例えば、要件が修正された場合は、修正された要件に関連する機能、および修正された要件に関連するテスト項目も修正する場合がある。そこで、本実施例に係るファイル管理装置11では、ドキュメントの記載の形式毎に、関連付けを行う要素の情報を保持するセルの情報を形式情報31に記憶する。一例として、形式情報31は、ドキュメントを作成する開発者や、ファイル管理装置11を管理する管理者により、入力部22あるいは端末装置12から登録される。他の一例として、形式情報31は、関連付けを行う要素を抽出するために、後述の抽出部40によって参照される。
【0024】
図3は、形式情報のデータ構成の一例を示す図である。
図3に示すように、形式情報31は、「Format type」、「Key」、「Contents」の各項目を有する。Format typeの項目は、ドキュメントの記載の形式の種別を記憶する領域である。本実施例では、Format typeの項目には、記載の形式の種別として、該当する形成で作成されるドキュメントの種類を示す名称が格納される。Keyの項目は、ドキュメント内で要素に付与される属性情報の項目名を記憶する領域である。例えば、ドキュメントでは、要素に対してIDやNoなどの要素を識別するために属性情報を付与して、要件を記述する。Keyの項目には、該当する記載の形成で作成されるドキュメントに含まれる属性情報の項目名が格納される。Contentsの項目は、ドキュメント内で要素に関する情報が記述されるセルの項目名を記憶する領域である。例えば、ドキュメントでは、属性情報に対応づけて、要素に関する情報を記述する項目が設けられ、処理内容などが記述される。Contentsの項目には、要素に関する情報が記述される部分の項目名が格納される。
【0025】
図3の例では、「機能要件書A」のドキュメントは、属性情報の項目名が「ID」であり、要素に関する情報が記述される項目の項目名が「要件」であることを示す。また、「機能要件書B」のドキュメントは、属性情報の項目名が「No」であり、要素に関する情報が記述される項目の項目名が「Description」であることを示す。また、「機能設計書」のドキュメントは、属性情報の項目名が「ID」であり、要素に関する情報が記述される項目の項目名が「内容」であることを示す。
【0026】
要素情報32は、ドキュメントから抽出された要素に関する情報を記憶したデータである。一例として、要素情報32は、後述の抽出部40によって格納される。他の一例として、要素情報32は、関連する要素の判定を行うために、後述の判定部41によって参照される。
【0027】
図4は、要素情報のデータ構成の一例を示す図である。
図4に示すように、要素情報32は、「Object ID」、「Key」、「Detail」の各項目を有する。Object IDの項目は、抽出した要素に対して付与した識別情報を記憶する領域である。本実施例では、ドキュメントから抽出された要素に、識別情報として一意のID番号を付与する。なお、登録されたドキュメントと同じドキュメントが既に登録され、登録されたドキュメントから抽出された要素のKeyの情報と同じKeyの情報が既に要素情報32に登録されている場合、要素には、同じID番号を付与する。Object IDの項目には、付与したID番号が格納される。Keyの項目は、ドキュメントから抽出した属性情報を記憶する領域である。上述のように、ドキュメントでは、要素に対してIDやNoなどの属性情報が付与される。Keyの項目には、ドキュメントから抽出した属性情報が格納される。Detailの項目は、ドキュメントから抽出した要素の情報を記憶する領域である。上述のように、ドキュメントでは、属性情報に対応づけて、要素に関する情報が記述される。Detailの項目には、抽出した要素に関する情報が格納される。
【0028】
図4の例では、Object ID「0001」は、「ID 001」との属性情報と、「進む」との要素が抽出されていることを示す。また、Object ID「0004」は、「No A」との属性情報と、「要件A」との要素が抽出されていることを示す。また、Object ID「0007」は、「No 001−01」との属性情報と、「機能A」との要素が抽出されていることを示す。
【0029】
ファイル情報33は、要素の抽出元となったファイルに関する情報を記憶したデータである。一例として、ファイル情報33は、後述の抽出部40によって格納される。他の一例として、ファイル情報33は、影響が及ぶファイルを特定するために、後述の検索部43によって参照される。
【0030】
図5は、ファイル情報のデータ構成の一例を示す図である。
図5に示すように、ファイル情報33は、「File Name」、「ID」の各項目を有する。File Nameの項目は、要素の抽出元となったファイルを示す情報を記憶する領域である。本実施例では、File Nameの項目に、ファイルを示す情報として要素の抽出元となったドキュメントの名称が格納される。IDの項目には、抽出された要素を識別する情報を記憶する領域である。本実施例では、IDの項目に、抽出された要素の属性情報が格納される。なお、IDの項目には、抽出された要素に付与されたID番号を格納してもよい。
【0031】
図5の例では、ID「ID 001」は、「機能要件書A」から抽出されたことを示す。また、ID「No A」は、「機能要件書B」から抽出されたことを示す。また、ID「No 001−01」は、「機能設計書」から抽出されたことを示す。
【0032】
リレーション情報34は、関連付けした要素に関する情報を記憶したデータである。一例として、リレーション情報34は、後述の関連付け部42によって格納される。他の一例として、リレーション情報34は、影響範囲を特定するために、後述の検索部43によって参照される。
【0033】
図6は、リレーション情報のデータ構成の一例を示す図である。
図6に示すように、リレーション情報34は、「Relation Parent ID」、「Relation Child ID」の各項目を有する。Relation Parent IDの項目は、関連付けした一方の要素を示す情報を記憶する領域である。Relation Child IDの項目は、関連付けした他方の要素を示す情報を記憶する領域である。本実施例では、Relation Parent ID、Relation Child IDの項目に、要素の属性情報が格納される。なお、Relation Parent ID、Relation Child IDの項目には、要素に付与されたID番号を格納してもよい。ここで、本実施例では、従属関係を定めて関連付けを行うことが可能とされている。Relation Parent IDの項目には、従属関係において上位の要素の属性情報が格納される。Relation Child IDの項目には、従属関係において下位の要素の属性情報が格納される。
【0034】
図6の例では、「ID 001」の要素と「ID 001−01」の要素は、関連付けられており、「ID 001」が上位であり、「ID 001−01」が下位であることを示す。また、「ID 001」の要素と「ID 001−02」の要素は、関連付けられており、「ID 001」が上位であり、「ID 001−02」が下位であることを示す。また、「ID 002」の要素と「ID 002−01」の要素は、関連付けられており、「ID 002」が上位であり、「ID 002−01」が下位であることを示す。
【0035】
図2に戻り、制御部24は、ファイル管理装置11を制御するデバイスである。制御部24としては、Central Processing Unit(CPU)、Micro Processing Unit(MPU)等の電子回路や、Application Specific Integrated Circuit(ASIC)、Field Programmable Gate Array(FPGA)等の集積回路を採用できる。制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部24は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部24は、抽出部40と、判定部41と、関連付け部42と、検索部43とを有する。
【0036】
抽出部40は、各種の情報を抽出する。例えば、抽出部40は、ドキュメントの登録を受け付けるフォルダに、ドキュメントが記述された表形式のファイルが登録された場合、形式情報31を参照して、ドキュメントの形式に従い、表形式のファイルから要素を抽出する。ドキュメントの形式は、ファイルにドキュメントの種類を示す情報が含まれる場合、ファイルに含まれる情報から判定してもよい。例えば、ファイルのファイル名や特定のセルなどにドキュメントの記載の形式を示す情報が含まれる場合、抽出部40は、登録されたファイルから記載の形式を特定する。例えば、ファイルのファイル名や特定のセルなどにドキュメントの種類を示す名称が含まれる場合、抽出部40は、ファイル名や特定のセルから記載の形式を特定する。なお、ドキュメントの記載の形式は、開発者から指定させてもよい。例えば、ドキュメントの登録を受け付けるフォルダにファイルが登録された場合、抽出部40は、形式情報31に記憶されたドキュメントの記載の形式の種別を、ファイルを登録した端末装置12に表示させ、記載形式の指定を受け付ける。
【0037】
抽出部40は、ドキュメントの記載の形式に基づき、形式情報31から関連付けを行う要素の抽出箇所を求める。例えば、抽出部40は、形式情報31のKey、Contentsの各項目を参照して、抽出の対象とする属性情報の項目名および要素に関する情報が記述されるセルの項目名を求める。そして、抽出部40は、登録されたファイルから、求めた項目名が設定されたセルを検索し、項目名が設定されたセルから、例えば、列方向に順にセルのデータを抽出する。データの抽出は、所定の終了条件を満たすまで行う。終了条件は、例えば、空白のセルが所定個連続した場合に、データの抽出を終了するものとしてもよい。また、終了条件は、一定個数のセルのデータを抽出すると終了するものとしてもよい。終了条件は、全ドキュメントで1つとしてもよく、ドキュメントの種類毎に個別に定めてもよい。
【0038】
抽出部40は、抽出した属性情報および属性情報に対応する要素の情報に対して、一意のID番号を付与し、属性情報および属性情報に対応する要素の情報を対応づけて要素情報32に格納する。また、抽出部40は、属性情報と要素の抽出元となったファイルのドキュメント名を対応づけてファイル情報33に格納する。
【0039】
図7は、属性情報および属性情報に対応する要素の情報を抽出する流れの一例を示す図である。抽出部40は、ドキュメントが記述された表形式のファイルが登録された場合、形式情報31を参照して抽出の対象とする項目の項目名を特定する。例えば、
図7に示すように、機能要件書Aが登録された場合、抽出部40は、形式情報31を参照して、「ID」および「要件」の項目を抽出対象と特定する。また、機能要件書Bが登録された場合、抽出部40は、形式情報31を参照して、「No」および「Description」の項目を抽出対象と特定する。また、機能設計書が登録された場合、抽出部40は、形式情報31を参照して、「ID」および「設計内容」の項目を抽出対象と特定する。
【0040】
そして、抽出部40は、登録されたファイルから抽出対象とされた項目名の項目のデータを抽出する。
図7の例では、抽出部40は、機能要件書Aから「ID」および「要件」の項目のデータを抽出する。また、抽出部40は、機能要件書Bから「No」および「Description」の項目のデータを抽出する。また、抽出部40は、機能設計書から「ID」および「設計内容」の項目のデータを抽出する。このように、抽出部40は、登録されたファイルから抽出対象とされた項目名の項目のデータを抽出する。これにより、抽出部40は、登録されたドキュメントが抽出対象とされた項目名の項目のデータを含んでいれば、データの記載位置にかかわらずデータを抽出できる。すなわち、抽出部40は、ドキュメント内で抽出対象とする項目のデータのセルの位置が固定されていなくも、抽出対象とする項目のデータを抽出できる。
【0041】
抽出部40は、抽出した属性情報および属性情報に対応する要素の情報に対して、一意のID番号を付与し、属性情報および属性情報に対応する要素の情報を対応づけて要素情報32に格納する。また、抽出部40は、属性情報と要素の抽出元となったファイルのドキュメント名を対応づけてファイル情報33に格納する。これにより、
図7の例では、機能要件書Aでは、「ID 001」と「進む」が抽出されて、ID番号「0001」が付与される。そして、「0001」と「ID 001」と「進む」が対応づけられて要素情報32に格納される。また、「機能要件書A」と「ID 001」が対応づけられてファイル情報33に格納される。また、機能要件書Bでは、「No A」と「要件A」が抽出されて、ID番号「0004」が付与される。そして、「0004」と「No A」と「要件A」が対応づけられて要素情報32に格納される。また、「機能要件書B」と「No A」が対応づけられてファイル情報33に格納される。また、機能設計書では、「ID 001−01」と「機能A」が抽出されて、ID番号「0007」が付与される。そして、「0007」と「ID 001−01」と「機能A」が対応づけられて要素情報32に格納される。また、「機能設計書」と「ID 001−01」が対応づけられてファイル情報33に格納される。なお、ファイル情報33のIDの項目には、ID番号を格納してもよい。
【0042】
図2に戻り、判定部41は、各種の判定を行う。例えば、判定部41は、要素情報32を参照し、要素情報32に記憶された情報を比較してファイル間の関連性を判定する。判定部41は、例えば、要素情報32からKeyの項目に記憶された情報を読み出す。そして、判定部41は、読み出した各情報を読み出した他の情報とそれぞれ比較し、一致または部分一致するか否か判定する。判定部41は、一致または部分一致する場合、関連性があると判定する。なお、判定部41は、例えば、要素情報32からDetailの項目に記憶された情報を読み出して、読み出した情報を読み出した他の情報と比較して関連性を判定してもよい。また、判定部41は、KeyおよびDetailの項目の情報をそれぞれ比較し、KeyおよびDetailで共に一致または部分一致する場合に関連性があると判定してもよい。
【0043】
関連付け部42は、各種の関連づけを行う。例えば、関連付け部42は、判定部41により関連性があると判定された要素同士の関連付けを行う。関連付け部42は、例えば、要素情報32から関連性があると判定された要素のKeyの項目に記憶された情報を読み出し、関連性がある各要素の読み出した情報を対応付けてリレーション情報34に登録する。
【0044】
図8は、ドキュメントの要素間の関連付けを行う流れの一例を示す図である。判定部41は、要素情報32からKeyの項目に記憶された情報を読み出す。
図8の例では、Keyの項目に記憶された「ID 001」、「ID 002」、「ID 003」、「No A」、「No B」、「No C」、「ID 001−01」、「ID 001−02」、「ID 002−01」を読み出す。判定部41は、読み出した情報を読み出した他の情報と比較し、一致または部分一致するか否か判定する。
図8の例では、「ID 001」と「ID 001−01」、「ID 001」と「ID 001−02」、および「ID 002」と「ID 002−01」が部分一致するため、関連性があると判定される。関連付け部42は、関連性があると判定された要素のKeyの項目に記憶された情報を読み出し、関連性がある各要素の読み出した情報を対応付けてリレーション情報34に登録する。これにより、
図8の例では、リレーション情報34に「ID 001」と「ID 001−01」、「ID 001」と「ID 001−02」、および「ID 002」と「ID 002−01」がそれぞれ関連付けて登録される。なお、関連付け部42は、リレーション情報34のRelation Parent IDおよびRelation Child IDの各項目に関連付ける要素のID番号を格納して関連付けを行ってよい。また、関連付け部42は、関連性があると判定された要素同士を候補として提示し、関連付ける要素同士の指定を受け付ける指定画面を端末装置12に表示させて、指定画面で指定された要素同士の関連づけを行ってもよい。
【0045】
図9は、指定画面の一例を示す図である。
図9に示すように、指定画面60は、ドキュメントの種類毎にフォルダを分けて表示しており、登録されたドキュメントおよびドキュメントの要素をツリー構造で表示する構成とされている。
図9の例では、指定画面60には、機能設計と機能要件にフォルダが設けられている。また、指定画面60には、機能設計の登録されたドキュメントとして機能設計書Aと機能設計書Bが表示され、機能要件の登録されたドキュメントとして機能要件書が表示されている。指定画面60には、機能設計書Aの要素として抽出された機能1と機能2が表示され、機能設計書Bの要素として抽出された機能3が表示され、機能要件書の要素として抽出された機能要件Aと機能要件Bが表示されている。
図9の例は、機能設計書Aの機能1と機能要件書の機能要素Aとが関連性があると判定された場合を示している。指定画面60には、機能設計書Aの機能1と機能要件書の機能要素Aの間に関連性があり、関連付けの候補であることを示す破線61が表示されている。開発者は、関連付けの候補として表示された要素同士を関連づける場合、破線61部分を指定する。関連付け部42は、関連づけが指定された要素のKeyの項目に記憶された情報を読み出し、各要素の読み出した情報を対応付けてリレーション情報34に登録する。なお、関連付けする際の要素間の従属関係は、開発工程に従って上流工程で作成されるドキュメントの要素を上位とし、下流工程で作成されるドキュメントの要素を下位とするようにしてもよい。例えば、開発工程の順に作成されるドキュメントの種類を示した工程情報を記憶部23に記憶させる。関連付け部42は、記憶部23に記憶された工程情報に基づいて、関連付けする際の要素間の従属関係を定めてもよい。また、関連付けする際の要素間の従属関係は、開発者が画面から指定してもよい。例えば、
図9に示すように、指定画面60において関連づける要素が指定された場合、従属関係を指定する指定画面65を表示させ、指定画面65により従属関係を指定させてもよい。
図9に示すように、指定画面65には、要素間の従属関係を指定するラジオボタン66、67が設けられている。ラジオボタン66は、機能設計書Aの機能1を上位とし、機能要件書の機能要素Aを下位とすることを示している。ラジオボタン67は、機能設計書Aの機能1を下位とし、機能要件書の機能要素Aを上位とすることを示している。開発者は、登録を行う従属関係に応じて指定画面65のラジオボタン66、67の何れかを選択する。関連付け部42は、指定画面65により選択された従属関係で要素同士の関連づけを行う。
【0046】
ここで、開発において作成される各種のドキュメントの関連づけを行った一例を示す。
図10は、各種のドキュメントの関連づけを行った一例を示す図である。
図10の例では、ドキュメントの種類毎にフォルダを分けて示しており、登録されたドキュメントおよびドキュメントの要素をツリー構造で示している。
図10の例では、機能要件、機能設計、機能詳細設計、機能テスト仕様および要件テスト仕様の各フォルダが設けられている。また、
図10の例では、機能要件のドキュメントとして機能要件書が示されている。機能設計のドキュメントとして機能設計書Aと機能設計書Bが示されている。機能詳細設計のドキュメントとして機能詳細設計書が示されている。機能テスト仕様のドキュメントとして機能テスト仕様書が示されている。要件テスト仕様のドキュメントとして要件テスト仕様書が示されている。また、
図10の例では、機能要件書の要素として機能要件1と機能要件2が示されている。機能設計書Aの要素として機能設計1と機能設計2が示されている。機能設計書Bの要素として機能設計3が示されている。機能詳細設計書の要素として詳細設計1と詳細設計2が示されている。機能テスト仕様書の要素としてテスト仕様が示されている。要件テスト仕様書の要素としてテスト仕様が示されている。
図10の例では、関連づけられた要素同士をリレーション70により結んでいる。
図10の例では、機能要件書の機能要件1と機能設計書Aの機能設計1が関連づけられていることを示す。また、機能要件書の機能要件2と機能設計書Bの機能設計3が関連づけられていることを示す。また、機能設計書Aの機能設計2と機能詳細設計書の詳細設計2が関連づけられていることを示す。また、機能設計書Aの機能設計1と機能テスト仕様書のテスト仕様が関連づけられていることを示す。また、機能要件書の機能要件2と要件テスト仕様書のテスト仕様が関連づけられていることを示す。
【0047】
開発において作成されるドキュメントは、様々な情報が多数含まれ、記載の形式も複数ある。このため、開発者により管理すべき項目を検索するには手間がかかる。また、開発においてドキュメントは、多数作成される。このため、開発者がドキュメントの項目の関連づけを管理することは困難である。
【0048】
そこで、ファイル管理装置11は、ドキュメントの記載の形式毎に、表形式のファイルにおいて関連付けを行う要素に関する情報を形式情報31に記憶する。そして、ファイル管理装置11は、ドキュメントが登録された場合、登録されたドキュメントの形式に従い、ドキュメントから要素を抽出する。これにより、ファイル管理装置11は、ドキュメントに含まれる多くの情報から関連付けを行う要素の情報を抽出できる。また、ファイル管理装置11は、抽出した要素の情報を比較して関連性を判定する。これにより、ファイル管理装置11は、抽出した多くの要素から関連性がある要素を特定できるため、関連付けを支援できる。
【0049】
図2に戻り、検索部43は、各種の検索を行う。例えば、検索部43は、ドキュメントの要素を指定して影響範囲の検索の要求を受け付ける。検索部43は、例えば、検索条件を指定する条件画面を端末装置12に表示させ、条件画面から影響範囲の検索の要求を受け付ける。
【0050】
図11は、条件画面の一例を示す図である。条件画面80は、検索の起点となるファイルを指定する入力領域81および検索の起点となる要素を指定する入力領域82が設けられている。入力領域81には、検索の起点となるファイルが入力される。入力領域82には、検索の起点となる要素が入力される。なお、入力領域81および入力領域82は、候補を表示させ、選択により指定を行えるようにしてもよい。例えば、入力領域81には、ファイル情報33に登録されたファイルを表示させる。入力領域81には、ファイル情報33に登録された要素の属性情報を表示させ、入力領域81でファイルが選択された場合、選択されたファイルに含まれる要素の属性情報を表示させる。また、条件画面80には、検索対象とする要素間の従属関係を指定するラジオボタン83、84、85が設けられている。ラジオボタン83は、検索対象の要素から上位から下位の従属関係で関連づけられた要素を検索することを示している。ラジオボタン84は、検索対象の要素から下位から上位の従属関係で関連づけられた要素を検索することを示している。ラジオボタン85は、検索対象の要素から何れかの従属関係で関連づけられた要素を検索することを示している。また、条件画面80には、検索範囲とする階層の数を指定する入力領域86が設けられている。多数の要素を関連づけした場合、検索対象の要素に関連づけられた要素が他の要素を関連づけられ、他の要素がさらに他の要素と関連づけられるなど、検索対象の要素から階層的に他の要素が関連付けられている場合がある。入力領域86には、検索対象の要素から何階層まで関連づけられた要素を検索範囲とするかを指定する。例えば、1階層とされた場合は、検索対象の要素に直接関連づけられた要素が検索範囲となる。なお、本実施例かかる条件画面80では、入力領域86を空白とすることにより、階層の数を指定なしとすることもできる。条件画面80には、検索開始を指定するボタン87が設けられている。開発者は、条件画面80により、検索の起点となるファイルおよび要素、検索対象とする従属関係、検索範囲をし、ボタン87を指定して検索を要求する。
【0051】
検索部43は、各種の情報を検索し、検索された情報を抽出する。例えば、検索部43は、検索が要求された場合、条件画面80で指定された検索条件に従って、リレーション情報34から、指定された要素に関連付けられた要素を検索する。例えば、リレーション情報34には、第1の表形式のファイルの第1の部分を特定する情報と、第2の表形式のファイルの第2の部分を特定する情報とが対応付けられている。この場合、検索部43は、第1の部分の影響範囲の検索が要求されると、第1の部分を特定する情報に対応づけられた第2の部分を特定する情報を抽出する。また、検索部43は、検索条件に、従属関係を指定する情報が含まれている場合、当該従属関係を指定する情報に応じて第1の部分に関連する情報を抽出する。例えば、検索条件で検索対象とする要素間の従属関係が指定されている場合、検索部43は、指定された従属関係で関連づけされた要素を検索する。また、検索条件に、対応する部分の情報を検索する範囲を指定する情報が含まれている場合、検索部43は、指定された範囲内で、対応づけられた情報を抽出する。例えば、対応する部分の情報を検索する範囲として、階層の数が指定されている場合、検索部43は、抽出した第2の部分を第1の部分として、さらに、第1の部分に対応づけられた第2の部分の抽出を、指定された階層の数となるまで繰り返す。
【0052】
図12は、影響範囲の検索の流れの一例を示す図である。
図12の例では、機能要件書Aに、ID「ID 001」として要件「進む」が記載されている。また、ID「ID 002」として要件「止まる」が記載されている。ID「ID 003」として要件「止まる」が記載されている。また、
図12の例では、機能設計書に、機能設計1のID「ID 001−01」として設計内容「機能A」が記載されている。また、ID「ID 001−02」として設計内容「機能B」が記載されている。また、機能設計2のID「ID 002−01」として設計内容「機能C」が記載されている。
図12の例では、要件「進む」に対して「機能A」と「機能B」が関連づけられている。検索部43は、要件を指定して影響範囲の検索が要求された場合、指定された要件に関連付けられた要件を検索し、検索された要件と、検索された要件を含んだファイルを影響範囲として出力する。
図12の例では、検索部43は、機能設計書の要件「進む」の影響範囲の検索が要求された場合、検索結果の画面により、「機能A」、「機能B」と、「機能A」、「機能B」を含んだ機能設計書を影響範囲として出力している。
【0053】
ここで、自動車の開発では、自動車向け機能安全規格としてISO(International Organization for Standardization)26262が規定されている。ファイル管理装置11は、登録されたドキュメントから関連付けを行う要素を抽出して要素間の関連付けして管理するため、何れかの要素に修正が発生した場合、修正が発生した要素により影響が及ぶ範囲を特定できる。これにより、ファイル管理装置11は、ISO26262に準拠したシステムの開発を支援できる。
【0054】
次に、本実施例に係るファイル管理装置11がドキュメントから要素を抽出する抽出処理の流れを説明する。
図13は、抽出処理の手順を示すフローチャートである。この抽出処理は、例えば、ドキュメントの登録を受け付けるフォルダに、ドキュメントが登録されたタイミングで実行される。なお、抽出処理は、バッチなどにより一定期間毎に実行してもよい。また、抽出処理は、管理者が指示したタイミングで実行してもよい。
【0055】
図13に示すように、抽出部40は、登録されたドキュメントの記載の形式に基づき、形式情報31から抽出の対象とする属性情報の項目名および要素に関する情報が記述されるセルの項目名を特定する(S10)。そして、抽出部40は、登録されたファイルから抽出対象とされた項目名の項目のデータを抽出する(S11)。抽出部40は、抽出した属性情報および属性情報に対応する要素の情報に対して、一意のID番号を付与し、属性情報および属性情報に対応する要素の情報を対応づけて要素情報32に格納し(S12)、処理を終了する。
【0056】
次に、本実施例に係るファイル管理装置11が要素を関連づける関連付け処理の流れを説明する。
図14は、関連付け処理の手順を示すフローチャートである。この関連付け処理は、例えば、抽出処理が終了したタイミングで実行される。なお、関連付け処理は、バッチなどにより一定期間毎に実行してもよい。また、関連付け処理は、管理者が指示したタイミングで実行してもよい。
【0057】
図14に示すように、判定部41は、要素情報32からKeyの項目に記憶された情報を読み出す(S20)。判定部41は、読み出した情報から処理対象と選択されていない情報を処理対象の情報と選択する(S21)。判定部41は、読み出した情報から処理対象の情報以外の情報を順に選択する(S22)。そして、判定部41は、処理対象の情報と選択した情報が既に比較済みであるか否か判定する(S23)。比較済みである場合(S23肯定)、後述するS26へ移行する。
【0058】
一方、比較済みではない場合(S23否定)、判定部41は、処理対象の情報と選択した情報を比較して、一致または部分一致するか否か判定する(S24)。一致も部分一致もしない場合(S24否定)、後述するS26へ移行する。
【0059】
一方、一致または部分一致する場合(S24肯定)、関連付け部42は、情報が一致または部分一致した各要素のKeyの項目に記憶された情報を読み出し、各要素の読み出した情報を対応付けてリレーション情報34に登録する(S25)。
【0060】
判定部41は、処理対象の情報を、処理対象の情報以外の読み出した全情報と比較済みであるか否か判定する(S26)。比較済みではない場合(S26否定)、上述のS22へ移行して次の情報を選択する。
【0061】
一方、比較済みの場合(S26肯定)、判定部41は、読み出した全情報を処理対象の情報と選択したか否か判定する(S27)。読み出した情報に処理対象の情報と選択されていない情報がある場合(S27否定)、上述のS21へ移行する。
【0062】
一方、読み出した全情報を処理対象の情報と選択した場合(S27肯定)、処理を終了する。
【0063】
次に、本実施例に係るファイル管理装置11が影響範囲を検索する検索処理の流れを説明する。
図15は、検索処理の手順を示すフローチャートである。この検索処理は、例えば、検索の要求を受け付けたタイミングで実行される。
【0064】
図15に示すように、検索部43は、検索中の階層を示す変数Nに1をセットする(S30)。検索部43は、検索条件で指定された検索の起点のファイルを第1の表形式のファイルとし、検索の起点となる要素を第1の部分と設定する(S31)。
【0065】
検索部43は、検索条件で指定された従属関係で第1の表形式のファイルの第1の部分に対応づけられた第2の表形式のファイルの第2の部分を抽出する(S32)。例えば、検索部43は、上位から下位の従属関係の検索が指定されている場合、リレーション情報34から、第1の表形式のファイルの第1の部分の要素を上位して関連付けされた下位の要素を抽出する。例えば、検索部43は、リレーション情報34のRelation Parent IDの項目に第1の表形式のファイルの第1の部分の要素の属性情報が格納されたレコードのRelation Child IDの項目の属性情報を検索する。また、検索部43は、下位から上位の従属関係の検索が指定されている場合、リレーション情報34から、第1の表形式のファイルの第1の部分の要素を下位して関連付けされた上位の要素を抽出する。例えば、検索部43は、リレーション情報34のRelation Child IDの項目に第1の表形式のファイルの第1の部分とされた要素の属性情報が格納されたレコードのRelation Parent IDの項目の属性情報を検索する。そして、検索部43は、抽出された要素を第2の表形式のファイルの第2の部分とする。
【0066】
検索部43は、第2の表形式のファイルの第2の部分が抽出されたか否か判定する(S33)。第2の部分が抽出されない場合(S33否定)、後述するS37へ移行する。
【0067】
一方、第2の部分が抽出された場合(S33肯定)、第2の表形式のファイルの第2の部分の要素を影響が及び要素と記憶する(S34)。
【0068】
検索部43は、検索条件で階層の数が指定されているか否かを判定する(S35)。階層の数が指定されている場合(S35肯定)、検索部43は、検索中の階層を示す変数Nが検索条件で指定された階層の数であるか否か判定する(S36)。変数Nが検索条件で指定された階層の数である場合(S36肯定)、検索部43は、記憶した影響が及び要素と、影響が及び要素を含んだファイルを影響範囲として出力し(S37)、処理を終了する。
【0069】
一方、階層の数が指定されていない場合(S35否定)、および、変数Nが検索条件で指定された階層の数ではない場合(S36否定)、後述するS38へ移行する。検索部43は、変数Nの値に1を加算する(S38)。そして、検索部43は、検索された第2の部分を新たな第1の部分とし、第2の部分を含む第2の表形式のファイルを新たな第1の表形式のファイルと設定して(S39)、上述のS32へ移行する。
【0070】
このように、ファイル管理装置11は、第1の表形式のファイルの第1の部分を特定する情報と、第2の表形式のファイルの第2の部分を特定する情報との対応関係を記憶部23のリレーション情報34に記憶する。ファイル管理装置11は、第1の表形式のファイルの第1の部分についての影響範囲の検索依頼を受信すると、記憶部23のリレーション情報34を参照して、第1の部分を特定する情報に対応づけられた第2の部分を特定する情報を抽出する。そして、ファイル管理装置11は、検索依頼に対する応答として、第2の部分を特定する情報と第2の部分を含む第2の表形式のファイルを特定する情報とを出力する。これにより、ファイル管理装置11は、変更の影響範囲をファイルの部分まで特定できる。
【0071】
また、ファイル管理装置11は、記憶部23のリレーション情報34に、第1の部分に対する前記第2の部分の従属関係を記憶する。そして、ファイル管理装置11は、影響範囲の検索依頼に従属関係を指定する情報が含まれている場合、当該従属関係を指定する情報に応じて第1の部分に関連する情報を抽出する。これにより、ファイル管理装置11は、特定の従属関係で対応づけられた部分のみを抽出できる。例えば、ファイル管理装置11は、従属関係を開発の工程順とすることにより、後の工程で影響を受ける部分のみを抽出できる。
【0072】
また、ファイル管理装置11は、影響範囲の検索依頼に、検索する範囲を指定する情報が含まれている場合、検索依頼に含まれる範囲内で第1の部分に対応づけられた第2の部分を特定する情報を抽出する。これにより、ファイル管理装置11は、指定した範囲内で変更の影響範囲を抽出できる。
【実施例2】
【0073】
次に、実施例2について説明する。実施例2に係るファイル管理装置11の構成は、
図2に示した実施例1に係るファイル管理装置11と略同一であるため、主に異なる部分について説明する。
【0074】
実施例2に係るファイル管理装置11は、要素間の対応関係に種類を設定することが可能とされている。また、ファイル管理装置11は、同じ要素間に、複数の種類の対応関係を設定することも可能とされている。ファイル管理装置11は、対応関係毎に、対応関係の種類をリレーション情報34に記憶する。
図16は、リレーション情報のデータ構成の一例を示す図である。なお、
図6に示した実施例1に係るリレーション情報34と同一部分については説明を省略し、主に異なる部分について説明する。
図16に示すように、実施例2に係るリレーション情報34は、「Relation Kind」の項目をさらに有する。Relation Kindの項目は、関連付けした対応関係の種類を示す情報を記憶する領域である。
【0075】
ここで、ドキュメントから抽出された要素は、各種の用途で関連付けが行われる。例えば、修正の影響範囲を検索しやすくするため、変更の影響が及ぶ要素同士が関連づけされる。また、特定の対象向けの開発が行われた部分の要素が関連づけされる。例えば、自動車の開発では、それぞれの国の法制度や環境、ニーズに合わせるため、それぞれの国向けに個別の機能が開発される場合がある。また、ドキュメントの参考とした部分を検索しやすくするため、参考とした部分の要素が関連づけされる。
【0076】
実施例2に係るファイル管理装置11は、用途毎に種類を分けて対応関係を登録することが可能とされており、対応関係の種類として「トレーサビリティ」、「日本向け」、「米国向け」、「参考」を用意している。トレーサビリティは、修正の影響が及ぶ要素同士の関連付けに用いられる。日本向けは、日本国向けに開発された個別の機能の要素同士の関連付けに用いられる。米国向けは、米国向けに開発された個別の機能の要素同士の関連付けに用いられる。参考は、参考としたドキュメントの要素同士の関連付けに用いられる。
【0077】
実施例2に係るリレーション情報34のRelation Kindの項目には、対応関係の種類の情報として、種類を示す名称が格納される。
図16の例では、「ID 001」の要素と「ID 001−01」の要素は、「トレーサビリティ」として関連づけられている。また、「ID 001」の要素と「ID 001−01」の要素は、「日本向け」としても関連づけられている。「ID 001」の要素と「ID 001−02」の要素は、「トレーサビリティ」として関連づけられている。また、「ID 001」の要素と「ID 001−01」の要素は、「米国向け」としても関連づけられている。「ID 002」の要素と「ID 002−01」の要素は、「参考」として関連づけられている。
【0078】
ファイル管理装置11は、判定部41により、関連性があると判定された要素同士を候補として、
図9に示す指定画面60に提示して関連づける要素の指定を受け付ける。そして、ファイル管理装置11は、指定画面60において関連づける要素が指定された場合、従属関係を指定する指定画面65を表示させ、指定画面65により従属関係の指定および種類の指定を受け付ける。
【0079】
図17は、指定画面の一例を示す図である。なお、
図9に示した実施例1に係る指定画面65と同一部分については説明を省略し、主に異なる部分について説明する。
図17に示すように、実施例2に係る指定画面65には、要素間の従属関係の種類を指定する選択領域68が設けられている。選択領域68は、指定が可能な対応関係の種類の名称が表示され、種類を選択することが可能とされている。
図17の例では、選択領域68に、「トレーサビリティ」、「日本向け」、「米国向け」、「参考」が表示され、種類を選択することが可能とされている。選択領域68は、同時に複数の種類を選択することも可能とされている。選択領域68は、選択された項目が反転表示される。開発者は、修正の影響が及ぶ要素同士を関連付けする場合、「トレーサビリティ」を選択する。また、開発者は、日本国向けに開発された個別の機能の要素同士を関連付けする場合、「日本向け」を選択する。また、開発者は、米国向けに開発された個別の機能の要素同士を関連付けする場合、「米国向け」を選択する。また、開発者は、参考としたドキュメントの要素を関連付けする場合、「参考」を選択する。
図17の例では、「トレーサビリティ」と「日本向け」が選択された状態を示している。
【0080】
関連付け部42は、指定画面60において関連づけが指定された要素同士を、指定画面65で指定された種類毎に、リレーション情報34に登録する。
【0081】
また、実施例2に係るファイル管理装置11は、開発者が操作画面から関連づける要素を指定して関連づけを行うことも可能とされている。関連付け部42は、端末装置12から操作画面の要求を受け付けた場合、要素同士の関連づけを行う操作画面を端末装置12に表示させて、操作画面で指定された要素同士の関連づけを行う。
【0082】
図18は、操作画面の一例を示す図である。
図18に示すように、実施例2に係る操作画面90は、ドキュメントの種類毎にフォルダを分けて表示しており、登録されたドキュメントおよびドキュメントの要素をツリー構造で表示する構成とされている。
図18の例では、操作画面90には、機能設計と機能要件にフォルダが設けられている。また、操作画面90には、機能設計の登録されたドキュメントとして機能設計書Aと機能設計書Bが表示され、機能要件の登録されたドキュメントとして機能要件書が表示されている。操作画面90には、機能設計書Aの要素として抽出された機能1と機能2が表示され、機能設計書Bの要素として抽出された機能3が表示され、機能要件書の要素として抽出された機能要件Aと機能要件Bが表示されている。操作画面90は、関連づける要素の指定を受け付ける。例えば、操作画面90は、関連づける一方の要素を他方の要素にドラック・アンド・ドロップすることにより関連づける要素の指定を受け付ける。
図18の例は、機能要件書の機能要件Aと、機能設計書Aの機能2とを関連づけするため、機能要件Aを機能2にドラック・アンド・ドロップした場合を示している。
【0083】
関連付け部42は、操作画面90で関連づけを行う要素が指定されると、
図17に示した指定画面65を表示させ、指定画面65により従属関係の指定および種類の指定を受け付ける。そして、関連付け部42は、操作画面90において関連づけが指定された要素同士を、指定画面65で指定された従属関係、種類でリレーション情報34に登録する。なお、操作画面90がドラック・アンド・ドロップにより関連づける要素の指定を受け付ける場合、関連付け部42は、例えば、ドラッグされた要素を従属関係の上位とし、要素がドロップされた要素を従属関係の下位として関連づけを行うものとしてもよい。
【0084】
また、実施例2に係るファイル管理装置11は、検索の対象とする関連付けの種類を指定して影響範囲の検索の要求を受け付ける。検索部43は、例えば、検索条件として、検索の対象とする関連付けの種類を指定可能な領域を含んだ条件画面を端末装置12に表示させ、条件画面から影響範囲の検索の要求を受け付ける。
【0085】
図19は、条件画面の一例を示す図である。なお、
図11に示した実施例1に係る条件画面80と同一部分については説明を省略し、主に異なる部分について説明する。
図19に示すように、実施例2に係る条件画面80は、検索の対象とする関連付けの種類を指定する選択領域88が設けられている。選択領域88は、指定が可能な対応関係の種類の名称が表示され、種類を選択することが可能とされている。
図19の例では、選択領域88に、「トレーサビリティ」、「日本向け」、「米国向け」、「参考」が表示され、種類を選択することが可能とされている。選択領域88は、同時に複数の種類を選択することも可能とされている。選択領域88は、選択された項目が反転表示される。開発者は、修正の影響が及ぶ要素を検索する場合、「トレーサビリティ」を選択する。また、開発者は、日本国向けに開発された個別の機能の要素を検索する場合、「日本向け」を選択する。また、開発者は、米国向けに開発された個別の機能の要素を検索する場合、「米国向け」を選択する。また、開発者は、参考として参照したドキュメントの要素を検索する場合、「参考」を選択する。
図19の例では、「トレーサビリティ」が選択された状態を示している。
【0086】
検索部43は、検索が要求された場合、条件画面80で指定された検索条件に従って、リレーション情報34から、指定された要素に関連付けられた要素を影響範囲として検索する。例えば、リレーション情報34には、第1の表形式のファイルの第1の部分を特定する情報と、第2の表形式のファイルの第2の部分を特定する情報とが対応付けられている。この場合、検索部43は、検索条件に、対応関係の種類を指定する情報が含まれている場合、第1の部分を特定する情報に対応づけられた第2の部分のうち、指定された種類で対応づけられた第2の部分を特定する情報を抽出する。
【0087】
次に、本実施例に係るファイル管理装置11が影響範囲を検索する検索処理の流れを説明する。
図20は、検索処理の手順を示すフローチャートである。なお、
図15に示した実施例1に係る検索処理と同一部分については説明を省略し、主に異なる部分について説明する。
【0088】
検索部43は、検索条件で対応関係の種類が指定されているか否かを判定する(S40)。種類が指定されていない場合(S40否定)、上述のS34へ移行する。一方、種類が指定されている場合(S40肯定)、検索部43は、S32の処理で抽出された第2の表形式のファイルの第2の部分の要素のうち、指定された種類で対応づけられた第2の部分の要素を抽出し(S41)、S34へ移行する。
【0089】
このように、ファイル管理装置11は、記憶部23のリレーション情報34に、対応関係毎に、対応関係の種類をさらに記憶する。そして、ファイル管理装置11は、影響範囲の検索依頼に対応関係の種類を指定する情報が含まれている場合、第1の部分を特定する情報に対応づけられた第2の部分のうち、検索依頼に含まれる種類で対応づけられた第2の部分を特定する情報を抽出する。これにより、ファイル管理装置11は、特定の種類で対応づけられた部分のみを抽出できる。例えば、ファイル管理装置11は、変更の影響を受ける範囲をファイルの部分まで特定できる。また、ファイル管理装置11は、日本向け、米国向けなど、特定の国向けに開発された範囲をファイルの部分まで特定できる。また、ファイル管理装置11は、参考としたドキュメントのファイルの部分まで特定できる。