(57)【特許請求の範囲】
【請求項１】
ソースプログラムをコンパイルし、実行ファイルを作成するコンパイル部と、
ソースプログラムと当該ソースプログラムがコンパイルされることで作成される実行ファイルとを関連づけて保持するファイル保持部と、
作成された実行ファイルをテスト用の外部サーバに送信するファイル送信部と、
ソースプログラムの開発状況を示すステータスを当該ソースプログラムと関連づけて保持するステータス保持部と、
ソフトウェア開発者から入力されたコマンドに応じて当該コマンドの対象であるソースプログラムのステータスを変更するステータス変更部と、
ソースプログラムの改訂状況を示す改訂記号を当該ソースプログラムと関連づけて保持する改訂記号保持部と、
ソフトウェア開発者から入力されたコマンドに応じて当該コマンドの対象であるソースプログラムの改訂記号を変更する改訂記号変更部と、
を備え、
ステータス変更部は、単体テスト完了後に入力される第１コマンドに応じて当該第１コマンドの対象であるソースプログラムのステータスを単体テスト完了を示すステータスへと変更し、
改訂記号変更部は、第１コマンドに応じて当該第１コマンドの対象であるソースプログラムの改訂記号を、単体テストにおけるソースプログラムの改訂の有無を確認可能な記号へと変更し、
コンパイル部は、第１コマンドに応じて当該第１コマンドの対象であるソースプログラムをコンパイルして実行ファイルを作成し、
送信部は、作成された実行ファイルを連結テスト用の外部サーバに送信し、
ステータス変更部は、連結テスト中に入力される第２コマンドに応じて当該第２コマンドの対象であるソースプログラムのステータスを単体テスト未完了を示すステータスへと変更し、
ステータス変更部は、連結テスト完了後に入力される第３コマンドに応じて当該第３コマンドの対象であるソースプログラムのステータスを連結テスト完了を示すステータスへと変更することを特徴とするソフトウェア開発管理装置。
【請求項２】
ソフトウェア開発者からのコマンドを受け付けるコマンド受付部をさらに備え、
コマンド受付部は、コマンドの対象であるソースプログラムのステータスが開発工程における前工程の完了を示すステータスでない場合、当該コマンドを受け付けないことを特徴とする請求項１に記載のソフトウェア開発管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発管理装置に関する。
【背景技術】
【０００２】
ソフトウェア開発は、単体テスト、連結テストなどさまざまな工程を経て行われる。さらにこれらの工程は、多数のソフトウェア開発者が関与して行われる。そのため、各工程を適切に管理することができない場合、人為的なミスが発生しやすい。こうした事情から、ソフトウェア開発者の負担を低減するべくコンパイルおよびリンク時の作業を低減する技術が提案されている（例えば特許文献１参照）。
【特許文献１】特開２００３−３２３２９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年、ソフトウェア開発ではより複雑で高度な機能が求められるようになり、各工程を管理するだけではソフトウェア開発の効率化に限界がある。ソフトウェア開発者は、各工程を含めたソフトウェア開発全体における進捗状況を管理し、限られた時間および資源を有効に活用することが求められている。
【０００４】
本発明は上記課題に鑑みてなされた発明であり、その主たる目的は、ソフトウェア開発を効率的に管理し、人為的ミスを低減することにある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、ソフトウェア開発管理装置である。当該ソフトウェア開発管理装置は、ソースプログラムをコンパイルし、実行ファイルを作成するコンパイル部と、ソースプログラムと当該ソースプログラムがコンパイルされることで作成される実行ファイルとを関連づけて保持するファイル保持部と、作成された実行ファイルをテスト用の外部サーバに送信するファイル送信部と、ソースプログラムの開発状況を示すステータスを当該ソースプログラムと関連づけて保持するステータス保持部と、ソフトウェア開発者から入力されたコマンドに応じて当該コマンドの対象であるソースプログラムのステータスを変更するステータス変更部と、を備え、ステータス変更部は、単体テスト完了後に入力される第１コマンドに応じて当該第１コマンドの対象であるソースプログラムのステータスを単体テスト完了を示す単体完了ステータスへと変更し、コンパイル部は、第１コマンドに応じて当該第１コマンドの対象であるソースプログラムをコンパイルして実行ファイルを作成し、送信部は、作成された実行ファイルを連結テスト用の外部サーバに送信し、ステータス変更部は、連結テスト完了後に入力される第２コマンドに応じて当該第２コマンドの対象であるソースプログラムのステータスを連結テスト完了を示すステータスへと変更することを特徴とする。
【０００６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００７】
本発明によれば、ソフトウェア開発を効率的に管理し、人為的ミスを低減する上で効果がある。
【発明を実施するための最良の形態】
【０００８】
図１は、ソフトウェア開発管理装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的にはコンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現される。ここでは、それらの連携によって実現される機能ブロックを描いている。よって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。ここでは、主として各機能ブロックの発揮すべき機能について述べ、その具体的な作用については後述する。
【０００９】
ソフトウェア開発管理装置１００は、通信処理部２００、データ処理部３００およびデータ保持部４００を含む。通信処理部２００は、ソフトウェア開発者５１０からの入力処理やソフトウェア開発者５１０に対する情報表示のようなソフトウェア開発者５１０とのインタフェース全般に関する処理を担当する。また、通信処理部２００は、単体テスト用サーバ６００、連結テスト用サーバ６１０、総合テスト用サーバ６２０および本番サーバ６３０のような外部サーバとのインターフェース全般に関する処理も担当する。
【００１０】
ソフトウェア開発者５１０により端末機器５００に入力されたデータは、単体テスト用サーバ６００を経由してソフトウェア開発管理装置１００の通信処理部２００に送信される。しかし、入力データは、単体テスト用サーバ６００を経由することなく端末機器５００からネットワークを経由してソフトウェア開発管理装置１００に入力されてもよい。また、入力データは、端末機器５００からではなくソフトウェア開発管理装置１００に設けられている入力機器（例えばキーボードなど）から直接入力されてもよい。
【００１１】
データ処理部３００は、通信処理部２００やデータ保持部４００から取得されたデータを元にして各種のデータ処理を実行する。データ処理部３００は、通信処理部２００とデータ保持部４００の間のインタフェースの役割も果たす。
【００１２】
データ保持部４００は、あらかじめ用意された各種のデータや、通信処理部２００やデータ処理部３００から受け取ったデータを格納する。
【００１３】
通信処理部２００は、ファイル送信部２１０およびコマンド受付部２２０を含む。ファイル送信部２１０は、コンパイル部３１０にて作成される実行ファイルを単体テスト用サーバ６００などの外部サーバに送信する。コマンド受付部２２０は、ソフトウェア開発者５１０により入力されるコマンドを受け付ける。
【００１４】
データ処理部３００は、コンパイル部３１０およびデータ変更部３２０を含む。コンパイル部３１０は、ソフトウェア開発者５１０から入力されたソースプログラムをコンパイルし、実行ファイルを作成する。データ変更部３２０は、データ保持部４００に格納されているデータを書き換え、変更する。
【００１５】
データ変更部３２０は、ステータス変更部３２２および改訂記号変更部３２４を含む。ステータス変更部３２２は、ステータス保持部４２０に格納されているソースプログラムの開発状況を示すステータスを変更する。ステータスの変更は、ソフトウェア開発者５１０から入力されるコマンドに応じて行われる。
【００１６】
改訂記号変更部３２４は、改訂記号保持部４３０に格納されているソースプログラムの改訂記号を変更する。改訂記号の変更は、ソフトウェア開発者５１０から入力されるコマンドに応じて行われる。改訂記号は、ソフトウェア開発者５１０がソースプログラムの修正を確認するために用いられる記号である。ソフトウェア開発者５１０は、記号の変化から修正されたことを知ることができる。改訂記号の一例としてバージョン番号が挙げられる。
【００１７】
データ保持部４００は、ファイル保持部４１０、ステータス保持部４２０および改訂記号保持部４３０を含む。ファイル保持部４１０は、ソフトウェア開発者５１０から入力されたソースプログラムと当該ソースプログラムがコンパイルされることで作成される実行ファイルとを関連づけて保持する。
【００１８】
ステータス保持部４２０は、ステータスを当該ステータスの対象であるソースプログラムと関連づけて保持する。改訂記号保持部４３０は、改訂記号を当該改訂記号の対象であるソースプログラムと関連づけて保持する。
【００１９】
単体テスト用サーバ６００は、ファイル保持部４１０に保持されている実行ファイルが要求される機能や性能を満たすか否かを確認する単体テストを行うためのサーバである。連結テスト用サーバ６１０は、複数の実行ファイルを組み合わせ、主に実行ファイル間のインターフェースが問題なく機能するか否かを確認する連結テストを行うためのサーバである。
【００２０】
総合テスト用サーバ６２０は、開発したソフトウェア全体を対象として要求される機能や性能を満たすか否かを確認する総合テストを行うためのサーバである。本番サーバ６３０は、開発したソフトウェアがユーザにより実際に使用されるサーバである。端末機器５００は、ソフトウェア開発者５１０がソフトウェア開発管理装置１００にデータを入力するために用いられる。
【００２１】
図２は、単体テストにおける処理過程を示すシーケンス図である。
ソフトウェア開発者５１０は、作成したソースプログラムを単体テスト用サーバ６００を経由してソフトウェア開発管理装置１００に送信する（Ｓ１０）。ソフトウェア開発管理装置１００の通信処理部２００は、送信されたソースプログラムを受信する。受信されたソースプログラムはファイル保持部４１０に格納される。
【００２２】
ステータス変更部３２２は、格納されたソースプログラムのステータスを「開発中」に設定する（Ｓ１２）。設定されたステータス：「開発中」は、当該ソースプログラムと関連づけてステータス保持部４２０に格納される。
【００２３】
ソフトウェア開発者５１０は、Ｓ１０にて送信したソースプログラムの言語の種別（例えばＣＯＢＯＬなど）を示す情報（以下、「言語種別情報」という）をソフトウェア開発管理装置１００に送信する。言語種別情報は、送信されたソースプログラムと関連づけてデータ保持部４００の格納される。
【００２４】
さらにソフトウェア開発者５１０は、Ｓ１０にて送信したソースプログラムが外部サーバに送信される際、当該外部サーバのどのデータ格納領域に当該ソースプログラムを格納すべきかを示す情報（以下、「データ格納情報」という）をソフトウェア開発管理装置１００に送信する。より具体的にはデータ格納情報は、例えばハードディスクドライブなどのデータ格納デバイスにおいてソースプログラムがどのディレクトリに格納されるべきかを示す情報である。
【００２５】
ソフトウェア開発者５１０は、ソースプログラムをソフトウェア開発管理装置１００に送信した後（Ｓ１０）、送信したソースプログラムのコピーを用いて単体テスト用サーバ６００にて単体テストを行う（Ｓ１４）。
【００２６】
単体テストで問題が発生した場合、ソフトウェア開発者５１０は、端末機器５００からソフトウェア開発管理装置１００にアクセスし、ファイル保持部４１０に格納されているソースプログラムを修正する。ソフトウェア開発者５１０は、修正されたソースプログラムのコピーを用いて再び単体テストを行う。
【００２７】
ソフトウェア開発者５１０は、単体テストが完了した後（Ｓ１６）、ステータスを単体テスト完了に変更するためのコマンド（以下、「単体テスト完了コマンド」という）をソフトウェア開発管理装置１００に送信する（Ｓ１８）。ソフトウェア開発者５１０は、単体テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００２８】
コマンド受付部２２０が単体テスト完了コマンドを受信すると、ステータス変更部３２２は、指定されたソースプログラムのステータスをステータス保持部４２０から抽出する。抽出したステータスが「開発中」である場合（Ｓ２０のＹ）、ステータス変更部３２２はステータスを「開発中」から「単体テスト完了」に変更する（Ｓ２４）。
【００２９】
コンパイル部３１０は、指定されたソースプログラムをファイル保持部４１０から抽出する。さらにコンパイル部３１０は、抽出したソースプログラムと関連づけられた言語種別情報をデータ保持部４００から抽出する。コンパイル部３１０は、抽出した言語種別情報を参照してソースプログラムに適合したコンパイルを実行し、実行ファイルを作成する（Ｓ２６）。作成された実行ファイルは、当該ソースプログラムと関連づけてファイル保持部４１０に格納される。
【００３０】
このようにソースプログラムの言語種別情報をソフトウェア開発管理装置１００にあらかじめ登録しておくことで、ソフトウェア開発者５１０はソースプログラムの言語種別を意識することなくコマンド１つでコンパイルを実行できる。そのため、人為的ミスが極力回避され、ソフトウェア開発がより効率的になる。
【００３１】
抽出したステータスが「開発中」でない場合（Ｓ２０のＮ）、ステータス変更部３２２は単体テスト完了コマンドを受け付けない旨の情報を通信処理部２００へと送信する。通信処理部２００は、単体テスト用サーバ６００を経由して端末機器５００に当該情報を送信することでソフトウェア開発者５１０に当該コマンドを受け付けない旨を通知する（Ｓ２２）。
【００３２】
このようにステータスは、ソフトウェア開発者５１０により入力されるコマンドに応じて自動的に変更される。また、ソースプログラムに設定されているステータスを確認した上でそのステータスを変更することにより、ステータスがソフトウェア開発工程に沿って順々に変更される。そのため、従来、ソフトウェア開発者５１０により人的に管理されていたソフトウェア開発の進捗状況がより効率的に管理され、人為的ミスが極力回避される。
【００３３】
図３は、連結テストにおける処理過程を示すシーケンス図である。
ソフトウェア開発者５１０は、単体テスト完了コマンドを送信した後、当該コマンドが受け付けられたことを確認する。ソフトウェア開発者５１０は、単体テスト完了コマンドにより作成された実行ファイルを連結テスト用サーバ６１０に送信させるためのコマンドをソフトウェア開発管理装置１００に送信する（Ｓ２８）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００３４】
コマンド受付部２２０が当該コマンドを受信すると、データ処理部３００は、指定されたソースプログラムと関連づけられた実行ファイルを抽出する。さらにデータ処理部３００は、抽出したソースプログラムと関連づけられたデータ格納情報をデータ保持部４００から抽出する。ファイル送信部２１０は、抽出されたデータ格納情報を参照して実行ファイルを連結テスト用サーバ６１０の所定ディレクトリに送信する（Ｓ３０）。
【００３５】
このようにソースプログラムのデータ格納情報をソフトウェア開発管理装置１００にあらかじめ登録しておくことで、ソフトウェア開発者５１０は外部サーバのどのディレクトリにソースプログラムを送信すべきかを意識することなく、コマンド１つで実行ファイルを送信できる。そのため、人為的ミスが極力回避され、ソフトウェア開発がより効率的になる。
【００３６】
ソフトウェア開発者５１０は、実行ファイルが連結テスト用サーバ６１０に送信された後、その実行ファイルを用いて連結テスト用サーバ６１０にて連結テストを行う（Ｓ３２）。
【００３７】
ソフトウェア開発者５１０は、連結テストが完了した後（Ｓ３４）、連結テスト完了を示すコマンド（以下、「連結テスト完了コマンド」という）をソフトウェア開発管理装置１００に送信する（Ｓ３６）。ソフトウェア開発者５１０は、連結テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００３８】
コマンド受付部２２０が連結テスト完了コマンドを受信すると、ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータスが「単体テスト完了」である場合（Ｓ３８のＹ）、ステータス変更部３２２はステータスを「単体テスト完了」から「連結テスト完了」に変更する（Ｓ４２）。
【００３９】
抽出したステータスが「単体テスト完了」でない場合（Ｓ３８のＮ）、ステータス変更部３２２は連結テスト完了コマンドを受け付けない旨の情報を通信処理部２００へと送信する。通信処理部２００は、単体テスト用サーバ６００を経由して端末機器５００に当該情報を送信することでソフトウェア開発者５１０に当該コマンドを受け付けない旨を通知する（Ｓ４０）。
【００４０】
このようにステータスは、ソフトウェア開発者５１０により入力されるコマンドに応じて自動的に変更される。また、ソースプログラムに設定されているステータスを確認した上でそのステータスを変更することにより、ステータスがソフトウェア開発工程に沿って順々に変更される。そのため、従来、ソフトウェア開発者５１０により人的に管理されていたソフトウェア開発の進捗状況がより効率的に管理され、人為的ミスが極力回避される。
【００４１】
図４は、総合テストにおける処理過程を示すシーケンス図である。
ソフトウェア開発者５１０は、連結テスト完了コマンドを送信した後、当該コマンドが受け付けられたことを確認する。ソフトウェア開発者５１０は、連結テストが完了した実行ファイルを総合テスト用サーバ６２０に送信させるためのコマンドをソフトウェア開発管理装置１００に送信する（Ｓ４４）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００４２】
コマンド受付部２２０が当該コマンドを受信すると、データ処理部３００は、指定されたソースプログラムと関連づけられた実行ファイルを抽出する。さらにデータ処理部３００は、抽出したソースプログラムと関連づけられたデータ格納情報をデータ保持部４００から抽出する。ファイル送信部２１０は、抽出されたデータ格納情報を参照して実行ファイルを総合テスト用サーバ６２０の所定ディレクトリに送信する（Ｓ４６）。
【００４３】
このようにソースプログラムのデータ格納情報をソフトウェア開発管理装置１００にあらかじめ登録しておくことで、ソフトウェア開発者５１０は外部サーバのどのディレクトリにソースプログラムを送信すべきかを意識することなく、コマンド１つで実行ファイルを送信できる。そのため、人為的ミスが極力回避され、ソフトウェア開発がより効率的になる。
【００４４】
ソフトウェア開発者５１０は、実行ファイルが総合テスト用サーバ６２０に送信された後、その実行ファイルを用いて総合テスト用サーバ６２０にて総合テストを行う（Ｓ４８）。
【００４５】
ソフトウェア開発者５１０は、総合テストが完了した後（Ｓ５０）、総合テスト完了を示すコマンド（以下、「総合テスト完了コマンド」という）をソフトウェア開発管理装置１００に送信する（Ｓ５２）。ソフトウェア開発者５１０は、総合テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００４６】
コマンド受付部２２０が総合テスト完了コマンドを受信すると、ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータスが「連結テスト完了」である場合（Ｓ５４のＹ）、ステータス変更部３２２はステータスを「連結テスト完了」から「総合テスト完了」に変更する（Ｓ５８）。
【００４７】
抽出したステータスが「連結テスト完了」でない場合（Ｓ５４のＮ）、ステータス変更部３２２は総合テスト完了コマンドを受け付けない旨の情報を通信処理部２００へと送信する。通信処理部２００は、単体テスト用サーバ６００を経由して端末機器５００に当該情報を送信することでソフトウェア開発者５１０に当該コマンドを受け付けない旨を通知する（Ｓ５６）。
【００４８】
このようにステータスは、ソフトウェア開発者５１０により入力されるコマンドに応じて自動的に変更される。また、ソースプログラムに設定されているステータスを確認した上でそのステータスを変更することにより、ステータスがソフトウェア開発工程に沿って順々に変更される。そのため、従来、ソフトウェア開発者５１０により人的に管理されていたソフトウェア開発の進捗状況がより効率的に管理され、人為的ミスが極力回避される。
【００４９】
図５は、総合テストが完了した実行ファイルを本番サーバ６３０にリリースする処理過程を示すシーケンス図である。
ソフトウェア開発者５１０は、総合テスト完了コマンドを送信した後、当該コマンドが受け付けられたことを確認する。ソフトウェア開発者５１０は、実行ファイルを本番サーバ６３０にリリースする準備が整ったことを示すコマンド（以下、「リリース準備完了コマンド」という）をソフトウェア開発管理装置１００に送信する（Ｓ６０）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００５０】
コマンド受付部２２０がリリース準備完了コマンドを受信すると、ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータスが「総合テスト完了」である場合（Ｓ６２のＹ）、ステータス変更部３２２はステータスを「総合テスト完了」から「リリース準備完了」に変更する（Ｓ６６）。
【００５１】
抽出したステータスが「総合テスト完了」でない場合（Ｓ６２のＮ）、ステータス変更部３２２はリリース準備完了コマンドを受け付けない旨の情報を通信処理部２００へと送信する。通信処理部２００は、単体テスト用サーバ６００を経由して端末機器５００に当該情報を送信することでソフトウェア開発者５１０に当該コマンドを受け付けない旨を通知する（Ｓ６４）。
【００５２】
このようにステータスは、ソフトウェア開発者５１０により入力されるコマンドに応じて自動的に変更される。また、ソースプログラムに設定されているステータスを確認した上でそのステータスを変更することにより、ステータスがソフトウェア開発工程に沿って順々に変更される。そのため、従来、ソフトウェア開発者５１０により人的に管理されていたソフトウェア開発の進捗状況がより効率的に管理され、人為的ミスが極力回避される。
【００５３】
ソフトウェア開発管理装置１００は、ソフトウェア開発者５１０により設定されたリリース条件が満たされるか否かを所定のタイミングで確認する。リリース条件として例えば日時などの条件が挙げられる。リリース条件が満たされない場合（Ｓ６８のＮ）、ソフトウェア開発管理装置１００は再び所定のタイミングでリリース条件が満たされるか否かを確認する（Ｓ６８）。
【００５４】
リリース条件が満たされる場合（Ｓ６８のＹ）、データ処理部３００は、ステータスが「リリース準備完了」であるソースプログラムと関連づけられた実行ファイルを抽出する。さらにデータ処理部３００は、抽出したソースプログラムと関連づけられたデータ格納情報をデータ保持部４００から抽出する。ファイル送信部２１０は、抽出されたデータ格納情報を参照して実行ファイルを本番サーバ６３０の所定ディレクトリに送信する（Ｓ７０）。
【００５５】
このようにソースプログラムのデータ格納情報をソフトウェア開発管理装置１００にあらかじめ登録しておくことで、ソフトウェア開発者５１０は外部サーバのどのディレクトリにソースプログラムを送信すべきかを意識することなく、コマンド１つで実行ファイルを送信できる。そのため、人為的ミスが極力回避され、ソフトウェア開発がより効率的になる。
【００５６】
図６は、外部サーバのテストで問題が発生した場合の処理過程を示すシーケンス図である。
図３および図４では外部サーバでテストが問題なく完了した場合の処理について説明した。図６では、例として連結テストで問題が発生した場合の処理について説明する。
【００５７】
ソフトウェア開発者５１０は、単体テスト完了コマンドを送信した後、当該コマンドが受け付けられたことを確認する。ソフトウェア開発者５１０は、単体テスト完了コマンドにより作成された実行ファイルを連結テスト用サーバ６１０に送信させるためのコマンドをソフトウェア開発管理装置１００に送信する（Ｓ７２）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００５８】
コマンド受付部２２０は当該コマンドを受信する。データ処理部３００は、指定されたソースプログラムと関連づけられた実行ファイルを抽出する。さらにデータ処理部３００は、抽出したソースプログラムと関連づけられたデータ格納情報をデータ保持部４００から抽出する。ファイル送信部２１０は、抽出されたデータ格納情報を参照して実行ファイルを連結テスト用サーバ６１０の所定ディレクトリに送信する（Ｓ７４）。
【００５９】
ソフトウェア開発者５１０は、実行ファイルが連結テスト用サーバ６１０に送信された後、その実行ファイルを用いて連結テスト用サーバ６１０にて連結テストを行う（Ｓ７６）。連結テストで問題が発生する（Ｓ７８）。
【００６０】
連結テストで問題が発生した場合、ソフトウェア開発者５１０はソースプログラムを修正し、その修正を確認するため再び単体テストを行う必要がある。ソフトウェア開発者５１０は、ステータス：「単体テスト完了」を取り消すためのコマンドをソフトウェア開発管理装置１００に送信する（Ｓ８０）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００６１】
コマンド受付部２２０がコマンドを受信すると、ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータスが「単体テスト完了」である場合（Ｓ８２のＹ）、ステータス変更部３２２はステータスを「単体テスト完了」から「開発中」に変更する（Ｓ８６）。
【００６２】
抽出したステータスが「単体テスト完了」でない場合（Ｓ８２のＮ）、ステータス変更部３２２は当該コマンドを受け付けない旨の情報を通信処理部２００へと送信する。通信処理部２００は、単体テスト用サーバ６００を経由して端末機器５００に当該情報を送信することでソフトウェア開発者５１０に当該コマンドを受け付けない旨を通知する（Ｓ８４）。
【００６３】
このようにステータスを戻す方向への変更を可能とすることにより、ソフトウェア開発工程で問題が生じた場合であっても、実際の開発状況に応じたステータスを設定できる。そのため、従来、ソフトウェア開発者５１０により人的に管理されていたソフトウェア開発の進捗状況がより効率的に管理され、人為的ミスが極力回避される。
【００６４】
図７は、ソースプログラムのステータス変更と連動して、当該ソースプログラムの改訂記号を変更する処理過程を示すシーケンス図である。
図２〜図５ではソフトウェア開発者５１０により入力されたコマンドによってソースプログラムのステータスが変更される処理について説明した。図７では、図２〜図５におけるステータス変更と連動してソースプログラムの改訂記号が変更される処理について説明する。
【００６５】
通信処理部２００は、ソフトウェア開発者５１０から送信されたソースプログラムを受信する。受信されたソースプログラムはファイル保持部４１０に格納される。ステータス変更部３２２は、格納されたソースプログラムのステータスを「開発中」に設定する（Ｓ８８）。設定されたステータスは、当該ソースプログラムと関連づけてステータス保持部４２０に格納される。
【００６６】
改訂記号変更部３２４は、ステータスが「開発中」に設定されたソースプログラムの改訂記号を「０．０．０」に設定する（Ｓ９０）。設定された改訂記号は、当該ソースプログラムと関連づけて改訂記号保持部４３０に保持される。
【００６７】
ソフトウェア開発者５１０は、ソースプログラムをソフトウェア開発管理装置１００に送信した後、送信したソースプログラムのコピーを用いて単体テスト用サーバ６００にて単体テストを行う。
【００６８】
ソフトウェア開発者５１０は、単体テストが完了した後（Ｓ９２）、単体テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ９４）。ソフトウェア開発者５１０は、単体テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００６９】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「開発中」から「単体テスト完了」に変更する（Ｓ９６）。
【００７０】
改訂記号変更部３２４は、ステータスが「単体テスト完了」に設定されたソースプログラムの改訂記号を「０．０．０」から「０．０．１」に変更する（Ｓ９８）。
【００７１】
ソフトウェア開発者５１０は、実行ファイルが連結テスト用サーバ６１０に送信された後、その実行ファイルを用いて連結テスト用サーバ６１０にて連結テストを行う。
【００７２】
ソフトウェア開発者５１０は、連結テストが完了した後（Ｓ１００）、連結テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１０２）。ソフトウェア開発者５１０は、連結テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００７３】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「単体テスト完了」から「連結テスト完了」に変更する（Ｓ１０４）。
【００７４】
改訂記号変更部３２４は、ステータスが「連結テスト完了」に設定されたソースプログラムの改訂記号を「０．０．１」から「０．１．０」に変更する（Ｓ１０６）。
【００７５】
ソフトウェア開発者５１０は、実行ファイルが総合テスト用サーバ６２０に送信された後、その実行ファイルを用いて総合テスト用サーバ６２０にて総合テストを行う。
【００７６】
ソフトウェア開発者５１０は、総合テストが完了した後（Ｓ１０８）、総合テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１１０）。ソフトウェア開発者５１０は、総合テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００７７】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「連結テスト完了」から「総合テスト完了」に変更する（Ｓ１１２）。
【００７８】
ソフトウェア開発者５１０は、リリース準備完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１１４）。ソフトウェア開発者５１０は、リリース準備完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００７９】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「総合テスト完了」から「リリース準備完了」に変更する（Ｓ１１６）。
【００８０】
改訂記号変更部３２４は、ステータスが「リリース準備完了」に設定されたソースプログラムの改訂記号を「０．１．０」から「１．０．０」に変更する（Ｓ１１８）。
【００８１】
図８は、外部サーバのテストで問題が発生した場合における改訂記号変更の処理過程を示すシーケンス図である。
図７では外部サーバで問題なくテストが完了した場合の改訂記号の変更処理について説明した。図８では、例として連結テストで問題が発生した場合における改訂記号の変更処理について説明する。
【００８２】
単体テスト完了（Ｓ１２０）までは図７の処理と同様の処理が行われる。ソフトウェア開発者５１０は、単体テストが完了した後（Ｓ１２０）、単体テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１２２）。ソフトウェア開発者５１０は、単体テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００８３】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「開発中」から「単体テスト完了」に変更する（Ｓ１２４）。
【００８４】
改訂記号変更部３２４は、ステータスが「単体テスト完了」に設定されたソースプログラムの改訂記号を「０．０．０」から「０．０．１」に変更する（Ｓ１２６）。
【００８５】
ソフトウェア開発者５１０は、実行ファイルが連結テスト用サーバ６１０に送信された後、その実行ファイルを用いて連結テスト用サーバ６１０にて連結テストを行う。連結テストで問題が発生する（Ｓ１２８）。
【００８６】
連結テストで問題が発生した場合、ソフトウェア開発者５１０はソースプログラムを修正し、その修正を確認するため再び単体テストを行う必要がある。ソフトウェア開発者５１０は、ステータス：「単体テスト完了」を取り消すためのコマンドをソフトウェア開発管理装置１００に送信する（Ｓ１３０）。ソフトウェア開発者５１０は、当該コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００８７】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「単体テスト完了」から「開発中」に変更する（Ｓ１３２）。
【００８８】
ソフトウェア開発者５１０は、問題があるソースプログラムを修正し、再び単体テスト用サーバ６００にて単体テストを行う。
【００８９】
ソフトウェア開発者５１０は、単体テストが完了した後（Ｓ１３４）、単体テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１３６）。ソフトウェア開発者５１０は、単体テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００９０】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、ステータスを「開発中」から「単体テスト完了」に再び変更する（Ｓ１３８）。
【００９１】
改訂記号変更部３２４は、ステータスが「単体テスト完了」に設定されたソースプログラムの改訂番号を「０．０．２」に変更する（Ｓ１４０）。
【００９２】
ソフトウェア開発者５１０は、実行ファイルが連結テスト用サーバ６１０に送信された後、その実行ファイルを用いて連結テスト用サーバ６１０にて再び連結テストを行う。
【００９３】
ソフトウェア開発者５１０は、連結テストが完了した後（Ｓ１４２）、連結テスト完了コマンドをソフトウェア開発管理装置１００に送信する（Ｓ１４４）。ソフトウェア開発者５１０は、連結テスト完了コマンドを送信する際、当該コマンドの対象であるソースプログラムを指定した上でコマンドを送信する。
【００９４】
ステータス変更部３２２は、指定されたソースプログラムのステータスを抽出する。ステータス変更部３２２は、抽出したステータスを「単体テスト完了」から「連結テスト完了」に変更する（Ｓ１４６）。
【００９５】
改訂記号変更部３２４は、ステータスが「連結テスト完了」に設定されたソースプログラムの改訂番号を「０．０．２」から「０．１．０」に変更する（Ｓ１４８）。
【００９６】
図７で説明したように外部サーバでのテストで問題が発生しなければ、改訂記号の数字は０または１のみである。しかし、図８で説明したように連結テストで問題が発生し、２回目の単体テストが完了した場合には改訂記号の３桁目の数字にさらに１が追加され、「０．０．２」となる。このようにステータスが同じ単体テスト完了であっても改訂記号の値が異なることで、ソフトウェア開発者５１０は、１回目の連結テストで発生した問題が修正されていることを容易に把握でき、ソフトウェア開発管理をより効率的に行うことができる。
【００９７】
以上、実施の形態をもとに本発明を説明した。なお本発明はこの実施の形態に限定されることなく、そのさまざまな変形例もまた、本発明の態様として有効である。
【図面の簡単な説明】
【００９８】
【図１】ソフトウェア開発管理装置の機能ブロック図である。
【図２】単体テストにおける処理過程を示すシーケンス図である。
【図３】連結テストにおける処理過程を示すシーケンス図である。
【図４】総合テストにおける処理過程を示すシーケンス図である。
【図５】総合テストが完了した実行ファイルを本番サーバにリリースする処理過程を示すシーケンス図である。
【図６】外部サーバのテストで問題が発生した場合の処理過程を示すシーケンス図である。
【図７】ソースプログラムのステータス変更と連動して、当該ソースプログラムの改訂記号を変更する処理過程を示すシーケンス図である。
【図８】外部サーバのテストで問題が発生した場合における改訂記号変更の処理過程を示すシーケンス図である。
【符号の説明】
【００９９】
１００  ソフトウェア開発管理装置、  ２００  通信処理部、  ２１０  ファイル送信部、  ２２０  コマンド受付部、  ３００  データ処理部、  ３１０  コンパイル部、  ３２０  データ変更部、  ３２２  ステータス変更部、  ３２４  改訂記号変更部、  ４００  データ保持部、  ４１０  ファイル保持部、  ４２０  ステータス保持部、  ４３０  改訂記号保持部、  ５００  端末機器、  ５１０  ソフトウェア開発者、  ６００  単体テスト用サーバ、  ６１０  連結テスト用サーバ、  ６２０  総合テスト用サーバ、  ６３０  本番サーバ。
【図１】
0005149697.tif 000002
【図２】
0005149697.tif 000003
【図３】
0005149697.tif 000004
【図４】
0005149697.tif 000005
【図５】
0005149697.tif 000006
【図６】
0005149697.tif 000007
【図７】
0005149697.tif 000008
【図８】
0005149697.tif 000009