(57)【要約】【課題】プログラムのソースコードの版管理において、ファイルよりも小さいブロックを更新の最小単位とし、自動的に更新対象とる範囲を特定する。【解決手段】複数のソースコードファイルを記憶するソースコード記憶部５と、複数のソースコードファイル間の関連を示す情報を記憶する構成管理ＤＢ３と、各ソースコードファイル内のソースコードの論理構造を解析するソースコード解析部１１と、解析結果に基づいてＸＭＬファイルを生成するＸＭＬ生成部１３と、ソースコードファイルよりも小さい更新単位である関数の中のうち、更新対象関数を更新するときの影響範囲を、構成管理ＤＢ３を参照して特定する影響範囲特定部２３と、更新対象関数のＸＭＬブロック特定し、排他制御を行って更新対象関数のＸＭＬブロックを更新するロックマネージャ２５と、を備える。【選択図】図１
2008117340.tif 000002
【特許請求の範囲】
【請求項１】
複数のソースコードファイルを記憶するソースコード記憶手段と、
前記複数のソースコードファイル間の関連を示す情報を記憶する関連情報記憶手段と、
前記複数のソースコードファイルのそれぞれについて、各ソースコードファイル内のソースコードの論理構造を解析する解析手段と、
前記ソースコードファイルよりも小さい更新単位のソースコードブロックの中から、更新対象ブロックの指定を受け付ける手段と、
前記ソースコードファイル内の、前記更新対象ブロックのソースコードを、前記解析手段による解析結果に基づいて特定するとともに、前記関連情報記憶手段に記憶されている関連情報に基づいて、前記更新対象ブロックを更新するときの影響範囲を特定し、排他制御を行って前記更新対象ブロックのソースコードを更新する更新手段と、を備えるプログラムのソースコード管理システム。
【請求項２】
前記解析手段は、各ソースコードファイル内のソースコードの論理構造を木構造化するものであり、
前記更新単位のソースコードブロックは、前記木構造に含まれるあるノードを基準ノードとしたときに、当該基準ノード及び基準ノードの子孫のノードにより特定される範囲のソースコードブロックであることを特徴とする請求項１記載のプログラムのソースコード管理システム。
【請求項３】
前記解析手段による解析により得られた前記木構造に基づいて、前記ソースコードをＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）化して、ＸＭＬファイルを生成するＸＭＬ化手段と、
前記ＸＭＬ化手段により生成されたＸＭＬファイルを記憶するＸＭＬ記憶手段と、をさらに備え、
前記更新手段は、
前記ＸＭＬ記憶手段に記憶されているＸＭＬファイルの、前記更新対象ブロックに対応するＸＭＬブロックを更新するＸＭＬ更新手段と、
前記更新されたＸＭＬブロックに基づいて、前記ソースコードファイル記憶手段に記憶されているソースコードファイルの前記更新対象ブロックのソースコードを更新するソースコード更新手段とを備えることを特徴とする請求項１記載のプログラムのソースコード管理システム。
【請求項４】
前記関連情報は、前記更新単位のソースコードブロック間での呼出関係を含むことを特徴とする請求項１記載のプログラムのソースコード管理システム。
【請求項５】
前記関連情報は、前記更新単位のソースコードブロック間での継承関係を含むことを特徴とする請求項１記載のプログラムのソースコード管理システム。
【請求項６】
前記更新単位のソースコードブロックは関数であることを特徴とする請求項１記載のプログラムのソースコード管理システム。
【請求項７】
複数のソースコードファイルのそれぞれについて、各ソースコードファイル内のソースコードの論理構造を解析するステップと、
前記ソースコードファイルよりも小さい更新単位のソースコードブロックの中から、更新対象ブロックの指定を受け付けるステップと、
前記ソースコードファイル内の、前記更新対象ブロックのソースコードを、前記解析手段による解析結果に基づいて特定するとともに、前記複数のソースコードファイル間の関連を示す関連情報に基づいて、前記更新対象ブロックを更新するときの影響範囲を特定するステップと、
前記影響範囲を排他制御して、前記更新対象ブロックのソースコードを更新するステップと、を有するプログラムのソースコードの更新方法。
【請求項８】
プログラムのソースコードを更新するためのコンピュータプログラムであって、
複数のソースコードファイルのそれぞれについて、各ソースコードファイル内のソースコードの論理構造を解析するステップと、
前記ソースコードファイルよりも小さい更新単位のソースコードブロックの中から、更新対象ブロックの指定を受け付けるステップと、
前記ソースコードファイル内の、前記更新対象ブロックのソースコードを、前記解析手段による解析結果に基づいて特定するとともに、前記複数のソースコードファイル間の関連を示す関連情報に基づいて、前記更新対象ブロックを更新するときの影響範囲を特定するステップと、
前記影響範囲を排他制御して、前記更新対象ブロックのソースコードを更新するステップと、をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのソースコードの版管理を行うための技術に関し、特にファイルよりも小さいブロックを更新単位とする技術に関する。
【背景技術】
【０００２】
コンピュータシステムの開発工程において、プログラムのソースコードは何度となく修正される。従って、プログラムの品質を管理するために、ソースコードの版管理を行う必要がある。また、大規模なシステム開発になればなるほど、プログラムの数が多くなり、それに伴って開発に関与する開発者の数も多くなり、そのためにプログラムの版管理が難しくなる。
【０００３】
そこで、従来からプログラムの版管理のためのシステムが知られていて、例えば、特許文献１，２に記載されている。
【０００４】
また、ロボットや工作機械などの組込型ソフトの版管理を行うシステムが、特許文献３に記載されている。
【特許文献１】特開２００２−２９７３９３号公報
【特許文献２】特開２００１−１６６９２３号公報
【特許文献３】特開２００５−１６５６９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１，２では、更新の最小単位は「モジュール」となっているが、実質的にはファイルと同等である。つまり、特許文献１，２では、排他制御を行うためにロックをかける最小単位がファイルであるから、一つのソースコードファイルは、一人の開発者にだけ更新権限が与えられる。このため、一つのソースコードファイルの中にある複数の箇所をそれぞれ別々の開発者が同時に更新することはできない。開発工程のピーク時には、迅速に開発を終わらせるべく、多数の開発者が投入されるので、上記のような開発者同士の衝突が頻繁に起こる。このような衝突が回避できれば開発をさらに迅速に進めることができるようになる。
【０００６】
特許文献３では、部分ソースをロックすることが開示されているが、開発者がソースコードを目視で確認して、ロックする範囲を指定しなければならない。
【０００７】
そこで、本発明の目的は、プログラムのソースコードの版管理において、ファイルよりも小さいブロックを更新の最小単位とし、自動的に更新対象範囲を特定できるようにすることである。
【課題を解決するための手段】
【０００８】
本発明の一実施態様に従うプログラムのソースコード管理システムは、複数のソースコードファイルを記憶するソースコード記憶手段と、前記複数のソースコードファイル間の関連を示す情報を記憶する関連情報記憶手段と、前記複数のソースコードファイルのそれぞれについて、各ソースコードファイル内のソースコードの論理構造を解析する解析手段と、前記ソースコードファイルよりも小さい更新単位のソースコードブロックの中から、更新対象ブロックの指定を受け付ける手段と、前記ソースコードファイル内の、前記更新対象ブロックのソースコードを、前記解析手段による解析結果に基づいて特定するとともに、前記関連情報記憶手段に記憶されている関連情報に基づいて、前記更新対象ブロックを更新するときの影響範囲を特定し、排他制御を行って前記更新対象ブロックのソースコードを更新する更新手段と、を備える。
【０００９】
好適な実施形態では、前記解析手段は、各ソースコードファイル内のソースコードの論理構造を木構造化するものであり、前記更新単位のソースコードブロックは、前記木構造に含まれるあるノードを基準ノードとしたときに、当該基準ノード及び基準ノードの子孫のノードにより特定される範囲のソースコードブロックであってもよい。
【００１０】
好適な実施形態では、前記解析手段による解析により得られた前記木構造に基づいて、前記ソースコードをＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）化して、ＸＭＬファイルを生成するＸＭＬ化手段と、前記ＸＭＬ化手段により生成されたＸＭＬファイルを記憶するＸＭＬ記憶手段と、をさらに備えていてもよい。さらに、前記更新手段は、前記ＸＭＬ記憶手段に記憶されているＸＭＬファイルの、前記更新対象ブロックに対応するＸＭＬブロックを更新するＸＭＬ更新手段と、前記更新されたＸＭＬブロックに基づいて、前記ソースコードファイル記憶手段に記憶されているソースコードファイルの前記更新対象ブロックのソースコードを更新するソースコード更新手段とを備えていてもよい。
【００１１】
好適な実施形態では、前記関連情報は、前記更新単位のソースコードブロック間での呼出関係を含んでいてもよい。
【００１２】
好適な実施形態では、前記関連情報は、前記更新単位のソースコードブロック間での継承関係を含んでいてもよい。
【００１３】
好適な実施形態では、前記更新単位のソースコードブロックは関数であってもよい。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施形態に係るプログラム開発支援システムについて、図面を参照して説明する。
【００１５】
図１は、本実施形態に係るプログラム開発支援システム１の構成図である。
【００１６】
プログラム開発支援システム１は、例えば汎用的なコンピュータシステムにより構成され、以下に説明する本システム１内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１７】
図１に示すように、プログラム開発支援システム１は、複数のソースコードファイルを記憶したソースコード記憶部５と、ソースコード記憶部５のソースコードを解析するソースコード解析部１１と、ソースコード解析部１１の解析結果に基づいてＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルを生成するＸＭＬ生成部１３と、ＸＭＬファイルを記憶する版管理データベース４と、版管理データベース４のＸＭＬファイルに基づいてソースコードを更新するソースコード更新部１５と、ソースコードファイル間の関連を示す情報を記憶する構成管理データベース３と、ＸＭＬファイルの修正、変更を行うエディタ２１と、ソースコードを変更する場合の影響範囲を特定する影響範囲特定部２３と、版管理データベース４に記憶されているＸＭＬファイルの更新について、排他制御を行うロック管理部２５とを備える。
【００１８】
ソースコード記憶部５には、プログラムのソースコードが記憶されている。ここでは、ソースコードは、所定の単位に分割され、それぞれがファイルとしてソースコード記憶部５に記憶されている。例えば、本実施形態ではクラス単位に分割されたソースコードファイルが記憶されている。
【００１９】
図２は、ソースコード記憶部５に格納されているソースコードファイル５１〜５５の例を示す。すなわち、同図では、口座管理を行う口座クラスのＡｃｃｏｕｎｔ．ｖｂのソースコードファイル５１と、口座クラスのサブクラスである特定口座クラスのＭａｎａｇｅｄＡｃｃｏｕｎｔ．ｖｂ５２と、同じく口座クラスのサブクラスである優遇口座クラスのＰｒｉｍｅＡｃｃｏｕｎｔ．ｖｂ５３と、運用クラスのＳｕｂ＿１．ｖｂのソースコードファイル５４と、計算クラスのＳｕｂ＿２．ｖｂのソースコードファイル５５を例示している。なお、同図に示したソースコードファイル５１〜５５は、内容を理解しやすいように、疑似的なプログラミング言語で記述してある。
【００２０】
ソースコード解析部１１は、ソースコード記憶部５に記憶されているソースコードファイルを取得し、ファイル単位にソースコードの内容を解析する。例えば、ソースコード解析部１１は、各ソースコードを記述しているプログラミング言語の文法に従って、その論理構造を解析する。本実施形態では、その論理構造の解析結果を、例えば、図３に示すような木構造で表現する。
【００２１】
図３には、図２に示すソースコードファイルのうち、Ａｃｃｏｕｎｔ．ｖｂのソースコードファイル５１、運用クラスのＳｕｂ＿１．ｖｂのソースコードファイル５４、及び計算クラスのＳｕｂ＿２．ｖｂのソースコードファイル５５のそれぞれのＢＴｒｅｅ６１、６４，６５を示す。ここでは、便宜上、ソースコードにはないＲＯＯＴノードを設け、これを基準にして、ソースコードで記述されている内容の論理構造をＢＴｒｅｅで表現している。
【００２２】
例えば同図Ａに示すＡｃｃｏｕｎｔ．ｖｂのＢＴｒｅｅ６１には、関数「払戻」について、関数の宣言部のノード６１１及び関数の実体部分を構成する構成要件ノード６１２〜６１７が設けられている。これらのノードは、宣言部ノード６１１が親ノード、各構成要件ノード６１２〜６１７がその子孫のノードとなっている。構成要件ノード６１２〜６１７には、ＩＦ文を示すノード６１２を親ノードとし、その子ノードには、ＩＦ文の条件を示すノード６１３，６１４、孫ノードには各条件に合致したときに実行する処理のノード６１５，６１６が含まれている。また、関数の宣言部のノード６１１の子ノードには、さらに、関数の返却値のノード６１７もある。
【００２３】
例えば、クラス単位のソースコードファイルの中で、関数の部分だけ更新したいときは、関数に関するソースコードの範囲を特定する必要がある。ＢＴｒｅｅを用いると、以下のようにして対象となる関数の範囲を容易に特定できる。例えば、図３ＡのＢＴｒｅｅ６１において、更新対象の関数に関するすべてのノード、つまり、関数の宣言部ノード６１１及びその子孫のノード６１２〜６１７が、その関数に関するソースコードの範囲に対応する。
【００２４】
従って、ソースコードをファイル単位ではなく、さらに小さい関数単位などのソースコードブロックの単位で更新するときは、ソースコードファイル全体をロックする必要はなく、上述のようにＢＴｒｅｅにより関数の範囲を特定し、これに対応する範囲のソースコードブロックをロックすればよい。本実施形態では、後述するように、ＢＴｒｅｅの論理構造をそのまま保持できるＸＭＬに変換した後に、ＸＭＬを用いて更新対象のソースコードブロックの範囲を特定する。
【００２５】
ＸＭＬ生成部１３は、ソースコード解析部１１の解析結果に基づいて、ソースコードに対応するＸＭＬファイルを生成する。例えば、本実施形態では、上述したＢＴｒｅｅを、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）を用いてＸＭＬに変換する。ＸＭＬは、ＢＴｒｅｅが有する階層的な論理構造をそのまま保持することができる。生成されたＸＭＬファイルは、版管理データベース４に格納される。
【００２６】
図４は、一例として、Ａｃｃｏｕｎｔ．ｖｂのＢＴｒｅｅ６１を変換したＸＭＬファイル７１を示す。例えば、同図に示すように、関数「払戻」は、＜ｆｕｎｃｔｉｏｎ＞７１１と＜／ｆｕｎｃｔｉｏｎ＞７１２により挟まれる範囲に、ＢＴｒｅｅ６１におけるノード６１１〜６１７のすべてが含まれている。
【００２７】
なお、ソースコードファイルとＸＭＬファイルは、一対一に対応していてもよいし、一つのソースコードファイルを複数のＸＭＬファイルに分けてもよい。
【００２８】
図１を参照すると、ソースコード更新部１５は、版管理データベース４に格納されているＸＭＬファイルに基づいて、ソースコード記憶部５に格納されているソースコードファイルを更新する。例えば、後述するように、ユーザによってＸＭＬが変更されたときに、その更新後のＸＭＬファイルに基づいて、変更内容をソースコードファイルに反映させる。
【００２９】
構成管理データベース３は、ソースコード記憶部５に格納されている複数のソースコードファイル間の関連を示す情報を記憶する。関連情報には、例えば、あるソースコードファイルから他のソースコードファイルの関数を呼び出している場合の呼出情報や、クラス間の継承関係などの情報を含む。これらの関連情報は、ソースコードファイルを解析して、予め構成管理データベース３に格納されている。
【００３０】
構成管理データベース３のデータ構造の一例を図５及び図６に示す。本実施形態では、構成管理データベース３には、関数表３１と、引数表３２と、呼出表３３と、継承表３４とを含む。
【００３１】
図５Ａに示すように、関数表３１は、データ項目として、関数が属しているクラス名３１１と、その関数名３１２と、その関数の戻り値の型３１３と、クラス間の継承関係を識別する継承ＩＤ３１４と、その関数の引数を識別する引数ＩＤ３１５、その関数が他のクラスの関数を呼び出しているときは、呼出関係を識別する呼出ＩＤ３１６と、その関数がロックされているか否かを示すロックフラグ３１７とを含む。
【００３２】
図５Ｂに示すように、引数表３２は、データ項目として、引数ＩＤ３２１と、引数名３２２と、引数型３２３と、引数の要否３２４とを含む。
【００３３】
図６Ａに示すように、呼出表３３は、データ項目として、呼出ＩＤ３３１と、呼出先のソースコードファイルのファイル名３３２と、呼出先のクラス名３３３と、呼び出される関数名３３４とを含む。
【００３４】
図６Ｂに示すように、継承表３４は、データ項目として、継承ＩＤ３４１と、継承元（親クラス）のソースコードファイルのファイル名３４２と、継承元（親クラス）のクラス名３４３とを含む。
【００３５】
図５及び図６の例では、関数表３１に示す、「特定口座」の関数「払戻」は、継承ＩＤ３１４が「ｘ００１」であり、継承表３３に示すファイル名「Ａｃｃｏｕｎｔ．ｖｂ」の「口座」クラスを継承するものであることがわかる。また、「特定口座」の関数「払戻」は、引数ＩＤ３１５が「ｙ００１」であり、引数表３２により引数が「ａｍｏｕｎｔ」及び「ｉ＿ｒａｔｅ」であることがわかる。さらに、「特定口座」の関数「払戻」は、呼出ＩＤ３１６が「ｚ００１」であるので、呼出表３３に示すファイル名「Ｓｕｂ＿２．ｖｂ」の「計算」クラスの関数「税金」を呼び出していることがわかる。
【００３６】
この結果、「特定口座」の関数「払戻」について変更する場合は、継承している親クラスである「口座」クラスの関数「払戻」及び呼び出している「計算」クラスの関数「税金」の影響を受ける場合があることがわかる。従って、「特定口座」の関数「払戻」のみならず、「口座」クラスの関数「払戻」及び「計算」クラスの関数「税金」を含む範囲が、「特定口座」の関数「払戻」を更新する場合の関連範囲となる。
【００３７】
改めて図１を参照すると、版管理データベース４は、ＸＭＬ生成部１３が生成したＸＭＬファイルが記憶される。
【００３８】
エディタ２１は、ユーザがソースコードファイルを更新するために利用される。本実施形態では、ソースコードファイルよりも小さいソースコードブロックを最小の更新単位としているので、ユーザは、更新を希望するソースコードブロックを特定すると、後述する要領で、エディタ２１でそのソースコードブロックの編集が可能となる。なお、本実施形態では、最小の更新単位を関数とするので、ユーザが関数名などで更新を希望する関数を特定する。
【００３９】
影響範囲特定部２３は、エディタ２１から更新対象のソースコードブロックの通知を受け付ける。さらに、影響範囲特定部２３は、構成管理データベース３を参照して、この更新対象のソースコードブロックを更新した場合に、影響が及ぶ範囲を特定する。例えば、本実施形態では、影響範囲特定部２３は、更新対象の関数名の通知を受け、構成管理データベース３の各表３１〜３４で、この関数と関連づけられている他の関数を特定し、ここで特定された関数を影響範囲とする。
【００４０】
ロック管理部２５は、ソースコードファイルを更新するための排他制御を行う。本実施形態では、ユーザは、ソースコードファイルを直接更新するのではなく、版管理データベース４に格納されているＸＭＬファイルを更新すると、ソースコード更新部１５によってＸＭＬファイルに基づいてソースコードファイルが更新される。従って、ロック管理部２５は、直接的には、ＸＭＬファイルに対する排他制御を行う。
【００４１】
ロック管理部２５は、例えば、影響範囲特定部２３から更新対象の関数を更新するときの影響範囲について通知を受けると、その影響範囲について、構成管理データベース３の関数表３１のロックフラグ３１７にフラグを立ててロックする。影響範囲をロックした後、ロック管理部２５は、版管理データベース４から、更新対象関数のＸＭＬをチェックアウトする。ロック管理部２５は、チェックアウトした関数のＭＸＬをエディタ２１へ送り、ユーザによる編集を可能とする。
【００４２】
ユーザがＸＭＬを編集した後、ロック管理部２５は、版管理データベース４の更新対象の関数が含まれるＸＭＬファイル中の、その関数の部分のＸＭＬを更新する。つまり、更新対象の関数がＸＭＬファイルの一部だけであるときは、そのＸＭＬファイル全体を更新するのではなく、そのＸＭＬファイルの中の関数の部分のみを更新する。更新対象の関数のＸＭＬが更新されると、ロック管理部２５は、関数表３１のロックフラグ３１７に立てたフラグを取り消し、ロックを解除する。
【００４３】
次に、図７及び図８に示すフローチャートを用いて、上述のような構成を備えるプログラム開発支援システムの処理手順を説明する。
【００４４】
まず、図７は、版管理データベース４への登録手順を示すフローチャートである。
【００４５】
ソースコード解析部１１が、ソースコード記憶部５からソースコードファイルを取得し、そのファイル内のソースコードを解析してＢＴｒｅｅを生成する（Ｓ１１、Ｓ１２）。次に、ＸＭＬ生成部１３が、ステップＳ１１で生成されたＢＴｒｅｅをＸＭＬに変換して、ＸＭＬファイルを生成し、版管理データベースに格納する（Ｓ１３、Ｓ１４）。そして、上記処理をすべてのソースコードファイルについて行う（Ｓ１５）。
【００４６】
これにより、ソースコードファイルがプログラミング言語に依存せずに、論理構造を保持した汎用性の高いＸＭＬファイルに変換される。
【００４７】
次に、図８は、ソースコードを更新するために、版管理データベース４に登録されているＸＭＬファイルを、排他制御を行いながら更新する手順を示すフローチャートである。
【００４８】
まず、ユーザが、更新対象の関数を指定する（Ｓ２１）。次に、影響範囲特定部２３は、この更新対象関数を更新することにより、影響が及ぶ可能性がある範囲を特定する（ＳＳ２２）。
【００４９】
ロック管理部２５は、この影響範囲全体について、ロックをかけることが可能であるか否かを判定する（Ｓ２３）。例えば、既に別のユーザによってロックされているような場合など、ロックすることができないときは（Ｓ２３：Ｎｏ）、処理を終了する。一方、ロック可能なときは（Ｓ２３：Ｙｅｓ）、ロック管理部２５は、影響範囲をロックする（Ｓ２４）。そして、ロック管理部２５は、更新対象関数に対応するＸＭＬブロックを、版管理データベース４から取得する（Ｓ２５）。ユーザは、この更新対象関数に対応するＸＭＬブロックを、エディタ２１を用いて編集する（Ｓ２６）。エディタ２１での編集が完了すると、版管理データベース４の更新対象関数のＸＭＬブロックを更新する（Ｓ２７）。そして、ソースコード更新部１５が、更新されたＸＭＬブロックに基づいて、ソースコード記憶部５の更新対象関数のソースコードブロックを更新して、変更を反映させる（Ｓ２８）。
【００５０】
これにより、ファイルよりも小さいブロックを単位として、排他制御を行ってソースコードを更新することができる。この結果、プログラムの開発工程において、多数の開発者が参加する場合でも、より多くの開発者が同時にソースコードの更新を行うことができるようになる。
【００５１】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００５２】
例えば、上述した実施形態では、ＢＴｒｅｅをＸＭＬに変換しているが、必ずしもＸＭＬに変換する必要はない。つまり、ＢＴｒｅｅの階層的な論理構造を保持できる他の表現形式に変換してもよいし、あるいは、ＢＴｒｅｅの構造をそのままデータベースなどに保持して、ＸＭＬの代わりにこれらを参照するようにしてもよい。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施形態に係るプログラム開発支援システム１の構成図である。
【図２】ソースコード記憶部５に格納されているソースコードファイルの例を示す。
【図３】ソースコードファイルの論理構造をＢＴｒｅｅで示したものである。
【図４】ＸＭＬファイルの一例を示す。
【図５】構成管理データベース３の関数表３１及び引数表３２の例を示す。
【図６】構成管理データベース３の呼出表３３及び継承表３４の例を示す。
【図７】版管理データベース４への登録手順を示すフローチャートである。
【図８】ＸＭＬファイルの更新手順を示すフローチャートである。
【符号の説明】
【００５４】
１    プログラム開発支援システム
３    構成管理データベース
４    版管理データベース
５    ソースコード記憶部
１１    ソースコード解析部
１３    ＸＭＬ生成部
１５    ソースコード更新部
２１    エディタ
２３    影響範囲特定部
２５    ロック管理部
３１    関数表
３２    引数表
３３    継承表
３３    呼出表
３４    継承表
【図１】
2008117340.tif 000003
【図２】
2008117340.tif 000004
【図３】
2008117340.tif 000005
【図４】
2008117340.tif 000006
【図５】
2008117340.tif 000007
【図６】
2008117340.tif 000008
【図７】
2008117340.tif 000009
【図８】
2008117340.tif 000010