IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許7533923情報処理装置、情報管理方法及びプログラム
<>
  • 特許-情報処理装置、情報管理方法及びプログラム 図1
  • 特許-情報処理装置、情報管理方法及びプログラム 図2
  • 特許-情報処理装置、情報管理方法及びプログラム 図3
  • 特許-情報処理装置、情報管理方法及びプログラム 図4
  • 特許-情報処理装置、情報管理方法及びプログラム 図5
  • 特許-情報処理装置、情報管理方法及びプログラム 図6
  • 特許-情報処理装置、情報管理方法及びプログラム 図7
  • 特許-情報処理装置、情報管理方法及びプログラム 図8
  • 特許-情報処理装置、情報管理方法及びプログラム 図9
  • 特許-情報処理装置、情報管理方法及びプログラム 図10
  • 特許-情報処理装置、情報管理方法及びプログラム 図11
  • 特許-情報処理装置、情報管理方法及びプログラム 図12
  • 特許-情報処理装置、情報管理方法及びプログラム 図13
  • 特許-情報処理装置、情報管理方法及びプログラム 図14
  • 特許-情報処理装置、情報管理方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-05
(45)【発行日】2024-08-14
(54)【発明の名称】情報処理装置、情報管理方法及びプログラム
(51)【国際特許分類】
   G06F 8/70 20180101AFI20240806BHJP
