(57)【要約】【課題】  信頼度成長モデルを適応した開発ソフトウェアの品質管理を簡単に行うことができるようにする。【解決手段】  通信回線を介して接続された複数のコンピュータ上でそれぞれ作成されたプログラムファイルを前記通信回線を介して収集して保管するとともに、今回収集したプログラムファイルと、前回収集し保管したプログラムファイルとの変更情報を検出し、前記変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ収集手段と、前記管理パラメタ収集手段によって検出された管理パラメタ内のプログラムファイル変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算手段と、前記信頼度成長モデル計算手段で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力手段とを設け、プログラムファイルの変更情報を用いて信頼度成長モデルを計算するようにする。【選択図】  図１
2006301870.tif 000002
【特許請求の範囲】
【請求項１】
通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理装置であって、
前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集手段と、前記プログラムファイル収集手段により収集されたプログラムファイルを保管するプログラムファイル保管手段と、前記プログラムファイル収集手段が今回収集したプログラムファイルと、前記プログラムファイル保管手段に保管されている、前記プログラムファイル収集手段が前回収集したプログラムファイルとの変更情報を検出する変更情報検出手段と、前記変更情報検出手段により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管手段とを有する管理パラメタ収集手段と、
前記管理パラメタ収集手段によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算手段と、
前記信頼度成長モデル計算手段で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力手段とを有することを特徴とするソフトウェア開発管理装置。
【請求項２】
前記管理パラメタ収集手段を定期的に自動実行させて前記管理パラメタを定期的に収集する実行スケジューリング手段を有することを特徴とする請求項１に記載のソフトウェア開発管理装置。
【請求項３】
前記信頼度成長モデル計算手段で計算された信頼度成長モデルにより目的とする品質に達成するまでの日数を推定し、推定された全テスト日数と現在までのテスト日数とから、テストの進捗率を計算するテスト進捗計算手段を有することを特徴とする請求項１または２に記載のソフトウェア開発管理装置。
【請求項４】
前記管理パラメタ収集手段で収集したプログラムファイルのステップ数をカウントして、前記変更情報とともに管理パラメタとして蓄積保管し、プログラムファイルのステップ数と、あらかじめ予測し設定した完成時のプログラムのステップ数とから、プログラム記述の進捗率を計算する記述進捗計算手段を有することを特徴とする請求項１〜３の何れか１項に記載のソフトウェア開発管理装置。
【請求項５】
前記テスト進捗計算手段から得られたテスト進捗率及び前記記述進捗計算手段から得られた記述進捗率を重み付け加算することで総合進捗率を計算する総合進捗計算手段と、
前記テスト進捗計算手段から得られたテスト進捗率と、前記記述進捗計算手段から得られた記述進捗率と、前記総合進捗計算手段から得られる総合進捗率とを合わせて表示する進捗管理情報出力手段とを有することを特徴とする請求項１〜４の何れか１項に記載のソフトウェア開発管理装置。
【請求項６】
通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理方法であって、
前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集工程と、前記プログラムファイル収集工程により収集されたプログラムファイルを保管するプログラムファイル保管工程と、前記プログラムファイル収集工程が今回収集したプログラムファイルと、前記プログラムファイル保管工程に保管されている、前記プログラムファイル収集工程が前回収集したプログラムファイルとの変更情報を検出する変更情報検出工程と、前記変更情報検出工程により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管工程とを有する管理パラメタ収集工程と、
前記管理パラメタ収集工程によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算工程と、
前記信頼度成長モデル計算工程で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力工程とを有することを特徴とするソフトウェア開発管理方法。
【請求項７】
前記管理パラメタ収集工程を定期的に自動実行させて前記管理パラメタを定期的に収集する実行スケジューリング工程を有することを特徴とする請求項６に記載のソフトウェア開発管理方法。
【請求項８】
前記信頼度成長モデル計算工程で計算された信頼度成長モデルにより目的とする品質に達成するまでの日数を推定し、推定された全テスト日数と現在までのテスト日数とから、テストの進捗率を計算するテスト進捗計算工程を有することを特徴とする請求項６または７に記載のソフトウェア開発管理方法。
【請求項９】
前記管理パラメタ収集工程で収集したプログラムファイルのステップ数をカウントして、前記変更情報とともに管理パラメタとして蓄積保管し、プログラムファイルのステップ数と、あらかじめ予測し設定した完成時のプログラムのステップ数とから、プログラム記述の進捗率を計算する記述進捗計算工程を有することを特徴とする請求項６〜８の何れか１項に記載のソフトウェア開発管理方法。
【請求項１０】
前記テスト進捗計算工程から得られたテスト進捗率及び前記記述進捗計算工程から得られた記述進捗率を重み付け加算することで総合進捗率を計算する総合進捗計算工程と、
前記テスト進捗計算工程から得られたテスト進捗率と、前記記述進捗計算工程から得られた記述進捗率と、前記総合進捗計算工程から得られる総合進捗率とを合わせて表示する進捗管理情報出力工程とを有することを特徴とする請求項６〜９の何れか１項に記載のソフトウェア開発管理方法。
【請求項１１】
通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理方法をコンピュータに実行させることをプログラムであって、
前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集工程と、前記プログラムファイル収集工程により収集されたプログラムファイルを保管するプログラムファイル保管工程と、前記プログラムファイル収集工程が今回収集したプログラムファイルと、前記プログラムファイル保管工程に保管されている、前記プログラムファイル収集工程が前回収集したプログラムファイルとの変更情報を検出する変更情報検出工程と、前記変更情報検出工程により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管工程とを有する管理パラメタ収集工程と、
前記管理パラメタ収集工程によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算工程と、
前記信頼度成長モデル計算工程で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力工程とを有するソフトウェア開発管理方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１２】
前記請求項１１に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はソフトウェアの開発管理装置、ソフトウェア開発管理方法、コンピュータプログラム及び記録媒体に関し、特に、開発されたソフトウェアの品質管理と進捗管理に用いて有効な技術に関する。
【背景技術】
【０００２】
従来、開発されたソフトウェアが目標とする品質に達するまでの期間を、信頼度成長モデルを用いて推定する手法が存在する。例えば、特許文献１に記載のソフトウェアリリース時点推定装置のように、テストケースに従って被テストソフトウェアを実行させる実行手段と、この実行の累積時間であるテスト時間情報とその際に検出されたバグ数とバグ修正数とバグ修正に要した時間数とをデータ収集する収集手段と、この収集したデータのうち、検出バグ数に対する修正数の関係から得られた未修正数の情報をもとにテスト時間情報に基づくテスト時間および修正時間の推移との関係から各種統計的モデルにより前記ソフトウェアのリリース時点をモデル別に推定する推定手段と、これら推定値に対して経験に基づく所定の規則に従って補正した後、総合して評価処理することにより、リリース時点の推定結果を得る手段とによりソフトウェアのリリース時期を推定するようにした装置が知られている。
【０００３】
また、ソフトウェア開発の進捗率をあらかじめ予想されたプログラムファイルのステップ数と、作成したプログラムファイルのステップ数から見積もる方法は一般的である。例えば、特許文献２に記載の電子的成果物開発管理装置ように、進捗作成命令入力部から電子的成果物の成果物識別子または成果物検索条件を入力し、進捗情報作成部では、進捗測定手続き管理部から抽出した進捗測定手続きを実行して、成果物管理部から抽出した電子的成果物の成果物進捗情報を作成し、進捗正規化手続き管理部から抽出した進捗正規化手続きで異なる種類の成果物進捗情報を同一の尺度に正規化することにより複数の電子的成果物の集合の成果物集合進捗情報を作成するような電子的成果物開発管理装置においては、プログラムファイルのステップ数を進捗管理情報の一部として用いている。
【０００４】
【特許文献１】特開平５−１００８４０号公報
【特許文献２】特開平６−０１９６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来、信頼度成長モデルを適応してソフトウェアの品質管理を行うには発見フォールトを集計する必要があり、複数の開発用コンピュータ上に分散して開発やテストが行われる環境では発見フォールトを収集する手間が必要であった。また、発見したフォールトが、プログラムファイルに記述されたプログラムコードのミスに常に起因するものでなかったり、同じフォールトが同時に重複して発見されたりするようなこともあった。このため、信頼度成長モデルを適応するには発見フォールトを分類して管理集計する必要があったので、品質管理を行うのに非常に手間がかかる問題点があった。
【０００６】
また、成果物の一つであるプログラムファイルのステップ数のように、開発量を主体にした進捗管理では、プログラムコードにミスが多く残ったままでも高い進捗率を示してしまう問題点があった。一方、テスト時においてテストが必要な期間を、信頼度成長モデルを用いて推定することができるが、従来の推定方法では、進捗がどの程度進んでいるのか遅れているのかを日程計画に照らし合わせて直感的に判断することが困難である問題点があった。
【０００７】
また、ソフトウェア開発管理装置が必要な情報を自動で収集するように設定すると開発環境に制約が発生したり、プログラマ個人による効率的な開発環境の利用ができなくなったりする恐れがあったため、ソフトウェア開発管理を行うために必要な情報を入力するには非常に手間がかかった。特に、ＲＡＤ（Rapid Application Development）ツールを用いた開発では、ツールにその機能が備わっていない場合には進捗管理情報を自動で収集することは困難であった。
【０００８】
本発明は前述の問題点にかんがみ、信頼度成長モデルを適応した開発ソフトウェアの品質管理を簡単に行うことができるようにすることを第１の目的としている。
また、進捗がどの程度進んでいるのかを日程計画に照らし合わせて直感的に判断できるようにすることを第２の目的とする。
また、開発環境に影響されることなく管理のための情報収集を行うことができるようにすることを第３の目的とする。
【課題を解決するための手段】
【０００９】
本発明のソフトウェア開発管理装置は、通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理装置であって、前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集手段と、前記プログラムファイル収集手段により収集されたプログラムファイルを保管するプログラムファイル保管手段と、前記プログラムファイル収集手段が今回収集したプログラムファイルと、前記プログラムファイル保管手段に保管されている、前記プログラムファイル収集手段が前回収集したプログラムファイルとの変更情報を検出する変更情報検出手段と、前記変更情報検出手段により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管手段とを有する管理パラメタ収集手段と、前記管理パラメタ収集手段によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算手段と、前記信頼度成長モデル計算手段で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力手段とを有することを特徴とする。
【００１０】
本発明のソフトウェア開発管理方法は、通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理方法であって、前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集工程と、前記プログラムファイル収集工程により収集されたプログラムファイルを保管するプログラムファイル保管工程と、前記プログラムファイル収集工程が今回収集したプログラムファイルと、前記プログラムファイル保管工程に保管されている、前記プログラムファイル収集工程が前回収集したプログラムファイルとの変更情報を検出する変更情報検出工程と、前記変更情報検出工程により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管工程とを有する管理パラメタ収集工程と、
前記管理パラメタ収集工程によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算工程と、前記信頼度成長モデル計算工程で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力工程とを有することを特徴とする。
【００１１】
本発明のコンピュータプログラムは、通信回線を介して接続された複数のコンピュータ上の各々に搭載するソフトウェア開発管理方法をコンピュータに実行させることをプログラムであって、前記各コンピュータ上で作成されたプログラムファイルを前記通信回線を介して収集するプログラムファイル収集工程と、前記プログラムファイル収集工程により収集されたプログラムファイルを保管するプログラムファイル保管工程と、前記プログラムファイル収集工程が今回収集したプログラムファイルと、前記プログラムファイル保管工程に保管されている、前記プログラムファイル収集工程が前回収集したプログラムファイルとの変更情報を検出する変更情報検出工程と、前記変更情報検出工程により検出した変更情報と実行した日付とを関連付けて記憶媒体に蓄積保管する管理パラメタ保管工程とを有する管理パラメタ収集工程と、前記管理パラメタ収集工程によって収集された管理パラメタ内の変更情報を使用して信頼度成長モデルを計算する信頼度成長モデル計算工程と、前記信頼度成長モデル計算工程で計算された信頼度成長モデルを表またはグラフで出力する品質管理情報出力工程とを有するソフトウェア開発管理方法をコンピュータに実行させることを特徴とする。
【００１２】
本発明記録媒体は、前記に記載のコンピュータプログラムを記録したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、複数のプログラムファイルからプログラムファイルの変更情報を検出するとともに、前記変更情報を使用して信頼度成長モデルを計算するようにしたので、非常に面倒な発見フォールトの収集・管理集計を不要にでき、信頼度成長モデルによる品質管理を簡単に行うことができる。
【００１４】
また、本発明の他の特徴によれば、推定された全テスト日数と現在までのテスト日数とから計算されるテスト進捗率と、プログラムファイルのステップ数とあらかじめ予測して設定した完成時のプログラムのステップ数とから計算されるプログラムの記述進捗率と、前記テスト進捗率及び記述進捗率からプログラムコードの完成とテストの終了をもって進捗率１００％となるような総合進捗率とを求めるようにしたので、テスト期間も含め、進捗がどの程度進んでいるのかを、日程計画に照らし合わせて直感的に判断できる進捗率を得ることができる。
【００１５】
また、本発明のその他の特徴によれば、管理パラメタを共用することができるため、プログラマ個人のソフトウェア開発環境に影響されることなく管理のための情報収集を行うことができ、情報収集ツールが異なる場合でも開発管理のためのパラメタを自動的に収集することができる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施の形態）
図１は第１の実施の形態を示し、ソフトウェア開発管理システムの特徴を示すブロック図である。ソフトウェアは複数の開発用コンピュータ１００の上で開発され、プログラムファイルは各開発コンピュータ上に分散して置かれて記述やテスト及び修正が行われている。開発用コンピュータ１００と管理用コンピュータ１０２とはネットワーク１０１で相互に接続されており、ファイルの交換ができるようになっている。もちろん、開発用コンピュータ１００が管理用コンピュータ１０２を兼ねていてもよい。
【００１７】
管理用コンピュータ１０２には、管理パラメタを定期的に自動で蓄積するための実行スケジューリング部１０３があり、管理パラメタ収集部１０４を定期的に起動する。管理パラメタ収集部１０４では、プログラムファイル収集部１０５によってネットワーク１０１を介して開発用コンピュータ１００に分散しているプログラムファイルを収集する。
【００１８】
そして、収集したプログラムファイルは、ステップ数をカウントするためにステップ数カウント部１０６に送り、ステップ数カウント部１０６においてプログラムファイルのステップ数をカウントする。また、収集したプログラムファイルは、変更情報を検出するために変更情報検出部１０８に送り、変更情報検出部１０８において、プログラム保管部１０７に保管されている前回収集したプログラムファイルと今回収集したプログラムファイルとを比較し、変更情報を検出する。
【００１９】
さらに、今回収集したプログラムファイルを、次回の変更情報検出のために、プログラムファイル保管部１０７に送り、プログラムファイル保管部１０７に保管しているファイルを更新する。以上の手順で取得したステップ数と変更情報を、管理パラメタ収集部１０４が起動された日付情報と関連付けて管理パラメタ蓄積保管部１０９に蓄積保管する。
【００２０】
ここで、変更情報を検出するために、前回収集したプログラムファイルをプログラム保管部１０７で保管し、今回収集したプログラムファイルと比較する方法について説明しているが、第２の実施の形態で後に説明するＣＶＳ（Concurrent Versions System）のような一般に使用されているバージョン管理ツールを用いて変更情報を検出してもよい。
【００２１】
管理情報を出力するためには、以下の動作を行う。信頼度成長モデルを得るために、信頼度成長モデル計算部１１０は、管理パラメタ蓄積保管部１０９に蓄積された情報から、プログラムファイルの変更情報を用いて信頼度成長モデルを計算する。
【００２２】
変更情報は、変更箇所数、削除ステップ数、追加ステップ数から構成され、１ステップ内の変更であっても１ステップ削除または１ステップ追加として計算するものとする。信頼度成長モデルで用いる値は前記変更情報から導かれるが、簡単には削除ステップ数としてもよい。
【００２３】
信頼度成長曲線からテスト進捗率を得るために、テスト進捗計算部１１１は今後目標の品質を得られるまでのテスト期間を推定し、今までテストを行った期間を合計してテスト全体に必要な期間を算出する。このテスト全体に必要な期間に対する今までテストを行った期間を、テスト進捗計算部１１１はテスト進捗率として出力する。
【００２４】
例えば、テストを開始してから「ａ日目」の時点で、信頼度成長モデルから目標品質を得るためには残り「ｂ日間」のテストが必要であると推定された場合、「テスト進捗率Ｔｑ」を以下の式で求める。
Ｔｑ＝ａ／（ａ＋ｂ）  ・・・（１）
【００２５】
ここで、推定総変更数に対する修正済み変更数を計算してテスト進捗率を求めないのは、テストの初期段階では次々にフォールトが発見されて変更が行われるが、テストが進むにつれてフォールトが発見されるまでの間隔が長くなり変更は少なくなる。つまり、開発の最初の方では進捗率は早く上がるが、開発の最後の方では進捗率が上がらなくなるといった現象が発生し、日程とあわせた直感的な進捗率とならないからである。
【００２６】
管理パラメタ蓄積保管部１０９に蓄積された情報から記述進捗を得るために、記述進捗計算部１１２は、あらかじめ予想した完成時のプログラムのステップ数に対する最新のステップ数を記述進捗率として出力する。例えば、あるプログラムのあらかじめ予想したステップ数を「ｅステップ」として設定し、現在の開発ステップ数が「ｃステップ」であれば、「記述進捗率Ｔｓ」を以下の式で求める。
Ｔｓ＝ｃ／ｅ  ・・・（２）
【００２７】
総合的な進捗の判断を行うために必要な総合進捗率を得るために、総合進捗計算部１１３は、上記テスト進捗率と記述進捗率とを重み付け加算して、総合進捗率を出力する。例えば、総合進捗率Ｔａを以下の式で求める。
Ｔａ＝（Ａ×Ｔｓ）＋｛（１−Ａ）×Ｔｓ×Ｔｑ｝  ・・・（３）
【００２８】
ここで、Ａは記述進捗率とテスト進捗率との重み付けをする係数で、「０〜１」の間の値を設定する。本実施の形態では、テスト進捗率と記述進捗率の２種類の進捗率を用いたが、他の方法で得られる進捗率を同様に重み付け加算することで総合進捗率を求めることも可能である。
【００２９】
管理情報出力部１１４では、品質管理情報出力部１１５により信頼度成長モデルから推定される残存ミス数や目標の品質を得られるまでの期間等の品質に関する数値や、信頼度成長曲線のグラフを画面上に表示する。
【００３０】
一方、進捗管理情報出力部１１６は、現在のテスト進捗率、記述進捗率及び総合進捗率や、過去の進捗率の変化のグラフを画面上に表示する。さらに、品質管理情報と進捗管理情報とをあわせた表示もでき、画面上に表示した数値やグラフはコンピュータに接続されたプリンタ等を使って紙面に印刷することもできる。
【００３１】
図８は、管理用コンピュータ１０２のハード構成の一例を示す図である。
図８において、８００はコンピュータ（ＰＣ）であり、コンピュータ８００は、ＣＰＵ８０１を備え、ＲＯＭ８０２またはハードディスク（ＨＤ）８１１に記憶された、あるいはフロッピー（登録商標）ディスク（ＦＤ）８１２より供給される開発管理制御ソフトウェアを実行し、システムバス８０４に接続される各開発用コンピュータ１００を総括的に制御する。
【００３２】
また、上記コンピュータ８００のＣＰＵ８０１、ＲＯＭ８０２またはハードディスク（ＨＤ）８１１に記憶されたプログラムにより、本発明のプログラムファイルの収集、変更情報の検出、信頼度成長モデル計算等の各手段が構成される。
【００３３】
８０３はＲＡＭで、ＣＰＵ８０１の主メモリ、ワークエリア等として機能する。８０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）８０９からの指示入力を制御する。
【００３４】
８０６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）８１０の表示を制御する。８０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム（起動プログラム：パソコンのハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）８１１、及びフロッピー（登録商標）ディスク（ＦＤ）８１２とのアクセスを制御する。
【００３５】
８０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ８２０を介して、ネットワークプリンタ、他のネットワーク機器、あるいは他のコンピュータと双方向のデータのやり取りを行う。なお、ＬＡＮ８２０は図１におけるネットワークｌ０１に相当するＬＡＮである。
【００３６】
図２は、開発管理システムの構成を示す図である。図２の例では、情報自動収集ツール２００、管理情報表示ツール２０１、制御情報編集ツール２０２から構成された例を示している。
【００３７】
図２において、スケジューラ２０３は制御情報ファイルのスケジューリング設定に従って、定期的に管理パラメタの収集を行う。本実施の形態では、毎日夜中の３時に実行するように設定されている。ファイル収集部２０５では、ＦＴＰ（File Transfer Protocol）を利用して他のコンピュータ上にあるプログラムファイルを仮置き領域２０６にコピーする。このコピーされたプログラムファイルはステップ数カウンタ２０７でＵＮＩＸ（登録商標）のコマンドである"wc"を用いてステップ数がカウントされる。
【００３８】
また、差異検出部２０８ではＵＮＩＸ（登録商標）のコマンドである"diff"を用いて変更情報が検出される。もし、変更があった場合は、該当プログラムファイルを、仮置き領域から保管領域２０９にコピーする。これらの処理の結果は管理パラメタ作成部２１０で１行の文字列に整形され、管理パラメタ蓄積保管部２１１に保管される。
【００３９】
管理情報表示ツール２０１では信頼度成長モデル計算／進捗率計算部２１２で信頼度成長モデルと進捗率の計算が行われ、結果表示部２１３でコンピュータのディスプレイ上に品質管理情報や進捗管理情報を表示させる。また、結果印刷部２１４でこれらの紙に印刷させることもできる。
【００４０】
図３は、第１の実施の形態で使用される制御情報ファイル保管部２０４にある制御情報ファイルの一部を示す図である。３００から３１０が一つのモジュールのための記述で、制御情報ファイルには、このような記述が１個以上含まれている。
【００４１】
図３において、３０１はモジュール名であり、ソフトウェア設計の最初の時期に決定される。３０２〜３０５はプログラムファイルが置かれている場所を指定する記述で、３０３、３０４のようにホスト名と検索を開始するディレクトリとを複数記述できるようになっている。３０６はあらかじめ推定したモジュール内のプログラムファイルのステップ数であり、プログラムの処理量や複雑さ等から決定される。
【００４２】
３０７は信頼度成長モデルから推定される総変更数に対しての修正変更数目標値のパーセント値であり、当該モジュールの重要度等から決定される値である。３０８は記述進捗率とテスト進捗率との重み付け係数のパーセント値であり、コード量や処理内容、品質目標等から決定される。３０９はテストを開始した日付である。
【００４３】
３１１〜３１５は定期的に管理パラメタを収集するためのスケジューリングについての設定である。本実施の形態では、設定モード欄３１２で毎日収集を行うように設定されており、時間設定欄３１３で収集を開始する時刻が設定されている。３１６〜３２２はプログラムファイルを識別するための記述である。コマンド欄３１７でファイル名のサフィックス（suffix）を用いてプログラムファイルを識別するよう設定されており、３１８〜３２０でサフィックスの文字列を規定している。
【００４４】
図４は、第１の実施の形態で使用される管理パラメタ蓄積保管部２１１に保管されている処理結果を示すファイルの一部を示す図である。
図４において、４００は情報を収集した日付、４０１はプログラムファイルが属するモジュール名、４０２はプログラムファイル名、４０３はプログラムファイルのステップ数、４０４はプログラムファイルからコメントステップを除いたステップ数、４０５は変更のあった個所の総数、４０６は削除されたステップ数、４０７は追加されたステップ数である。
【００４５】
図５は、第１の実施の形態で出力された進捗管理表の一例を示す図である。
図５において、ウインドウ５００内には、各モジュールの進捗状況を表示するエリア５０１、全体の進捗状況を表示している進捗状況全体表示部分５０３、各モジュールの進捗管理表内の表示場所を変更するスクロールバー５０２等が配置されている。
【００４６】
このウインドウ上で１個のモジュール又は全体を選択し、ＤＥＴＡＩＬボタン５０４を押下すれば、別のウインドウを表示して詳細な情報を見ることができる。また、ウインドウ５００を閉じたい場合は、ＣＬＯＳＥボタン５０５を押下すれば、進捗管理表のウインドウ５００を閉じることができる。
【００４７】
図６は、第１の実施の形態で出力された進捗状況グラフの表示の一例を示す図である。
図６において、横軸に日付をとり、縦軸にステップ数または削除したステップ数（変更数）の累計をとり、その関係をウインドウ６００内でグラフ化して表示する。曲線６０１はステップ数の増加を示す曲線、破線６０２はあらかじめ推定した一定のステップ数を示す線である。
【００４８】
曲線６０３は削除したステップ数の累計を示す曲線、破線６０４はテストを開始した一定の日付を示す線、曲線６０５は計算された信頼度成長モデルから得られる信頼度成長曲線、破線６０６は信頼度成長曲線から得られる一定の推定総削除ステップ数を示す線、破線６０７は削除ステップ数における、一定の目標品質を示す線である。ウインドウ６００を閉じたい場合は、ＣＬＯＳＥボタン６０８を押下すれば、進捗状況グラフのウインドウ６００を閉じることができる。
【００４９】
（第２の実施の形態）
図７は、本発明の第２の実施の形態を示し、開発管理システムの構成を示す図である。本実施の形態では、バージョン管理ツールであるＣＶＳを使用しており、第１の実施の形態とは情報自動収集ツール７００及びその周辺が異なっている。また、図７において、情報自動収集ツール７００以外のツールについては、第１の実施の形態と同一の機能なので、それぞれの構成については図２と同一の番号を付している。
【００５０】
スケジューラ７０１は開発コンピュータでＣＶＳ７０２の"commit"コマンドを実行させることで、ＣＶＳ７０２の機能を用いて定期的にプログラムファイルを収集する。プログラムファイルはＣＶＳ７０２によって、バージョン管理された情報としてＣＶＳレポジトリ７０３に蓄積される。
【００５１】
ステップ数カウンタ７０５ではＣＶＳ８０２の"update"コマンド機能を用いて最新のリビジョンファイルを取り出しステップ数がカウントされる。また、差異検出部７０６では、ＣＶＳ７０２の"diff"コマンド機能を用いて、プログラムファイルの差異が検出される。この処理の結果は管理パラメタ作成７０４で１行の文字列に整形され、管理パラメタ蓄積保管部２１１に保管される。以降は、第１の実施の形態と同様の手順で、品質管理情報、進捗管理情報が表示される。
【００５２】
（第３の実施の形態）
第１の実施の形態も第２の実施の形態も、管理パラメタ蓄積保管部２１１から後の工程に関しては全く同様の手順で品質管理情報、進捗管理情報が出力されることから、本発明の第３の実施の形態として、第１の実施の形態及び第２の実施の形態の情報収集ツールを混在して使用する形態も考えられる。
【００５３】
ソフトウェア開発の一部のプロジェクトではＣＶＳ７０２を使用しており、別のプロジェクトではＣＶＳ７０２を使用していないような場合でも、管理パラメタを共用することによって、ソフトウェア全体の開発を管理することもできる。
【００５４】
（本発明に係る他の実施の形態）
上述した本発明の実施の形態におけるソフトウェア開発管理装置を構成する各手段、並びにソフトウェア開発管理方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び上記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００５５】
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施の形態も可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５６】
なお、本発明は、前述した実施の形態の機能を実現するソフトウェアのプログラム（実施の形態では図２、図７に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００５９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００６０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００６１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現され得る。
【００６４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施の形態の機能が実現される。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１の実施の形態を示し、ソフトウェア開発管理システムの特徴を示すブロック図である。
【図２】本発明の第１の実施の形態を示し、開発管理システムの構成を示す図である。
【図３】本発明の第１の実施の形態で使用される制御情報ファイル保管部にある制御情報ファイルの一部を示す図である。
【図４】本発明の第１の実施の形態で使用される管理パラメタ蓄積保管部に保管されている処理結果を示すファイルの一部を示す図である。
【図５】本発明の第１の実施の形態で出力された進捗管理表の一例を示す図である。
【図６】本発明の第１の実施の形態で出力された進捗状況グラフの表示の一例を示す図である。
【図７】本発明の第２の実施の形態を示し、開発管理システムの構成を示す図である。
【図８】管理用コンピュータのハード構成の一例を示す図である。
【符号の説明】
【００６６】
１００  開発用コンピュータ
１０１  ネットワーク
１０２  管理用コンピュータ
１０３  実行スケジューリング部
１０４  管理パラメタ収集部
１０５  プログラムファイル収集部
１０６  ステップ数カウント部
１０７  プログラムファイル保管部
１０８  変更情報検出部
１０９  管理パラメタ蓄積保管部
１１０  信頼度成長モデル計算部
１１１  テスト進捗計算部
１１２  記述進捗計算部
１１３  総合進捗計算部
１１４  管理情報出力部
１１５  品質管理情報出力部
１１６  進捗管理情報出力部
【図１】
2006301870.tif 000003
【図２】
2006301870.tif 000004
【図３】
2006301870.tif 000005
【図４】
2006301870.tif 000006
【図５】
2006301870.tif 000007
【図６】
2006301870.tif 000008
【図７】
2006301870.tif 000009
【図８】
2006301870.tif 000010