(57)【要約】      （修正有）【課題】改変版のプログラムが完成した後、オリジナルのプログラムの検討時に作った派生の要件の内容が反映されていない要件が記載された文書を、派生の要件の内容が反映された最新版に修正する。【解決手段】改変版毎に、オリジナルのプログラムを改変した派生のプログラムを管理するプログラム管理装置がオリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書と、改変版毎に、改変により変更された差分の内容が記載されている差分情報を含んだ要件文書を管理し、プログラムの改変版を選択する改変版情報を受け付け、オリジナルのプログラムの要件文書から、改変版情報と対応している派生のプログラムの要件文書までを抽出し、抽出したオリジナルのプログラムの要件文書に記載されている要件の内容を抽出した派生のプログラムの要件文書に記載されている差分情報に修正したオリジナルのプログラムに対応する要件文書を新規に作成する。【選択図】なし【特許請求の範囲】
【請求項１】
改変版毎に、オリジナルのプログラムを改変した派生のプログラムを管理するプログラム管理装置であって、
オリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書と、
改変版毎に、前記オリジナルのプログラムの機能を定義した要件の内容から改変により変更された差分の内容が記載されている差分情報を含む要件の内容の要件文書を管理する要件文書管理手段と、
プログラムの改変版を選択する改変版情報を受け付ける改変版情報受付手段と、
前記要件文書管理手段を用いて、オリジナルのプログラムの要件文書から、前記改変版情報と対応している派生のプログラムの要件文書までを抽出する要件文書抽出手段と、
前記抽出したオリジナルのプログラムの要件文書に記載されている前記要件の内容を前記抽出した派生のプログラムの要件文書に記載されている前記差分情報を含む要件の内容に修正したオリジナルのプログラムに対応する要件文書を新規に作成する要件文書作成手段と、
を備えることを特徴とするプログラム管理装置。
【請求項２】
業務毎に異なるプログラムを管理する第２の要件文書管理手段と、
プログラムを選択するプログラム情報を受け付けるプログラム情報受付手段と、
前記第２の要件文書管理手段を用いて、前記受け付けたプログラム情報に対応する業務プログラムを抽出する業務プログラム抽出手段と、
前記要件文書作成手段が、前記抽出された業務プログラムに対応する要件文書を新規に作成することを特徴とする請求項１に記載のプログラム管理装置。
【請求項３】
前記要件文書は、前記プログラムが完成する前に前記プログラムの機能を定義した要件の内容が記載された文書ファイルであり、
前記プログラムは、前記プログラムが完成した後に前記プログラムの機能を実行するソースコードが記載されたテキストファイルであることを特徴とする請求項１または請求項２に記載のプログラム管理装置。
【請求項４】
前記プログラムが完成する前に前記プログラムの機能を示す要件の内容が記載された文書ファイルは、要件定義書、基本設計書、詳細設計書、プログラム設計書の内いずれかに含まれること特徴とする請求項３に記載のプログラム管理装置。
【請求項５】
改変版毎に、オリジナルのプログラムを改変した派生のプログラムを管理し、
オリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書と、
改変版毎に、前記オリジナルのプログラムの機能を定義した要件の内容から改変により変更された差分の内容が記載されている差分情報を含む要件の内容の要件文書を管理する要件文書管理手段と、を備えるプログラム管理装置の制御方法であって、
前記プログラム管理装置の改変版情報受付手段が、プログラムの改変版を選択する改変版情報を受け付ける改変版情報受付工程と、
前記プログラム管理装置の要件文書抽出手段が、前記要件文書管理手段を用いて、オリジナルのプログラムの要件文書から、前記改変版情報と対応している派生のプログラムの要件文書までを抽出する要件文書抽出工程と、
前記プログラム管理装置の要件文書作成手段が、前記抽出したオリジナルのプログラムの要件文書に記載されている前記要件の内容を前記抽出した派生のプログラムの要件文書に記載されている前記差分情報を含む要件の内容に修正したオリジナルのプログラムに対応する要件文書を新規に作成する要件文書作成工程と、
を含むことを特徴とする制御方法。
【請求項６】
改変版毎に、オリジナルのプログラムを改変した派生のプログラムを管理するプログラム管理装置で読み取り実行可能なプログラムであって、
前記プログラム管理装置を、
オリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書と、
改変版毎に、前記オリジナルのプログラムの機能を定義した要件の内容から改変により変更された差分の内容が記載されている差分情報を含む要件の内容の要件文書を管理する要件文書管理手段と、
プログラムの改変版を選択する改変版情報を受け付ける改変版情報受付手段と、
前記要件文書管理手段を用いて、オリジナルのプログラムの要件文書から、前記改変版情報と対応している派生のプログラムの要件文書までを抽出する要件文書抽出手段と、
前記抽出したオリジナルのプログラムの要件文書に記載されている前記要件の内容を前記抽出した派生のプログラムの要件文書に記載されている前記差分情報を含む要件の内容に修正したオリジナルのプログラムに対応する要件文書を新規に作成する要件文書作成手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム管理装置、その制御方法とプログラムの技術に関する。
【背景技術】
【０００２】
基幹業務システム（パッケージ）は、企業の業務やサービスの中核となる重要なシステムであり、長期に渡って使用されるものである。その使用期間において法制対応、業務改善など様々な理由によりシステムの改修が必要になる。システムの改修を行う際、設計書原本を変更するケースよりも、現行システムとの変更差分のみを記載した設計書が作成されるケースが多い。このようにしてシステム改修が行われるたびに差分の設計書が増えていく。ソースコードのもとになった設計情報を確認する場合は、設計書原本と複数の変更差分の設計書から情報を取捨選択する必要がある。
【０００３】
近年、設計書の実装要件に識別情報を付加し、ソースコードの当該実装要件の実装箇所に紐付け情報を付加することで、ソースコードから設計書の実装要件の追跡を可能とするシステムが既に存在する。
【０００４】
このようなシステムでは、情報の紐付けはできても、最終的には設計書原本と複数の変更差分の設計書を参照しなければならず、情報の取捨選択に手間を要してしまうということが存在する。
【０００５】
そこで、特許文献１には、複数の構造化文書から必要な部分構造（パーツ）を抜き出し、これをマージさせて新しい構造化文書を生成（再構築）するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３４８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１のシステムでは、設計書原本と複数の変更差分の設計書の構造解析を行い、問合せ内容に応じた新しい構造化文書を生成（再構築）することが可能となっている。
【０００８】
しかしながら、現在は、ソースコードが構成管理システム・バージョン管理システムなどで世代管理を行っているケースが存在する。特許文献１のシステムでは、複数世代のソースコードのそれぞれに対応した設計書の生成（再構築）を行うことができず、業務に適さない場合が存在する。
【０００９】
特許文献１のシステムでは、設計書原本と複数の変更差分の設計書を複数の語彙に分割するが、同一語彙が変化していくケース、つまり改修によりプログラムの同一機能が変化していくケースには適さなかった。
【００１０】
また、特許文献１のシステムでは、識別情報をシステムが付与することになるため、設計者が設計書に付加した識別情報と、実装者がソースコードの実装箇所に付加した紐付け情報をもとに設計書を生成（再構築）する仕組みには適さなかった。なお、紐付け情報の正当性は、レビューにより担保される。
【００１１】
しかしなから、特許文献１の技術では、始めに元となるプログラムの要件に関する要件定義書等を作成し、その数年後、そのプログラムに派生する要件変更事案発生がしたケースにおいては、元となるプログラムの要件定義書等に記載された要件の内容に対して、改変版の要件定義書等には元となるプログラムとの簡単な差分情報しか記載されていないことがある。数年後、改変版のプログラムが完成したあと、元となるプログラムで記載された要件に関する要件定義書等には差分情報は反映されていないことになり、複数の要件定義書等としては不十分な状態で管理されていることになり、文書管理が煩雑になる問題は解消できていない。
【００１２】
本発明は、改変版のプログラムが完成した後に、オリジナルのプログラムの検討時に作った派生の要件の内容が反映されていない不十分なオリジナルのプログラム用の要件が記載された文書と、派生のプログラムの検討時に作った文書の差分とを用いて、不十分なオリジナルのプログラム用の要件が記載された文書を、派生の要件の内容が反映された最新版に修正することが可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、改変版毎に、オリジナルのプログラムを改変した派生のプログラムを管理するプログラム管理装置であって、オリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書と、改変版毎に、前記オリジナルのプログラムの機能を定義した要件の内容から改変により変更された差分の内容が記載されている差分情報を含む要件の内容の要件文書を管理する要件文書管理手段と、プログラムの改変版を選択する改変版情報を受け付ける改変版情報受付手段と、前記要件文書管理手段を用いて、オリジナルのプログラムの要件文書から、前記改変版情報と対応している派生のプログラムの要件文書までを抽出する要件文書抽出手段と、前記抽出したオリジナルのプログラムの要件文書に記載されている前記要件の内容を前記抽出した派生のプログラムの要件文書に記載されている前記差分情報を含む要件の内容に修正したオリジナルのプログラムに対応する要件文書を新規に作成する要件文書作成手段と、を備えることを特徴とする。
【００１４】
また、業務毎に異なるプログラムを管理する第２の要件文書管理手段と、プログラムを選択するプログラム情報を受け付けるプログラム情報受付手段と、前記第２の要件文書管理手段を用いて、前記受け付けたプログラム情報に対応する業務プログラムを抽出する業務プログラム抽出手段と、前記要件文書作成手段が、前記抽出された業務プログラムに対応する要件文書を新規に作成することを特徴とする。
【００１５】
また、前記要件文書は、前記プログラムが完成する前に前記プログラムの機能を定義した要件の内容が記載された文書ファイルであり、前記プログラムは、前記プログラムが完成した後に前記プログラムの機能を実行するソースコードが記載されたテキストファイルであることを特徴とする。
【００１６】
また、前記プログラムが完成する前に前記プログラムの機能を示す要件の内容が記載された文書ファイルは、要件定義書、基本設計書、詳細設計書、プログラム設計書の内いずれかに含まれること特徴とする。
【発明の効果】
【００１７】
本発明により、改変版のプログラムが完成した後に、オリジナルのプログラムの検討時に作った派生の要件の内容が反映されていない不十分なオリジナルのプログラム用の要件が記載された文書と、派生のプログラムの検討時に作った文書の差分とを用いて、不十分なオリジナルのプログラム用の要件が記載された文書を、派生の要件の内容が反映された最新版に修正することが可能な仕組みを提供することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本願発明のシステム構成を示す図である。
【図２】本願発明のハードウエア構成を示す図である。
【図３】本願発明のシステムで各ハードウエアが読み取り実行するフローチャートを示す図である。
【図４】本願発明のＷｅｂサイト利用者端末が表示する操作画面の一例を示す図である。
【図５】本願発明のデータベースサーバが管理するデータテーブルの一例を示す図である。
【図６】本願発明のデータベースサーバが管理するプログラム設計書（オリジナル）の一例を示す図である。
【図７】本願発明のデータベースサーバが管理するソースコード（オリジナル）の一例を示す図である。
【図８】本願発明のデータベースサーバが管理するプログラム設計書（改変版）の一例を示す図である。
【図９】本願発明のデータベースサーバが管理するソースコード（改変版）の一例を示す図である。
【図１０】本願発明のアプリケーションサーバが新規作成する、プログラム設計書（オリジナル）を修正したプログラム設計書（修正版）の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１を説明する。
【００２０】
図１はＷｅｂサイト利用者端末１０１、利用者端末とサーバ層を結びつけるインターネット１０２、およびＷｅｂサイト表示情報を提供するＷｅｂサーバ１０３、Ｗｅｂサイト表示情報を加工するアプリケーションサーバ１０５、各種テーブル情報を管理するデータベースサーバ１０６、各サーバ間を結びつけるネットワーク１０４（ＬＡＮ）からなる。
【００２１】
このシステムでは、少なくとも１台の利用者端末１０１（情報処理装置）とＷｅｂサーバ１０３がネットワーク１０２（ＬＡＮ・ＷＡＮ）を介して接続されており、Ｗｅｂサーバ１０３、アプリケーションサーバ１０５、データベースサーバ１０６もネットワーク１０４（ＬＡＮ）を介して接続されている。
利用者端末からはＷｅｂサーバ１０３を通じて、アプリケーションサーバ１０５で生成（再構成）されたプログラム設計書等の情報が参照可能となっている。
【００２２】
なお、この図１では例として３台の利用者端末１０１ａ〜１０１ｃが設けられている場合を示しているが、何台あってもよい。また、利用者端末装置の種類はブラウザを利用することができる情報処理装置であればよく、スマートフォン、タブレットなどの端末を利用可能である。
Ｗｅｂサイトの利用者がいずれかの利用者端末１０１から、Ｗｅｂサーバ１０３に対して指定されたバージョンのプログラム設計書照会要求を送信する。
Ｗｅｂサーバ１０３は、アプリケーションサーバ１０５に対して指定されたバージョンのプログラム設計書照会要求を送信する。
【００２３】
アプリケーションサーバ１０５は、データベースサーバ１０６から指定されたバージョンのプログラムのソースコードが格納されているパス、指定されたバージョンのプログラム設計書の生成（再構成）に必要な設計書原本と複数の変更差分の設計書が格納されているパスを取得する。取得したパスに格納されているソースコードを１行ずつ読み込み、設計書原本と複数の変更差分の設計書から指定されたバージョンのプログラム設計書を生成（再構成）する。
アプリケーションサーバ１０５で生成（再構成）されたプログラム設計書は、Ｗｅｂサーバ１０３を介して利用者端末１０１に表示される。
図２を説明する。
【００２４】
図２は、本発明の実施形態に係わるプログラム管理システムを構築するための各情報処理装置のハードウェア構成の一例を示すブロック図である。この情報処理装置のハードウェア構成は、Ｗｅｂサーバ１０３、アプリケーションサーバ１０５、データベースサーバ１０６、Ｗｅｂサイト利用者端末１０１にも適応可能である。
【００２５】
なお、アプリケーションサーバ１０５、データベースサーバ１０６を組み合わせたものをプログラム管理装置としてもよく、プログラム管理装置の機能を、アプリケーションサーバ１０５、データベースサーバ１０６に分散させてもよい。
【００２６】
なお、本発明のＷｅｂサイト利用者端末１０１には、インターネット通信が可能でＷｅｂサイトの閲覧が可能で、ユーザの指での画面操作を可能とするタッチパネルを有しているモバイル端末や、タブレット端末、スマートフォン、であってもよい。
【００２７】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２８】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２９】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００３０】
２０７はメモリコントローラで、ブートプログラム，各種のＡＰ，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶する外部記憶装置（ハードディスク（ＨＤ））や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００３１】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ４００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００３４】
また、本願発明におけるプログラムは、図３に示すフローチャートの処理方法をコンピュータが読み取り実行可能なプログラムであり、本願発明の記憶媒体は処理方法をコンピュータが実行可能なプログラムとして、外部メモリに記憶されている。  
【００３５】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読出し実行することによっても、本願発明の目的が達成されることは言うまでもない。  
【００３６】
この場合、記録媒体から読み出されたプログラム自体が本願発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。  
【００３７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。  
【００３８】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。  
【００３９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
図３を説明する。
以下、図３を参照して、本実施形態の設計書生成（再構成）システムにおける設計書生成（再構成）処理について説明する。  
【００４０】
図３では、図４に示すブラウザに表示されたプログラム選択画面及びプログラム設計書表示画面を、ユーザが利用端末１０１で操作した場合の、Ｗｅｂサーバ１０３、アプリケーションサーバ１０５、データベースサーバ１０６が実行する処理について説明する。このように、本願発明の処理はＷｅｂサイト利用者端末、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバにて実施され、Ｗｅｂサイト利用者端末上のブラウザを使用して設計書生成（再構成）システムのＵＲＬにアクセスすると、プログラム選択画面（図４）が表示される。  
【００４１】
Ｓ４０１では、Ｗｅｂサイト利用者端末上のブラウザから設計書生成（再構成）システムのＵＲＬにアクセスし、Ｗｅｂサーバに対してプログラム選択画面の参照要求を行う。  
【００４２】
Ｓ４０２で、Ｗｅｂサーバは、プログラム選択画面の参照要求を受け付けると、Ｓ４０３で、アプリケーションサーバに対してプログラム選択画面を要求し、Ｓ４０４でＷｅｂサイト利用者端末上のブラウザにプログラム選択画面（図４）を表示させる。  
【００４３】
Ｓ４０５でユーザによりＷｅｂサイト利用者端末からプログラム選択画面の入力フィールド（システム５０２、業務カテゴリ５０３、プログラム５０４、プロジェクト５０５）のドロップダウンボタンをクリックまたは選択ボタンをクリックされると、Ｓ４０６〜Ｓ４１１でＷｅｂサーバ、アプリケーションサーバを介してデータベースサーバから選択候補の一覧を抽出し、プログラム選択画面上のドロップダウンリスト、選択ダイアログボックスの選択肢一覧として表示させる。  
【００４４】
Ｓ４１２でユーザによりＷｅｂサイト利用者端末からプログラム選択画面の入力フィールド（システム５０２、業務カテゴリ５０３、プログラム５０４、プロジェクト５０５）のすべてを選択し、設計書表示ボタン５０７をクリックされると、Ｗｅｂサーバに対してこれらの選択情報（システム５０２、業務カテゴリ５０３、プログラム５０４、プロジェクト５０５）を送信する。  
【００４５】
なお、フローチャートには記載していないが、設計書表示ボタンクリック時には、全入力フィールドに対して入力必須チェックおよびプログラムバージョンテーブル６０５（図５）を使用した入力値の妥当性チェックが行われ、エラーの場合はポップアップによりエラーメッセージが表示される。  これらの情報をＷｅｂサーバはＳ４１３で受信し、アプリケーションサーバに送信する。これらの選択情報をアプリケーションサーバはＳ４１４で受信する。
【００４６】
Ｓ４１５においてアプリケーションサーバは、図４のプログラム選択画面でユーザにより選択されたプログラムの改変版を選択する改変版情報５０５を受け付けている（改変版情報受付手段）。ここで改変版情報とは、プロジェクトと同じものであり、オリジナルのプログラムを改変して作成した派生のプログラムのことであり、例えば法改正等によって、
一部機能を改変した事実を管理するための識別情報のことである。
【００４７】
更に、アプリケーションサーバは、図４の画面でユーザにより選択されたプログラムを選択するプログラム情報５０４を受け付けている（プログラム情報受付手段）。
ここでプログラム情報とは、プログラムと同じものであり、例えば業務別にそれぞれ、
機能が異なる独自プログラムを管理するための識別情報のことである。
【００４８】
Ｓ４１５で、アプリケーションサーバは、受信した選択情報（システム５０２、業務カテゴリ５０３、プログラム５０４、プロジェクト５０５）に対応するソースコードが格納されているパス情報をデータベースサーバに要求する。  例えば、Ｓ４１５で受信した選択情報がＪＣＲ０１０というプログラムであった場合、  
【００４９】
ＪＣＲ０１０に紐づく全てのソースコードを抽出する。さらにＳ４１５で受信した選択情報がＰＪＲ００２であった場合、ＪＣＲ０１０のプログラムであり、かつＰＪＲ００１〜ＰＲＪ００２までのソースコードが選択対象となる。この時図７及び図９に示した２つのソースコードが対象となる。  
【００５０】
Ｓ４１６で、データベースサーバは、アプリケーションサーバからの要求を受信し、ソースコードが格納されているパス情報をプログラムバージョンテーブルから検索しアプリケーションサーバに応答する。  
【００５１】
Ｓ４１７で、アプリケーションサーバは、Ｓ４１５で対象となったソースコードのパス情報を受信し、パスで指定されているフォルダに格納されている２つのソースコード（図７及び図９）をデータベースサーバから取得して、各ソースコードを上から１行ずつ読み込む。読み込んだソースコードの中の要件ＩＤとそのプロジェクトＮｏを用いて、Ｓ４２３にて、オリジナルのプログラムの要件文書に記載されている要件ＩＤの内容を、Ｓ４２０において抽出した派生のプログラムの要件文書に記載されている差分情報を含む要件の内容に修正することになる。つまり、同じ要件ＩＤ（例えば要件３）に大きい数のプロジェクトＮｏ（ＰＲＪ００２）がある場合、ＰＲＪ００２は、ＰＲＪ００１に対する差分情報となるため、オリジナルのプログラムの要件文書には記載されていない情報である。  Ｓ４１８で、アプリケーションサーバは、ソースコードのＥＯＦ（Ｅｎｄ  ＯＦ  Ｆｉｌｅ）判定を行う。  ＥＯＦの場合は、設計書から抽出した部分を抽出した順に並べて、応答内容を作成しＷｅｂサーバに送信する。（Ｓ４２３）
【００５２】
Ｓ４２３においてアプリケーションサーバは、Ｓ４２０において抽出したオリジナルのプログラムの要件文書に記載されている要件ＩＤの内容を、Ｓ４２０において抽出した派生のプログラムの要件文書に記載されている差分情報を含む要件の内容に修正したオリジナルのプログラムに対応する要件文書（図１１）を新規に作成する（要件文書作成手段）。
要件文書作成手段は、Ｓ４２０において抽出された業務プログラムに対応する要件文書を新規に作成する。
ＥＯＦでない場合は、読み込んだソースコードの行に識別情報（要件ＩＤ８０３、プロジェクトＮｏ８０４）が含まれているか検査する。（Ｓ４１９）  識別情報（要件ＩＤ、プロジェクトＮｏ）が含まれていない場合は、ソースコードから次の行を読み込む。（Ｓ４１７）  
【００５３】
識別情報（要件ＩＤ、プロジェクトＮｏ）が含まれている場合は、業務カテゴリ、プログラム、当該要件ＩＤの隣に記載されているプロジェクトＮｏから設計書が格納されているパス情報をデータベースサーバに要求する。（Ｓ４２０）  
【００５４】
このように、Ｓ４２０においてアプリケーションサーバは、図５のプログラムテーブル６０４（第２の要件文書管理手段）を用いて、Ｓ４１５において受け付けたプログラム情報５０４に対応する業務プログラム（プログラムＩＤ）を抽出する（業務プログラム抽出手段）。
【００５５】
更に、図５のプロジェクト設計書テーブル６０６（要件文書管理手段）を用いて、データベースサーバが管理しているオリジナルのプログラムの要件文書（図７）から、改変版情報と対応している派生のプログラムの要件文書（図９）までの全ての要件文書を抽出する（要件文書抽出手段）。
【００５６】
Ｓ４２１で、データベースサーバは、アプリケーションサーバからの要求を受信し、設計書が格納されているパス情報を設計書テーブル（図６）から検索しアプリケーションサーバに応答する。  
【００５７】
Ｓ４２２で、アプリケーションサーバは、設計書のパス情報を受信し、パスで指定されているフォルダに格納されている設計書の識別情報（要件ＩＤ、プロジェクトＮｏ）の部分を読み込み、ソースコードから次の行を読み込む。（Ｓ４１７）  
【００５８】
Ｓ４２４で、Ｗｅｂサーバは、アプリケーションサーバからの応答内容を受信し、Ｗｅｂサイト利用者端末上のブラウザに設計書出力画面（図４の５１１）を表示させる。Ｓ４２５）
図５を説明する。
図５に示すように、・システムテーブル６０１には（システムコード、システム名）が対応づけて管理されている。・プロジェクトテーブル６０２には（プロジェクトＮｏ、プロジェクト名、開始年月日、終了年月日）が対応づけて管理されている。・業務カテゴリテーブル６０３には（システムコード、業務カテゴリコード、業務カテゴリ名）が対応づけて管理されている。・プログラムテーブル６０４には（システムコード、業務カテゴリコード、プログラムＩＤ、プログラム名）が対応づけて管理されている。・プログラムバージョンテーブル６０５には（システムコード、プロジェクトＮｏ、プログラムＩＤ、バージョン、備考）が対応づけて管理されている。  
【００５９】
・プロジェクト設計書テーブル６０６には（システムコード、業務カテゴリコード、プログラムＩＤ、プロジェクトＮｏ、設計書パス）が対応づけて管理されている。で構成される各種データテーブルを、データベースサーバが管理している。
【００６０】
プログラムテーブル６０４は、業務（プログラム名）毎に異なるプログラム（プログラムＩＤ）一意に対応づけて管理する第２の要件文書管理手段の好適な例である。
【００６１】
プログラムバージョンテーブル６０５では、改変版（プロジェクトＮｏ）毎に、オリジナルのプログラムをベースに改変した派生のプログラムを管理している。オリジナルのプログラムと、改変した派生のプログラムは同じプログラムＩＤで管理されている。
【００６２】
プロジェクト設計書テーブル６０６は、オリジナルのプログラムの機能を定義した要件の内容が記載されている要件文書や、改変版毎に、オリジナルのプログラムの機能を定義した要件の内容から改変により変更された差分の内容が記載されている差分情報を含む要件の内容の要件文書の保管場所を管理する要件文書管理手段の好適な例である。
設計書パスには改変版毎に一意に対応する各要件文書の保管場所が示されている。
【００６３】
尚、本願発明の要件文書とは、プログラムが完成する前にプログラムの機能を定義した要件の内容が記載された文書ファイルであり。要件定義書、基本設計書、詳細設計書、プログラム設計書の内いずれかに含まれるものである。
尚、本願発明のプログラムとは、プログラムが完成した後にプログラムの機能を実行するソースコードが記載されたテキストファイルである。
【符号の説明】
【００６４】
１００  プログラム管理システム
１０１  Ｗｅｂサイト利用者端末（クライアント端末）
１０３  Ｗｅｂサーバ
１０５  プログラム管理装置
１０６  プログラム管理装置
【図１】
2017117261.tif 000002
【図２】
2017117261.tif 000003
【図３】
2017117261.tif 000004
【図４】
2017117261.tif 000005
【図５】
2017117261.tif 000006
【図６】
2017117261.tif 000007
【図７】
2017117261.tif 000008
【図８】
2017117261.tif 000009
【図９】
2017117261.tif 000010
【図１０】
2017117261.tif 000011