(57)【要約】 【課題】  修正の影響を受ける可能性のあるプログラムの確認状況を把握することができるプログラム保存装置、プログラム保存方法、プログラムおよび記録媒体を提供する。【解決手段】  更新管理サーバ１０１の依存関係抽出部３０８は、修正されたプログラムに基づいて動作が変化する可能性のあるプログラムを抽出する。影響データ作成部３０９は、依存関係抽出部３０８が抽出した関数依存関係の抽出結果に基づいて、影響データを作成し、作成した影響データを影響クライアント５０３に送信する。影響データ更新部３１１は、影響クライアント５０３から確認結果を含む確認データを受信すると、確認結果に従い影響データを更新する。連携データ作成部３１２は、確認結果が審議要を示している場合、連携データを作成し、修正クライアント５０２などに送信する。管理クライアント５０５は、進捗データ作成部３１３が作成した進捗データを受信し、表示する。【選択図】      図７
2005266976.tif 000002
【特許請求の範囲】
【請求項１】
プログラムと、そのプログラムを保存する保存者を特定する情報とを関連付けて保存し、他のプログラムを前記保存されたプログラムの修正版のプログラムとしてさらに保存することができる保存手段を有するプログラム保存装置において、
他のプログラムを修正版のプログラムとして保存するときに、前記他のプログラムにより影響を受ける可能性のあるプログラムの部分を前記保存された修正前のプログラムから抽出する抽出手段と、
前記抽出手段により抽出されたプログラムの部分が影響を受ける可能性のあることを前記プログラムの部分を保存した保存者に通知する表示を行なう表示手段とを有し、
前記表示手段は、前記保存した保存者に通知する表示を行なう際に、前記他のプログラムによる影響の確認を要求する旨、および／または、影響の確認結果の通知を要求する旨を表示することを特徴とするプログラム保存装置。
【請求項２】
前記表示手段は、通知された確認結果が審議を要求するものであるときに、前記通知された確認結果を表示することを特徴とする請求項１記載のプログラム保存装置。
【請求項３】
前記プログラム保存装置は、前記影響を受ける可能性のあるプログラムの部分を特定する情報と、前記通知された確認結果の情報とを保存する進捗保存手段と、前記進捗保存手段が保存している情報を表示する進捗表示手段とを有することを特徴とする請求項１または２記載のプログラム保存装置。
【請求項４】
前記プログラム保存装置は、他のプログラムを修正版のプログラムとして保存する前に、他のプログラムにより影響を受ける可能性のあるプログラムの部分を抽出する事前抽出手段と、前記事前抽出手段により抽出された影響を受ける可能性のあるプログラムの部分を特定する情報を表示する影響表示手段とを有することを特徴とする請求項１〜３のいずれかに記載のプログラム保存装置。
【請求項５】
前記抽出手段は、前記他のプログラムと前記保存された修正前のプログラムとを比較して相違する部分を抽出し、抽出した相違部分に基づいて、プログラムの相違により動作が変化する可能性のあるプログラムの部分を、影響を受ける可能性のあるプログラムの部分として抽出することを特徴とする請求項１〜４のいずれかに記載のプログラム保存装置。
【請求項６】
プログラムと、そのプログラムを保存する保存者を特定する情報とを関連付けて保存し、他のプログラムを前記保存されたプログラムの修正版のプログラムとしてさらに保存することができる保存工程を有するプログラム保存方法において、
他のプログラムを修正版のプログラムとして保存するときに、前記他のプログラムにより影響を受ける可能性のあるプログラムの部分を前記保存された修正前のプログラムから抽出する抽出工程と、
前記抽出工程により抽出されたプログラムの部分が影響を受ける可能性のあることを前記プログラムの部分を保存した保存者に通知する表示を行なう表示工程とを有し、
前記表示工程は、前記保存した保存者に通知する表示を行なう際に、前記他のプログラムによる影響の確認を要求する旨、および／または、影響の確認結果の通知を要求する旨を表示することを特徴とするプログラム保存方法。
【請求項７】
コンピュータに請求項６に記載の工程を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムが修正されたことにより影響を受ける可能性のあるプログラムの確認状況を把握することができるプログラム保存装置、プログラム保存方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
大規模なソフトウエアシステムを開発する開発プロジェクトにおいては、複数の開発者が並行してプログラム開発を行なえるようにするために、サーバとクライアントをネットワークで接続したサーバクライアント型のソフトウエア開発支援システムを導入することが多い。サーバは、開発プロジェクトのマスタプログラムの更新管理を行なうためのコンピュータであり、複数のクライアントからの更新要求を処理する必要があり、高性能なコンピュータが用いられる。また、クライアントは、各開発者に割り当てられるコンピュータ、たとえば、ディスクトップ型やノート型のパーソナルコンピュータであり、プログラムの開発や修正作業が行なわれる。
【０００３】
マスタプログラムの管理は、たとえば、複数の開発者が同時に同じファイルを編集することができるＣＶＳ（Concurrent Versions System）に代表される履歴管理システムを用いて行なわれるが、このような履歴管理システムでは、プログラムの修正に伴い影響を受ける他のプログラムを把握することができず、これを改善した装置が提案されている。
【０００４】
たとえば、ソースプログラムが編集されたことにより影響を受ける関数を検索し、検索した関数から修正が必要となる箇所を抽出し、抽出した箇所を関数の修正担当者に通知するプログラム作成編集装置が提案されている（たとえば、特許文献１参照）。
【０００５】
また、要素情報に変更が生じた場合、影響を受ける資産（要素から構成される資産）を特定し、該当する資産を使用中の利用者を特定し、要素情報が変更された旨のメッセージを送信する編集装置がある（たとえば、特許文献２参照）。
【０００６】
【特許文献１】特開平８−９５７７５号公報
【特許文献２】特開平１０−２６９０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来技術の装置は、プログラムの修正（編集あるいは変更）の影響を受ける他のプログラム（要素）の開発者（修正担当者または利用者）にプログラムが修正された旨を通知するが、通知された開発者が、必要な確認作業を行なったのかどうか、あるいは、作業を行なったが作業の結果はうまくいったのかどうかといった作業の進捗状況や作業結果を把握することができないという課題があった。
【０００８】
また、通知された開発者の確認作業において不具合が発生し、不具合の発生したことがプログラムを修正した開発者や影響を受ける可能性のある他のプログラムの開発者に通知されないという課題があった。
【０００９】
また、影響を受ける可能性のあるプログラムの確認作業の進捗状況全体を把握することができないという課題があった。
【００１０】
また、修正したプログラムをマスタプログラムに反映する前に、どのプログラムが影響を受ける可能性があるかを把握することができないという課題があった。
【００１１】
本発明の目的は、修正の影響を受ける可能性のあるプログラムの確認状況を把握することができるプログラム保存装置、プログラム保存方法、プログラムおよび記録媒体を提供することである。
【００１２】
また本発明の目的は、マスタプログラムを更新する前に、プログラムの修正の影響範囲を把握することができるプログラム保存装置、プログラム保存方法、プログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
本発明は、プログラムと、そのプログラムを保存する保存者を特定する情報とを関連付けて保存し、他のプログラムを前記保存されたプログラムの修正版のプログラムとしてさらに保存することができる保存手段を有するプログラム保存装置において、
他のプログラムを修正版のプログラムとして保存するときに、前記他のプログラムにより影響を受ける可能性のあるプログラムの部分を前記保存された修正前のプログラムから抽出する抽出手段と、
前記抽出手段により抽出されたプログラムの部分が影響を受ける可能性のあることを前記プログラムの部分を保存した保存者に通知する表示を行なう表示手段とを有し、
前記表示手段は、前記保存した保存者に通知する表示を行なう際に、前記他のプログラムによる影響の確認を要求する旨、および／または、影響の確認結果の通知を要求する旨を表示することを特徴とするプログラム保存装置である。
【００１４】
また本発明は、前記表示手段は、通知された確認結果が審議を要求するものであるときに、前記通知された確認結果を表示することを特徴とする。
【００１５】
また本発明は、前記プログラム保存装置は、前記影響を受ける可能性のあるプログラムの部分を特定する情報と、前記通知された確認結果の情報とを保存する進捗保存手段と、前記進捗保存手段が保存している情報を表示する進捗表示手段とを有することを特徴とする。
【００１６】
また本発明は、前記プログラム保存装置は、他のプログラムを修正版のプログラムとして保存する前に、他のプログラムにより影響を受ける可能性のあるプログラムの部分を抽出する事前抽出手段と、前記事前抽出手段により抽出された影響を受ける可能性のあるプログラムの部分を特定する情報を表示する影響表示手段とを有することを特徴とする。
【００１７】
また本発明は、前記抽出手段は、前記他のプログラムと前記保存された修正前のプログラムとを比較して相違する部分を抽出し、抽出した相違部分に基づいて、プログラムの相違により動作が変化する可能性のあるプログラムの部分を、影響を受ける可能性のあるプログラムの部分として抽出することを特徴とする。
【００１８】
また本発明は、プログラムと、そのプログラムを保存する保存者を特定する情報とを関連付けて保存し、他のプログラムを前記保存されたプログラムの修正版のプログラムとしてさらに保存することができる保存工程を有するプログラム保存方法において、
他のプログラムを修正版のプログラムとして保存するときに、前記他のプログラムにより影響を受ける可能性のあるプログラムの部分を前記保存された修正前のプログラムから抽出する抽出工程と、
前記抽出工程により抽出されたプログラムの部分が影響を受ける可能性のあることを前記プログラムの部分を保存した保存者に通知する表示を行なう表示工程とを有し、
前記表示工程は、前記保存した保存者に通知する表示を行なう際に、前記他のプログラムによる影響の確認を要求する旨、および／または、影響の確認結果の通知を要求する旨を表示することを特徴とするプログラム保存方法である。
【００１９】
また本発明は、コンピュータに前記記載の工程を実行させるためのプログラムである。
また本発明は、前記プログラムを記録したコンピュータ読取り可能な記録媒体である。
【発明の効果】
【００２０】
本発明によれば、他のプログラムに修正があったことを、影響を受ける可能性のあるプログラムの開発者に表示する際に、修正されたプログラムによる影響を確認するように要求し、また、影響の確認結果を通知するように要求することにより、修正の影響を受ける可能性のあるプログラムの確認状況を把握することができる。
【００２１】
また本発明によれば、通知された確認の結果が、審議を要求するものであるときに、修正されたプログラムの開発者と影響を受ける可能性のあるプログラムの開発者とに、通知された確認結果を表示することにより、影響を受ける可能性のあるプログラムの確認状況を把握することができる。
【００２２】
また本発明によれば、影響を受ける可能性のあるプログラムを特定する情報と、通知された確認結果の情報とを保存して、保存した情報を表示することにより、修正の影響を受ける可能性のあるプログラムの確認状況全体を把握することができる。
【００２３】
また本発明によれば、修正されたプログラムをマスタプログラムに反映する前に、プログラムが修正されたことにより影響を受ける可能性のあるプログラムを抽出するので、マスタプログラムを更新する前に、プログラムの修正の影響範囲を把握することができる。
【００２４】
また本発明によれば、修正前後のプログラムを比較して相違を抽出するので、影響範囲に漏れがなくなり、より正確に影響を受ける可能性のあるプログラムの確認状況を把握することができる。
【００２５】
また本発明によれば、影響を受ける可能性のあるプログラムの開発者に、他のプログラムに修正があったことを表示する際に、修正されたプログラムによる影響を確認するように要求し、また、影響の確認の結果を通知するように要求することにより、修正の影響を受ける可能性のあるプログラムの確認状況を把握することができる。
【００２６】
また本発明によれば、修正の影響を受ける可能性のあるプログラムの確認状況を把握することができる機能を、コンピュータに実行させるためのプログラムとして実現することができる。
【００２７】
また本発明によれば、修正の影響を受ける可能性のあるプログラムの確認状況を把握することができる機能を、コンピュータに実行させるためのプログラムを記録したコンピュータ読取り可能な記録媒体として実現することができる。
【発明を実施するための最良の形態】
【００２８】
図１は、本発明の実施の一形態であるプログラム保存装置１０の構成を示す図である。プログラム保存装置１０は、サーバクライアント型のソフトウエア開発支援システムであり、たとえば、更新管理サーバ１０１と開発クライアント１０２〜１０５を含んで構成される。
【００２９】
更新管理サーバ１０１は、システム全体を制御するコンピュータであり、主に開発プロジェクトのマスタプログラムの更新管理を行なうため、高性能なコンピュータが用いられる。開発クライアント１０２〜１０５は、プログラムの開発を行なう開発者に割り当てられるコンピュータであり、たとえば、ディスクトップ型やノート型のパーソナルコンピュータが用いられ、ネットワーク１１０を介して、更新管理サーバ１０１に接続されている。図１では、４台の開発クライアント１０２〜１０５を記載しているが、開発者の数に見合った数の開発クライアントがネットワーク１１０に接続される。
【００３０】
開発クライアント１０２〜１０５では、各開発者が、プログラムの作成や修正、プログラムのコンパイル、テストデータの作成、プログラムの実行確認、種々の仕様書作成、電子メールの送受信といった作業が行なわれる。開発者は、作成したプログラムや修正したプログラムを、更新管理サーバ１０１で管理されるマスタプログラムに登録する。
【００３１】
ネットワーク１１０は、たとえば、秘密保持のために、企業内で閉じたＬＡＮ（Local 
Area Network）が用いられるが、ソフトウエア開発支援システムの負荷が高い場合は、ソフトウエア開発支援システム専用のＬＡＮが用いられる。
【００３２】
図２は、本発明の実施の一形態で用いられる更新管理サーバ１０１または開発クライアント１０２のハードウエアの構成を示す図である。更新管理サーバ１０１と開発クライアント１０２のハードウエアは、たとえば、コンピュータにより構成され、そのハードウエアの基本的な構成は、同じである。また、他の開発クライアント１０３〜１０５は、開発クライアント１０２と同じ構成である。
【００３３】
しかし、性能面では、管理更新サーバ１０１の方が、高い処理能力を要求されるので、開発クライアント１０２と比べると、たとえば、ＣＰＵ（Central Processing Unit）の処理能力が高い、ＨＤＤ（Hard Disk Drive）の容量が大きく、かつ、アクセス速度が速い、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）の容量が大きい、外付けＨＤＤなどの外部デバイスを多く接続できるなどの差がある。
【００３４】
以下、管理更新サーバ１０１を代表例にして、ハードウエアの構成を説明する。更新管理サーバ１０１は、更新管理サーバ１０１全体を制御および管理するＣＰＵ２０１、基本的な制御のためのプログラムと管理更新サーバとしての機能を有するアプリケーションプログラムと制御に必要なデータが格納されるＲＯＭ２０２、処理のために必要なデータを格納するＲＡＭ２０３、外部から各種情報を入力するための、たとえば、キーボードやマウスといった入力部２０４、外部に対して情報を出力するための、たとえば、ディスプレイといった出力部２０５、入力部２０４と出力部２０５とをＣＰＵ２０１に接続するためのＩ／Ｏ（Input/Output）デバイス２０６、プログラムや各種データなどを保存するためのＨＤＤ２０７、ネットワーク１１０を介して開発クライアント１０２〜１０５などの他の装置とＣＰＵ２０１とを通信のために接続する通信デバイス２０８を含んで構成される。
【００３５】
開発クライアント１０２の場合は、管理更新サーバとしての機能を有するアプリケーションプログラムの代わりに、開発クライアントとしての機能を有するアプリケーションプログラムがＲＯＭ２０２に格納される。開発クライアント１０３〜１０５についても同様に、開発クライアントとしての機能を有するアプリケーションプログラムがＲＯＭ２０２に格納される。
【００３６】
図３は、本発明の実施の一形態である更新管理サーバ１０１の機能の構成を示す図である。更新管理サーバ１０１全体を制御および管理する制御部３０１は、ネットワーク１１０を介して開発クライアント１０２〜１０５や他の装置とＣＰＵ２０１とを通信のために接続する通信部３０２、外部から各種情報を入力するための入力部３０３、外部に対して情報を出力するための出力部３０４、開発クライアント１０２〜１０５などから送信されたプログラムと修正履歴データとを含む更新データをプログラム保存部３０６に保存して管理するプログラム更新管理部３０５、プログラムの修正に関係する開発者とその連絡先を対応付けた修正者リストを予め修正者データ保存部３１５に保存し、また、入力部３０３から入力される指示に従い保存した修正者リストの追加、削除、編集を行なう修正者データ管理部３１４、および影響データ、連携データ、進捗データなどを作成し、管理する影響データ制御部３０７を直接制御する。
【００３７】
なお、修正履歴データ、影響データ、連携データ、進捗データ、確認データなどのデータの詳細については、後述する。
【００３８】
影響データ制御部３０７は、修正されたプログラムに基づいて動作が変化する可能性のあるプログラムを抽出する依存関係抽出部３０８、抽出された依存関係に基づいて影響データを作成し、作成した影響データを影響データ保存部３１０に保存する影響データ作成部３０９、確認が行なわれた開発クライアントから確認結果を含む確認データを受信した後、確認結果に従い影響データを更新する影響データ更新部３１１、確認結果が審議要を示している場合、解決方法を検討するために、連携データを作成する連携データ作成部３１２、および進捗表示を行なう開発クライアントから要求があったときに、進捗データを作成する進捗データ作成部３１３を制御する。
【００３９】
なお、プログラム保存部３０６、影響データ保存部３１０、修正者データ保存部３１５は、ＨＤＤ２０７内に割り当てられた記憶領域である。
【００４０】
図４は、本発明の実施の一形態である開発クライアント１０２の機能の構成を示す図である。開発クライアント１０３〜１０５も開発クライアント１０２と同じ構成であり、開発クライアント１０２を代表例として、機能の構成を説明する。
【００４１】
開発クライアント１０２全体を制御および管理する制御部４０１は、ネットワーク１１０を介して更新管理サーバ１０１、開発クライアント１０３〜１０５や他の装置とＣＰＵ２０１とを通信のために接続する通信部４０２、外部から各種情報を入力するための入力部４０３、外部に対して情報を出力するための出力部４０４、作成したプログラムや修正したプログラムをプログラム保存部４０６に保存して管理するプログラム更新管理部４０５、プログラムの依存関係の抽出と影響データの作成と修正履歴データの作成などを行なう影響データ制御部４０７、および進捗状況を表示する進捗データ管理部４１２を直接制御する。
【００４２】
影響データ制御部４０７は、修正されたプログラムに基づいて動作が変化する可能性のあるプログラムを抽出する依存関係抽出部４０９、抽出された依存関係に基づいて影響データを作成し、作成した影響データを影響データ保存部４０８に保存する影響データ作成部４１０、および修正されたプログラムに関する修正履歴データを作成する修正履歴データ作成部４１１を制御する。
【００４３】
なお、プログラム保存部４０６と影響データ保存部４０８は、ＨＤＤ２０７内に割り当てられた記憶領域である。
【００４４】
図５は、本発明の実施の一形態であるプログラム保存装置１０におけるプログラム修正時の開発クライアントの作業分担を説明するための図である。更新管理サーバ１０１は、図１の更新管理サーバ１０１と同じものであり、修正クライアント５０２は、プログラムの修正を行なう開発者が操作する開発クライアントであり、たとえば、図１における開発クライアント１０２である。
【００４５】
影響クライアント５０３と５０４は、修正クライアント５０２において修正されたプログラムの影響を受ける可能性のあるプログラムの開発者が操作する開発クライアントであり、たとえば、それぞれ図１における開発クライアント１０３と１０４である。管理クライアント５０５は、各開発クライアント、たとえば、修正クライアント５０２、影響クライアント５０３や５０４での作業の進捗状況を確認したい開発者が操作する開発クライアントであり、たとえば、図１における開発クライアント１０５である。
【００４６】
たとえば、関数Ｆｕｎｃ１を修正したときに、関数Ｆｕｎｃ２、Ｆｕｎｃ３、およびＦｕｎｃ４が影響を受ける場合を例にすると、修正クライアント５０２では、関数Ｆｕｎｃ１の修正が行なわれ、影響クライアント５０３では、関数Ｆｕｎｃ１の修正の影響を受ける関数Ｆｕｎｃ２、影響クライアント５０４では、関数Ｆｕｎｃ２の修正の影響を受ける関数Ｆｕｎｃ３およびＦｕｎｃ４の確認作業が行なわれる。管理クライアント５０５では、関数Ｆｕｎｃ１、Ｆｕｎｃ２、Ｆｕｎｃ３、およびＦｕｎｃ４に対する作業の進捗状況を表示する。
【００４７】
図６は、本発明の実施の一形態における修正に関係する関数の依存関係の一例を示す図である。関数の依存関係をツリー構造にて管理することにより、依存の段数を検索することが可能になることを示すためのもので、図５における関数Ｆｕｎｃ１、Ｆｕｎｃ２、Ｆｕｎｃ３、およびＦｕｎｃ４の依存関係を示している。このツリー構造を検索することにより、関数Ｆｕｎｃ２は、関数Ｆｕｎｃ１に対して１段の依存関係にあり、関数Ｆｕｎｃ３およびＦｕｎｃ４は、関数Ｆｕｎｃ２を介して、関数Ｆｕｎｃ１と２段の依存関係にあることがわかる。
【００４８】
図７は、本発明の実施の一形態における更新管理サーバ１０１の動作を示すフローチャートである。更新管理サーバ１０１の電源が投入され、動作可能状態になると、このフローチャートの処理が開始される。
【００４９】
ステップＳ１では、修正クライアント５０２などの開発クライアントから送信されてくる、たとえば、修正されたプログラムと修正履歴データとを含む更新データ、あるいは、更新された確認データや進捗データといったデータを受信したかどうかの監視が行なわれ、データを受信したときは、ステップＳ２に進み、データを受信しなかったときは、ステップＳ１に戻る。
【００５０】
ステップＳ２では、受信したデータが、修正されたプログラムと修正履歴データとから構成される更新データでないときは、ステップＳ８に進み、更新データのときは、ステップＳ３に進む。ステップＳ３では、プログラム更新管理部３０５は、更新データをプログラム保存部３０６に登録する（保存する）。
【００５１】
このとき、プログラム更新管理部３０５は、修正されたプログラムを保存されているプログラム（マスタプログラム）に最新のプログラムとして反映し、また、受信した修正履歴データに、影響データとの関係を識別するための識別子を付加して、プログラム保存部３０６に保存する。修正履歴データは、プログラムの修正に関する情報を含むデータであり、修正クライアント５０２によって作成される。なお、修正前のプログラムは、差分データとして、プログラム保存部３０６に保存される。
【００５２】
ステップＳ４では、依存関係抽出部３０８は、プログラムが修正されたことにより影響を受ける可能性のあるプログラムを抽出する。プログラム保存部３０６に保存されたプログラムに含まれる修正された関数（修正前のプログラムと相違する関数）を抽出し、抽出した関数により動作が変化する可能性のあるプログラム、すなわち、修正された関数に依存する関数を抽出する。抽出方法は、関数呼び出しの関係に着目する静的解析の方法を用いる。たとえば、図５に示した例では、図６に示した関数の依存関係を表したツリー構造を検索することにより、依存関係の有無や依存の段数といった依存関係を把握することができる。
【００５３】
ステップＳ５では、影響データ作成部３０９は、依存関係抽出部３０８が抽出した関数依存関係の抽出結果に基づいて、影響データを作成する。影響データは、更新データに含まれる修正されたプログラムの修正箇所（修正関数）に対する依存の程度を表すデータであり、修正されたプログラムに対応する修正履歴データを特定する修正履歴データ識別子、依存関係抽出部３０８が抽出した関数のリスト、関数の呼び出しの段数（依存の段数）、更新管理サーバ１０１が確認データを特定するための情報である確認データ識別子、およびその確認データ識別子により特定される確認データを備えている。
【００５４】
確認データは、修正されたプログラムの影響を受ける可能性のあるプログラムの開発者が、開発クライアント、たとえば、影響クライアント５０３や５０４において、修正されたプログラムによる影響の有無を確認したかどうかや確認した結果を示すためのデータであり、確認データを特定するための確認データ識別子、修正されたプログラムによる影響の有無を確認したかどうかを示す確認フラグ、確認をした結果が審議を必要としているかどうかを示す結果フラグ、別途管理するテストシートを用いて動作確認を行なったテスト番号を示すテストＮｏ、別途管理するバグＤ／Ｂ（Database）におけるバグレポート番号を示すバグＮｏなどを備えている。
【００５５】
確認データ作成部３０９は、影響関数リストの呼び出しの段数が１の関数、すなわち、修正クライアント５０２で修正されたプログラムにおける修正された関数（修正関数）を直接呼び出す関数に対して、確認データ識別子を設定し、その確認データ識別子に対応する確認データを作成する。たとえば、図５に示した例では、修正関数である関数Ｆｕｎｃ１に対して、関数Ｆｕｎｃ２が修正関数を直接呼び出す関数であり、この関数Ｆｕｎｃ２に対応する確認データを作成する。
【００５６】
ステップＳ６では、確認データ作成部３０９は、作成された影響データを影響データ保存部３１０に保存し、ステップＳ７では、確認データが付加された関数の開発者に対して、影響データを送信した後、ステップＳ１に戻り、データ受信を監視する。修正履歴データが複数存在し、同一関数を複数の開発者で修正している場合は、その関数を修正したすべての開発者に対して、影響データを送信する。修正履歴データに記載されている開発者や確認データが付加された関数の開発者の連絡先は、修正者リストを検索することにより特定し、特定した連絡先に影響データを送信する。
【００５７】
なお、本実施例では、確認データが付加された関数の開発者に対して、影響データを送信し、確認データが付加されていない関数の開発者に対しては、影響データを送信していないが、確認データが付加されていない関数についても確認を要求する場合は、これらの開発者、たとえば、図５に示した例では、関数Ｆｕｎｃ３とＦｕｎｃ４の開発者、つまり、影響クライアント５０４の開発者にも影響データを送信すればよい。
【００５８】
影響データの作成は、受信した修正されたプログラムをプログラム保存部３０６に保存されているマスタプログラムに反映するとき、すなわち、更新管理サーバ１０１が修正クライアント５０２から修正されたプログラムを受信したときに作成してもよいし、更新管理サーバ１０１を操作する開発者が、入力部３０３を介して指定したタイミングで一括して作成してもよい。
【００５９】
ステップＳ８では、受信したデータが、確認データかどうか判断する。確認データでないときは、ステップＳ１３に進み、確認データのときは、ステップＳ９に進む。ステップＳ９では、影響データ更新部３１１は、影響データ保存部３１０に保存されている影響データが備える確認データのうち、受信した確認データと同じ識別子を有する確認データを、受信した確認データに更新し、影響データ保存部３１０に保存する。
【００６０】
ステップＳ１０では、影響データ更新部３１１は、受信した確認データの結果フラグを確認する。結果フラグが、審議不要の状態のときは、修正クライアントにおける修正されたプログラムを用いた確認に不具合がなかったことを示しており、ステップＳ１に戻る。結果フラグが、審議要の状態のときは、修正クライアントにおける修正されたプログラムを用いた確認に不具合があったことを示しており、つまり、他の開発者との連携が必要であることを示しており、ステップＳ１１に進む。
【００６１】
ステップＳ１１では、連携データ作成部３１２は、修正関数に依存する関数の開発者間で、連携して問題に対処する解決方法を検討するための連携データを作成する。連携データは、影響データが備える影響関数リスト、影響する関数の開発者に通知するための通知先リスト（開発者名、あるいは、開発者を特定する情報とメールアドレスなどの連絡先を対応付けたリスト）、結果フラグが審議要であった対応する確認データが有するテストＮｏとバグＮｏ、コメントなどを備えている。
【００６２】
ステップＳ１２では、連携データ作成部３１２は、作成した連携データを連携データの元データである影響データと関連付けて影響データ保存部３１０に保存した後、連携が必要であることを通知するために、連携データの通知先リストに記載されている通知先に作成した連携データを送信した後、ステップＳ１に戻る。
【００６３】
ステップＳ１３では、受信したデータが、管理クライアント５０５から要求された進捗データ要求かどうかを判断する。進捗データ要求でないときは、ステップＳ１６に進み、進捗データ要求のときは、ステップＳ１４に進む。
【００６４】
ステップＳ１４では、進捗データ作成部３１３は、影響データ保存部３１０に保存されている影響データに基づいて進捗データを作成する。進捗データは、確認フラグが確認済である確認データのみを有する影響データと確認データを備えていない影響データのリストである確認済み影響データリスト、確認中の影響データのリストである確認中影響データリスト、結果フラグが審議要の状態であり、連携して問題に対処するための処理中である影響データのリストである連携処理中影響データリストのうち、少なくとも１つを含んで構成される。確認中の影響データとは、確認済み影響データリストおよび連携処理中影響データリストのどちらにも含まれない影響データのことである。
【００６５】
ステップＳ１５では、進捗データ作成部３１３は、通信部３０２を介して、作成した進捗データを進捗データの要求元である管理クライアント５０５に送信した後、ステップＳ１に戻る。
【００６６】
ステップＳ１６では、受信したデータが、修正クライアント５０２から要求されたプログラム送信要求かどうかを判断する。プログラム送信要求でないときは、ステップＳ１に戻り、プログラム送信要求のときは、ステップＳ１７に進む。ステップＳ１７では、プログラム更新管理部３０５は、要求されたプログラムを修正クライアント５０２に送信した後、ステップＳ１に戻る。
【００６７】
図８は、本発明の実施の一形態における修正クライアント５０２の動作を示すフローチャートである。開発クライアントの一端末である修正クライアント５０２には、ローカルなプログラム開発環境が構築されており、電源が投入され、動作可能状態になると、このフローチャートの処理が開始される。なお、ローカルなプログラム開発環境とは、開発者が、修正クライアント５０２内で、プログラムの作成、修正、保存等の開発のために必要な作業を行なうことができる開発環境のことであり、この場合、修正クライアント５０２で作成や修正が行なわれたプログラムは、管理更新サーバ１０１で保存されているプログラムとは独立に、プログラム保存部４０６に保存することができる。
【００６８】
ステップＳ２０では、修正クライアント５０２を操作する開発者からの指示が、プログラムの修正であるかどうかを判断する。プログラムの修正でないときは、データ受信を監視するために、ステップＳ２６へ進み、プログラムの修正の場合は、ステップＳ２１に進む。
【００６９】
ステップＳ２１では、プログラム更新管理部４０５は、入力部４０３を介した開発者からの修正指示に基づいて、プログラム保存部４０６に保存されたプログラムを修正する。ステップＳ２２では、修正履歴データ作成部４１１は、修正されたプログラムを更新管理サーバ１０１に登録するために必要な修正履歴データを作成する。
【００７０】
修正履歴データは、プログラムの修正に関する情報を含むデータであり、修正を行なった開発者を特定する情報、たとえば、開発者名や開発者を特定する番号などの情報、修正した時刻、今回の修正を特定するバージョンや番号などの情報、修正に関する説明や事由等を記したコメント、修正を施したファイル名などを特定する情報などを備えている。
【００７１】
修正を行なった開発者を特定する情報としては、プログラム保存装置１０が機能するソフトウエア開発支援システムにおいて、開発者が修正クライアント５０２などの開発クライアントから担当するプログラムにアクセスするためのユーザ認証に用いられるユーザＩＤ（Identification）を用いてもよいし、修正クライアント５０２でプログラムの修正が行なわれる場合は、修正クライアント５０２を特定する情報を、開発者を特定する情報として用いてもよいし、また、開発者が修正クライアント５０２の入力部４０３を介して入力してもよい。
【００７２】
修正した時刻としては、ソフトウエア開発支援システムであるプログラム保存装置１０において、更新管理サーバ１０１や修正クライアント５０２などが共通に用いるタイマが示す時刻によって、プログラムを修正した時刻（修正クライアント５０２で修正が完了した時刻）、または、プログラムを登録した時刻（更新管理サーバ１０１が管理するプログラム保存部３０６に保存した時刻）を修正した時刻としてもよい。
【００７３】
修正履歴データは、プログラム更新管理部４０５が自動的に作成してもよいし、入力部４０３を介して開発者に入力させてもよい。
【００７４】
ステップＳ２３では、更新管理サーバ１０１にプログラムを登録する前に、修正したプログラムが他のプログラムに影響するかどうかを確認する指示が開発者からあったかどうかを確認する。影響確認の指示があったときは、ステップＳ３０に進み、影響確認の指示がなかったときは、ステップＳ２４に進む。
【００７５】
ステップＳ２４では、修正されたプログラムを更新管理サーバ１０１に登録する指示が開発者からあったかどうかを確認する。なお、更新管理サーバ１０１にプログラムを登録する前に、修正したプログラムが他のプログラムに影響するかどうかを、開発者が指示した場合は、開発者は、作成された影響データを考慮して、登録するかしないかを修正クライアント５０２に指示する。登録する指示がなかったときは、ステップＳ２０に戻り、登録する指示があったときは、ステップＳ２５に進む。
【００７６】
ステップＳ２５では、修正クライアント５０２は、通信部４０２を介して、修正されたプログラムと修正履歴データとから構成される更新データを、更新管理サーバ１０１に送信した後、データ受信を監視するために、ステップＳ２６に進む。
【００７７】
ステップＳ２６では、連携データなどのデータを受信したかどうかを確認する。データを受信しなかったときは、ステップＳ２０に進み、データを受信したときは、ステップＳ２７に進む。ステップＳ２７では、受信したデータが連携データかどうかを確認する。受信したデータが連携データでなかったときは、ステップＳ２６に戻り、受信したデータが連携データであったときは、ステップＳ２８に進む。
【００７８】
ステップＳ２８では、修正クライアント５０２は、通信部４０２を介して受信した連携データを、出力部４０４を介して開発者に表示する。開発者は、表示された連携データを確認し、受信した連携データに対してコメントを追記するときは、入力部４０３を介してコメントを追記する。ステップＳ２９では、修正クライアント５０２は、通信部４０２を介して、連携データの通知先リストに記載されているすべての通知先に更新した連携データを送信した後、ステップＳ２６に戻る。
【００７９】
ステップＳ３０では、修正クライアント５０２内のプログラム保存部４０６に保存されているプログラムが、更新管理サーバ１０１内のプログラム保存部３０６に保存されているプログラム（マスタプログラム）と同じであるかどうかを判断するために、修正クライアント５０２のプログラム更新管理部４０５は、通信部４０２を介して、更新管理サーバ１０１に接続し、修正クライアント５０２内のプログラム保存部４０６に保存されている各プログラムのバージョンと、更新管理サーバ１０１内のプログラム保存部３０６に保存されている対応するプログラムのバージョンとを比較する。この実施の一形態では、プログラムの新旧をバージョンによって比較したが、プログラムの新旧を管理している他の情報、たとえば、修正日時といった情報を用いて比較してもよい。
【００８０】
ステップＳ３１では、更新管理サーバ１０１が保存しているプログラムの方が新しいかどうかを、比較結果により確認する。更新管理サーバ１０１が保存しているプログラムのバージョンの方が新しいときは、ステップＳ３５に進み、新しくないときは、ステップＳ３２に進む。
【００８１】
ステップＳ３２では、依存関係抽出部４０９は、プログラムが修正されたことにより影響を受ける可能性のあるプログラムを抽出する。プログラム保存部４０６に保存されたプログラムに含まれる修正された関数（修正前のプログラムと相違する関数）を抽出し、抽出した関数により動作が変化する可能性のあるプログラム、すなわち、修正された関数に依存する関数を抽出する。修正前のプログラムは、差分データとして、プログラム保存部４０６に保存されている。なお、ステップＳ３５とステップＳ３６で、更新管理サーバ１０１にプログラム送信要求を行い更新管理サーバ１０１からプログラムを受信し、プログラム保存部４０６に一時的に保存した場合は、依存関係抽出部４０９は、一時的に保存したプログラムを用いて、プログラムが修正されたことにより影響を受ける可能性のあるプログラムを抽出する。
【００８２】
抽出方法は、図７に示した更新管理サーバ１０１の依存関係抽出部３０８の抽出方法と同じである。これにより、修されたプログラムを更新管理サーバ１０１のマスタプログラムに反映する前に、修正されたプログラムが他のプログラムに影響を与えるかどうかを確認することができる。
【００８３】
ステップＳ３３では、影響データ作成部４１０は、依存関係抽出部４０９が抽出した関数依存関係の抽出結果に基づいて、影響データを作成する。影響データは、図７に示した更新管理サーバ１０１の影響データ作成部３０９が作成する影響データと同じ様式である。ステップＳ３４では、作成した影響データを、出力部４０４を介して開発者に表示した後、ステップＳ２４に進む。
【００８４】
ステップＳ３５では、修正クライアント５０２は、更新管理サーバ１０１に対して、プログラムの送信要求を行なう。ステップＳ３６では、修正クライアント５０２は、通信部４０２を介して更新管理サーバ１０１からプログラムを受信し、受信したプログラムを一時的にプログラム保存部４０６に保存した後、ステップＳ３２に進む。
【００８５】
なお、本実施の一形態では、更新管理サーバ１０１にプログラムを登録する前に、修正したプログラムが他のプログラムに影響するかどうかの確認を修正クライアント５０２で行なっているが、更新管理サーバ１０１に、修正されたプログラムを送信し、プログラム保存部３０６のプログラムに反映せずに、修正されたプログラムが他のプログラムに影響するかどうかの確認をするように依頼することによって実現してもよい。
【００８６】
図９は、本発明の実施の一形態における影響クライアント５０３の動作を示すフローチャートである。開発クライアントの一端末である影響クライアント５０３には、修正クライアント５０２と同じローカルなプログラム開発環境が構築されており、電源が投入され、動作可能状態になると、このフローチャートの処理が開始される。影響クライアント５０４も影響クライアント５０３と同じ処理が行なわれる。
【００８７】
ステップＳ４０では、更新管理サーバ１０１から送信されてくる、たとえば、影響データ、あるいは、連携データといったデータを受信したかどうかの監視が行なわれ、データを受信しなかったときは、ステップＳ４０に戻り、データを受信したときは、ステップＳ４１に進む。ステップＳ４１では、受信したデータが、影響データかどうかを確認する。受信したデータが影響データでなかったときは、ステップＳ４５に進み、影響データであったときは、ステップＳ４２に進む。
【００８８】
ステップＳ４２では、影響データ制御部４０７は、受信した影響データを影響データ保存部４０８に一時的に保存し、出力部４０４を介して、影響クライアント５０３を操作する開発者に受信した影響データを表示し、同時に、担当するプログラムの動作が変化する可能性のあることおよび動作確認と確認結果の通知が要求されていることを表示する。
【００８９】
ステップＳ４３では、開発者は、入力部４０３を介して、影響データに含まれる確認データの内容を、確認結果に応じて更新することができる。確認データが更新管理サーバ１０１から送信されてきたとき、確認フラグは、未確認を示す状態に初期化されているが、動作確認テストが実施されたときは、確認を行なった開発者により、確認済を示す状態に更新される。動作確認テストが実施され、確認が成功しなかったとき、つまり、修正クライアント５０２における修正に関して審議する必要があるときは、結果フラグは、審議要の状態に更新され、確認が成功したときは、審議不要の状態に更新される。ステップＳ４４では、開発者は、更新した確認データを、通信部４０２を介して更新管理サーバ１０１に送信する。
【００９０】
ステップＳ４５では、通信部４０２を介して受信したデータが連携データかどうかを確認する。受信したデータが連携データでなかったときは、ステップＳ４０に戻り、連携データであったときは、ステップＳ４６に進む。ステップＳ４６では、出力部４０４を介して、受信した連携データを開発者に表示する。開発者は、表示された連携データを確認した後、入力部４０３を介して、連携データに対して改善案を起案する等の問題解決に向けた連携処理のために、連携データのコメントに改善案等を追記する。
【００９１】
ステップＳ４７では、更新した連携データを、通信部４０２を介して、連携データの通知先リストに記述されているすべての開発者に送信した後、データ受信を監視するために、ステップＳ４０に戻る。これにより、プログラム保存装置１０において修正されたプログラムにより影響を受ける可能性のあるプログラムの確認作業で不具合が発生したときには、関係する開発者間で、不具合に対する検討処理が可能になる。
【００９２】
図１０は、本発明の実施の一形態における管理クライアント５０５の動作を示すフローチャートである。開発クライアントの一端末である管理クライアント５０５は、修正クライアント５０２と同じローカルなプログラム開発環境が構築されており、管理クライアント５０５の電源が投入され、動作可能状態になった後、管理クライアント５０５を操作する開発者が、入力部４０３を介してプロジェクトの進捗状況を表示する要求を入力したとき、このフローチャートの処理が開始される。
【００９３】
ステップＳ５０では、管理クライアント５０５の進捗データ管理部４１２は、通信部４０２を介して更新管理サーバ１０１に対して進捗データの送信を要求する進捗データ要求を送信した後、データ受信を監視するために、ステップＳ５１に進む。ステップＳ５１では、管理更新サーバ１０１から送信される進捗データなどのデータを受信したかどうかを確認する。データを受信したときは、ステップＳ５２に進み、データを受信しなかったときは、ステップＳ５１に戻る。
【００９４】
ステップＳ５２では、受信したデータが進捗データかどうかを確認する。受信したデータが進捗データのときは、ステップＳ５３に進み、進捗データでないときは、ステップＳ５１に戻る。ステップＳ５３では、出力部４０４を介して受信した進捗データを表示する。
【００９５】
管理クライアント５０５を操作する開発者は、表示された進捗データを確認することにより、修正されたプログラムの影響の確認作業の進捗状況を確認することができる。これにより、プログラム保存装置１０におけるソフトウエア開発プロジェクト全体のプログラム修正による影響の各開発者の認識状況や確認状況の管理が可能になる。
【００９６】
図１１は、本発明の実施の一形態における修正クライアント５０２で作成された修正履歴データの構成を示す図である。修正履歴データは、修正クライアント５０２により作成され、プログラムの修正に関する情報を含むデータであり、たとえば、６種類の情報から構成される。
【００９７】
６０１は、データの種類を示す情報で、この例では、修正履歴データであることを示す「修正履歴データ」という情報が記載されている。６０２は、プログラムを修正した開発者を特定する情報、たとえば、開発者名や開発者を特定する番号などの情報、６０３は、修正した時刻、６０４は、今回の修正を特定するバージョンや番号などの情報、６０５は、修正に関する説明や事由等を記したコメント、６０６は、修正を施したファイル名などを特定する情報である。この例では、それぞれ、「修正者｜＊＊＊＊」、「時刻｜＊／＊／＊  ＊：＊」、「バージョン｜＊」、「コメント｜＊＊＊＊＊＊＊＊」、「ファイル｜Ｆｉｌｅ１．ｃ」と記載されている。
【００９８】
図１２は、本発明の実施の一形態における更新管理サーバ１０１により更新された修正履歴データの構成を示す図である。更新管理サーバ１０１は、修正クライアント５０２が作成した修正履歴データに、影響データとの関係を識別するための識別子を付加する。
【００９９】
６５１は、付加された識別子、つまり、修正履歴データ識別子を示す情報であり、この例では、「識別子｜ｓ−ｉｄ１」と記載されている。６０１〜６０６の情報は、図１１に示した対応する番号の情報と同じである。
【０１００】
図１３は、本発明の実施の一形態で用いられる影響データの構成を示す図である。影響データは、更新管理サーバ１０１により作成され、修正されたプログラムの修正箇所（修正関数）に対する依存の程度を表すデータであり、たとえば、５種類の情報から構成される。また、影響データは、確認データを含む。
【０１０１】
また、影響データは、修正されたプログラムをマスタプログラムに反映する前に、修正されたプログラムにより影響を受ける可能性のあるプログラムを抽出する場合には、修正クライアント５０２により作成される。
【０１０２】
７０１は、データの種類を示す情報で、この例では、影響データであることを示す「影響データ」という情報が記載されている。７０２は、プログラムを修正する際の修正履歴データを特定する修正履歴データ識別子であり、この例では、「修正履歴データ識別子｜ｓ−ｉｄ１」と記載されている。
【０１０３】
また、７０３は、依存関係抽出部３０８が抽出した関数のリストである影響関数リスト、７０４は、関数の呼び出しの段数（依存の段数）、７０５は、更新管理サーバ１０１が確認データを特定するための番号である確認データ識別子といった情報の種類を示す情報であり、この例では、それぞれ、「影響関数リスト」、「段数」、「確認データ識別子」と記載されている。また、７０３〜７０５の情報の種類に対応する具体的な記載は、７５１〜７５３に、それぞれ、「Ｆｕｎｃ２｜１｜ｃ−ｉｄ１」、「Ｆｕｎｃ３｜２｜−」、「Ｆｕｎｃ４｜２｜−」と記載されており、これらは、「影響関数リスト｜段数｜確認データ識別子」に対応している。
また、影響データは、確認データ識別子により特定される確認データを備えている。
【０１０４】
図１４は、本発明の実施の一形態で用いられる確認データの構成を示す図である。確認データは、修正されたプログラムによる影響の有無が確認されたかどうか、また、確認を行なった結果により審議が必要になったかどうかを表すデータであり、更新管理サーバ１０１により、影響データが作成されるときに、影響データの一部として作成される。
【０１０５】
８０１は、データの種類を示す情報で、この例では、確認データであることを示す「確認データ」という情報が記載されている。８０２は、確認データを特定する識別子、８０３は、修正されたプログラムによる影響の有無を確認したかどうかを示す確認フラグ、８０４は、確認をした結果が審議を必要としているかどうかを示す結果フラグ、８０５は、別途管理するテストシートを用いて動作確認を行なったテスト番号を示すテストＮｏ、８０６は、別途管理するバグＤ／Ｂにおけるバグレポート番号を示すバグＮｏ、８０７は、確認作業や確認結果などに対するコメントである。
【０１０６】
図１５は、本発明の実施の一形態で用いられる連携データの構成を示す図である。連携データは、開発者間で、連携して問題に対する解決方法を検討するためのデータであり、更新管理サーバ１０１が影響クライアント５０３や５０４から、審議要を示す結果フラグを有する確認データを受信したときに、更新管理サーバ１０１により作成される。
【０１０７】
８５１は、データの種類を示す情報で、この例では、連携データであることを示す「連携データ」という情報が記載されている。８５２は、影響データが備える影響関数リストと同じ情報、８５３は、影響する関数の開発者に通知するための通知先リスト（開発者名、あるいは、開発者を特定する情報とメールアドレスなどの連絡先を対応付けたリスト）、８５４と８５５は、それぞれ、結果フラグが審議要であった確認データが有するテストＮｏとバグＮｏ、８５６は、結果フラグが審議要であったときに、関係する開発者により追記されるコメントである。
【０１０８】
図１６は、本発明の実施の一形態で用いられる進捗データの構成を示す図である。進捗データは、管理クライアント５０５が修正されたプログラムの影響の確認作業の進捗状況を表示するために、更新管理サーバ１０１に要求するデータであり、更新管理サーバ１０１により作成される。
【０１０９】
９０１は、データの種類を示す情報で、この例では、進捗データであることを示す「進捗データ」という情報が記載されている。９０２は、確認フラグが確認済である確認データのみを有する影響データと確認データを備えていない影響データのリストである確認済み影響データリスト、９０３は、確認中の影響データのリストである確認中影響データリスト、９０４は、結果フラグが審議要の状態であり、連携して問題に対処するための処理中である影響データのリストである連携処理中影響データリストであり。進捗データは、これらのうち、少なくとも１つを含んで構成される。なお、確認中の影響データとは、確認済み影響データリストおよび連携処理中影響データリストのどちらにも含まれない影響データのことである。
【０１１０】
図１７は、本発明の実施の一形態で用いられる修正者リストの構成を示す図である。修正者リストは、プログラムの開発者とその連絡先を対応付けたリストであり、更新管理サーバ１０１により作成される。
【０１１１】
９５１は、データの種類を示す情報で、この例では、修正者リストであることを示す「修正者リスト」という情報が記載されている。９５２は、開発者名、あるいは、開発者を特定する情報、９５３は、開発者のメールアドレスやメッセンジャーＩＤといったメールやメッセージの送信先を特定するアドレス情報であり、この例では、それぞれ、「修正者」、「連絡先」と記載されている。また、９５２と９５３の情報の種類に対応する具体的な記載は、９６１と９６２に、それぞれ、「Ｎａｍｅ１｜Ｎａｍｅ１＠ｃｏｍｐａｎｙ．ｃｏ．ｊｐ」、「Ｎａｍｅ２｜Ｎａｍｅ２＠ｃｏｍｐａｎｙ．ｃｏ．ｊｐ」と記載されており、これらは、「修正者｜連絡先」に対応している。
【０１１２】
管理更新サーバとしての機能を有するアプリケーションプログラムおよび開発クライアントとしての機能を有するアプリケーションプログラムは、コンピュータで読取り可能な記録媒体に格納されていればよい。本発明の実施の一形態では、記録媒体としては、更新管理サーバ１０１のＲＯＭ２０２および開発クライアント１０２のＲＯＭ２０２であるが、ＣＰＵ２０１で処理が行われるために用いられるメモリ、たとえば、ＲＡＭ２０３が記録媒体であってもよいし、また外部記憶装置としてプログラム読取装置が設けられ、そこに記録媒体を挿入することによって読取り可能となるような記録媒体であってもよい。
【０１１３】
記録媒体に格納されているプログラムは、ＣＰＵ２０１によって実行可能な構成であればよい。あるいは、プログラムを読出し、読出したプログラムを図示されていないプログラム記録エリアにダウンロードして、プログラムを実行する構成でもよい。なお、このダウンロード用のプログラムは、予めＲＯＭ２０２に格納しておく必要がある。
【０１１４】
記録媒体がプログラム保存装置１０と分離可能に構成される場合、記録媒体は、磁気テープやカセットテープなどのテープ系、フレキシブルディスクやハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）／ＭＯ（Magneto Optical Disk）／ＭＤ（Mini Disk）／ＤＶＤ（Digital Versatile Disk）などの光ディスクのディスク系、ＩＣ（Integrated Circuit）カード（メモリカードを含む）／光カードなどのカード系、あるいは、マスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only
Memory）、フラッシュＲＯＭなどによる半導体メモリを含め、固定的にプログラムを記録することができる記録媒体であればよい。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の一形態であるプログラム保存装置１０の構成を示す図である。
【図２】本発明の実施の一形態で用いられる更新管理サーバ１０１または開発クライアント１０２のハードウエアの構成を示す図である。
【図３】本発明の実施の一形態である更新管理サーバ１０１の機能の構成を示す図である。
【図４】本発明の実施の一形態である開発クライアント１０２の機能の構成を示す図である。
【図５】本発明の実施の一形態であるプログラム保存装置１０におけるプログラム修正時の開発クライアントの作業分担を説明するための図である。
【図６】本発明の実施の一形態における修正に関係する関数の依存関係の一例を示す図である。
【図７】本発明の実施の一形態における更新管理サーバ１０１の動作を示すフローチャートである。
【図８】本発明の実施の一形態における修正クライアント５０２の動作を示すフローチャートである。
【図９】本発明の実施の一形態における影響クライアント５０３の動作を示すフローチャートである。
【図１０】本発明の実施の一形態における管理クライアント５０５の動作を示すフローチャートである。
【図１１】本発明の実施の一形態における修正クライアント５０２で作成された修正履歴データの構成を示す図である。
【図１２】本発明の実施の一形態における更新管理サーバ１０１により更新された修正履歴データの構成を示す図である。
【図１３】本発明の実施の一形態で用いられる影響データの構成を示す図である。
【図１４】本発明の実施の一形態で用いられる確認データの構成を示す図である。
【図１５】本発明の実施の一形態で用いられる連携データの構成を示す図である。
【図１６】本発明の実施の一形態で用いられる進捗データの構成を示す図である。
【図１７】本発明の実施の一形態で用いられる修正者リストの構成を示す図である。
【符号の説明】
【０１１６】
１０  プログラム保存装置
１０１  更新管理サーバ
１０２，１０３，１０４，１０５  開発クライアント
１１０  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  入力部
２０５  出力部
２０６  Ｉ／Ｏデバイス
２０７  ＨＤＤ
２０８  通信デバイス
３０１，４０１  制御部
３０２，４０２  通信部
３０３，４０３  入力部
３０４，４０４  出力部
３０５，４０５  プログラム更新管理部
３０６，４０６  プログラム保存部
３０７，４０７  影響データ制御部
３０８，４０９  依存関係抽出部
３０９，４１０  影響データ作成部
３１０，４０８  影響データ保存部
３１１  影響データ更新部
３１２  連携データ作成部
３１３  進捗データ作成部
３１４  修正者データ管理部
３１５  修正者データ保存部
４１１  修正履歴データ作成部
４１２  進捗データ管理部
５０２  修正クライアント
５０３，５０４  影響クライアント
５０５  管理クライアント
【図１】
2005266976.tif 000003
【図２】
2005266976.tif 000004
【図３】
2005266976.tif 000005
【図４】
2005266976.tif 000006
【図５】
2005266976.tif 000007
【図６】
2005266976.tif 000008
【図７】
2005266976.tif 000009
【図８】
2005266976.tif 000010
【図９】
2005266976.tif 000011
【図１０】
2005266976.tif 000012
【図１１】
2005266976.tif 000013
【図１２】
2005266976.tif 000014
【図１３】
2005266976.tif 000015
【図１４】
2005266976.tif 000016
【図１５】
2005266976.tif 000017
【図１６】
2005266976.tif 000018
【図１７】
2005266976.tif 000019