(57)【要約】【課題】機能量をベースにしてソフトウェア開発プロセス毎に開発メトリックスを収集し、管理指標によりソフトウェア開発プロセスの管理を支援するようにしたソフトウェア開発プロセス管理支援システムを得る。【解決手段】モジュール単位に表わされた機能仕様３とこの機能仕様に対応して形式化されたプログラム仕様群とこれらに基づき計算された機能量４とを格納した要求仕様ライブラリ２を用意しておき、ソフトウェア開発時には、要求仕様ライブラリ２を用いて形式的ルール６により仕様書１０及びプログラム１１を作成し、プロジェクトに対応した総機能量１２を計測し、この総機能量１２を用いて見積り値１３を算出して、プロセス毎の目標値１５とそれに対する実績値１４を収集したプロジェクト対応ＤＢ９を作成して、これらにより、ソフトウェア開発プロセスの管理を支援する。【選択図】                図１
2004280295.tif 000002
【特許請求の範囲】
【請求項１】
モジュール単位に表わされた機能仕様とこの機能仕様に対応して形式化されたプログラム仕様群と上記機能仕様及びプログラム仕様群に基づき計算された機能量とを格納した要求仕様ライブラリ、ソフトウェア開発のプロジェクトに対応するように上記要求仕様ライブラリを用いて作成された仕様書及びプログラム並びに上記プロジェクトに対応して計算された総機能量を格納したプロジェクト対応データベース、及び上記要求仕様ライブラリの機能仕様及びプログラム仕様群から上記プロジェクト対応データベースの仕様書及びプログラムを作成する形式的ルールと上記要求ライブラリの機能量及び上記プロジェクト対応データベースの総機能量を計算する計算ルールとを有するルールライブラリを備え、上記プロジェクト対応データベースの総機能量に基づきソフトウェア開発プロセスが管理されることを特徴とするソフトウェア開発プロセス管理支援システム。
【請求項２】
上記要求仕様ライブラリに上記機能仕様及び上記プログラム仕様群を登録すると共に、上記ルールライブラリに上記形式的ルール及び上記計算ルールを登録するライブラリ登録部を備えたことを特徴とする請求項１記載のソフトウェア開発プロセス管理支援システム。
【請求項３】
上記プロジェクトの管理に用いられる管理指標及び見積り用の定数を有する管理データベースを備え、上記プロジェクト対応データベースには、上記管理データベースの見積り用の定数及び上記総機能量に基づき計算された見積り値と、ソフトウェア開発プロセス毎に上記管理指標に基づき設定された目標値と、プロジェクトの進行にしたがって収集された実績値とが格納され、上記見積り値と目標値と実績値とによりソフトウェア開発プロセスが管理されることを特徴とする請求項１または請求項２記載のソフトウェア開発プロセス管理支援システム。
【請求項４】
上記管理データベースの上記管理指標及び見積り用の定数を登録する目標見直し部を備えたことを特徴とする請求項３記載のソフトウェア開発プロセス管理支援システム。
【請求項５】
上記プロジェクト対応データベースの見積り値と目標値と実績値とを統計処理して上記管理データベースの上記管理指標及び見積り用の定数を適正化する適正部を備え、上記目標見直し部は、上記適正部により適正化された上記管理指標及び見積り用の定数を登録することを特徴とする請求項４記載のソフトウェア開発プロセス管理支援システム。
【請求項６】
上記プロジェクト対応データベースの総機能量と上記管理データベースの見積り用の定数を用いてソフトウェア開発プロセス毎の見積りを行い、上記プロジェクト対応データベースの見積り値を登録する見積り部を備えたことを特徴とする請求項３〜請求項５のいずれかに記載のソフトウェア開発プロセス管理支援システム。
【請求項７】
上記プロジェクト対応データベースの仕様書が修正された場合には、上記形式的ルールを遡って上記仕様書に対応する上記機能仕様及びプログラム仕様群に上記修正が反映されることを特徴とする請求項１〜請求項６のいずれかに記載のソフトウェア開発プロセス管理支援システム。
【請求項８】
上記プロジェクト対応データベースの仕様書が修正された場合には、上記修正が反映された機能仕様及びプログラム仕様群に応じて機能量が計測され、上記計測された機能量を用いて再見積りされることを特徴とする請求項７記載のソフトウェア開発プロセス管理支援システム。
【請求項９】
上記プロジェクト対応データベースの見積り値、目標値及び実績値をモニタするプロセス管理部を備えたことを特徴とする請求項１〜請求項８のいずれかに記載のソフトウェア開発プロセス管理支援システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ソフトウェア開発業務の品質向上を支援するためのソフトウェア開発プロセス管理支援システムに関するものである。
【０００２】
【従来の技術】
従来のソフトウェアの品質向上を支援するシステムでは、あらかじめ測定されたＦＰ（ファンクションポイント：機能を測定し定量化する）値などを元に、ウェイトを設定してサブシステム毎の試験項目数の目標値を算出したり、試験結果の実績データを管理することで、進捗状況をモニタしたり、試験密度など様々な定量的データでソフトウェア品質検査を支援するシステムとして、特許文献１のソフトウェア品質検査支援システム及び方法があった。
【０００３】
また、システム規模見積もりシステムでは、ルール化されたデータ抽出定義を使用することで、仕様書からソフトウェア規模見積もりを実施する技術として、特許文献２のシステム規模見積もり支援装置があった。
【０００４】
また、同じくソフトウェアの機能情報を記憶し、開発するソフトウェアプロジェクトの機能情報を選択し、選択された機能情報を用いてソフトウェアプロジェクトの機能量を計算すると共に計算された機能量から作業工数及び作業費用を見積もり、さらに開発工数・費用・ＦＰについては、実績を保持しており統計結果から最適値に是正されるようにした技術として、特許文献３のソフトウェア見積もりシステムがあった。
【０００５】
【特許文献１】
特開２００１−３３７８４６号公報（第３〜５頁、図１）
【特許文献２】
特開２０００−７６０６２号公報（第３〜５頁、図１）
【特許文献３】
特開２００２−２２２０８０号公報（第５〜１０頁、図１）
【０００６】
【発明が解決しようとする課題】
従来のソフトウェアの品質向上を支援するシステム（特許文献１）では、ソフトウェア開発プロセス全体を管理していないこと、技術を要しかつ計測者によっては値が異なる機能測定に関して、あらかじめ測定した値を入力しなければならないという問題があった。
また、従来の機能規模見積もりシステムでは、仕様書は単なるインプットになっていたり（特許文献２）、機能情報として記憶されるが、選択（再利用）した結果が、仕様書などの成果物として残らない（特許文献３）という問題があった。
【０００７】
この発明は、上述のような課題を解決するためになされたものであり、機能量をベースにしてソフトウェア開発プロセス毎に開発メトリックスを収集し、管理指標によりソフトウェア開発プロセスの管理を支援するようにしたソフトウェア開発プロセス管理支援システムを得ることを第一の目的にしている。
また、機能量は、機能仕様及びプログラム仕様から自動的に計測されるようにしたソフトウェア開発プロセス管理支援システムを得ることを第二の目的にしている。
また、管理指標や機能量の工数見積りのための係数など様々な定数を管理しつつ実績値と比較しながら適正値に近づけるようにしたソフトウェア開発プロセス管理支援システムを得ることを第三の目的にしている。。
【０００８】
【課題を解決するための手段】
この発明に係わるソフトウェア開発プロセス管理支援システムにおいては、モジュール単位に表わされた機能仕様とこの機能仕様に対応して形式化されたプログラム仕様群と機能仕様及びプログラム仕様群に基づき計算された機能量とを格納した要求仕様ライブラリ、ソフトウェア開発のプロジェクトに対応するように要求仕様ライブラリを用いて作成された仕様書及びプログラム並びにプロジェクトに対応して計算された総機能量を格納したプロジェクト対応データベース、及び要求仕様ライブラリの機能仕様及びプログラム仕様群からプロジェクト対応データベースの仕様書及びプログラムを作成する形式的ルールと要求ライブラリの機能量及びプロジェクト対応データベースの総機能量を計算する計算ルールとを有するルールライブラリを備え、プロジェクト対応データベースの総機能量に基づきソフトウェア開発プロセスが管理されるものである。
【０００９】
【発明の実施の形態】
実施の形態１．
実施の形態１は、次のように要約される。
モジュール単位に表した機能仕様とこれに対応したプログラム仕様とその機能量で構成されたライブラリをあらかじめ用意しておく。ライブラリの機能量は、一定のルールに従って作成されている機能仕様およびプログラム仕様から機能量計測を自動に行う。
実際のプロジェクトが始まるとプロジェクト対応に，ライブラリからモジュールを選択し、仕様およびプログラム仕様の部分修正をしてプロジェクト対応の仕様やプログラム、総機能量などを算出してプロジェクト対応ＤＢのデータを作成する。これらはプロジェクト毎に作成され管理される。全ソフトウェア開発プロセスのプロジェクトの実績データもそこに収集する。
さらに、管理ＤＢを設けて、管理指標の目標値や機能量の工数見積りのための係数など様々な定数を管理しつつ実績値と比較しながら適正値に近づける機構をもつ。
【００１０】
以下、実施の形態１を図に基づいて具体的に説明する。
図１は、この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムを示すシステム構成図である。
図１において、このソフトウェア開発プロセス管理支援システムは、要求仕様ライブラリ２とルールライブラリ５とプロジェクト対応ＤＢ（データベース）９と管理ＤＢ１８とを有し、要求仕様ライブラリ２は、機能分割され形式化されてモジュール単位に表わされた機能仕様３と、この機能仕様３に対応して形式化されたプログラム仕様群と、これらに基づき計算された機能量４を有している。ルールライブラリ５は、形式的ルール６と計算ルール７を有し、管理ＤＢ１８は、管理指標（目標）１９と定数２０を有している。また、プロジェクト対応ＤＢ９は、機能仕様３とプログラム仕様群とに基づき作成された仕様書１０及びプログラム１１とプロジェクトの総機能量１２と、プロジェクト毎の見積り値１３と実績値１４と目標値１５とを有している。
【００１１】
さらに、要求仕様ライブラリ２に機能仕様３とこれに対応するプログラム仕様１（２５）、プログラム仕様２（２６）及びプログラム仕様３（２７）のプログラム仕様群を登録するライブラリ登録部１と、計算ルール７を用いて要求仕様ライブラリ２の機能量４を設定する機能量計測部２８と、機能仕様３のモジュールが選択され、これに関連するプログラム仕様に基づき形式的ルール６を用いて仕様書１０及びプログラム１１を作成し、プロジェクト対応ＤＢ９に登録する仕様書登録部８と、プロジェクト対応ＤＢ９の総機能量１２を計測する計測部１６と、プロジェクト対応ＤＢ９の実績値１４を収集する実数収集部１７と、見積り値１３を設定する見積り部２１と、見積り値１３、実績値１４及び目標値１５をモニタするプロセス管理部２４と、実績値１４及び目標値１５から統計処理を行い、適正化する適正部２２と、この適正部２２の出力に応じて管理ＤＢ１８の定数２０の見直しを支援する目標見直部２３とを有している。
【００１２】
図２は、この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムの収集する管理メトリックの例を示す図である。
図２では、チェックポイント毎の管理指標とその単位が示されている。
図３は、この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムのプロセス管理部表示項目の例を示す図である。
図３では、チェックポイント毎の管理指標とその単位及び見積り値、目標値、実績値が示されている。
図４は、この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムの変更時の追跡の例を示す図である。
図４において、２、６、８は図１におけるものと同一のものである。要求仕様ライブラリ２には、機能仕様Ａ３１と機能仕様Ｂ３２と機能仕様Ｃ３３とが格納され、これに対応するプログラム仕様Ｂ−１（３４）とプログラム仕様Ｂ−２（３５）とプログラム仕様Ｂ−３（３６）とが格納されている。この要求仕様ライブラリ２に基づき形式的ルールを用いて、仕様書Ａ３７が作成されている。
【００１３】
次に、動作について説明する。
ソフトウェア開発プロジェクトを開始する前に、ユーザは、要求仕様ライブラリ２及びルールライブラリ５への登録を行う。
ライブラリ登録部１を用いて、要求仕様ライブラリ２に、機能分割され、形式化されて、モジュール単位に表わされた機能仕様３と、それに対応する形式化されたプログラム仕様群であるプログラム仕様１（２５）、プログラム仕様２（２６）、プログラム仕様３（２７）を登録する。または既存のそれらをコピーして部分修正して登録する。機能仕様３に関連するプログラム仕様の個数は、ケースバイケースである。
【００１４】
さらに、ユーザは、ライブラリ登録部１を用いて、ルールライブラリ５の形式的ルール６と計算ルール７を登録する。形式的ルール６は、仕様書１０とプログラム１１を作成する上での形式的なルールが記載され、計算ルール７は、機能仕様３、プログラム仕様１（２５）、プログラム仕様２（２６）、プログラム仕様３（２７）から機能量計測部２８を用いて機能量４を計算するもので、この機能量４は求仕様ライブラリ２に格納される。計算ルール７は、例えばＩＦＰＵＧ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｆｕｎｃｔｉｏｎ  Ｐｏｉｎｔ  Ｕｓｅｒｓ  Ｇｒｏｕｐ）法でもよいし、独自のものでも構わない。
要求仕様ライブラリ２の機能量４は、機能のタイプや関連データの情報なども合わせて管理している。
なお、要求仕様ライブラリ２とライブラリ登録部１とルールライブラリ５が別の筐体であってもかまわないが、接続されているものとする。
【００１５】
プロジェクトの開始時には、ユーザは、プロジェクト対応ＤＢ９への登録を行う。
実際のプロジェクトの開始時点で、ユーザは、仕様書登録部８を用いてプロジェクトの基本情報である名称、目的など基本情報も含めてソフトウェア開発プロセス（作業の集まり）毎の管理指標や開発工数などのプロジェクトの目標値を、目標値１５に登録する。それと同時に、要求仕様ライブラリ２を用いて、当該プロジェクトの仕様定義を行い、プロジェクト対応ＤＢ９に仕様書１０、プログラム１１などを作成する。ここで、仕様書１０は、要求仕様ライブラリ２の機能仕様３から選択されたモジュールから、プログラム１１は、プログラム仕様群であるプログラム仕様１（２５）、プログラム仕様２（２６）、プログラム仕様３（２７）から、それぞれ仕様書登録部８によって、ルールライブラリ５の形式的ルール６に従って、自動的に纏めたものである。
プロジェクト対応ＤＢ９の総機能量１２は、仕様登録時に、計測部１６が機能量４をもとにルールライブラリ５の計算ルール７に従って計算したもので、計測実施時に修正や補正が可能である。
【００１６】
プロジェクト対応ＤＢ９の見積部２１によって、管理ＤＢ１８の見積もり用の定数２０とプロジェクト対応ＤＢ９の総機能量１２を用いて、当該プロジェクトの見積もられた値（工数、工期など）をプロジェクト対応ＤＢ９の見積り値１３に登録する。
例えば、見積り値１３のうちの工数は、次の計算式で計算される。
見積り工数＝定数２０の中の工数見積もり用定数×総機能量１２
また、定数２０の中の工数見積もり用定数は、作業内容毎に準備する。例えば、ＳＬＣＰ（Ｓｏｆｔｗａｒｅ  Ｌｉｆｅ  Ｃｙｃｌｅ  Ｐｒｏｃｅｓｓｅｓ）におけるアクティビティ毎に定数２０の中の工数見積もり用定数を準備することで、アクティビティ毎の見積り値を計算することができる。
プロジェクト対応ＤＢ９の目標値１５は、これらの見積り値１３を参考にして決めてもよい。
【００１７】
プロジェクトが進行し始めると、あらかじめ決められたチェックポイントのメトリックが、実績収集部１７によってプロジェクト対応ＤＢ９の実績値１４に収集され、登録される。あらかじめ決められたチェックポイントのメトリックとは、例えば図２のような管理指標に基づいている。収集のルールは、マニュアル入力でもよいし、システマテックに収集するようなものでも構わない。
【００１８】
管理ＤＢ１８については、次のように用いられる。
ユーザは、事前にプロジェクトの管理指標や見積り用の定数を目標見直部２３を用いて、管理ＤＢ１８の管理指標（目標）１９や定数２０に登録しておく。プロジェクトの実績が蓄積されてくれば、目標見直部２３は、プロジェクト対応ＤＢ９の実績値１４、見積り値１３、目標値１５を用いて、適正部２２によって統計的処理を行い、管理指標（目標）１９や定数２０を適正化されるように見直す時の支援をすることができる。
【００１９】
ユーザは、プロジェクトの進行にしたがって、プロセス管理部２４を用いて、当該プロジェクトの目標値１５や見積り値１３に対する実績値１４をモニタすることができ、プロジェクトの状況を知ることができる。このモニタされる見積り値１３、目標値１５、実績値１４は、例えば、図３のようなものである。
ここで、総機能量１２を収集する目的は、管理指標のベースラインとして機能の大きさを持ってくることで、管理指標としての精度をあげることである。
【００２０】
次に、仕様書の変更及びこれに伴う再見積りについて、図４を用いて説明する。
図４のように、要求仕様ライブラリ２の個々の機能仕様Ａ３１、機能仕様Ｂ３２、機能仕様Ｃ３３から、仕様書登録部８によって、ルールライブラリ５の形式的ルール６の定義に従って仕様書Ａ３７を作成する。仕様書Ａ３７のある部分が修正された場合、形式的ルール６の定義をさかのぼって、該当する機能仕様Ｂ３２と対応するプログラム仕様Ｂ−１（３４）、プログラム仕様Ｂ−２（３５）、プログラム仕様Ｂ−３（３６）の中から対応するプログラム仕様Ｂ−２（３５）が明確に特定できるため、変更の追跡が容易に行える。
また、修正個所を反映した機能仕様３、プログラム仕様Ｂ−２（３５）をライブラリ登録して、改訂版仕様書Ａ３７は、修正個所を反映した部分の機能量を計測すれば、容易に再見積りが可能となる。
【００２１】
実施の形態１によれば、ソフトウェア開発プロセス全体の見積りとプロセス毎の目標値の設定と実績値把握によりソフトウェア開発プロセスを定量的に管理することを支援できる。
また、実績値との比較により精度の高い見積もりや管理指標の統計学的に見直すことにより、適正な目標値の設定が可能となる。
また、構成要素がモジュール化されており再利用が細かく実現可能であり、部分修正による再見積もりが容易である。
さらに、機能仕様とプログラム仕様がモジュール単位で関連付けられているため、仕様とプロダクトのトレーサビリティが明確であり、修正時の影響度などが容易に分析できる。
【００２２】
【発明の効果】
この発明は、以上説明したように、モジュール単位に表わされた機能仕様とこの機能仕様に対応して形式化されたプログラム仕様群と機能仕様及びプログラム仕様群に基づき計算された機能量とを格納した要求仕様ライブラリ、ソフトウェア開発のプロジェクトに対応するように要求仕様ライブラリを用いて作成された仕様書及びプログラム並びにプロジェクトに対応して計算された総機能量を格納したプロジェクト対応データベース、及び要求仕様ライブラリの機能仕様及びプログラム仕様群からプロジェクト対応データベースの仕様書及びプログラムを作成する形式的ルールと要求ライブラリの機能量及びプロジェクト対応データベースの総機能量を計算する計算ルールとを有するルールライブラリを備え、プロジェクト対応データベースの総機能量に基づきソフトウェア開発プロセスが管理されるので、要求仕様ライブラリから仕様書及びプログラムの作成を行い、総機能量を求め、この総機能量に基づきソフトウェア開発プロセスを管理することを支援できる。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムを示すシステム構成図である。
【図２】この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムの収集する管理メトリックの例を示す図である。
【図３】この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムのプロセス管理部表示項目の例を示す図である。
【図４】この発明の実施の形態１によるソフトウェア開発プロセス管理支援システムの変更時の追跡の例を示す図である。
【符号の説明】
１  ライブラリ登録部、２  要求仕様ライブラリ、
３  機能仕様（データ）、４  機能量（データ）、５  ルールライブラリ、
６  形式的ルール、７  計算ルール、８  仕様書登録部、
９  プロジェクト対応ＤＢ、１０  仕様書（データ）、１１  プログラム、
１２  総機能量（データ）、１３  見積り値、１４  実績値（データ）、
１５  目標値、１６  計測部、１７  実績収集部、１８  管理ＤＢ、
１９  管理指標（目標）（データ）、２０  定数（データ）、
２１  見積もり部、２２  適正部、２３  目標見直し部、
２４  プロセス管理部、２５  プログラム仕様１、２６  プログラム仕様２、
２７  プログラム仕様３、２８  機能量計測部、３１  機能仕様Ａ、
３２  機能仕様Ｂ、３３  機能仕様Ｃ、３４  プログラム仕様Ｂ−１、
３５  プログラム仕様Ｂ−２、３６  プログラム仕様Ｂ−３、３７  仕様書Ａ。
【図１】
2004280295.tif 000003
【図２】
2004280295.tif 000004
【図３】
2004280295.tif 000005
【図４】
2004280295.tif 000006