【FI】
G06F8/70
【請求項の数】 7
(21)【出願番号】P 2020089621
(22)【出願日】2020-05-22
(65)【公開番号】P2021184193
(43)【公開日】2021-12-02
【審査請求日】2023-04-05
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】池下 弘之
【審査官】円子 英紀
(56)【参考文献】
【文献】特開2006-221316(JP,A)
【文献】特開2014-074952(JP,A)
【文献】特開2008-248699(JP,A)
【文献】特開2009-099073(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/70-8/77
(57)【特許請求の範囲】
【請求項1】
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理手段と、
既存のコンテナから新たなコンテナを派生させる派生処理手段と、
を有し、
前記派生処理手段は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理手段は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置。
【請求項2】
前記管理手段は、前記第1のコンテナと前記第2のコンテナとを独立して管理する、請求項1に記載の情報処理装置。
【請求項3】
前記チェックポイントには、前記第2のコンテナから前記第1のプロダクトに関連付けられたコンテンツの利用状態を示す利用情報が付与されており、
前記派生処理手段は、前記利用情報に基づいて、前記コンテンツを利用することのできるチェックポイント時点での前記第1のコンテナから、前記第2のコンテナを派生させる、請求項1または2に記載の情報処理装置。
【請求項4】
コンテンツを生成または更新するコンテンツ作成手段を有し、
前記コンテンツ作成手段は、コンテンツを更新した際に、更新された前記コンテンツを管理するコンテナのリビジョンパスを更新する、請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記管理手段は、派生関係にないコンテナ間で、一方のコンテナにおけるコンテンツのリビジョンを、他方のコンテナのコンテンツのリビジョンに連動するように設定する、請求項1~4のいずれか1項に記載の情報処理装置。
【請求項6】
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナについて、コンテナを新たに派生させるコンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報管理方法。
【請求項7】
コンピュータを、
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理手段と、
既存のコンテナから新たなコンテナを派生させる派生処理手段と、
を有し、
前記派生処理手段は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理手段は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報のトレーサビリティ管理のための情報処理装置、これを用いた情報管理方法、及び、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
近年のソフトウェア製品の規模増大と多機能化に伴い、ドキュメント体系も複雑になり設計作業の分業化も進んでいる。これにより、既存ソフトウェア製品の改造開発時などの影響範囲分析の難易度があがり、不具合につながるリスクが飛躍的に高っている。このような状況の変化から、仕様精通者のみが暗黙的に把握していた要件トレーサビリティ情報を可視化することの重要度がより一層高まってきている。特に、自動車あるいは航空宇宙、医療機器といったクリティカルソフトウェアの分野においては、信頼性及び安全性の面から、トレーサビリティ管理が強く求められている。
【0003】
トレーサビリティ管理に関して、例えば特許文献1には、複数の資源から構成される業務システムにおいて、資源の変更による影響を推定する資源管理装置が開示されている。かかる資源管理装置は、大規模システムの管理業務において、そのシステムの有識者が保有している情報と、当該システムにおいて過去に行われた業務の履歴の情報とを結びつけて相互参照できるようにすると共に、ある資源に変更があった場合に他の資源にどのような影響が及ぶかについての情報を提供する。
【0004】
また、特許文献2には、設計項目位置と設計項目間関連を用いて、修正すべき設計項目の設計項目位置を起点として、設計項目間関連が示す依存先について、次々と特定することで連鎖的にその波及範囲を特定するソフトウェア開発支援装置が開示されている。
【0005】
特許文献3には、間接的に参照している文書を含む参照文書を特定し、間接的に参照している文書間の整合性を検証するデータ間リビジョン管理装置が開示されている。かかるデータ間リビジョン管理装置は、既存データを参照する新規データについて、新規データ及びそのリビジョンと、既存データ及びそのリビジョンとの対応情報を蓄積しておく。これにより、所定のリビジョンの所定のデータが直接参照する参照データとそのリビジョンを特定するとともに、間接的に参照する参照データとそのリビジョンを特定することを可能にする。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2019-207533号公報
【文献】特開2017-058986号公報
【文献】特開2010-211341号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記特許文献1~3に記載の技術によれば、文書等のコンテンツ間の関係を追跡することができ、あるコンテンツを変更したときには関係するコンテンツへの影響を把握することを可能にする。しかし、例えば、要件定義書や基本設計書といったドキュメント粒度でのトレーサビリティ管理では、管理するトレーサビリティの数が膨大となる。
【0008】
また、トレーサビリティが保持されているコンテンツ間において、あるコンテンツに変更があったとしても、トレーサビリティが保持されているコンテンツ間ではその一貫性を保つ必要がある。すなわち、トレーサビリティ管理において、時系列の管理も必要になる。そして、トレーサビリティ管理においては、仕様精通者以外の者であっても情報間の関係を把握できることが求められる。
【0009】
本発明の目的の一例は、属人性を排除したトレーサビリティ管理を実現する、情報処理装置、情報管理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の一側面によれば、
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理部と、
既存のコンテナから新たなコンテナを派生させる派生処理部と、
を有し、
前記派生処理部は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理部は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置が提供される。
【0011】
また、上記目的を達成するため、本発明の一側面によれば、
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナについて、コンテナを新たに派生させるコンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報管理方法が提供される。
【0012】
また、上記目的を達成するため、本発明の一側面によれば、
コンピュータを、
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理部と、
既存のコンテナから新たなコンテナを派生させる派生処理部と、
を有し、
前記派生処理部は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理部は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置として機能させる、プログラムが提供される。
【発明の効果】
【0013】
以上のように本発明によれば、属人性を排除したトレーサビリティ管理を実現することができる。
【図面の簡単な説明】
【0014】
図1図1は、本発明の一実施形態に係る情報処理装置の一構成例を示すブロック図である。
図2図2は、同実施形態に係る情報処理装置のより詳細な構成例を示すブロック図である。
図3図3は、コンテンツ管理情報の主要素の関係を示すクラス図である。
図4図4は、1つのプロダクトを構成するコンテンツのリビジョンの管理を示す説明図である。
図5図5は、コンテンツの依存関係を示すクラス図である。
図6図6は、コンテナの参照関係を示すクラス図である。
図7図7は、コンテンツの依存関係とコンテナの参照関係について一例を示す説明図である。
図8図8は、コンテンツの依存関係とコンテナの参照関係について他の一例を示す説明図である。
図9図9は、コンテナの派生関係を示すクラス図である。
図10図10は、コンテナの派生関係について一例を示す説明図である。
図11図11は、コンテナの派生関係について他の一例を示す説明図である。
図12図12は、コンテナ派生時のリビジョンパスの一例を示す説明図である。
図13図13は、コンテナ派生時のコンテンツ依存関係を示す説明図である。
図14図14は、同実施形態に係る情報処理装置によるコンテナ派生処理を示すフローチャートである。
図15図15は、同実施形態に係る情報処理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0015】
[1.概要]
まず、図1に基づいて、本発明の一実施形態に係る情報処理装置100の構成及び機能を説明する。図1は、本実施形態に係る情報処理装置100の一構成例を示すブロック図である。
【0016】
本実施形態に係る情報処理装置100は、属人性を排除したトレーサビリティ管理を実現するための装置である。ソフトウェア製品の規模増大と多機能化に伴いドキュメント体系が複雑化したことにより、情報のトレーサビリティ管理の重要性は高まっている。本実施形態に係る情報処理装置100を用いることで、膨大な情報を保有するプロダクトにおいても、仕様精通者以外の者であっても、情報を確実にトレースすることができ、かつ、時系列的にも情報の関連性を保持しつつ新たなプロダクトを派生することも可能にする。
【0017】
より詳細には、情報処理装置100は、図1に示すように、管理部110と、派生処理部120とを有する。管理部110は、1または複数のコンテンツが関連付けられたプロダクトに対して設定され、コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点におけるコンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する。派生処理部120は、既存のコンテナから新たなコンテナを派生させる。新たなコンテナを派生させる際、派生処理部120は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させる。管理部110は、第2のプロダクトに対して第2のコンテナを参照するよう設定する。
【0018】
これにより、異なるプロダクトでリビジョンの異なる同一コンテンツを用いる際、プロダクト毎に設定されたコンテナにより、コンテンツの仕様をそれぞれ独立して管理することができる。以下、本実施形態に係る情報処理装置100の構成を、これによる情報の管理について、詳細に説明する。
【0019】
[2.装置構成]
図2に基づいて、本実施形態に係る情報処理装置100の構成及びその機能について説明する。図2は、本実施形態に係る情報処理装置100のより詳細な一構成例を示すブロック図である。
【0020】
本実施形態に係る情報処理装置100は、図2に示すように、ネットワークを介して、ユーザ端末装置50及び記憶装置200と接続されている。
【0021】
ユーザ端末装置50は、情報処理装置100を利用するユーザが使用する装置であり、例えばパーソナルコンピュータやタブレット端末等の情報処理端末である。ユーザ端末装置50は、ユーザが情報処理装置100に対する指示等を入力したり、情報処理装置100から提供される情報をユーザに対して出力したりする。
【0022】
記憶装置200は、情報を保持するサーバ等の装置であり、情報処理装置100にて管理される情報(以下、「コンテンツ管理情報」ともいう。)を記録する。コンテンツ管理情報は、コンテンツ管理情報記憶部210に記録されている。なお、コンテンツ管理情報についての説明は後述する。
【0023】
情報処理装置100は、図2に示すように、管理部110と、派生処理部120と、コンテンツ作成部130とを有する。
【0024】
管理部110は、図1にて説明したように、1または複数のコンテンツが関連付けられたプロダクトに対して設定され、コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点におけるコンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する。管理部110は、例えば、コンテナグループ、コンテナ、チェックポイント、コンテナ参照情報、チェックポイント参照情報等のコンテンツ管理情報を管理する。
【0025】
派生処理部120は、図1にて説明したように、既存のコンテナから新たなコンテナを派生させる。派生処理部120は、新たなコンテナを派生させると、管理部110及びコンテンツ作成部130へ、新たなコンテナを派生させたことを通知する。派生処理部120は、例えば、コンテナ派生情報等のコンテンツ管理情報を管理する。
【0026】
コンテンツ作成部130は、コンテンツを生成または更新する。コンテンツ作成部130は、コンテンツを更新した際に、更新されたコンテンツを管理するコンテナのリビジョンパスを更新する。コンテンツ作成部130は、例えば、コンテンツ、リビジョン、リビジョンパス、コンテンツ依存情報等のコンテンツ管理情報を管理する。
【0027】
[3.情報管理]
以下、本実施形態に係る情報処理装置100を用いた情報管理方法について説明する。
【0028】
[3-1.主要素の構成と管理]
まず、図3及び図4に基づいて、コンテンツ管理情報の主要素の構成とその管理方法について説明する。図3は、コンテンツ管理情報の主要素の関係を示すクラス図である。図4は、1つのプロダクトを構成するコンテンツのリビジョンの管理を示す説明図である。
【0029】
コンテンツ管理情報の主要素には、図3に示すように、コンテンツ(Content)、コンテナ(Container)、リビジョン(Revision)、リビジョンパス(Revision Path)、チェックポイント(Checkpoint)、及び、コンテナグループ(Container Group)がある。これらの情報は、例えば、記憶装置200のコンテンツ管理情報記憶部210に記録される。
【0030】
コンテンツ(Content)は、活動あるいはその成果を表現する情報である。コンテンツは、例えば手順、仕様、レビュー指摘、画像等を表す情報であり、文章、図、表等で記される。コンテンツは、例えば、ユーザがユーザ端末装置50を用いて作成してもよい。
【0031】
コンテナ(Container)は、ユーザの活動あるいはその成果の写像情報である。コンテナは、1または複数のコンテンツで表現される。コンテナは、例えば、製品(product)、プロジェクト(project)、リリース(release)等を表す。
【0032】
リビジョン(Revision)は、改訂されるコンテンツについて、特定時点のコンテンツの状態を永続化した情報である。
【0033】
リビジョンパス(Revision Path)は、リビジョンの蓄積経路を示す情報である。各コンテンツは、少なくとも1つのリビジョンパスを有する。リビジョンパスにより、コンテンツの改訂履歴を把握することができる。
【0034】
チェックポイント(Checkpoint)は、指定された時点のコンテナの状態を永続化した情報である。チェックポイントは、コンテナに含まれる各コンテンツの指定された時点でのリビジョンの集合により表現される。
【0035】
チェックポイントには、他のコンテナから当該コンテナのコンテンツの利用状態を示す利用情報が付与されていてもよい。利用情報としては、例えば、利用不可(private)、利用可(public)、参照(unilateral)等が設定される。利用不可(private)のコンテンツは、当該コンテナに閉じたコンテンツであり、他のコンテナからは認識されない状態である。利用可(public)のコンテンツは、コンテンツが当該コンテナだけでなく他のコンテナからも認識される状態にある。参照(unilateral)のコンテンツは、当該コンテナは関与せず、他のコンテナからのみ認識される状態にある。
【0036】
利用情報は、後述するコンテナの派生において、新たなコンテナの派生元とすることのできる派生元コンテナのチェックポイント時点を特定するために使用することができる。派生元コンテナのチェックポイントを指定して新たなコンテナを派生させる場合、コンテンツの一貫性を保持する必要がある。このため、新たなコンテナは、利用情報が利用可(public)に設定されたチェックポイントを指定して派生される。なお、コンテナの派生についての詳細な説明は後述する。
【0037】
コンテナグループ(Container Group)は、派生元を辿ると同一コンテナに到達するコンテナ群を表す情報である。例えば、コンテナグループは、バージョンの異なる同一コンポーネントをまとめた情報である。なお、コンテナの派生については、後述する。
【0038】
このようなコンテンツ管理情報の主要素により、コンテナに含まれるコンテンツのリビジョンは管理される。例えば、1つのコンテナにおけるコンテンツのリビジョンは、図4に示すように管理されている。図4は、コンテナグループ「Product X」に属するコンテナ「Product X Ver.α」に、2つのコンテンツ「Function A」、「Function B」のリビジョンパスが記録されている状態を示している。図4に示すコンテナ「Product X Ver.α」の情報は、以下のように記録される。
【0039】
まず、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」の作成を要求したとする。情報処理装置100は、コンテナ作成の要求を受けると、管理部110により、コンテナグループ「Product X」を生成し、コンテナグループ「Product X」に属するコンテナ「Product X Ver.α」を生成する。そして、管理部110は、「Product X Ver.α」の生成時点を永続した「Created」というチェックポイントを生成する。当該チェックポイントには、当該チェックポイント時点のリビジョンのコンテンツは他のコンテナでは利用できないように、利用不可(private)との利用情報が設定される。
【0040】
次いで、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Function A」の作成を要求したとする。情報処理装置100は、コンテンツ作成の要求を受けると、コンテンツ作成部130により、コンテンツ「Function A」を生成する。そして、コンテンツ作成部130は、コンテナ「Production X Ver.α」に対して「A Path1」というリビジョンパスを生成する。コンテンツ作成部130は、指定された内容のコンテンツ「Function A」に対してリビジョン「A 1.1」を生成し、リビジョパス情報「A Path1」のcurrentとする。
【0041】
さらに、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Function B」の作成を要求したとする。情報処理装置100は、コンテンツ作成の要求を受けると、コンテンツ作成部130により、コンテンツ「Function B」を生成する。そして、コンテンツ作成部130は、コンテナ「Production X Ver.α」に対して「B Path1」というリビジョンパスを生成する。コンテンツ作成部130は、指定された内容のコンテンツ「Function B」に対してリビジョン「B 1.1」を生成し、リビジョパス情報「B Path1」のcurrentとする。
【0042】
その後、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Function A」の内容の改訂を要求したとする。情報処理装置100は、コンテンツ作成部130により、改訂を反映したコンテンツ「Function A」のリビジョン「A 1.2」を生成し、リビジョンパス「A Path1」のcurrentを「A 1.2」に変更する。
【0043】
また、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」の最新状態を、チェックポイント「X Release1」として記録するよう要求したとする。また、チェックポイント「X Release1」に対して利用可(public)の利用情報を設定することが要求されたとする。情報処理装置100は、管理部110により、コンテナ「Product X Ver.α」に対して、利用可(public)の利用情報を設定したチェックポイント「X Release1」を生成する。そして、管理部110は、コンテナ「Product X Ver.α」の各リビジョンパスのcurrentであるリビジョン(すなわち、「A 1.2」及び「B 1.1」)のコンテンツを関連付ける。
【0044】
その後、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Function A」の内容の改訂を要求したとする。情報処理装置100は、コンテンツ作成部130により、改訂を反映したコンテンツ「Function A」のリビジョン「A 1.3」を生成し、リビジョンパス「A Path1」のcurrentを「A 1.3」に変更する。
【0045】
このようにして、図4に示すようなコンテナ「Product X Ver.α」の情報が記録される。
【0046】
[3-2.コンテンツの依存関係とコンテナの参照関係]
次に、図5図8に基づいて、コンテンツの依存関係とコンテナの参照関係について説明する。図5は、コンテンツの依存関係を示すクラス図である。図6は、コンテナの参照関係を示すクラス図である。図7は、コンテンツの依存関係とコンテナの参照関係について一例を示す説明図である。図8は、コンテンツの依存関係とコンテナの参照関係について他の一例を示す説明図である。
【0047】
コンテンツの依存関係は、図5に示すように、コンテンツ依存情報(Content Depend)により表される。コンテンツ依存情報は、あるコンテンツの存在が他のコンテンツの前提となり、その変化の影響をうける関係を表す。例えば、コンテンツ依存情報は、設計が要件を根拠とする関係、レビュー指摘がレビュー対象を参照する関係、等を表す。コンテンツ依存情報は、リビジョン毎に設定され、依存する先の変更も永続化される。なお、コンテンツ依存情報は、依存先となるコンテンツの情報を要求された際に、元となるコンテンツの内容を同梱して提示すること等も想定し得る。コンテンツ依存情報は、例えば、記憶装置200のコンテンツ管理情報記憶部210に記録される。
【0048】
コンテナの参照関係は、図6に示すように、コンテナ参照情報(Container Refer)により表される。コンテナ参照情報は、あるコンテナを表現する際に、他のコンテナのコンテンツを利用する場合に設定される。コンテナ参照情報は、例えば、製品とそれを開発するプロジェクトとの関係、システムとそれを構成するコンポーネントとの関係、等を表す。なお、同一のコンテナグループに属する複数のコンテナは参照できない。コンテナ参照情報も、例えば、記憶装置200のコンテンツ管理情報記憶部210に記録される。
【0049】
コンテナ参照情報には、カレント参照(current)、特定チェックポイント参照(specific)、最新チェックポイント参照(last)の3つのコンテナの参照方法を設定し得る。カレント参照では、最新のコンテナの内容が参照される。特定チェックポイント参照では、ユーザにより指定された、特定の利用可のチェックポイント時点でのコンテナの内容が参照される。最新チェックポイント参照では、最新の利用可のチェックポイント時点でのコンテナの内容が参照される。
【0050】
例えば、参照されているコンテナのコンテンツが変化した際に、その影響を即時に反映すべきか否かは状況により異なる。例えば、コンポーネントAとそれに依存するコンポーネントBとがある場合、これらのコンポーネントが同一の作業チームにより同時に開発されているのであれば、コンポーネント間の整合性はユーザが自ら把握できる。したがって、この場合のコンテナ参照情報には、カレント参照を設定し、随時変更が反映されるようにすればよい。
【0051】
一方、コンポーネントAが遠隔地にある別の作業チームにより開発されているのであれば、コンポーネントAの内容を変更途中の不整合がある状態で参照可能にすると、コンポーネントBを開発する作業チームはコンポーネント間の整合性を取ることができず混乱する。したがって、コンポーネント間の整合性が保証された状態が提示された時点で参照先を切り替えられるよう、コンテナ参照情報には、最新チェックポイント参照を設定すればよい。あるいは、コンポーネントB側においてコンポーネントAの特定過去時点の状態を変更せずに利用することが確定しているのであれば、コンテナ参照情報には、特定チェックポイント参照を設定すればよい。
【0052】
また、チェックポイントの作成時に、その時点のコンテナ間の参照関係を永続化した記録として、チェックポイント参照情報(Checkpoint Refer)が設定される。チェックポイント参照情報は、対象コンテナの特定チェックポイント時点が、他のコンテナの特定チェックポイント時点のコンテンツを利用して表現される場合に設定される。
【0053】
なお、対象コンテナが他のコンテナをカレント参照している状態でチェックポイントが作成される場合、その時点の参照先のコンテナの状態も永続化する必要がある。しかし、その永続化は、参照先のコンテナそのものは必要としない一方的なものであるため、チェックポイントには利用情報として、参照(unilateral)を設定すればよい。この場合、対象コンテナ自身のチェックポイント一覧には、かかるチェックポイントは表示されない。
【0054】
これらのコンテンツ管理情報により、コンテンツの依存関係とコンテナの参照関係は管理される。例えば、コンテナ間のコンテンツの依存関係は、図7に示すように管理されている。図7は、コンテナ「Product X Ver.α」が、コンテナグループ「Comp P」のコンテナ「Comp P Ver.α」をカレント参照している状態の記録を示している。また、コンテンツ「Function A」は、リビジョン「A 1.4」の時点でコンテンツ「Interface K」を依存元としている。図7に示すコンテナ「Product X Ver.α」の情報は、図4に示した状況から連続して行われた手続により記録されたものである。このため、コンテナ「Product X Ver.α」のリビジョン「A 1.3」の生成までの説明は省略する。
【0055】
まず、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」がコンテナ「Comp P Ver.α」をカレント参照するように変更を要求したとする。情報処理装置100は、コンテナ参照の要求を受けると、管理部110により、コンテナ「Product X Ver.α」を参照元とし、コンテナ「Comp P Ver.α」のカレントを参照先とするコンテナ参照情報を生成する。
【0056】
次いで、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Function A」をコンテンツ「Interface K」に依存させるとの内容の改訂を要求したとする。この時点でのコンテンツ「Interface K」のリビジョンは「K 1.1」とする。情報処理装置100は、コンテンツ作成部130により、改訂を反映したコンテンツ「Function A」のリビジョン「A 1.4」を生成し、リビジョンパス「A Path1」のcurrentを「A 1.4」に変更する。そして、コンテンツ作成部130は、リビジョン「A 1.4」を依存元とし、コンテンツ「Interface K」を依存先とするコンテンツ依存情報を生成する。これにより、導出的に、コンテナ「Product X Ver.α」のカレントのコンテンツ「Function A」は、コンテンツ「Interface K」のリビジョン「K 1.1」の内容に依存している状態となる。
【0057】
また、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Interface K」の内容の改訂を要求したとする。情報処理装置100は、コンテンツ作成部130により、改訂を反映したコンテンツ「Interface K」のリビジョン「K 1.2」を生成し、リビジョンパス「K Path1」のカレントのリビジョンを「K 1.2」に変更する。これにより、導出的に、コンテナ「Product X Ver.α」のカレントのコンテンツ「Function A」は、新しく生成されたコンテンツ「Interface K」のリビジョン「K 1.2」の内容に依存している状態となる。
【0058】
このように記録された図7のコンテンツの依存関係とコンテナの参照関係から、コンテナ「Product X Ver.α」のカレントのコンテンツ「Function A」は、コンテナ「Comp P」のカレントのコンテンツ「Interface K」に依存していることを導出することができる。
【0059】
また、コンテナ「Product X Ver.α」からコンテナ「Comp P Ver.α」への参照を、カレント参照からチェックポイント「P Release1」を参照する特定チェックポイント参照に変更すると、図7の記録は、図8に示すように変更される。
【0060】
まず、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」の最新状態を、利用情報を利用可に設定したチェックポイント「X Release2」として記録するよう要求したとする。情報処理装置100は、管理部110により、コンテナ「Product X Ver.α」に対して、利用情報を利用可に設定したチェックポイント「X Release2」を生成し、コンテナ「Product X Ver.α」に含まれる各リビジョンパスのカレントとなるコンテンツのリビジョンを関連付ける。図8の例では、コンテンツ「Function A」のリビジョン「A 1.4」が、チェックポイント「X Release2」に関連付けられる。
【0061】
このとき管理部110は、波及的に、コンテナ「Comp P Ver.α」に対して、利用情報を参照(unilateral)としたチェックポイント「X Release2」を生成し、コンテナ「Comp P Ver.α」に含まれる各リビジョンパスのカレントとなるコンテンツのリビジョンを関連付ける。図8の例では、コンテンツ「Interface K」のリビジョン「K 1.2」がチェックポイント「X Release2」に関連付けられる。これは、コンテナ「Product X Ver.α」とコンテナ「Comp P Ver.α」との間にカレントを参照するコンテナ参照情報が存在するためである。
【0062】
そして、管理部110は、コンテナ「Product X Ver.α」のチェックポイント「X Release2」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」を参照先とするチェックポイント参照情報を生成する。これにより、導出的に、コンテナ「Product X Ver.α」のチェックポイント「X Release2」時点のコンテンツ「Function A」は、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」時点のコンテナ「Interface K」の内容、すなわち、リビジョン「K 1.2」に依存している状態となる。
【0063】
次いで、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Comp P Ver.α」の最新状態を、チェックポイント「P Release1」として記録するよう要求したとする。また、チェックポイント「P Release1」に対して利用可(public)の利用情報を設定することが要求されたとする。情報処理装置100は、管理部110により、コンテナ「Comp P Ver.α」に対して、利用可(public)の利用情報を設定したチェックポイント「P Release1」を生成する。そして、管理部110は、コンテナ「Comp P Ver.α」の各リビジョンパスのカレントであるリビジョン(すなわち、「K 1.2」)のコンテンツを関連付ける。
【0064】
さらに、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」がコンテナ「Comp P Ver.α」のチェックポイント「P Release1」時点を固定的に参照するように変更を要求したとする。情報処理装置100は、管理部110により、コンテナ「Product X Ver.α」とコンテナ「Comp P Ver.α」との間に設定されたコンテナ参照情報を、カレント参照から、チェックポイント「P Release1」時点を参照するよう変更する。
【0065】
その後、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」の最新状態を、チェックポイント「X Release3」として記録するよう要求したとする。また、チェックポイント「P Release3」に対して利用可(public)の利用情報を設定することが要求されたとする。情報処理装置100は、管理部110により、コンテナ「Product X Ver.α」に対して、利用可(public)の利用情報を設定したチェックポイント「X Release3」を生成する。そして、管理部110は、コンテナ「Product X Ver.α」の各リビジョンパスのカレントであるリビジョン(すなわち、「A 1.4」)のコンテンツを関連付ける。
【0066】
また、管理部110は、コンテナ「Product X Ver.α」のチェックポイント「X Release3」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」を参照先とするチェックポイント参照情報を生成する。これにより、導出的に、コンテナ「Product X Ver.α」のチェックポイント「X Release3」時点のコンテンツ「Function A」が、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」時点のコンテンツ「Interface K」の内容、すなわち、リビジョン「K 1.2」の内容に依存している状態となる。
【0067】
さらに、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテンツ「Interface K」の内容の改訂を要求したとする。情報処理装置100は、コンテンツ作成部130により、改訂を反映した「Interface K」のリビジョン「K 1.3」を生成し、リビジョンパス「K Path1」のカレントを「リビジョン「K 1.3」に変更する。しかし、導出的に、コンテナ「Product X Ver.α」のカレントのコンテンツ「Function A」は、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」時点のコンテンツ「Interface K」、すなわちリビジョン「K 1.2」の内容に依存している状態のままとなる。
【0068】
このように記録された図8のコンテンツの依存関係とコンテナの参照関係から、コンテナ「Product X Ver.α」のカレントのコンテンツ「Function A」は、コンテナ「Comp P」のチェックポイント「P Release1」時点のコンテンツ「Interface K」に依存していることを導出することができる。
【0069】
[3-3.コンテナの派生]
次に、図9図14に基づいて、コンテナの派生について説明する。図9は、コンテナの派生関係を示すクラス図である。図10は、コンテナの派生関係について一例を示す説明図である。図11は、コンテナの派生関係について他の一例を示す説明図である。図12は、コンテナ派生時のリビジョンパスの一例を示す説明図である。図13は、コンテナ派生時のコンテンツ依存関係を示す説明図である。図14は、本実施形態に係る情報処理装置100によるコンテナ派生処理を示すフローチャートである。
【0070】
コンテナの派生は、既存のコンテナを基盤に、別の製品、プロジェクト、リリース等に対してコンテナを設定する際に行われる。コンテナの派生関係は、図9に示すように、コンテナ派生情報(Container Derive)により表される。コンテナ派生情報は、特定のコンテナ(派生元コンテナ)と、当該コンテナを基盤として派生されたコンテナ(派生先コンテナ)との関係を表す。派生元コンテナと派生先コンテナとは、同一のコンテナグループに属する。コンテナ派生情報により、1つのコンテンツの異なるリビジョンパスが、派生元コンテナと派生先コンテナとに関連付けられる。コンテナ派生情報は、例えば、記憶装置200のコンテンツ管理情報記憶部210に記録される。
【0071】
新たなコンテナの派生は、派生元コンテナの利用情報が利用可(public)に設定された特定のチェックポイントに基づき派生させるか、派生元コンテナの現時点の状態から派生させるかのいずれかにより行われる。現時点の状態から新たなコンテナを派生させる場合には、まず、派生元コンテナに利用情報を参照(unilateral)に設定されたチェックポイントを作成した後、当該チェックポイントを基盤としてコンテナを派生させることとなる。コンテナの派生について、以下詳細に説明する。
【0072】
まず、派生元コンテナの利用情報が利用可(public)に設定された特定のチェックポイントに基づき、新たなコンテナを派生させる場合について説明する。この場合、例えば、コンテナの派生関係は、図10に示すように管理されている。
【0073】
図10は、コンテナ「Product X Ver.α」のチェックポイント「X Release2」を指定して、新たなコンテナ「Product X Ver.β」を派生させたときの記録を示している。このとき、新たなコンテナ「Product X Ver.β」はチェックポイント参照情報からチェックポイント「X Release2」を踏襲し、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」を参照している。図10に示す派生されたコンテナ「Product X Ver.β」のコンテンツ管理情報は、以下のように記録される。
【0074】
まず、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」のチェックポイント「X Release2」を指定して、新たなコンテナ「Product X Ver.β」の派生作成を要求したとする。情報処理装置100は、まず、派生処理部120により、管理部110に対して、「Product X」をコンテナグループとするコンテナ「Product X Ver.β」の作成を要求する。管理部110は、「Product X」をコンテナグループとするコンテナ「Product X Ver.β」を生成する。
【0075】
次いで、派生処理部120は、コンテナ「Product X Ver.β」を派生先コンテナとしコンテナ「Product X Ver.α」のチェックポイント「X Release2」を派生元コンテナとするコンテナ派生情報を生成する。また、派生処理部120は、管理部110に対して、コンテナ「Product X Ver.β」がコンテナ「Comp P Ver.α」のチェックポイント「X Release2」時点を固定的に参照するように変更を要求する。管理部110は、コンテナ「Product X Ver.β」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」を指定して参照するコンテナ参照情報を生成する。
【0076】
さらに、派生処理部120は、コンテンツ作成部130に対して、リビジョン「A 1.4」の内容でコンテナ「Production X Ver.β」にコンテンツ「Function A」を作成するよう要求する。コンテンツ作成部130は、コンテナ「Production X Ver.β」にリビジョンパス「A Path1.4.1」を生成し、そのカレントのリビジョンを「A 1.4」とする。
【0077】
その後、派生処理部120は、管理部110に対して、コンテナ「Product X Ver.β」の最新状態を、チェックポイント「Created」として記録する。チェックポイント「Created」には、利用不可(private)の利用情報を設定させる。また、チェックポイント「Created」は、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」を参照するよう設定される。
【0078】
管理部110は、コンテナ「Product X Ver.β」に対して利用情報が利用不可に設定されたチェックポイント「Created」を設定し、コンテナ「Product X Ver.β」の各リビジョンパスのカレントのリビジョンのコンテンツ、すなわちリビジョン「A 1.4」のコンテンツを関連付ける。また、管理部110は、コンテナ「Product X Ver.β」のチェックポイント「Created」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「X Release2」を参照先とするチェックポイント参照情報を生成する。
【0079】
次に、派生元コンテナの現時点の状態から新たなコンテナを派生させる場合について説明する。この場合、例えば、コンテナの派生関係は、図11に示すように管理されている。
【0080】
図11は、コンテナ「Product X Ver.α」のカレントを指定して、新たなコンテナ「Product X Ver.γ」を派生させたときの記録を示している。このとき、新たなコンテナ「Product X Ver.γ」は、コンテナ参照情報からコンテナ「Product X Ver.α」を踏襲して、コンテナ「Comp P Ver.α」のチェックポイント「X Release1」を参照している。図11に示す派生されたコンテナ「Product X Ver.γ」のコンテンツ管理情報は、以下のように記録される。
【0081】
まず、ユーザが、ユーザ端末装置50を用いて、情報処理装置100に対してコンテナ「Product X Ver.α」のカレントを指定して、コンテナ「Product X Ver.γ」との派生作成を要求したとする。情報処理装置100は、派生処理部120により、管理部110に対して、コンテナ「Product X Ver.α」の最新状態を、「Product X Ver.β base」という利用情報が参照に設定されたチェックポイントとして記録するよう要求する。
【0082】
管理部110は、コンテナ「Product X Ver.α」に対して、利用情報が利用可に設定されたチェックポイント「Product X Ver.β base」を生成する。そして、管理部110は、コンテナ「Product X Ver.α」の各リビジョンパスのカレントとなるリビジョン、すなわちリビジョン「A 1.4」のコンテンツを、チェックポイントに関連付ける。そして、管理部110は、コンテナ「Product X Ver.α」のチェックポイント「Product X Ver.β base」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」を参照先とするチェックポイント参照情報を生成する。
【0083】
次いで、派生処理部120は、管理部110に対して、「Product X」をコンテナグループとするコンテナ「Product X Ver.γ」の作成を要求する。管理部110は、「Product X」をコンテナグループとするコンテナ「Product X Ver.γ」を生成する。
【0084】
さらに、派生処理部120は、コンテナ「Product X Ver.γ」を派生先とし、コンテナ「Product X Ver.α」のチェックポイント「Product X Ver.β base」を派生元とするコンテナ派生情報を生成する。そして、派生処理部120は、管理部110に対して、コンテナ「Product X Ver.γ」がコンテナ「Comp P Ver.α」のチェックポイント「P Release1」時点を固定的に参照するように変更を要求する。管理部110は、コンテナ「Product X Ver.γ」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」を指定して参照するコンテナ参照情報を生成する。
【0085】
その後、派生処理部120は、コンテンツ作成部130に対して、コンテナ「Production X Ver.γ」に、リビジョン「A 1.4」の内容のコンテンツ「Function A」の作成を要求する。コンテンツ作成部130は、コンテナ「Production X Ver.γ」にリビジョンパス「A Path1.4.2」を生成し、そのカレントのリビジョンを「A 1.4」とする。
【0086】
そして、派生処理部120は、管理部110に対して、コンテナ「Product X Ver.γ」の最新状態を、利用情報を利用不可(private)としたチェックポイント「Created」として記録する。また、派生処理部120は、管理部110に対して、チェックポイント「Created」がコンテナ「Comp P Ver.α」のチェックポイント「P Release1」を参照するよう要求する。
【0087】
管理部110は、コンテナ「Product X Ver.γ」に利用情報を利用不可(private)としたチェックポイント「Created」を生成する。また、管理部110は、コンテナ「Product X Ver.γ」の各リビジョンパスのカレントとなるリビジョン、すなわちリビジョン「A 1.4」のコンテンツを、チェックポイントに関連付ける。そして、管理部110は、コンテナ「Product X Ver.γ」のチェックポイント「Created」を参照元とし、コンテナ「Comp P Ver.α」のチェックポイント「P Release1」を参照先とするチェックポイント参照情報を生成する。
【0088】
このように、コンテナの派生は行われる。ここで、図10及び図11に示したコンテナ「Product X Ver.α」からコンテナ「Product X Ver.β」及び「Product X Ver.γ」を派生させた場合のコンテンツ「Function A」のリビジョンを、コンテンツ「Function A」に焦点を合わせて示すと、図12のようになる。このとき、コンテンツ「Function A」は、リビジョン「A 1.4」を起点(head)として新たな2つのリビジョンパス(「A Path1.4.1」、「A Path1.4.2」)が枝分かれしている。各リビジョンパスは、同一のコンテナグループ「Product X」に属する異なるコンテナに関連付けられている。
【0089】
ここで、1つのコンテンツの複数のリビジョンパスが同一のコンテナに関連付けられることはない。ユーザは、コンテンツの内容を、どのコンテナに含まれているに入っているどのコンテンツかという情報で識別する。例えば、機能Fを持つコンポーネントAのP社向け版を基盤にして、Q社向け版のコンポーネントを派生開発する場合を考える。このとき、ユーザは、「機能F」というコンテンツは「P社向け版」と「Q社向け版」というそれぞれのコンテナにより独立して仕様を保持していると識別し、それぞれの仕様を独立して改訂していく。このコンテンツを識別するための情報がリビジョンパスに該当する。つまり、「P社向け版の機能F」と「Q社向け版の機能F」とは、別々のコンテンツではなく、同一コンテンツのリビジョンパス違いと定義される。
【0090】
仮に、1つのコンテンツの複数のリビジョンパスが同一のコンテナに関連付けられると、コンテナの識別子及びコンテンツの識別子だけではリビジョンパスを識別できなくなる。このため、リビジョンパスは、同一のコンテナグループ「Product X」に属する異なるコンテナに関連付けられる。
【0091】
さらに各リビジョンパスでコンテンツの改訂が行われると、図12に示すように、それぞれのリビジョンパスにおいて、リビジョン「A 1.5」「A 1.4.1.1」「A 1.4.2.1」が作成される。
【0092】
また、図13に、リビジョン「C 1.2」のコンテンツ「Function C」が図12に示したコンテンツ「Function A」に依存している場合の、コンテンツの依存関係を示す。図13に示すように、コンテンツ「Function C」が属するコンテナ「Product Z Ver.θ」は、コンテナ「Product X Ver.α」のカレントを参照している。これより、コンテナ「Product Z Ver.θ」のカレントにおいてコンテンツ「Function C」のリビジョン「C 1.2」は、コンテンツ「Function A」のリビジョン「A 1.5」の内容に依存していることが導出できる。
【0093】
コンテンツ依存情報は、リビジョンパスではなくコンテンツを元として情報を永続化している。依存する内容の時点を指定した際に具体的にどのリビジョンとコンシステンシーが必要かは、他の情報から動的に導出できる。これにより、不要なコンテンツ依存情報の更新をすることなく、保守性の向上を図ることができる。
【0094】
また、コンテナ「Product Z Ver.θ」の参照先をコンテナ「Product X Ver.α」からコンテナ「Product X Ver.γ」に変更するだけで、コンテンツ「Function C」のリビジョン「C 1.2」がコンテンツ「Function A」のリビジョン「A 1.4.2.1」の内容に依存する状態に変更することができる。
【0095】
以上説明したコンテナの派生についての処理をまとめると、図14に示すようになる。コンテナの派生処理は、情報処理装置100を動作させることによって実施される。コンテナの派生処理は、本実施形態に係る情報管理方法の1つである。
【0096】
事前条件として、あるプロダクト(以下、「第1のプロダクト」とも称する。)に対してコンテナ(以下、「第1のコンテナ」と称する。)が作成されているとする。また、第1のコンテナに対して、少なくとも1つの利用情報が利用可(public)に設定されたチェックポイント、または、カレント参照が指定されているとする。なお、第1のコンテナに対して、利用情報が利用可に設定されたチェックポイントの1つを、以下、「チェックポイントA1」とも称する。
【0097】
ユーザ端末装置50を用いてユーザから指示されたコンテナ派生指示を受けて、情報処理装置100は、第1のプロダクトに対して設定されている第1のコンテナから、第2のプロダクトに対して設定させる第2のコンテナを派生させる(S10)。第2のコンテナは、第1のコンテナと同一のコンテナグループに属するコンテナである。第1のコンテナと第2のコンテナとの間には、第2のコンテナを派生先とするコンテナ派生情報が1つ生成されているとする。
【0098】
このとき、派生処理部120は、コンテナ派生指示にて指定されたチェックポイント時点での第1のコンテナから第2のコンテナを派生する。例えば、コンテナ派生指示に基づき生成されたコンテナ派生情報において、第1のコンテナにチェックポイントA1が生成されている場合には、チェックポイントA1時点を派生元とすることを示している。一方、第1のコンテナにおいてカレント参照が設定されている場合には、第1のコンテナのカレントを永続化した、利用情報が参照に設定されたチェックポイント(以下、「チェックポイントA2」とも称する。)が生成される。そして、生成されたコンテナ派生情報において、チェックポイントA2時点を派生元とすることが示される。
【0099】
その後、必要な数だけ、第2のコンテナを参照元とするコンテナ参照情報が生成される。このとき、生成されたコンテナ派生情報の派生元となるチェックポイント(例えば、チェックポイントA1またはチェックポイントA2、以下、これらをまとめて「チェックポイントA*」とも示す。)を参照先とするチェックポイント参照情報が存在しているとする。この場合、生成されたチェックポイントは、対象とするチェックポイント参照情報にて参照先として指定されているチェックポイントを指定して参照することを示している。
【0100】
また、必要な数だけ、第2のコンテナにリビジョンパスが生成される。このとき、チェックポイントA*にコンテンツのリビジョンが存在する場合には、生成されるリビジョンパスは、それぞれのコンテンツについて、対象とするリビジョンを起点とした当該リビジョンのコンテンツを第2のコンテナに属させることができる。
【0101】
そして、第2のコンテナが派生された時点の情報を永続化したチェックポイント(以下、「チェックポイントB」とも称する。)が1つ自動生成され、第2のプロダクトに対して第2のコンテナを参照することが設定される(S20)。当該チェックポイントは、利用情報が利用不可(private)に設定される。チェックポイントBは、第2のコンテナのカレントを永続化したものとなる。
【0102】
このようなコンテナの派生においては、同一のコンテンツの複数のリビジョンパスが、1つのコンテナのコンテンツと関連付けられることはない。リビジョンパスが増加するのは、コンテナが派生させる際に制限される。これにより、1つのコンテナと1つのコンテンツを指定することで、リビジョンパスを一意に特定することができる。
【0103】
また、同一のコンテナグループに属する複数のコンテナが、当該コンテナグループに属するコンテナのうちの1つを派生元とすることはない。コンテナ参照情報が作成される際、コンテナグループ単位で一意となるように制限される。すなわち、管理部110は、第1のコンテナと第2のコンテナとを独立して管理する。これにより、1つのコンテンツを指定することで、コンテナ参照情報により辿ることができる範囲内で、リビジョンパスを一意に特定することができる。
【0104】
なお、コンテンツ作成部130によりコンテンツが更新された場合、コンテンツのリビジョンが更新される。このとき、コンテンツ作成部130は、コンテンツのリビジョンの更新に伴い、当該コンテンツを管理するコンテナのリビジョンパスも更新する。これにより、プロダクトを構成するコンテンツのリビジョンを時系列的に管理することができる。
【0105】
また、第2のコンテナとは派生関係にはないが、第2のコンテナと派生関係にある第1のコンテナが参照する第3のコンテナがある場合、管理部110は、第2のコンテナは、指定された時点での第3のコンテナのコンテンツを参照するように設定し得る。具体的には、第2のコンテナが、第3のコンテナのカレントを参照するようにしてもよく、第3のコンテナの指定された利用可のチェックポイントを参照するようにしてもよい。このように、コンテナの参照時点を指定しておくことで、第3のコンテナのコンテンツのリビジョンが変化したときにも、第2のコンテナにて参照するリビジョンも連動して変化することになる。
【0106】
以上、本実施形態に係る情報処理装置100とこれによる情報管理方法について説明した。本実施形態によれば、膨大な情報を保有するプロダクトの要件を既存のプロダクトの要件から派生させる際に、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させる。そして、第2のプロダクトに対して第2のコンテナを参照するよう設定する。
【0107】
すなわち、本実施形態では、「要件定義書」、「基本設計書」といったドキュメント粒度でのトレーサビリティではなく、1つ1つの「要件」、「基本設計」といったコンテンツ粒度でトレーサビリティ管理されている。例えば分割ドキュメントの管理を考えると、ドキュメント粒度でトレーサビリティ管理すると、管理するトレーサビリティの数が膨大になる。そこで、本実施形態では、ドキュメントからコンテンツ主体で管理し、ドキュメントは単なるビューとして必要な局面で必要なコンテンツを集めて提示するようにする。このため、上述したように、情報処理装置100は、コンテナを用いて、プロダクトを構成するコンテンツとその特定時点の状態とを、チェックポイントを用いて管理する。その管理に従えば、仕様精通者以外の者であっても情報間の関係を把握することができる。
【0108】
つまり、本実施形態によれば、膨大な情報を保有するプロダクトにおいても、仕様精通者以外の者であっても、情報を確実にトレースすることができ、かつ、時系列的にも情報の関連性を保持しつつ新たなプロダクトを派生することも可能となる。このように属人性を排除したトレーサビリティ管理を実現することができる。
【0109】
[4.プログラム]
本実施形態に係るプログラムは、コンピュータを、図1または図2に示す機能部として実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、本実施形態に係る情報処理装置100とこれによる情報管理方法とを実現することができる。この場合、コンピュータのプロセッサは、情報処理装置100の管理部110、派生処理部120、さらにはコンテンツ作成部130として機能し、処理を行う。
【0110】
また、本実施形態では、記憶装置200は、コンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現されていてもよいし、別のコンピュータの記憶装置によって実現されていてもよい。コンピュータとしては、汎用のPCの他に、スマートフォン、タブレット型端末装置が挙げられる。
【0111】
さらに、本実施形態に係るプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、管理部110、派生処理部120、コンテンツ作成部130のいずれかとして機能してもよい。
【0112】
[5.物理構成]
上記実施形態に係るプログラムを実行することによって、情報処理装置100を実現するコンピュータの物理構成について、図15を用いて説明する。図15は、本実施形態に係る情報処理装置100を実現するコンピュータ900の一例を示すブロック図である。
【0113】
図15に示すように、コンピュータ900は、CPU(Central Processing Unit)901と、メインメモリ902と、記憶装置903と、入力インターフェイス904と、表示コントローラ905と、データリーダ/ライタ906と、通信インターフェイス907とを備える。これらの各部は、バス911を介して、互いにデータ通信可能に接続される。
【0114】
また、コンピュータ900は、CPU901に加えて、又はCPU901に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。この態様では、GPU又はFPGAが、上記実施形態におけるプログラムを実行することができる。
【0115】
CPU901は、記憶装置903に格納された、コード群で構成された実施の形態におけるプログラムをメインメモリ902に展開し、各コードを所定順序で実行することにより、各種の演算を実施する。メインメモリ902は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。
【0116】
また、上記実施形態に係るプログラムは、コンピュータ読み取り可能な記録媒体910に格納された状態で提供される。なお、上記実施形態におけるプログラムは、通信インターフェイス907を介して接続されたインターネット上で流通するものであってもよい。
【0117】
また、記憶装置903の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス904は、CPU901と、キーボード及びマウスといった入力機器908との間のデータ伝送を仲介する。表示コントローラ905は、ディスプレイ装置909と接続され、ディスプレイ装置909での表示を制御する。
【0118】
データリーダ/ライタ906は、CPU901と記録媒体910との間のデータ伝送を仲介し、記録媒体910からのプログラムの読み出し、及びコンピュータ900における処理結果の記録媒体910への書き込みを実行する。通信インターフェイス907は、CPU901と、他のコンピュータとの間のデータ伝送を仲介する。
【0119】
また、記録媒体910の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
【0120】
なお、上記実施形態に係る情報処理装置100は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。さらに、情報処理装置100は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【0121】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記15)によって表現することができるが、以下の記載に限定されるものではない。
【0122】
(付記1)
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理部と、
既存のコンテナから新たなコンテナを派生させる派生処理部と、
を有し、
前記派生処理部は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理部は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置。
【0123】
(付記2)
前記管理部は、前記第1のコンテナと前記第2のコンテナとを独立して管理する、付記1に記載の情報処理装置。
【0124】
(付記3)
前記チェックポイントには、前記第2のコンテナから前記第1のプロダクトに関連付けられたコンテンツの利用状態を示す利用情報が付与されており、
前記派生処理部は、前記利用情報に基づいて、前記コンテンツを利用することのできるチェックポイント時点での前記第1のコンテナから、前記第2のコンテナを派生させる、付記1または2に記載の情報処理装置。
【0125】
(付記4)
コンテンツを生成または更新するコンテンツ作成部を有し、
前記コンテンツ作成部は、コンテンツを更新した際に、更新された前記コンテンツを管理するコンテナのリビジョンパスを更新する、付記1~3のいずれか1項に記載の情報処理装置。
【0126】
(付記5)
前記管理部は、派生関係にないコンテナ間で、一方のコンテナにおけるコンテンツのリビジョンを、他方のコンテナのコンテンツのリビジョンに連動するように設定する、付記1~4のいずれか1項に記載の情報処理装置。
【0127】
(付記6)
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナについて、コンテナを新たに派生させるコンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報管理方法。
【0128】
(付記7)
前記第1のコンテナと前記第2のコンテナとを独立して管理する、付記6に記載の情報管理方法。
【0129】
(付記8)
前記チェックポイントには、前記第2のコンテナから前記第1のプロダクトに関連付けられたコンテンツの利用状態を示す利用情報が付与されており、
前記利用情報に基づいて、前記コンテンツを利用することのできるチェックポイント時点での前記第1のコンテナから、前記第2のコンテナを派生させる、付記6または7に記載の情報管理方法。
【0130】
(付記9)
コンテンツを更新した際に、更新された前記コンテンツを管理するコンテナのリビジョンパスを更新する、付記6~8のいずれか1項に記載の情報管理方法。
【0131】
(付記10)
派生関係にないコンテナ間で、一方のコンテナにおけるコンテンツのリビジョンを、他方のコンテナのコンテンツのリビジョンに連動するように設定する、付記6~9のいずれか1項に記載の情報管理方法。
【0132】
(付記11)
コンピュータを、
1または複数のコンテンツが関連付けられたプロダクトに対して設定され、前記コンテンツのリビジョンの履歴を示すリビジョンパスと、指定された時点における前記コンテンツのリビジョンを示すチェックポイントとを含むコンテナを管理する管理部と、
既存のコンテナから新たなコンテナを派生させる派生処理部と、
を有し、
前記派生処理部は、コンテナ派生指示を受けて、第1のプロダクトに対して設定されている、前記コンテナ派生指示にて指定されたチェックポイント時点の第1のコンテナから、第2のコンテナを派生させ、
前記管理部は、第2のプロダクトに対して前記第2のコンテナを参照するよう設定する、情報処理装置として機能させる、プログラム。
【0133】
(付記12)
コンピュータを、
前記管理部が、前記第1のコンテナと前記第2のコンテナとを独立して管理する情報処理装置として機能させる、付記11に記載のプログラム。
【0134】
(付記13)
前記チェックポイントには、前記第2のコンテナから前記第1のプロダクトに関連付けられたコンテンツの利用状態を示す利用情報が付与されており、
コンピュータを、
前記派生処理部が、前記利用情報に基づいて、前記コンテンツを利用することのできるチェックポイント時点での前記第1のコンテナから、前記第2のコンテナを派生させる情報処理装置として機能させる、付記11または12に記載のプログラム。
【0135】
(付記14)
コンピュータを、
コンテンツを生成または更新するコンテンツ作成部を有し、
前記コンテンツ作成部が、コンテンツを更新した際に、更新された前記コンテンツを管理するコンテナのリビジョンパスを更新する情報処理装置として機能させる、付記11~13のいずれか1項に記載のプログラム。
【0136】
(付記15)
コンピュータを、
前記管理部が、派生関係にないコンテナ間で、一方のコンテナにおけるコンテンツのリビジョンを、他方のコンテナのコンテンツのリビジョンに連動するように設定する情報処理装置として機能させる、付記11~14のいずれか1項に記載のプログラム。
【産業上の利用可能性】
【0137】
以上のように本発明によれば、膨大な情報を保有するプロダクトの派生に適用することができる。本発明は、情報のトレーサビリティ管理の分野に有用である。
【符号の説明】
【0138】
50 ユーザ端末装置
100 情報処理装置
110 管理部
120 派生処理部
130 コンテンツ作成部
200 記憶装置
210 コンテンツ管理情報記憶部
900 コンピュータ
901 CPU
902 メインメモリ
903 記憶装置
904 入力インターフェイス
905 表示コントローラ
906 データリーダ/ライタ
907 通信インターフェイス
908 入力機器
909 ディスプレイ装置
910 記録媒体
911 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15