JP4907610B2 - ソフトウェア構成管理方法およびシステム - Google Patents

ソフトウェア構成管理方法およびシステム Download PDF

Info

Publication number
JP4907610B2
JP4907610B2 JP2008195353A JP2008195353A JP4907610B2 JP 4907610 B2 JP4907610 B2 JP 4907610B2 JP 2008195353 A JP2008195353 A JP 2008195353A JP 2008195353 A JP2008195353 A JP 2008195353A JP 4907610 B2 JP4907610 B2 JP 4907610B2
Authority
JP
Japan
Prior art keywords
software
software component
product
database
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008195353A
Other languages
English (en)
Other versions
JP2010033373A (ja
Inventor
幸司 橋本
文雄 成沢
健太郎 吉村
朋仁 蛯名
淳司 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2008195353A priority Critical patent/JP4907610B2/ja
Priority to EP09802783A priority patent/EP2309385A1/en
Priority to US12/920,350 priority patent/US8452742B2/en
Priority to PCT/JP2009/059788 priority patent/WO2010013538A1/ja
Publication of JP2010033373A publication Critical patent/JP2010033373A/ja
Application granted granted Critical
Publication of JP4907610B2 publication Critical patent/JP4907610B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、既存のソフトウェア部品を格納するソフトウェア部品データベースから複数のソフトウェア部品を抽出し、それらを組合わせて新規製品プログラムのソースコードを自動生成するプログラム自動構成装置に関し、特に上記ソフトウェア部品データベースおよび製品群の構成管理に関する。
通常、新たなソフトウェアを開発する場合、過去に開発したソースファイルのコピーを利用する。コピーしたファイルをそのまま使用する場合もあれば、コピーしたファイルを修正したものを使用する場合もある。
このように、ソフトウェアは、他のソフトウェアを利用するが、同時に、自身も他のソフトウェアの開発の際に利用されることがある。即ち、ソフトウェアは、他のソフトウェアを派生元ファイルとして利用するたが、他のソフトウェアによって派生元ファイルとして利用され得る。
ソフトウェアは、開発した後に、修正することがある。このとき、修正内容を、派生先ファイルに反映すべき内容である場合には、それを派生先ファイルに確実に反映させる必要がある。また、修正内容が派生元ファイルにも反映すべき内容である場合には、それを派生元ファイルに確実に反映させる必要がある。例えば、修正内容がバグの修正の場合には、修正内容を、他の全ての派生ファイルに反映させる必要がある。即ち、ソフトウェアの保守管理が必要となる。
特開2007-279883号公報には、派生元ファイルと派生先ファイルとの対応関係を保持し、同対応関係にあるファイル間で修正の反映漏れを防止するファイル構成管理装置が記載されている。
しかしながら、特開2007-279883号公報に記載されたファイル構成管理装置は、ファイル単位でのみ構成管理を行い、ファイルを構成するソフトウェア部品単位では構成管理することができない。ここで、ソフトウェア部品(以下、ソフト部品と省略する)とは、ソースファイルに含まれる関数や手続き、命令文等、任意の文字列の集合を表す。
近年、新たなソフトウェアを開発する場合、既存のソフト部品を格納するソフト部品データベースから複数のソフト部品を抽出し、それらを組み合わせて新規プログラムのソースファイルを自動的に生成する。
しかしながら、この場合、ソフト部品データベースの保守作業が必要となる。例えば、ソフト部品データベースに格納されたソフト部品においてバグが発見された場合には、バグを修正し、修正したソフト部品に交換する必要がある。また、ソフト部品データベースに新規ソフト部品を追加する場合もある。特にソフト部品データベースに格納されたソフト部品数が大規模化した場合、その保守作業が煩雑となる。
特開2007-102380には、ソフト部品データベースに格納された複数のソフト部品を、マクロ記述を用いて管理することが記載されている。それによって、修正されたソフト部品との交換を自動化することができる。
特開2007-279883号公報 特開2007-102380号公報
しかしながら、特開2007-102380では、ソフト部品データベースおよび同データベースから生成したソフトウェア製品の構成管理方法は示されていない。すなわち、ソフト部品データベースに含まれるソフト部品が修正された場合、そのソフト部品を使用しているソフトウェア製品にも同様な修正を確実に反映する方法は示されていない。また、ソフト部品データベースに新規ソフト部品を追加する方法も示されていない。
ソフト部品データベースと同データベースから生成したソフトウェア製品群との間でソフト部品の修正を相互に反映させるためには、特開2007-279883と同様に、ソフト部品の対応関係を保持することが考えられる。
しかし、ソフト部品データベースに新規ソフト部品を追加したり、ソフト部品を分割した場合、ソフト部品の対応関係を更新する必要がある。また、ソフトウェア製品を構成するソースファイルは複数のソフト部品から構成され、各ソフト部品はソースファイル内の任意の場所に挿入される。したがって、各ソフトウェア製品において、ソフト部品とソースファイルとの対応関係も保持する必要がある。そして、新規ソフト部品の追加等に応じてその対応関係も更新する必要がある。更に、ソフト部品データベースから新規ソフトウェア製品を生成するには、必要なソフト部品をソフト部品データベースから選択・抽出するためのソフト部品構成情報が必要となる。従って、ソフト部品データベースに対する新規ソフト部品の追加等に応じて、ソフト部品構成情報も更新する必要がある。
本発明の目的は、ソフト部品データベースおよびソフトウェア製品群の構成管理システムにおいて、ソフト部品データベースに新規ソフト部品を追加したり、ソフト部品を分割した後でも、ソフト部品に加えられた修正をソフト部品データベースおよびソフトウェア製品群に確実に反映することを可能にするとともに、ソフト部品データベースから新規ソフトウェア製品を生成可能にすることである。
本発明によると、ソフトウェア構成管理システムは、ソフトウェア製品を構成するソースファイルの構成要素であるソフトウェア部品を木構造として記憶し該木構造を構成する構成情報要素に前記ソフトウェア部品を対応させて記憶するソフトウェア部品データベースと、前記ソフトウェア部品データベースに記憶されたソフトウェア部品を合成して生成した複数のソフトウェア製品を記憶するソフトウェア製品管理部を備え、前記ソフトウェア部品データベースを外部から管理するソフトウェア部品データベース操作クライアントおよび前記ソフトウェア製品管理部を外部から管理するソフトウェア製品操作クライアントからのデータ送受信を受付ける。
本発明のソフトウェア構成管理システムは、
前記ソフトウェア部品データベースに記憶された全てのソフトウェア部品についてソフトウェア部品と該ソフトウェア部品を含むソフトウェア製品との関係を記録した部品-製品対応表と、
前記ソフトウェア製品管理部に記憶されたソフトウェア製品の各々について、ソフトウェア製品に含まれるソフトウェア部品とソースファイルの関係を特定するための情報を記録した部品-ファイル対応情報と、
前記ソフトウェア部品データベース操作クライアント又は前記ソフトウェア製品操作クライアントからの命令に従って、前記部品-製品対応表と前記部品-ファイル対応情報に基づいて、前記ソフトウェア部品データベースの変更を前記ソフトウェア製品管理部に記憶されたソフトウェア製品に反映させ、又は、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更を前記ソフトウェア部品データベースに反映させる同期部と、
前記同期部によって、ソフトウェア部品の変更を相互に反映させた履歴を記録する更新情報と、
前記ソフトウェア部品データベース管理クライアントからの命令に応答して、前記ソフトウェア部品データベースに記憶されたソフトウェア部品と前記部品-製品対応表と前記更新情報と前記部品-ファイル対応情報を更新する対応表更新部と、を有する
本発明によると、ソフト部品データベースに新規ソフト部品を追加したり、ソフト部品を分割した場合でも、ソフト部品に加えられた修正をソフト部品データベースおよび同データベースから生成したソフトウェア製品群に確実に反映することができるとともに、同データベースから新規ソフトウェア製品を生成することができる。
図1を参照して本発明によるソフトウェア構成管理システムの例を説明する。本例のソフトウェア構成管理システムは、ソフトウェア構成管理サーバ100、ソフト部品データベース操作クライアント150、およびソフトウェア製品操作クライアント160および164を有する。ソフト部品データベース操作クライアント150およびソフトウェア製品操作クライアント160および164は、それぞれ複数個であってもよい。
ソフトウェア構成管理サーバ100は、構成管理部110、ソフト部品データベース管理部120、およびソフトウェア製品管理部130を有する。構成管理部110は、データベース操作IF111、同期部112、対応表更新部113、および製品操作IF114を有する。ソフト部品データベース管理部120は、ソフト部品データベース121、ソフト部品-製品対応表122、および更新情報123を有する。ソフト部品データベース121には、複数のソフト部品が格納される。ソフト部品とは、ソフトウェア製品を構成するソースファイルの構成要素であり、ソースファイルに含まれる関数や手続き、命令文等、任意の文字列の集合を表す。
ソフトウェア製品管理部130は、ソフト部品データベース121に格納されたソフト部品から生成した複数のソフトウェア製品を管理する。より詳細には、各ソフトウェア製品と、それを構成するソースファイル群を対にして管理する。図1に示す例では、ソフトウェア製品131にはソフト部品-ファイル対応情報132が対応し、ソフトウェア製品133にはソフト部品-ファイル対応情報134が対応している。
ソフト部品データベース管理者150Aは、ソフト部品データベース管理クライアント150を用いてソフト部品データベース121を管理する。ソフト部品データベース121の変更には、Outgoingな変更とIncomingな変更の2つの変更がある。
Outgoingな変更は、ソフト部品データベース管理者150Aが、ソフト部品データベース管理クライアント150を介して、ソフト部品を編集処理することによって生成された変更である。Incomingな変更は、ソフトウェア製品管理部130に格納されたソフトウェア製品131、133の変更に起因した変更である。即ち、ソフトウェア製品管理部130に格納されたソフトウェア製品131又は133が変更されると、その変更は、ソフト部品データベース管理部120のソフト部品データベース121に格納されたソフト部品に自動的に反映される。ソフト部品データベース121には、同期部112による同期処理によって、最新の内容が格納される。これが、Incomingな変更である。
ソフト部品データベース121のOutgoingな変更を生成する方法を説明する。ソフト部品データベース管理者150Aは、ソフト部品データベース管理クライアント150のデータベース操作部151を介して、ソフト部品データベース121の最新の内容をコピーし、それを、クライアント150に格納する。これを、ローカルコピー152と称する。一方、ソフト部品データベース121の内容を、最初に、ソフト部品データベース管理クライアント150にコピーたものを、ベースコピー153と称する。Outgoingな変更を行なう場合には、ローカルコピー152を使用し、ベースコピー153を使用しない。ソフト部品データベース管理者150Aは、ローカルコピー152を編集し、編集内容を、データベース操作部151を介して、ソフト部品データベース121に反映させる。こうしてOutgoingな変更がなされる。
ローカルコピー152とベースコピー153を比較することによって、ソフト部品データベース121のOutgoingな変更を検出することができる。ソフト部品データベース121の最新の内容とベースコピー153と比較することによって、Incomingな変更を検出することができる。ソフト部品データベース121の最新の内容は、リモートコピーと称することもある。リモートコピーとベースコピー153と比較することによって、Incomingな変更を検出することができる。このような比較方法は3-Way比較と呼ばれる。ソフト部品データベース121のOutgoingな変更を検出した場合には、それをベースコピー153及びソフトウェア製品131、133に反映させる。ソフト部品データベース121のIncomingな変更を検出した場合には、それをベースコピー153とローカルコピー152の両者に反映させる。
ソフトウェア製品開発者160Aは、ソフトウェア製品操作クライアント160を用いてソフトウェア製品131、133を管理する。ソフトウェア製品管理部130に格納されたソフトウェア製品131、133の変更には、Outgoingな変更とIncomingな変更の2つの変更がある。
Outgoingな変更は、ソフトウェア製品開発者160Aが、ソフトウェア製品操作クライアント160を介して、ソフトウェア製品を編集処理することによって生成された変更である。Incomingな変更は、ソフト部品データベース管理部120のソフト部品データベース121に格納されたソフト部品の変更に起因した変更である。即ち、ソフト部品データベース121に格納されたソフト部品の変更があると、その変更は、ソフトウェア製品管理部130に格納されたソフトウェア製品131、133に自動的に反映される。ソフトウェア製品管理部130に格納された1つのソフトウェア製品131が変更されると、その変更は、ソフトウェア製品管理部130に格納された他のソフトウェア製品133に自動的に反映される。ソフトウェア製品管理部130に格納されたソフトウェア製品131、133には、同期部112による同期処理によって、最新の内容が格納される。これが、Incomingな変更である。
ソフトウェア製品131のOutgoingな変更を生成する方法を説明する。ソフトウェア製品開発者160Aは、ソフトウェア製品操作クライアント160の製品操作部161を介して、ソフトウェア製品131の最新の内容をコピーし、それを、ソフトウェア製品操作クライアント160に格納する。これを、ローカルコピー162と称する。一方、ソフトウェア製品131の内容を、最初に、ソフトウェア製品操作クライアント160にコピーたものを、ベースコピー163と称する。Outgoingな変更を行なう場合には、ローカルコピー162を使用し、ベースコピー163を使用しない。ソフトウェア製品開発者160Aは、ローカルコピー162を編集し、編集内容を、製品操作部161を介して、ソフトウェア製品131に反映させる。こうしてソフトウェア製品131のOutgoingな変更がなされる。
ローカルコピー162とベースコピー163を比較することによって、ソフトウェア製品131のOutgoingな変更を検出することができる。ソフトウェア製品131の最新の内容とベースコピー163と比較することによってソフトウェア製品131のIncomingな変更を検出することができる。ソフトウェア製品131の最新の内容は、リモートコピーと称することもある。リモートコピーとベースコピー163と比較することによって、Incomingな変更を検出することができる。このような比較方法は3-Way比較と呼ばれる。ソフトウェア製品131のOutgoingな変更を検出した場合には、ベースコピー163及びソフト部品データベース121に反映させる。ソフトウェア製品131のIncomingな変更を検出した場合には、それをベースコピー163とローカルコピー162の両者に反映させる。
本発明によると、ソフト部品データベース管理クライアント150によって生成されたソフト部品データベース121のOutgoingな変更は、自動的に、ソフトウェア製品管理部130に格納されたソフトウェア製品131、133のIncomingな変更となる。
ソフトウェア製品操作クライアント160によって生成されたソフトウェア製品131のOutgoingな変更は、自動的に、ソフト部品データベース121に格納されたソフト部品、及び、ソフトウェア製品管理部130に格納された他のソフトウェア製品133のIncomingな変更となる。
なお、ソフト部品データベース121、ソフト部品-製品対応表122、更新情報123、ソフトウェア製品ソースファイル群131、133、およびソフト部品-ファイル対応情報132および134をバージョン管理するために、ソフト部品データベース管理部120およびソフトウェア製品管理部130としてCVSやSubversionといった既存のバージョン管理システムを用いてもよい。この場合、ソフトウェア製品操作クライアント160および164として、バージョン管理システム向けクライアントプログラムをそのまま利用することができる。一方、ソフト部品データベース管理クライアント150については、本発明に従ったものを利用することになる。
図2は、本発明のソフトウェア構成管理システムのハードウェア構成の一例を示す。この例では、図1におけるソフトウェア構成管理サーバ100をサーバ201に配置し、ソフト部品データベース管理クライアント150をコンピュータ202に配置し、ソフトウェア製品操作クライアント160および164をそれぞれコンピュータ203および204に配置している例を示している。しかしながら、ソフト部品データベース管理クライアント150およびソフトウェア製品操作クライアント160を同一のコンピュータに配置してもよい。また、構成管理サーバ100を構成する構成管理部110、ソフト部品データベース管理部120、およびソフトウェア製品管理部130をそれぞれ異なるサーバに配置してもかまわない。
図3は、図1のソフトウェア構成管理サーバ100のソフト部品データベース121のデータ構造の例を示す。本例によると、ソフト部品データベース121に含まれる全てのソフト部品は単一のツリーで管理される。ツリーは、ノード300、302、304、306、308からなり、各ノードを表すボックスには、「ノードID」、及び、「型」が示され、更に、「濃度cardinality」が示されている。例えば、ノード306のノードIDは、「BooleanWeight」であるが、ノード304のノードIDは、「WeightSensor」である。ノード306の型は「Feature」であるが、ノード304の型は「Group」である。「Group」型ノードは、下位のノードをまとめるグループを表す。
ノードは選択肢を表している。ノードを選択すると、ソフト部品データベース121から、そのノードに対応するソフト部品が抽出される。従って、このツリー構造は、ソフト部品の構成情報として利用される。例えば、新たにソフトウェア製品を生成する場合には所望のノードを選択する。ノード306が選択された場合にはソフト部品307がソフト部品データベース121から抽出され、ノード308が選択された場合にはソフト部品309がソフト部品データベース121から抽出される。抽出されたソフト部品307、309は、新たなソフトウェア製品を構成するソースファイルに統合される。
ノード306および308は、「Group」型ノード304に含まれる。ノード306および308のいずれかが選択された場合でも、ノード304に対応するソフト部品305がソフト部品データベース121から抽出される。抽出されたソフト部品305は、共通部品として、新たなソフトウェア製品を構成するソースファイルに統合される。
以上のように、ソフト部品データベース121は、ソフト部品を管理するツリー構造を有する。そのため、ソフトウェア製品を生成する場合に、それを構成するソフト部品の情報を提供する重要な役割がある。
図4は、 図3に示すソフト部品データベース121のデータ構造をXMLを用いて記述した例を示す。XMLは、ユーザが独自にタグを定義することができるマークアップ言語である。尚、本例のソフト部品データベース121を記述するマークアップ言語として、XMLの他に、SGML等を用いてもよい。
図5は、図3に示すソフト部品データベース121を、リレーショナルデータベースを用いて表現した例を示す。図5Aの表は、ノードID、型、濃度、親ノードIDの関係を示す。図5Bの表は、ソフト部品ID、パス、コンテンツ、親ノードIDの関係を示す。親ノードIDは、図3のツリー構造において、上位の階層のノードを示す。
図6は、図1のソフトウェア構成管理サーバ100のソフト部品-製品対応表122の例を示す。ソフト部品-製品対応表122は、ソフト部品IDと、そのソフト部品を使用するソフトウェア製品の関係を示す。この例では、図3に示すソフト部品データベース121を利用して、ソフトウェア製品A、B、およびCが生成されたことを示す。例えば、ソフト部品ID「Light/initLight」に対応するソフト部品は、ソフトウェア製品AおよびCにおいて使用されていることを示す。
ソフト部品IDを検索キーとして、ソフト部品-製品対応表122を検索すると、そのソフト部品が含まれているソフトウェア製品群を特定することができる。従って、ソフト部品-製品対応表122を利用すると、ソフト部品データベース121に格納されたソフト部品を利用して生成されたソフトウェア製品の履歴を管理することができる。
図7は、図1のソフトウェア構成管理サーバ100の更新情報123の例を示す。更新情報123は、ソフト部品IDと、ソフトウェア製品と、そのソフト部品の更新日時の関係を示す。この例では、ソフト部品データベース121に格納されたソフト部品ID「AnalogWeight/initWeight」に対応するソフト部品の内容が2008年3月19日11時19分47秒に、ソフトウェア製品Aから反映されたことを示す。更新情報123は、ソフトウェア製品の変更に基づいてなされたソフト部品データベース121に格納されたソフト部品の更新履歴を管理する。
図8は、図1のソフトウェア構成管理サーバ100のソフト部品-ファイル対応情報132および134の例を示す。ソフト部品-ファイル対応情報は、ソフト部品IDと、そのソフト部品を含むソースファイルと、そのソースファイルの開始行及び終了行の関係を示す。この例では、ソフト部品ID「AnalogWeight/initWeight」に対応するソフト部品は、ソースファイル「/src/Sensors/Weight/Weight.c」の4行目から36行目までであることを示す。
図9は、ソフト部品-ファイル対応情報をソースファイルに埋め込んだ例を示す。この例では、各ソフト部品の先頭と末尾に、注釈901〜904が挿入されている。これらの注釈にはソフト部品IDが含まれている。そのため、これらの注釈を解釈することにより、ソフト部品とソースファイルとの対応関係を特定することができる。
次に、ソフトウェア製品開発者160Aが、ソフトウェア製品の管理を行なう場合を説明する。ソフトウェア製品開発者160Aが、図1のソフトウェア製品管理部130に格納されたソフトウェア製品131のソースファイルを変更すると、変更内容は、ソフト部品データベース121のソフト部品に反映され、更に、ソフトウェア製品管理部130に格納された他のソフトウェア製品133に反映される。以下に、処理の説明と同時に、本発明のソフトウェア構成管理システムを構成する各部の動作について詳細に説明する。
図10は、ソフトウェア製品管理部130に格納されたソフトウェア製品131のOutgoingな変更とIncomingな変更を検出し、それを表示する処理の例を示す。ソフトウェア製品開発者160Aは、ソフトウェア製品操作クライアント160にて、ソフトウェア製品131のOutgoingな変更とIncomingな変更を検出する処理を実行する命令入力する。それによって、ソフトウェア製品操作クライアント160の製品操作部161は、以下の処理を行なう。ステップ1001において、製品操作部161は、ローカルコピー162とベースコピー163とを比較し、両者の差分からOutgoingな変更を検出する。次にステップ1002において、製品操作部161は、ソフトウェア製品管理部130に格納されたソフトウェア製品131(リモートコピー)とベースコピー163とを比較し、両者の差分からIncomingな変更を検出する。最後にステップ1003において、製品操作部161は、図11に示すような画面を表示する。
図11は、ソフトウェア製品のOutgoingな変更とIncomingな変更の検出結果を示す画面の例を示す。図11の画面は、図10のステップ1003において製品操作部161によって生成される。この例では、ローカルコピー162のうち、ソースファイル”src/Actuators/Beeper/Beeper.c”に対応するソフト部品ID”initBeep”および”beep”においてOutgoingな変更が検出されたことを示す。図示のように右向きの矢印は、Outgoingな変更を示す。また、ソフトウェア製品131のうち、ソースファイル”src/Sensors/Weight/Weight.c”に対応するソフト部品ID”initWeight”においてIncomingな変更が検出されたことを示す。図示のように左向きの矢印は、Incomingな変更を示す。また、図11に示す画面上にて、ソフトウェア製品開発者160Aが、マウスポインタ1101によってソフト部品ID”initWeight”を指定し、詳細表示を指示すると、図12に示す画面が表示される。
図11において、ソフトウェア製品開発者160Aが、マウスポインタ1101を用いてIncomingな変更があったソフト部品を指定し、ローカルコピー162とベースコピー163への反映を指示すると、製品操作部161は、ソフトウェア製品管理部130よりソフトウェア製品を抽出し、それをローカルコピー162とベースコピー163に反映する。図11において、ソフトウェア製品開発者160Aが、マウスポインタ1101を用いてOutgoingな変更があったソフト部品を指定し、ベースコピー163、ソフト部品データベース121及びソフトウェア製品管理部130に格納された他のソフトウェア製品への反映を指示すると、製品操作部161は、図13及び図14に示す処理を実行する。
図12は、Incomingな変更が検出されたソフト部品ID”initWeight”の詳細を示す画面の例を示す。図12の画面は、図11に示す画面において、ソフトウェア製品開発者160Aが、マウスポインタ1101によってソフト部品ID”initWeight”を指定し、詳細表示を指示したときに、表示される。
図13は、ソフトウェア製品のOutgoingな変更を、ベースコピー163、ソフト部品データベース121及びソフトウェア製品管理部130に格納された他のソフトウェア製品へ反映させるときの製品操作部161における処理の例を示す。図13の処理は、図11において、ソフトウェア製品開発者160Aが、マウスポインタ1101を用いてOutgoingな変更があったソフト部品を指定し、ソフト部品データベース121及びベースコピー163への反映を指示した場合に実行される。ステップ1301において、製品操作部161は、指定されたソフト部品に含まれるOutgoingな変更を、ベースコピー163に反映する。即ち、ローカルコピー162に含まれるOutgoingな変更をベースコピー163に反映する。次にステップ1302において、ソフトウェア製品ID、ソフト部品ID、ソフト部品の内容をソフトウェア構成管理サーバ100の製品操作IF114に送信する。ソフトウェア構成管理サーバ100の製品操作IF114は、ソフトウェア製品操作クライアント160によって指定されたソフトウェア製品ID、ソフト部品ID、ソフト部品の内容を受信する。次に、ソフトウェア構成管理サーバ100の同期部112は、図14に示す処理に従って、ソフト部品データベース121にソフト部品の修正内容を反映する。
図14は、ソフトウェア製品のOutgoingな変更を、ソフト部品データベース121及びソフトウェア製品管理部130に格納された他のソフトウェア製品に反映する処理の例を示す。この処理は、ソフトウェア構成管理サーバ100の同期部112が実行する。ステップ1401において、同期部112は、指定されたソフトウェア製品IDとソフト部品IDを検索キーとして、ソフト部品-製品対応表122を検索する。即ち、ソフトウェア製品管理部130に格納されたソフトウェア製品より、指定されたソフト部品IDを含む全てのソフトウェア製品を検出し、更に、そのソフトウェア製品に含まれるソフト部品”X”を検出する。次にステップ1402において、同期部112は、ソフトウェア製品管理部130に格納されたソフト部品”X”に、指定されたソフト部品の内容を反映する。
次にステップ1403において、同期部112は、指定されたソフト部品IDを検索キーとして、ソフト部品-製品対応表122を検索する。即ち、ソフト部品データベース121に格納されたソフト部品より、指定されたソフト部品IDを含む全てのソフトウェア製品を検出し、そのソフトウェア製品に含まれるソフト部品”Y”を検出する。ステップ1404において、同期部112は、ソフト部品データベース121に格納されたソフト部品”Y”に、指定されたソフト部品の内容を反映する。
最後に、受信したソフトウェア製品IDとソフト部品IDを現在時刻とともに更新情報123に記録する。
例えば、ソフトウェア製品開発者160Aが、図11に示す画面上にて、ソフト部品ID”beep”を指定したとする。ステップS1402にてソフトウェア製品管理部130に格納されたソフトウェア製品のうち、ソフト部品ID”beep”を含む全てのソフトウェア製品が抽出され、Outgoingな変更が反映される。また、ステップS1404にてソフト部品データベース121に格納されたソフト部品のうち、ソフト部品ID”beep”を含む全てのソフト部品が抽出され、Outgoingな変更が反映される。
次に、ソフト部品データベース管理者150Aがソフト部品データベース121の管理を行なう場合を説明する。ソフト部品データベース管理者150Aが、ソフトウェア製品管理部130に格納されたソフトウェア製品131の変更を検出すると、変更内容は、ソフトウェア製品管理部130に格納された他のソフトウェア製品133に反映される。
図15は、ソフト部品データベース121のOutgoingな変更とIncomingな変更を検出し、それを表示する処理の例を示す。ソフト部品データベース管理者150Aは、ソフト部品データベース管理クライアント150にて、ソフト部品データベース121のOutgoingな変更とIncomingな変更を検出する処理を実行する命令入力する。それによって、ソフト部品データベース管理クライアント150のデータベース操作部151は、以下の処理を行なう。ステップ1501において、データベース操作部151は、ローカルコピー152とベースコピー153とを比較し、両者の差分からOutgoingな変更を検出する。次にステップ1502において、データベース操作部151は、ソフト部品データベース121とベースコピー163とを比較し、両者の差分からIncomingな変更を検出する。最後にステップ1503において、データベース操作部151は、図16に示すような画面を表示する。
いる。
図16は、ソフト部品データベース121のOutgoingな変更とIncomingな変更の検出結果を示す画面の例を示す。図16の画面は、図15のステップ1503においてデータベース操作部151によって生成される。この例では、ローカルコピー152のうち、パス”MicrowaveOven/Sensors/WeightSensor/AnalogWeight”が示すノードに付加されているソフト部品ID”initWeight”においてOutgoingな変更が検出されたことを示す。図示のように右向きの矢印は、Outgoingな変更を示す。また、図3に示すソフト部品データベース121のうち、パス”MicrowaveOven/Actuators/Beeper”が示すノードに付加されているソフト部品ID”initBeep”および”beep”においてIncomingな変更が検出されたことを示す。図示のように左向きの矢印は、Incomingな変更を示す。
図16に示す画面上にて、ソフト部品データベース管理者150Aが、マウスポインタ1601によってソフト部品ID”initWeight”を指定し、詳細表示を指示すると、例えば図12に示すような画面が表示される。
図16に示す画面上にて、ソフト部品データベース管理者150Aが、マウスポインタ1601を用いてIncomingな変更があったソフト部品を指定し、反映ボタン1610を押すと、データベース操作部151は、ソフトウェア構成管理システムに図17に示す処理を実行するように指示する。
図17は、ソフト部品データベース121のIncomingな変更を、ローカルコピー152、ベースコピー153、及び、ソフトウェア製品133へ反映させるときのデータベース操作部151における処理の例を示す。図17の処理は、図16の画面にてIncomingな変更があったソフト部品を指定し、反映ボタン1610を押すと、ソフト部品データベース管理クライアント150のデータベース操作部151が実行する。ステップ1701において、データベース操作部151は、指定されたソフト部品の最新の内容を、ソフト部品データベース121から抽出し、ベースコピー153に反映する。次にステップ1702において、データベース操作部151は、指定されたソフト部品の最新の内容を、ソフト部品データベース121から抽出し、ローカルコピー152に反映する。ステップ1703において、データベース操作部151は、指定されたソフト部品ID、及び、ソフト部品の内容を、ソフトウェア構成管理サーバ100に送信する。ソフトウェア構成管理サーバ100の製品操作IF114は、ソフト部品データベース管理クライアント150から送信されたソフト部品ID、及び、ソフト部品の内容を受信する。次に、ソフトウェア構成管理サーバ100の同期部112は、図18に示す処理に従って、ソフトウェア製品管理部130に格納されたソフトウェア製品133にソフト部品の修正内容を反映する。
図18は、ソフト部品データベース121のIncomingな変更を、ソフトウェア製品管理部130に格納されたソフトウェア製品133に反映する処理の例を示す。即ち、ソフトウェア製品管理部130に格納されたソフトウェア製品131の変更を他のソフトウェア製品133に反映させる処理を示す。この処理は、ソフトウェア構成管理サーバ100の同期部112が実行する。まずステップ1801において、同期部112は、ソフト部品データベース管理クライアント150から送信されたソフト部品IDを検索キーとして、ソフト部品-製品対応表122を検索する。それによって、受信したソフト部品IDを含む全てのソフトウェア製品を検出する。次に、各ソフトウェア製品について、ステップ1802〜1804を実行する。ステップ1802において、受信したソフト部品IDを検索キーとして、ソフト部品-ファイル対応情報132、134を検索する。それによって、各ソフトウェア製品に含まれるソフト部品”X”を特定する。
次にステップ1803において、受信したソフト部品IDを検索キーとして、ソフト部品データベース121を検索する。それによって、ソフト部品データベース121に格納されたソフト部品のうち、受信したソフト部品IDを有するソフト部品”Y”を特定する。ステップ1804において、ソフト部品”Y”の内容をソフト部品”X”に反映する。
本発明によると、ソフトウェア製品開発者164Aは、図11に示すような画面を通じて、ソフト部品データベース121に加えられた修正をIncomingな変更として知ることができる。同期部112は、同期処理によって、ソフト部品データベース121のIncomingな変更を、ソフトウェア製品管理部130に格納された他のソフトウェア製品133に反映する処理を行なう。
図16に示す画面上にて、ソフト部品データベース管理者150Aが、マウスポインタ1601を用いてIncomingな変更があったソフト部品を指定し、変更取消ボタン1611を押すと、データベース操作部151は、ソフトウェア構成管理システムに図19に示す処理を実行するように指示する。
図19は、ソフトウェア製品131の変更に起因したソフト部品データベース121のIncomingな変更を取り消し、Outgoingな変更を反映させる処理の例を示す。ステップ1901において、ソフト部品データベース管理クライアント150のデータベース操作部151は、ローカルコピー152内のソフト部品の内容と、そのソフト部品IDをソフトウェア構成管理サーバ100に送信する。ソフトウェア構成管理サーバ100のデータベース操作IF111は、ローカルコピー152内のソフト部品の内容と、そのソフト部品IDを受信する。
同期部112は、図20に示す処理を実行し、変更の取り消しを行う。即ち、本発明のソフトウェア構成管理システムは、ローカルコピー152の内容によって、ソフト部品データベース121内のソフト部品を上書きする。従って、ソフトウェア製品131の変更に起因したソフト部品データベース121に格納されたソフト部品のIncomingな変更は、取り消される。また、ソフト部品データベース121は、ローカルコピー152の内容、即ち、ソフト部品のOutgoingな変更が反映される。
図20は、ソフトウェア製品131の変更に起因したソフト部品データベース121のIncomingな変更を取り消し、Outgoingな変更を反映させる処理の例を示す。ステップ2001において、同期部112は、受信したソフト部品IDを検索キーとして、ソフト部品データベース121を検索する。それによって、ソフト部品IDに対応する全てのソフト部品を抽出する。次にステップ2002において、抽出したソフト部品に対して、受信したローカルコピー152内のソフト部品の内容を反映する。次にステップ2003において、受信したソフト部品IDを検索キーとして、更新情報123を検索する。それによって、受信したソフト部品IDに対して最後に変更を加えたソフトウェア製品を特定する。ステップ2004において、受信したソフト部品IDを検索キーとして、ソフト部品-ファイル対応情報を検索する。それによって、このソフトウェア製品に含まれている、対応するソフト部品”X”を特定する。最後にステップ2005において、受信したソフト部品の内容を、ソフト部品”X”に反映する。以上により、ソフトウェア製品開発者160Aは、図11に示すような画面を通じて、ソフト部品データベース管理クライアント150によって生成されたソフト部品データベース121の変更の取消をIncomingな変更として知ることができる。
図16に示す画面上にて、ソフト部品データベース管理者150Aが、マウスポインタ1601を用いてIncomingな変更があったソフト部品を指定し、「新規部品として追加」ボタン1612を押すと、データベース操作部151は、ソフトウェア構成管理システムに図21に示す処理を実行するように指示する。
図21は、Incomingな変更があったソフト部品を新規ソフト部品としてソフト部品データベース121に追加するときの処理を示す。即ち、ソフトウェア製品131の変更に起因した、Incomingな変更があったソフト部品を新規ソフト部品として追加する。
ステップ2101において、データベース操作部151は、ソフト部品データベース管理者150Aが指定したローカルコピー152内のソフト部品の内容と、そのソフト部品IDをソフトウェア構成管理サーバ100に送信する。ソフトウェア構成管理サーバ100の対応表更新部113は、図22に示す処理を行なう。
図22、図23、図24及び図25を参照して、対応表更新部113が、ソフト部品を新規ソフト部品として複製しソフト部品データベース121に追加する処理の例を説明する。ここでは、図3に示すソフト部品データベース121に、新規ソフト部品を追加する場合を例に説明する。ステップ2200において、対応表更新部113は、受信したソフト部品IDを検索キーとして、ソフト部品データベース121における対応するソフト部品を検出する。次に、検出したソフト部品が付加されているノードが、兄弟ノードを有するか否か調べる。兄弟ノードを有しない場合は、ステップ2201に進み、兄弟ノードを有する場合ステップ2211に進む。ここでは、図3のノード306に付加されたソフト部品307、又は、ノード330に付加されたソフト部品331を検出した場合を説明する。図3のソフト部品307の場合には、兄弟ノードを有するから、ステップ2211に進む。その結果、図24に示す結果となる。図3のソフト部品331の場合には、兄弟ノードを有しないから、ステップ2201に進む。その結果、図25に示す結果となる。
ステップ2201において、ステップ2200で特定したノードが「Feature」型である場合には、同ノードを「Group」型に変更する。ステップ2200で特定したノードが「Group」型の場合には、そのまま次のステップに進む。図3のノード330は「Feature」型であるから、「Group」型に変更する。図3のノード330は、図25では、ノード2500に変更されている。ステップ2202において、図23に示す画面を表示する。図23に示す画面には、新規「Feature」型ノードの名前を入力する項目が表示される。ソフト部品データベース管理者150Aは、そこに、「Feature」型ノードの名前を入力する。こうして、対応表更新部113は、「Feature」型ノードの名前を受付ける。次にステップ2203において、新規「Feature」型ノードを、ステップ2201において生成した「Group」型ノードの子として追加する。図25では、新規「Feature」型ノード2510が付加されている。ステップS2204において、「Group」型ノードに付加されているソフト部品を、ステップ2203において追加した「Feature」型ノードに移動する。図25では、図3のソフト部品331が、ソフト部品2511として、追加した「Feature」型ノードに付加されている。
次にステップ2211において、図23に示すような画面を表示する。ソフト部品データベース管理者150Aは、そこに、「Feature」型ノードの名前を入力する。対応表更新部113は、「Feature」型ノードの名前を受付ける。次にステップ2212において、この新規「Feature」型ノードを、ステップ2200において特定した兄弟ノードまたはステップ2203において追加した新規ノードの兄弟として追加する。図24では、新規「Feature」型ノード2400が追加されている。図25では、新規「Feature」型ノード2512が追加されている。
ステップ2213において、受信したソフト部品IDに対応するソフト部品が付加されているノードを検出する。このノードに付加されている他のソフト部品を全て、ステップ2212において追加した新規ノードにコピーし、それぞれ新規ソフト部品IDを割り当てる。
図24では、ノード”AnalogWeight”308に付加されているソフト部品309の内容は、ソフト部品データベース管理クライアント150から送信された、ソフトウェア製品131の変更の反映前のものであるが、新規ノード”NewAnalogWeight”2400に付加されている新規ソフト部品2401の内容は、ソフト部品データベース管理クライアント150から送信された、ソフトウェア製品131の変更の反映後のものである。図25では、新規ノード”OriginalStartButton”2510に付加されたソフト部品2511は、ソフト部品データベース管理クライアント150から送信された、ソフトウェア製品131の変更の反映前のものである。また、新規ノード”NewStartButton”2512に付加された新規ソフト部品2513の内容は、ソフトウェア製品131から送信されたソフトウェア製品131の変更の反映後のものである。
図26、図27及び図28を参照して、対応表更新部113が、ソフトウェア製品131の変更に起因して、ソフト部品-製品対応表122およびソフト部品-ファイル対応情報132、134を更新する処理を説明する。図27は、図6に示すソフト部品-製品対応表122を更新した結果を示す。
ステップ2601において、対応表更新部113はまず、受信したソフト部品IDを基に更新情報123を検索し、対応するソフト部品に対し最後に変更を加えたソフトウェア製品131のIDを特定する。このソフトウェア製品131には新規ソフト部品が含まれるはずである。
ステップ2602において、ソフト部品-製品対応表122に対して、図22のステップ2213にて割り当てた新規ソフト部品IDの欄を追加し、ソフトウェア製品IDを割り当てる。図27の例では、新規ソフト部品のIDとして”NewAnalogWeight/initWeight”2703および”NewAnalogWeight/getWeight”2704が追加されている。
次にステップ2603において、新規ソフト部品IDと対応する従来のソフト部品IDの欄から上記ソフトウェア製品IDを削除する。図27の例では、従来のソフト部品のID”AnalowWeight/initWeight”2701および”AnalogWeight/getWeight”2702の欄からはソフトウェア製品131のID”製品A”は削除されている。
最後にステップ2604において、新規ソフト部品IDを基に、ソフトウェア製品131に対応するソフト部品-ファイル対応情報132を更新する。
図28は、対応表更新部113が、図9に示すソフト部品-ファイル対応情報132を更新した例を示している。この例では、対応表更新部113が、ソフト部品の先頭に挿入されている注釈に含まれるソフト部品IDを新規ソフト部品IDによって更新している。
本発明によると、ソフト部品データベース管理者150Aは、ソフトウェア製品131におけるソフト部品の変更を、ソフト部品データベース121に反映するように、指示する。更に、ソフト部品データベース管理者150Aは、ソフトウェア製品131における変更されたソフト部品を、新規ソフト部品としてソフト部品データベース121に追加するよう指示する。
それによって、本発明のソフトウェア構成管理システムは、自動的にソフト部品データベース121のツリー構造を変更し、ソフト部品-製品対応表122およびソフトウェア製品131に対応するソフト部品-ファイル対応情報132を更新する。従って、ソフト部品とソフトウェア製品群との間にて、ソフト部品の変更が相互に確実に反映される。
本発明によると、ソフト部品データベース121とソフトウェア製品管理部130内の全てのソフトウェア製品群との間におけるソフト部品の変更の相互反映を維持することができる。
図29及び図30を参照して説明する。図16において、ソフト部品データベース管理者150Aは、マウスポインタ1601を用いてIncomingな変更があったソフト部品を指定し、「差異部分のみを新規部品として追加」ボタン1613を押すと、本発明のソフトウェア構成管理システムは、図29の処理を実行する。即ち、従来のソフト部品を削除し、指定された差異部分を変数とし共通部分をテンプレートとする新規ソフト部品群をソフト部品データベースに121追加する。
ステップ2901において、データベース操作部151は、図30に示すテンプレート編集画面を表示する。データベース操作部151は、テンプレート編集画面を介して、ソフト部品データベース管理者150Aから、テンプレートおよび複数の変数情報を受付ける。
図30を参照して説明する。テンプレート編集画面の差異部分表示領域3002の左側には、指定されたソフト部品に対応するローカルコピー内のソフト部品の内容が表示される。テンプレート編集画面の差異部分表示領域3002の右側には、ソフト部品データベース内のソフト部品が表示される。また、差異部分は、背景とは異なる色で表示される。マウスポインタ3001を用いて差異部分を選択し変数追加3010ボタンを押すと、変数一覧テーブル3020内に新規変数が追加され、変数名の入力を受付ける。この例では、変数名として”initMode”が入力されている。複数の変数を受付けることができる。更に、テンプレートプレビュー領域3030に、変数部分3031を強調表示したテンプレートの内容が表示される。この例では変数部分3031が”${initMode}”と表現されている。これは、テンプレートエンジンであるVelocity(http://jakarta.apache.org/velocity/)のテンプレート文法に基づいている。
尚、各変数情報には変数名および差異部分に対応するローカルコピー152内の文字列とソフト部品データベース121内の文字列の両方を含む。以下では、変数情報に含まれる、ローカルコピー152内の文字列を従来変数、ソフト部品データベース121内の文字列を新規変数と呼ぶことにする。
ステップ2902において、データベース操作部151は、受付けた変数およびテンプレートを指定されたソフト部品に対応するソフト部品IDとともにソフトウェア構成管理サーバ100に送信する。ソフトウェア構成管理サーバ100の対応表更新部113は、図31に示す処理を行なう。
図31及び図32を参照して、対応表更新部113が、新規ソフト部品として変数およびテンプレートをソフト部品データベース121に追加する処理を説明する。ここでは、図3に示すソフト部品データベース121に、新規ソフト部品として変数およびテンプレートを追加する場合を例に説明する。ソフトウェア構成管理サーバ100は、データベース操作IF111を介して、ソフト部品データベース管理クライアント150から変数およびテンプレートを受信する。
まずステップ3101において、対応表更新部113は、受信したソフト部品IDを基に、ソフト部品データベース121における対応するソフト部品を特定する。このソフト部品に付加されているノードに、受信したテンプレートを新規ソフト部品として追加し、新規ソフト部品IDを割り当てる。図3の例では、ノード”AnalogWeight”308に新規ソフト部品3200がテンプレートとして追加されている。
次に受信した変数情報毎にステップ3102〜3109を実行する。まずステップ3102において、図23に示す画面を表示し、新規「Group」型ノード名を受付ける。次にステップ3103において、テンプレートが付加されているノードに、受付けたノード名を持つ新規「Group」型ノードを子として追加する。図32の例では、ノード308に新規ノードConversionMode”3201が付加されている。次にステップ3104において、図23に示す画面を表示し、新規「Feature」型ノード名を受付ける。次にステップ3105において、ステップ3102において追加したノードに対し、受付けたノード名を持つ新規「Feature」型ノードを子として追加する。図32の例では、”Continuous”ノード3202が追加されている。次にステップ3106において、このノードに、受信した従来変数を新規ソフト部品として追加し、新規ソフト部品IDをそれぞれ割り当てる。図32の例では、新規ソフト部品3203が追加されている。次にステップ3107において、図23に示す画面を表示し、新規「Feature」型ノード名を受付ける。次にステップ3108において、ステップ3102において追加したノードに対し、受付けたノード名を持つ新規「Feature」型ノードを子として追加する。図32の例では、”OneShot”ノード3204が追加されている。次にステップ3109において、このノードに、受信した新規変数を新規ソフト部品として追加し、新規ソフト部品IDをそれぞれ割り当てる。図3の例では、新規ソフト部品3205が追加されている。最後に、ステップ3110において、受信したソフト部品IDに対応するソフト部品をソフト部品データベース121から削除する。図32の例では、ノード”AnalogWeight”308に付加されていたソフト部品309は削除されている。
図32は、対応表更新部113が新規ソフト部品として、変数およびテンプレートをソフト部品データベース121に追加した結果を示す。この例では、図3のノード”AnalogWeight”308に付加されているソフト部品309の代わりに、テンプレートとして新規ソフト部品3200が付加されている。変数として、新規ソフト部品3203、3205が付加されている。従って、ソフト部品3200をテンプレートとし、ソフト部品3203を変更部分とする新規ソフトウェア製品と、ソフト部品3200をテンプレートとし、ソフト部品3205を変更部分とする新規ソフトウェア製品の2つのソフトウェア製品を表す。
図33、図34及び図35を参照して、対応表更新部113が、ソフト部品-製品対応表122およびソフト部品-ファイル対応情報132、134を更新する処理を説明する。図34は、図6に示すソフト部品-製品対応表122を更新した結果を示す。
ステップ3301において、対応表更新部113はまず、受信したソフト部品IDを基に更新情報123を検索し、対応するソフト部品に対し最後に変更を加えたソフトウェア製品131のIDを特定する。このソフトウェア製品131には、新規変数とテンプレートを組合わせたソースファイルが含まれるはずである。そこでステップ3302において、ソフト製品-製品対応表122に対し、図31に示すステップ3103および3109において追加した新規ソフト部品IDの欄を追加し、上記ソフトウェア製品IDを割り当てる。図34の例では、新規ソフト部品IDの欄3410、3411、3412が追加されている。次にステップ3303において、ソフト製品-製品対応表122における受信したソフト部品IDの欄から上記ソフトウェア製品IDを削除する。図34の例では、これらに対応する従来のソフト部品のID”AnalogWeight/initWeight”の欄3401からはソフトウェア製品AおよびBのID”製品A”および”製品B”が削除されている。
次にステップ3304において、追加したテンプレートおよび新規変数の内容およびそれらの新規ソフト部品IDを基に、上記ソフトウェア製品131に対応するソフト部品-ファイル対応情報132を更新する。次にステップ3305において、受信したソフト部品IDをキーにソフト部品-製品対応表122を検索し、対応するソフト部品を使用しているソフトウェア製品群のIDを特定する。同ソフトウェア製品群には従来変数とテンプレートを組合わせたソースファイルを含んでいることになる。そこでステップ3306において、ソフト製品-製品対応表122に対し、図31に示すステップ3106において追加した新規ソフト部品IDの欄を追加し、上記ソフトウェア製品群のIDを割り当てる。
そしてステップ3307において、ソフト製品-製品対応表122における受信したソフト部品IDの欄から上記ソフトウェア製品群のIDを削除する。図34の例では、テンプレートに対応する新規ソフト部品IDとして”AnalogWeight/ConversionMode/initWeightCommon”3410、従来変数に対応する新規ソフト部品IDとして
”AnalogWeight/ConversionMode/Continuous/initWeight”3411、
新規変数に対応する新規ソフト部品IDとして
”AnalogWeight/ConversionMode/OneShot/initWeight”3412が追加されている。
最後にステップ3308において、追加したテンプレートおよび従来変数の内容およびそれらの新規ソフト部品IDを基に、上記ソフトウェア製品群に対応するソフト部品-ファイル対応情報を更新する。
図35は、対応表更新部113が、図9に示すソフト部品-ファイル対応情報132を更新した例を示す。この例では、対応表更新部113が、ソフト部品の先頭に挿入されている注釈に含まれるソフト部品IDを、テンプレートに対応する新規ソフト部品IDで更新している。また、変数部分の先頭および末尾に新たな注釈が挿入され、先頭に挿入される注釈には、新規変数または従来変数に対応する新規ソフト部品IDが含まれる。
本発明によると、ソフト部品データベース管理者150Aは、ソフト部品の変更部分のみを新規ソフト部品としてソフト部品データベース121に追加するように指示する。
それによって、本発明のソフトウェア構成管理システムは、自動的にソフト部品データベース121のツリー構造を変更し、ソフト部品-製品対応表122およびソフトウェア製品131に対応するソフト部品-ファイル対応情報132を更新する。従って、ソフト部品とソフトウェア製品群との間にて、ソフト部品の変更が相互に確実に反映される。
本発明によると、ソフト部品データベース121とソフトウェア製品管理部130内の全てのソフトウェア製品群との間におけるソフト部品の変更の相互反映を維持することができる。
本発明によると、ソフト部品データベースに新規ソフト部品を追加したり、ソフト部品を分割した場合でも、ソフト部品に加えられた修正をソフト部品データベースおよび同データベースから生成したソフトウェア製品群に確実に反映することができる。更に、ソフト部品データベースから新規ソフトウェア製品を生成することができる。その結果、ソフト部品数およびソフトウェア製品数が大規模化した場合でも、ソフト部品データベースおよびソフトウェア製品群を構成管理可能となり、ソフトウェア製品の開発の効率を向上が可能となる。
本発明によると、ソフトウェアだけでなく、モジュール構造化されたあらゆるテキスト文書をソフト部品データベースに格納し、それを基に新規文書のテキストファイルを自動構成することができる。更に、このようなソフト部品データベースを保守管理することが可能である。
本発明によるソフトウェア構成管理システムの機能ブロックの例を示す図である。 本発明によるソフトウェア構成管理システムのハードウェア構成例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースを論理的なツリー構造で表した例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースの内容をXMLで記述した例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースの内容をリレーショナルデータベースのテープルで表示した例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品-製品対応表の例を示す図である。 本発明によるソフトウェア構成管理サーバの更新情報の例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品-ファイル対応情報の例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品-ファイル対応情報をソースファイルに埋め込んだ例を示す図である。 本発明によるソフトウェア製品操作クライアントの製品操作部において、ソフトウェア製品操作クライアント内にあるソフトウェア製品のローカルコピーと、ソフトウェア製品管理部内にあるソフトウェア製品との差分を抽出する処理の例を示す図である。 本発明によるソフトウェア製品操作クライアントの製品操作部において、ソフトウェア製品操作クライアント内にあるソフトウェア製品のローカルコピーと、ソフトウェア製品管理部内にあるソフトウェア製品との差分を抽出した結果を表示する画面例を示す図である。 本発明によるソフトウェア製品操作クライアントの製品操作部、又は、ソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品の差異部分の詳細を表示する画面の例を示す図である。 本発明によるソフトウェア製品操作クライアントの製品操作部において、ソフトウェア製品における修正内容をソフト部品データベースに反映する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバの同期部において、ソフトウェア製品における修正内容をソフト部品データベースに反映する処理の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベース管理クライアント内にあるソフト部品データベースのローカルコピーと、ソフト部品データベースとの差分を抽出する処理の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベース管理クライアント内にあるソフト部品データベースのローカルコピーと、ソフト部品データベースとの差分を抽出した結果を表示する画面例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベースにおける修正内容をソフト部品データベースのローカルコピーに反映する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバの同期部において、ソフト部品データベースにおける修正内容をソフト部品データベースに反映する処理の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベースにおける修正を取り消す処理の例を示す図である。 本発明によるソフトウェア構成管理サーバの同期部において、ソフト部品データベースにおける修正を取り消す処理の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベースにおいて変更されたソフト部品を新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバの対応表更新部において、ソフト部品データベースにおいて変更されたソフト部品を新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバの対応表更新部において、ソフト部品データベースを構成する論理的なツリーにおいて新規ノードを追加するとき、ノード名を受付ける画面例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースにおいて、新規ソフト部品を追加した例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースにおいて、新規ソフト部品を追加した例を示す図である。 本発明によるソフトウェア構成管理サーバの対応表更新部において、ソフト部品データベースにおいて変更されたソフト部品を新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバにおいて、対応表更新部によって更新されたソフト部品-製品対応表の例を示す図である。 本発明によるソフトウェア構成管理サーバにおいて、対応表更新部によって更新されたソフト部品-ファイル対応情報の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、ソフト部品データベースにおいて変更されたソフト部品について、差異部分のみを新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフト部品データベース管理クライアントのデータベース操作部において、テンプレート編集画面の例を示す図である。 本発明によるソフトウェア構成管理サーバの対応表更新部において、ソフト部品データベースにおいて変更されたソフト部品について、差異部分のみを新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバのソフト部品データベースにおいて、ソフト部品データベースにおいて変更されたソフト部品について、差異部分のみを新規ソフト部品としてソフト部品データベースに追加した例を示す図である。 本発明によるソフトウェア構成管理サーバの対応表更新部において、ソフト部品データベースにおいて変更されたソフト部品について、差異部分のみを新規ソフト部品としてソフト部品データベースに追加する処理の例を示す図である。 本発明によるソフトウェア構成管理サーバにおいて、対応表更新部によって更新されたソフト部品-製品対応表の例を示す図である。 本発明によるソフトウェア構成管理サーバにおいて、対応表更新部によって更新されたソフト部品-ファイル対応情報の例を示す図である。
符号の説明
100…ソフトウェア構成管理サーバ
110…構成管理部
111…データベース操作IF
112…同期部
113…対応表更新部
114…製品操作IF
120…ソフト部品データベース管理部
121…ソフト部品データベース
122…ソフト部品-製品対応表
123…更新情報
130…ソフトウェア製品管理部
131…ソフトウェア製品A
132…ソフトウェア製品Aに対応するソフト部品-ファイル対応情報
133…ソフトウェア製品B
134…ソフトウェア製品Bに対応するソフト部品-ファイル対応情報
150…ソフト部品データベース管理クライアント
150A…ソフト部品データベース管理者
151…データベース操作部
152…ソフト部品データベースのローカルコピー
153…ソフト部品データベースのベースコピー
160…ソフトウェア製品操作クライアント
160A…ソフトウェア製品Aの開発者
161…製品操作部
162…ソフトウェア製品Aのローカルコピー
163…ソフトウエア製品Aのベースコピー

Claims (8)

  1. ソフトウェア製品を構成するソースファイルと該ソースファイルの構成要素であるソフトウェア部品を管理するソフトウェア構成管理システムであって、
    ソフトウェア製品を木構造として管理し該木構造を構成するノードに前記ソフトウェア部品を対応させて記憶するソフトウェア部品データベースを有し、前記ソフトウェア部品データベースに記憶された全てのソフトウェア部品についてソフトウェア部品と該ソフトウェア部品を含むソフトウェア製品との関係を示す情報であるソフト部品-製品対応表とソフトウェア製品の変更に基づいてなされた前記ソフトウェア部品データベースに記憶されたソフトウェア部品の更新に関する情報である更新情報を記憶し、外部のソフトウェア部品データベース管理クライアントコンピュータによって管理されるソフトウェア部品データベース管理部と、
    前記ソフトウェア部品データベースに記憶されたソフトウェア部品を合成して生成した複数のソフトウェア製品と、該複数のソフトウェア製品の各々について該ソフトウェア製品に含まれるソフトウェア部品とソースファイルの関係を示す情報であるソフト部品-ファイル対応情報を記憶し、外部のソフトウェア製品操作クライアントコンピュータによって操作されるソフトウェア製品管理部と、
    記ソフトウェア部品データベース管理クライアントコンピュータ又は前記ソフトウェア製品操作クライアントコンピュータからの命令に従って、前記ソフト部品-製品対応と前記ソフト部品-ファイル対応情に基づいて、前記ソフトウェア部品データベースに記憶されたソフトウェア部品の変更を前記ソフトウェア製品管理部に記憶されたソフトウェア製品に反映させ、又は、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更を前記ソフトウェア部品データベースに記憶されたソフトウェア部品及び前記ソフトウェア製品管理部に記憶された他のソフトウェア製品に反映させる同期部と、
    記ソフトウェア部品データベース管理クライアントコンピュータからの命令に応答して、前記ソフトウェア部品データベースに記憶されたソフトウェア部品と前記ソフト部品-製品対応と前記更新情と前記ソフト部品-ファイル対応情を更新する対応表更新部と
    を有し、
    前記同期部は、前記ソフトウェア製品操作クライアントコンピュータから、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のソースファイルに加えられた変更を前記ソフトウェア部品データベースに記憶されたソフトウェア部品に反映させる命令を受けたとき、前記ソフト部品-ファイル対応情報を検索することによって、前記ソースファイルの変更部分に対応するソフトウェア部品を検出し、前記ソフト部品-製品対応表を検索することによって、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記検出したソフトウェア部品を含む全てのソフトウェア製品を検出し、該検出したソフトウェア製品に含まれるソフトウェア部品に対して、前記ソースファイルの変更を反映させ、
    前記同期部は、前記ソフトウェア製品操作クライアントコンピュータから、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のソースファイルに加えられた変更を前記ソフトウェア製品管理部に記憶された他のソフトウェア製品に反映させる命令を受けたとき、前記ソフト部品-ファイル対応情報を検索することによって、前記ソースファイルの変更部分に対応するソフトウェア部品を検出し、前記ソフト部品-製品対応表を検索することによって、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のうち、前記検出したソフトウェア部品を含む全てのソフトウェア製品を検出し、該検出したソフトウェア製品に含まれるソフトウェア部品に対して、前記ソースファイルの変更を反映させることを特徴とするソフトウェア構成管理システム。
  2. 請求項1に記載のソフトウェア構成管理システムにおいて、
    前記対応表更新部は、前記ソフトウェア部品データベース管理クライアントコンピュータから、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更からの反映に起因して変更されたソフトウェア部品を、新規ソフトウェア部品として前記ソフトウェア部品データベースに追加する指令を受けた場合、
    新規ノード名を受け付け、前記ソフトウェア部品データベースの前記木構造上において、前記新規ノード名を持つ新規ノードを、前記変更されたソフトウェア部品と対応しているノードと兄弟関係となるノードの位置に追加し、前記変更されたソフトウェア部品を前記兄弟関係となる複数のノードのうちの第一のノードに対応させ、前記変更される前のソフトウェア部品を前記兄弟関係となる複数のノードのうちの第二のノードに対応させることを特徴とするソフトウェア構成管理システム。
  3. 請求項1に記載のソフトウェア構成管理システムにおいて、
    前記対応表更新部は、前記ソフトウェア部品データベース管理クライアントコンピュータから、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更からの反映に起因して変更された第一のソフトウェア部品を、新規ソフトウェア部品である第二のソフトウェア部品として前記ソフトウェア部品データベースに追加する指令を受けた場合、
    前記変更された第一のソフトウェア部品を基に前記ソフトウェア製品を特定し、前記第二のソフトウェア部品と前記ソフトウェア製品との対応関係を前記ソフト部品-製品対応に記録し、前記第一のソフトウェア部品と前記ソフトウェア製品との対応関係を前記ソフト部品-製品対応から削除し、前記ソフトウェア製品に対応するソフト部品-ファイル対応情について、前記第二のソフトウェア部品が合成されているソースファイルから前記第二のソフトウェア部品を特定できるよう更新することを特徴とするソフトウェア構成管理システム。
  4. 請求項1に記載のソフトウェア構成管理システムにおいて、
    前記対応表更新部は、前記ソフトウェア部品データベース管理クライアントコンピュータから、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更からの反映に起因して変更されたソフトウェア部品について変更部分のみを新規ソフトウェア部品として前記ソフトウェア部品データベースに追加する指令を受けた場合、
    第一および第二および第三の新規ノード名を受け付け、前記ソフトウェア部品データベースの前記木構造上において、前記変更されたソフトウェア部品と対応しているノードの子の関係となるノードの位置に、前記第一の新規ノード名を持つ第一の新規ノードを追加し、前記第一の新規ノードの子の関係となるノードの位置に、前記第二の新規ノード名を持つ第二の新規ノードを追加し、前記第一の新規ノードの子の関係となるノードの位置に、前記第三の新規ノード名を持つ第三の新規ノードを追加し、前記変更部分とは異なる共通部分をテンプレートにした新規ソフトウェア部品を前記変更されたソフトウェア部品と対応しているノードに対応させて追加し、前記変更部分のうち変更前に相当する部分を前記テンプレートに挿入可能な変数にした新規ソフトウェア部品を前記第二の新規ノードに対応させて追加し、前記変更部分のうち変更後に相当する部分を前記テンプレートに挿入可能な変数にした新規ソフトウェア部品を前記第三の新規ノードに対応させて追加し、前記ソフトウェア部品を前記ソフトウェア部品データベースの前記木構造上から削除することを特徴とするソフトウェア構成管理システム。
  5. 請求項1に記載のソフトウェア構成管理システムにおいて、
    前記対応表更新部は、前記ソフトウェア部品データベース管理クライアントコンピュータから、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更からの反映に起因して変更されたソフトウェア部品について、変更前および変更後で共通部分を第一の新規ソフトウェア部品として前記ソフトウェア部品データベースに追加し、変更前および変更後の変更部分をそれぞれ第二および第三の新規ソフトウェア部品として前記ソフトウェア部品データベースに追加する指令を受けた場合、
    前記変更されたソフトウェア部品を基に前記ソフトウェア製品を特定し、前記第一および第二および第三の新規ソフトウェア部品と前記ソフトウェア製品との対応関係を前記ソフト部品-製品対応に記録し、前記変更されたソフトウェア部品と前記ソフトウェア製品との対応関係を前記ソフト部品-製品対応から削除し、前記ソフトウェア製品に対応するソフト部品-ファイル対応情について、前記第一および第三の新規ソフトウェア部品が合成されているソースファイルから前記第一および第三の新規ソフトウェア部品を特定できるよう更新することを特徴とするソフトウェア構成管理システム。
  6. 請求項1に記載のソフトウェア構成管理システムにおいて、
    前記対応表更新部は、前記ソフトウェア部品データベース管理クライアントコンピュータから、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記ソフトウェア製品管理部に記憶されたソフトウェア製品の変更からの反映に起因して変更されたソフトウェア部品について、該ソフトウェア部品の変更部分のみを新規ソフトウェア部品として前記ソフトウェア部品データベースに追加する指令を受けた場合、
    前記ソフトウェア部品データベースの前記木構造上において、前記変更部分とは異なる共通部分をテンプレートとし、前記変更部分の一部分を前記テンプレートに挿入可能な変数にした新規ソフトウェア部品を追加するために、前記変数の箇所を前記ソフトウェア部品データベース管理クライアントコンピュータから受け付けることを特徴とするソフトウェア構成管理システム。
  7. ソフトウェア製品を構成するソースファイルと該ソースファイルの構成要素であるソフトウェア部品を管理するソフトウェア構成管理システムの管理方法であって、
    ソフトウェア製品を木構造として管理し該木構造を構成するノードに前記ソフトウェア部品を対応させて記憶するソフトウェア部品データベースを有し、前記ソフトウェア部品データベースに記憶された全てのソフトウェア部品についてソフトウェア部品と該ソフトウェア部品を含むソフトウェア製品との関係を示す情報であるソフト部品-製品対応表とソフトウェア製品の変更に基づいてなされた前記ソフトウェア部品データベースに記憶されたソフトウェア部品の更新に関する情報である更新情報を記憶し、外部のソフトウェア部品データベース管理クライアントコンピュータによって管理されるソフトウェア部品データベース管理部と、
    前記ソフトウェア部品データベースに記憶されたソフトウェア部品を合成して生成した複数のソフトウェア製品と、該複数のソフトウェア製品の各々について該ソフトウェア製品に含まれるソフトウェア部品とソースファイルの関係を示す情報であるソフト部品-ファイル対応情報を記憶し、外部のソフトウェア製品操作クライアントコンピュータによって操作されるソフトウェア製品管理部と、を備えたコンピュータによって構成されたソフトウェア構成管理システムの管理方法において、
    前記ソフトウェア製品操作クライアントコンピュータから、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のソースファイルに加えられた変更を前記ソフトウェア部品データベースに記憶されたソフトウェア部品に反映させる命令を受けたとき、前記ソフト部品-ファイル対応情報を検索することによって、前記ソースファイルの変更部分に対応するソフトウェア部品を検出し、前記ソフト部品-製品対応表を検索することによって、前記ソフトウェア部品データベースに記憶されたソフトウェア部品のうち、前記検出したソフトウェア部品を含む全てのソフトウェア製品を検出し、該検出したソフトウェア製品に含まれるソフトウェア部品に対して、前記ソースファイルの変更を反映させるステップと
    前記ソフトウェア製品操作クライアントコンピュータから、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のソースファイルに加えられた変更を前記ソフトウェア製品管理部に記憶された他のソフトウェア製品に反映させる命令を受けたとき、前記ソフト部品-ファイル対応情報を検索することによって、前記ソースファイルの変更部分に対応するソフトウェア部品を検出し、前記ソフト部品-製品対応表を検索することによって、前記ソフトウェア製品管理部に記憶されたソフトウェア製品のうち、前記検出したソフトウェア部品を含む全てのソフトウェア製品を検出し、該検出したソフトウェア製品に含まれるソフトウェア部品に対して、前記ソースファイルの変更を反映させるステップと、
    を有するソフトウェア構成管理システムの管理方法。
  8. 請求項7記載のソフトウェア構成管理システムの管理方法において、
    前記ソフトウェア製品操作クライアントコンピュータを経由して、前記ソフトウェア製品管理部に記憶されたソフトウェア製品が変更されたとき、該変更を前記ソフトウェア製品管理部に記憶された他のソフトウェア製品に反映させることを特徴とするソフトウェア構成管理システムの管理方法。
JP2008195353A 2008-07-29 2008-07-29 ソフトウェア構成管理方法およびシステム Expired - Fee Related JP4907610B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008195353A JP4907610B2 (ja) 2008-07-29 2008-07-29 ソフトウェア構成管理方法およびシステム
EP09802783A EP2309385A1 (en) 2008-07-29 2009-05-28 Software configuration management method and system
US12/920,350 US8452742B2 (en) 2008-07-29 2009-05-28 Software configuration management method and system
PCT/JP2009/059788 WO2010013538A1 (ja) 2008-07-29 2009-05-28 ソフトウェア構成管理方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008195353A JP4907610B2 (ja) 2008-07-29 2008-07-29 ソフトウェア構成管理方法およびシステム

Publications (2)

Publication Number Publication Date
JP2010033373A JP2010033373A (ja) 2010-02-12
JP4907610B2 true JP4907610B2 (ja) 2012-04-04

Family

ID=41610245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008195353A Expired - Fee Related JP4907610B2 (ja) 2008-07-29 2008-07-29 ソフトウェア構成管理方法およびシステム

Country Status (4)

Country Link
US (1) US8452742B2 (ja)
EP (1) EP2309385A1 (ja)
JP (1) JP4907610B2 (ja)
WO (1) WO2010013538A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220075610A1 (en) * 2019-05-16 2022-03-10 Huawei Technologies Co., Ltd. Node selection method and apparatus

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189645A1 (en) * 2012-04-27 2014-07-03 Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi Method for dynamic configuration management and an apparatus thereof
WO2014091732A1 (ja) * 2012-12-11 2014-06-19 日本電気株式会社 テスト支援装置、及び、テスト支援方法
US10628136B2 (en) * 2013-05-24 2020-04-21 Tata Consultancy Services Limited Internet of things (IoT) application development
CN103605503A (zh) * 2013-08-09 2014-02-26 张秋金 茶叶生产加工管理软件
US9690564B2 (en) * 2013-09-10 2017-06-27 International Business Machines Corporation Runtime detection of software configurations and upgrades
CN104573075A (zh) * 2015-01-26 2015-04-29 浪潮(北京)电子信息产业有限公司 一种实现对研发应用代码管理的方法及***
US10140120B2 (en) 2015-06-15 2018-11-27 International Business Machines Corporation Context-specific view of a hierarchical data structure
US10621526B2 (en) * 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a product lifecycle management (PLM) system to a source code management (SCM) system
US10140350B2 (en) * 2015-11-09 2018-11-27 Dassault Systemes Americas Corp. Bi-directional synchronization of data between a product lifecycle management (PLM) system and a source code management (SCM) system
US10621524B2 (en) * 2015-11-09 2020-04-14 Dassault Systemes Americas Corp. Exporting hierarchical data from a source code management (SCM) system to a product lifecycle management (PLM) system
US10223074B2 (en) * 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
JP6565894B2 (ja) * 2015-12-28 2019-08-28 キヤノンマーケティングジャパン株式会社 サーバ、情報処理装置、処理方法およびプログラム
US10614064B2 (en) * 2017-05-03 2020-04-07 Servicenow, Inc. Class path based database operations
US10732948B2 (en) * 2017-12-01 2020-08-04 Jpmorgan Chase Bank, N.A. System and method for implementing automated deployment
US11023218B1 (en) * 2017-12-31 2021-06-01 Wells Fargo Bank, N.A. Metadata driven product configuration management
JP6874176B2 (ja) * 2019-03-06 2021-05-19 シチズン時計株式会社 プログラム管理システム、及び、外部機器
US11375043B2 (en) 2019-03-06 2022-06-28 Citizen Watch Co., Ltd. Program management system, external device and terminal device for controlling a program developer's ability to access, publish and manage marketing of a program
CN110795090A (zh) * 2019-11-01 2020-02-14 神州数码融信软件有限公司 软件配置管理体系建设方法及装置
CN111736897B (zh) * 2020-06-16 2023-06-09 建信金融科技有限责任公司 软件开发方法、装置及设备
US11893385B2 (en) 2021-02-17 2024-02-06 Open Weaver Inc. Methods and systems for automated software natural language documentation
US11921763B2 (en) 2021-02-24 2024-03-05 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US11947530B2 (en) 2021-02-24 2024-04-02 Open Weaver Inc. Methods and systems to automatically generate search queries from software documents to validate software component search engines
US11836202B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for dynamic search listing ranking of software components
US11836069B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for assessing functional validation of software components comparing source code and feature documentation
US11960492B2 (en) 2021-02-24 2024-04-16 Open Weaver Inc. Methods and systems for display of search item scores and related information for easier search result selection
US11853745B2 (en) 2021-02-26 2023-12-26 Open Weaver Inc. Methods and systems for automated open source software reuse scoring
EP4365730A1 (en) 2021-06-28 2024-05-08 Hitachi Astemo, Ltd. Software component update system, and software component update method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216636A (ja) * 1992-02-06 1993-08-27 Nec Corp 情報資源管理装置
JP3423098B2 (ja) * 1995-02-17 2003-07-07 富士通株式会社 ソフトウェア資産管理方法およびシステム
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US7987427B1 (en) * 1996-05-10 2011-07-26 Apple Inc. Graphical editor for program files
CA2340472C (en) * 2001-03-12 2004-11-09 Ibm Canada Limited-Ibm Canada Limitee Incremental actions relating to notify and target models
US7418665B2 (en) * 2002-10-16 2008-08-26 Shaun Savage Portable cross platform database accessing method and system
JP2004252719A (ja) * 2003-02-20 2004-09-09 Mitsubishi Electric Corp データ管理装置及びデータ管理方法及びデータ管理プログラム
US20050044531A1 (en) * 2003-06-09 2005-02-24 Erc-Ip, Llc Methods and systems for deploying computer source code
US7913248B1 (en) * 2004-03-26 2011-03-22 Adobe Systems Incorporated System and method for installing one or more programs, and at least a portion of their environment
JP2006079212A (ja) * 2004-09-07 2006-03-23 Sony Global Solutions Kk プログラムの設計管理方法並びにプログラムの設計管理システム、プログラムの設計管理装置、プログラムの設計管理プログラム
US8117293B1 (en) * 2005-01-05 2012-02-14 Smith Micro Software, Inc. Method of receiving, storing, and providing device management parameters and firmware updates to application programs within a mobile device
JP4488227B2 (ja) 2005-09-30 2010-06-23 オムロン株式会社 可変性を有する制御部品のデバッグ方法、及びデバッグ支援装置
US8726267B2 (en) * 2006-03-24 2014-05-13 Red Hat, Inc. Sharing software certification and process metadata
JP2007279883A (ja) 2006-04-04 2007-10-25 Hitachi Ltd ファイル構成管理システム
US8302073B2 (en) * 2006-06-15 2012-10-30 International Business Machines Corporation Moving and copying dependencies along with source code
JP2008165388A (ja) * 2006-12-27 2008-07-17 Jfe Steel Kk プログラム更新管理システム、プログラム更新管理方法、及びコンピュータプログラム
JP2008165497A (ja) * 2006-12-28 2008-07-17 Casio Comput Co Ltd 情報処理装置及びプログラム
US20080209399A1 (en) * 2007-02-27 2008-08-28 Michael Bonnet Methods and systems for tracking and auditing intellectual property in packages of open source software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220075610A1 (en) * 2019-05-16 2022-03-10 Huawei Technologies Co., Ltd. Node selection method and apparatus
US11861341B2 (en) * 2019-05-16 2024-01-02 Huawei Technologies Co., Ltd. Node selection method and apparatus

Also Published As

Publication number Publication date
JP2010033373A (ja) 2010-02-12
WO2010013538A1 (ja) 2010-02-04
US8452742B2 (en) 2013-05-28
US20110055153A1 (en) 2011-03-03
EP2309385A1 (en) 2011-04-13

Similar Documents

Publication Publication Date Title
JP4907610B2 (ja) ソフトウェア構成管理方法およびシステム
CN111602114B (zh) 用于在集成开发环境内提供即时通信信道的***和方法
US20230168886A1 (en) Systems and methods for providing an instant communication channel within integrated development environments
JP4613214B2 (ja) ソフトウェア自動構成装置
US7676792B2 (en) Software component library management system
KR101238541B1 (ko) 메타데이터를 보고 에디트하기 위하여 개별화된 사용자인터페이스를 제공하기 위한 방법 및 시스템
US7853554B2 (en) Method and system for metadata reconciliation in a data warehouse
US11030391B2 (en) Document creation support system
JP2007048009A (ja) 作業支援システム、そのデータベースサーバ、作成管理装置、プログラム
JP2009129067A (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
JP5063465B2 (ja) 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体
JP2007172223A (ja) リポジトリシステム、リポジトリシステムの管理方法、及びそのプログラム
US20030220939A1 (en) Information processing system, information processing method, and information processing program
JP6602994B1 (ja) ドキュメント作成支援システム
WO2020116014A1 (ja) ドキュメント作成支援システム
JP2021039579A (ja) ドキュメント作成支援システム
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
JP2013206275A (ja) ファイル管理装置、及び、プログラム
JP2007287169A (ja) 文書管理装置、文書管理システム、文書管理方法、文書管理プログラムおよび記録媒体
JP2020030791A (ja) ドキュメント作成支援システム
JP2013077177A (ja) 仕様入力支援装置およびプログラム
JP2008176408A (ja) システム設計情報編集支援装置及びプログラム
JP2007249870A (ja) 電子組立手順書システム及び記憶媒体
JP2006113810A (ja) 書誌情報入力支援プログラム
JP2005339115A (ja) コンテンツ情報管理装置、コンテンツ情報管理方法、コンテンツ情報管理プログラム、及びコンテンツ情報管理プログラム記録媒体

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees