(57)【特許請求の範囲】
【請求項１】
ソフトウェアの品質を定量的に評価するソフトウェア品質評価装置において、
評価点数算出基準ファイル・メモリにアクセスし、ソフトウェアの品質を規定する品質指標ごとに評価点数算出基準値を書き込むデータ登録手段と、
前記評価点算出基準ファイル・メモリにアクセスし、評価対象のソフトウェアにおける品質指標ごとの実績値に対応する基準値を読み出し、ＣＰＵでそれぞれ点数計算を実施することで、前記実績値と前記基準値とを比較し、前記実績値が前記基準値以上あるか否かを判断し、前記実績値が前記基準値を達成している品質基準については、当該基準値を評価点数とし、前記実績値が前記基準値を達成していない品質基準については、前記ＣＰＵで当該実績値を前記基準値で除して評価点数を算出する評価項目別自動評価手段と、
前記評価点数の合計点数を前記ＣＰＵで算出する総合評価手段とを有し、
前記合計点数により品質向上が必要な度合いを評価可能とすることを特徴とするソフトウェア品質評価装置。
【請求項２】
前記総合評価手段は、複数のソフトウェアに対して品質向上に必要な度合いを評価し、品質向上に必要な順に優先付けを行うソフトウェア評価手段であることを特徴とする請求項１記載のソフトウェア品質評価装置。
【請求項３】
前記品質指標は、チェックリスト件数密度、不良件数密度、カバレージ率、ソフトウェアの規模、ソフトウェアの難易度、全体の不良に占める重要度の高い不良の割合、もしくは定性的な不良分析項目の中で指定した分析項目件数が全体の分析項目件数に占める割合のうちの少なくとも１つを含むことを特徴とする請求項１記載のソフトウェア品質評価装置。
【請求項４】
前記ソフトウェア評価手段は、複数の評価指標の中で重要視する評価指標の基準値を上げ、より優先度を高く付けた評価指標が全体評価点に占める割合を高くして、品質向上が必要な優先度を上げるよう点数付けする手段を具備することを特徴とする請求項２記載のソフトウェア品質評価装置。
【請求項５】
ソフトウェアの品質を定量的に評価するソフトウェア品質評価方法において、
評価点数算出基準ファイル・メモリは、ソフトウェアの品質を規定する品質指標ごとに基準値を記憶し、
評価項目別自動評価手段は、前記評価点算出基準ファイル・メモリにアクセスし、評価対象のソフトウェアにおける品質指標ごとの実績値に対応する基準値を読み出し、ＣＰＵでそれぞれ点数計算を実施することで、前記実績値と前記基準値とを比較し、前記実績値が前記基準値以上あるか否かを判断し、前記実績値が前記基準値を達成している品質基準については、当該基準値を評価点数とし、前記実績値が前記基準値を達成していない品質基準については、前記ＣＰＵで当該実績値を前記基準値で除して評価点数を算出し、
総合評価手段は、前記評価点数の合計点数を前記ＣＰＵで算出し、前記合計点数により品質向上が必要な度合いを評価可能とすることを特徴とするソフトウェア品質評価方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェア品質評価技術に係り、特に、ソフトウェアの品質を定量的に評価する場合に、弱点部分を精度よく効率的に抽出するためのソフトウェア品質評価装置および品質評価方法に関する。
【０００２】
【従来の技術】
従来のソフトウェアの品質を定量的に評価する方法としては、チェックリスト件数密度、不良件数密度、カバレージ率等の評価指標についての実績値がある一定の基準値（目標値）に達しているか否かを判定するプログラムをコンピュータに実装して行なうのが一般的であった。しかし、実際のソフトウェア開発では、１つ１つのプログラムに対して各指標の実績値を目標値に達するように品質向上を図るだけの十分な時間が取れないことが多く、また見直し策の検討や見直し作業に無駄な多くの時間を費やす必要があった。
このような問題を解決するための１つの方法として、例えば特開平７−１４６８０６号公報「テスト作業管理支援装置」で提案されているように、ソフトウェア信頼度による推定残存不良数とカバレージ率等のテスト十分性評価を組み合せ、組み合せパターン毎に改善方法を出力することで、評価結果をもとに対応策を検討する時間を短縮させるようにしたものがある。
【０００３】
【発明が解決しようとする課題】
上記公開公報で提案された従来の方法では、組み合せパターン毎に分類して改善方法を得ることはできるが、１つの組み合せパターン内での弱点の色分け、いわゆる優先的に改善が必要な部分を評価し抽出することはできない。即ち、いくら組み合せパターンを詳細化しても、プログラム群がある特定のパターンに集中したり、また改善後にも最終的に対応が必要と判断しているパターンのままになるケースが多いのが現状である。その理由は、通常、各品質指標の基準値（目標値）が過去の経験からの統計値や平均値等をもとに各システムで設定しているが、ほとんどの場合、品質が非常に悪い一部分のプログラムが全体の平均値を上げ下げして、その結果平均値等の基準値に対するバラツキを大きくしてしまうからである。このように、従来の品質評価方法ではどのプログラム／機能を優先的に見直すのがいいのか明確になっていないため、見直し策の検討や見直し結果に多くの手間や時間を必要とするという問題があった。
本発明の目的は、このような従来技術の問題点を解決し、ソフトウェアの品質を定量的に評価し、精度が高く効率的な品質評価と効率的かつ効果的な品質向上作業を図ることが可能なソフトウェア品質評価装置および品質評価方法を提供することである。
【０００４】
【課題を解決するための手段】
上記目的を達成するために、本発明のソフトウェア品質評価装置は、ソフトウェアの品質を定量的に評価するソフトウェア品質評価装置において、ソフトウェアの品質を規定する品質指標ごとに基準値を記憶する手段と、評価対象のソフトウェアにおける品質指標ごとの実績値と対応する基準値を比較して、前記実績値が前記基準値を達成しているか否かを判断する手段と、前記実績値が前記基準値を達成している品質基準については、当該基準値を評価点数とし、前記実績値が前記基準値を達成していない品質基準については、当該実績値を前記基準値で除して評価点数を算出する手段と、前記評価点数の合計点数により品質向上が必要な度合を評価する手段を有する。
この品質向上が必要な度合を評価する手段は、複数のソフトウェアに対して品質向上に必要な度合を評価し、品質向上に必要な順に優先度付けを行うソフトウェア評価手段である。また、品質指標とは、チェックリスト件数密度、不良件数密度、カバレージ率、ソフトウェアの規模、ソフトウェアの難易度、全体の不良に占める重要度の高い不良の割合、もしくは定性的な不良分析項目の中で指定した分析項目件数が全体の分析項目件数に占める割合のうちの少なくとも１つを含むものである。
また、ソフトウェア評価手段は、複数の評価指標の中で重要視する評価指標の基準値を上げ、より優先度を高く付けた評価指標が全体評価点に占める割合を高くして、品質向上が必要な優先度を上げるよう点数付けする手段を具備する。
さらに、ソフトウェアの品質を定量的に評価するソフトウェア品質評価方法は、ソフトウェアの品質を規定する品質指標ごとに基準値を記憶し、評価対象のソフトウェアにおける品質指標ごとの実績値と対応する基準値を比較して、前記実績値が前記基準値を達成しているか否かを判断し、前記実績値が前記基準値を達成している品質基準については、当該基準値を評価点数とし、前記実績値が前記基準値を達成していない品質基準については、当該実績値を前記基準値で除して評価点数を算出し、前記評価点数の合計点数により品質向上が必要な度合を評価する。
【０００５】
さらに具体的には、評価項目の評価基準(目標)値と基準点数および抽出／ソート条件を入力するデータ入力部と、前記の入力されたデータをそれぞれ評価点数算出基準ファイルおよび抽出／ソート条件管理ファイルへ登録するデータ登録部と、予め任意に設定された品質データ管理ファイルのチェックリスト件数および不良件数をプログラムの規模等で除算して得られるチェックリスト件数密度、不良件数密度を算出する項目密度算出部と、種々の評価項目単位に予め任意に設定された品質管理データや不良管理データを基に、前記で登録された評価点数算出基準に従い評価点数を算出する評価項目別自動評価部と、各評価項目の評価点数の合計を算出する総合評価部と、総合評価部の出力を登録されていた抽出／ソート条件に従って抽出／ソートする抽出／ソート処理部と、抽出／ソート処理結果を出力するデータ出力部とを具備する。
【０００６】
さらに評価項目別自動評価部は、算出された項目密度とカバレージ率の基準値（目標値）に対する達成度を品質データ評価点数算出基準に従って点数計算を行なう品質データ点数算出部と、実規模と基準規模を比較し規模評価点数算出基準に従って点数計算を行なう規模点数算出部と、難易度毎に難易度評価点数算出基準に従って点数計算を行なう難易度点数算出部と、重要度毎に重要度評価点数算出基準に従って点数計算を行なう重要度点数算出部と、不良分析コード毎に不良コード評価点数算出基準に従って点数計算を行なう不良分析コード点数算出部とを具備することを特徴とする。
【０００７】
これにより評価単位にチェックリスト件数密度、不良件数密度、カバレージ率の各評価項目の達成度を点数で表すことができ、その合計点によりソートすることで、品質が弱い順いわゆる品質向上が必要な順に優先度付けが可能となる。加えて、品質向上が必要な優先度に規模の大きさ、ソフトウェアの難易度、不良の重要度の割合、不良分析コードの割合を加味した点数を付けること、および各評価項目の基準点数を変動させることによって、評価者が重要視する評価項目（指標）の優先度付けができ、重点的に品質向上を必要とするプログラムや機能の抽出が可能となる。
【０００８】
【発明の実施の形態】
以下、本発明の一実施例を図面を参照して具体的に説明する。
図１は、本発明のソフトウェア品質評価装置の一実施例を説明するための機能構成図である。同図に示すように、本ソフトウェア品質評価装置は、本発明において評価点数算出基準や抽出／ソート条件などを入力する、コンピュータの入力装置（マウス，キーボードなど）によって構成されるデータ入力部１と、入力された評価点数算出基準と抽出／ソート条件をそれぞれ評価点数算出基準ファイル８および抽出／ソート条件管理ファイル９へ登録するデータ登録部２と、予め任意に設定された品質データ管理ファイル１０のチェックリスト件数および不良管理ファイル１１の不良件数をプログラムの規模等で除算して得られるチェックリスト件数密度と不良件数密度を算出する項目密度算出部３と、種々の評価項目単位に予め任意に設定された品質管理データや不良管理データを基に、前記で登録された評価点数算出基準に従い評価点数を算出する評価項目別自動評価部４と、評価項目別自動評価部の計算結果から各評価項目の合計点数を算出する総合評価部５と、総合評価部の処理結果を基に前記で登録された抽出／ソート条件に従い抽出／ソートする抽出／ソート処理部６と、抽出／ソート処理結果を出力するデータ出力部７とから構成されている。
【０００９】
ここで、データ入力部１は操作者からの操作指示を入力するキーボードやその他の入力装置によって、データ出力部７はＣＲＴディスプレイやプリンタなどの装置によって構成され、また、評価点数算出基準ファイル８、抽出／ソート条件管理ファイル９、品質データ管理ファイル１０および不良管理ファイル１１はコンピュータの記憶装置，ＣＰＵあるいはメモリ上にプログラムやデータなどの形で実現されている。
【００１０】
図２は、評価項目別自動評価部４および評価点数算出基準ファイル８のより詳細な構成とともに、評価項目別自動評価部４における処理を示す図である。
同図に示すように、評価点数算出基準ファイル８は、品質データ評価点数算出基準８０１、規模評価点数算出基準８０２、難易度評価点数算出基準８０３、不良重要度評価点数算出基準８０４、不良分析コード評価点数算出基準８０５を格納している。
【００１１】
評価項目別自動評価部４は、品質データ点数算出部４０１，規模点数算出部４０２，難易度点数算出部４０３，不良重要度点数算出部４０４，および不良分析コード点数算出部４０５とから構成されている。
品質データ点数算出部４０１では、項目密度算出部３で算出されたチェックリスト件数密度と不良件数密度、および品質データ管理ファイル１０のカバレージ率を基に、評価基準（目標）値に対する達成度を品質データ評価点数算出基準８０１に従って点数計算を行なう。
【００１２】
規模点数算出部４０２では、実規模と基準規模を比較し規模評価点数算出基準８０２に従って点数計算を行なう。
難易度点数算出部４０３では、プログラムの難易度毎に難易度評価点数算出基準８０３に従って点数計算を行なう。
不良重要度点数算出部４０４では、不良の重要度毎に不良重要度評価点数算出基準８０４に従って点数計算を行なう。
不良分析コード点数算出部４０５では、不良分析コード毎に不良分析コード評価点数算出基準８０５に従って点数計算を行なう。
【００１３】
図３は、入力されるデータと格納先のファイルの関係を示す図である。
入力されるデータとしては、各評価項目の評価基準（目標）値と基準点数や点数算出計算式等が評価点数算出基準ファイル８へ登録され、抽出キーやソート条件が抽出／ソート管理ファイル９へ登録される。
また、予め任意に設定されたファイルとして、プログラム名称、規模、難易度、チェックリスト件数、カバレージ率等からなる品質データ管理ファイル１０と、不良の現象、原因、対策、重要度等の不良内容や不良分析コード等からなる不良管理ファイル１１がある。
【００１４】
以下、このような構成による本実施例の動作をフローチャートを用いて詳細に説明する。
図４は、本ソフトウェア品質評価装置の処理の流れを示すフローチャートである。まずデータ入力部１から入力データを読み込み（ステップ１０１）、入力データが全て終了していなければ（ステップ１０２：Ｎ）、データ登録部２により該読み込んだ入力データをファイルへ登録した後（ステップ１０３）、ステップ１０１に戻って次の入力データを読み込む。入力データの読み込みが全て終了すると（ステップ１０２：Ｙ）、次に、データ登録部２から格納データを読み込む（ステップ１０４）。次に、項目密度算出部３において、品質管理ファイル１０のチェックリスト件数および不良管理ファイル１１の不良件数をプログラムの規模等で除算して得られるチェックリスト件数密度と不良件数密度を算出する（ステップ１０５）。
【００１５】
次に、チェックリスト件数密度、不良件数密度、カバレージ率や規模、難易度、不良の重要度や不良分析コード等の各々の評価項目単位に、予め任意に設定された品質管理データや不良管理データを基に、各点数算出部（４０１〜４０５）では前記登録された各評価点数算出基準（８０１〜８０５）に従って対応する評価点数を算出する評価項目別点数算出サブルーチンを実行する（ステップ１０６）。次に、総合評価部５では、算出された各評価項目の合計点数を算出して総合評価を行う（ステップ１０７）。次に、抽出／ソート処理部６により、抽出／ソート条件管理ファイル９に登録されている抽出／ソート条件（機能単位や規模などの抽出条件や抽出した項目に対する昇順や降順などのソート条件）に従い抽出／ソートを行う（ステップ１０８）。最後に、データ出力部７により、抽出／ソート処理部６で抽出／ソート処理された結果（品質管理表）を出力する（ステップ１０９）。
【００１６】
図５は、上述した評価項目別点数算出サブルーチンの処理の流れを示すフローチャートである。
まず、登録されてある評価点数算出基準ファイル８を読み込み（ステップ２０１）、チェックリスト件数密度、不良件数密度やカバレージ率の品質データが評価対象の場合（ステップ２０２：Ｙ）、品質データ評価点数算出基準８０１を読み込み（ステップ２０３）、品質データ評価点数を算出する（ステップ２０４）。次に規模評価が対象の場合（ステップ２０５：Ｙ）、規模評価点数算出基準８０２を読み込み（ステップ２０６）、規模評価点数を算出する（ステップ２０７）。次に、難易度評価が対象の場合（ステップ２０８：Ｙ）、難易度評価点数算出基準８０３を読み込み（ステップ２０９）、難易度評価点数を算出する（ステップ２１０）。次に、不良重要度や不良分析コードが評価対象の場合（ステップ２１１：Ｙ）、不良重要度評価点数算出基準８０４や不良分析コード評価点数算出基準８０５を読み込み（ステップ２１２）、また不良分析結果等を不良管理ファイル１１から読み込み（ステップ２１３）、不良重要度／不良分析コード評価点数を算出する（ステップ２１４）。
【００１７】
図６は、前述の品質データ評価点数算出基準８０１の例（ａ）と点数を算出する計算式の例（ｂ）を示す図である。
同図（ａ）に示した品質データ評価点数算出基準の例は、品質データの評価項目であるチェックリスト件数密度，不良件数密度，およびカバレージ率の評価基準（目標値）を、それぞれｎ１件／ｋｓ，ｎ２件／ｋｓおよびｎ３％に設定し、それぞれの基準点数（持点）をｋ１，ｋ２，およびｋ３とした場合を示している。なお、ここで「ｋｓ」は、キロステップすなわち１０００ステップを示している。
【００１８】
同図（ｂ）の計算式の例は、▲１▼対象プログラムの実績値が評価基準値（目標値）に達成していた場合、評価点数は持点の基準点数とする。一方、▲２▼実績値が評価基準（目標値）に未達の場合、評価点数は基準（目標）に達する達成度を考慮し、実績値を評価基準値で除算した点数とする。このようにすることで、評価基準（目標）値に対する実績値の達成度割合が点数評価される。
【００１９】
図７は、図６での基準点数を全て「１」点とした場合（ｋ１＝ｋ２＝ｋ３＝１）の４種類のプログラムの評価出力例を示す図である。
同図の例において、プログラム１は、カバレージ率，チェックリスト件数密度，不良件数密度がともに評価基準値（目標値）を超えているので、評価点数が全て「１」であり、合計評価点数が「３」点になる。プログラム２については、カバレージ率，チェックリスト件数密度，不良件数密度それぞれの実績値（２０％，８０件，８件）に対応して評価点数（０.３，０.８，０.８）を算出し、合計評価点「１.９」点を求める。同様にして、プログラム３については、実績値（６０％，０.４，０.５）に対応した評価点数（０.８，０.４，０.５）の合計評価点数「１.７」点を、プログラム４については、実績値（０％，０，０）に対応した評価点数（０，０，０）の合計評価点数「０」の合計評価点数「０」点を求める。合計評価点数が小さいほど、品質向上の要求が大きい。以上により、４つのプログラムの中で優先付けができ、プログラム４，プログラム３，プログラム２，プログラム１の順で品質向上が必要であることが分かる。
【００２０】
図８は、図６で示した基準点数を変動させた場合の評価出力例を示す図である。これはチェックリスト件数密度、不良件数密度、カバレージ率の中でカバレージ率を重要視して、チェックリスト件数密度と不良件数密度の基準点数（持点）を１点としたのに対して、カバレージ率の基準点数を２点とし、カバレージ率の達成度が低いものをより品質向上が優先的に必要とした場合である。
【００２１】
この場合は、図７の場合と同様にして、プログラム１の合計評価点数「４」点、プログラム２の合計評価点数「２.２」点、プログラム３の合計評価点数「２.５」点、プログラム４の合計評価点数「０」点が得られる。この場合の品質向上が必要な順番は、プログラム４，プログラム２，プログラム３，プログラム１である。このように各評価項目の基準点数を変動させることによって、評価者が重要視する評価項目の優先度付けができ、重点的に品質向上を必要とするプログラムや機能の抽出が可能となる。
【００２２】
図９は、（ａ）規模評価点数算出基準例、（ｂ）難易度評価点数算出基準例、（ｃ）不良重要度および不良分析コード評価点数算出基準例を示す図である。
同図（ａ）の規模評価点数算出基準例では、規模の大きなものをより品質向上が必要と考え、平均規模等の基準値との差異を基準点数に反映させている。また、同図（ｂ）の難易度評価点数算出基準例では、難易度が高いものをより品質向上が必要と考え、予め設定した難易度を基準点数に反映させている。さらに、同図（ｃ）の不良重要度および不良分析コード評価点数算出基準例では、不良の重要度について全体の不良件数に対する不良の重要度が高い件数が占める割合が高いもの、もしくは不良分析コードについて指定した不良分析コード件数が全体の不良件数に占める割合が高いものを、より品質向上が必要と考え、その割合の大小を基準点数に反映させている。
【００２３】
図１０は、これらの全ての評価項目に対して具体的な実績値を代入し、品質向上優先度を総合的に評価した場合の評価出力例を示す図である。同図の具体例では、合計評価点数が、プログラム１は「５」点、プログラム２は「３.４」点、プログラム３は「４.２」点、プログラム４は「１.５］点であり、品質向上が必要な順番は、プログラム４，プログラム２，プログラム３，プログラム１の順であることがわかる。
総合評価部５からの評価出力は、抽出／ソート処理部６により、抽出／ソート条件管理ファイル９に登録されている、どの項目を抽出して、どのようにソート（昇順／降順）するかなどの抽出／ソート条件に従って抽出／ソートを行った後、データ出力部７により、抽出／ソート処理結果を出力する。
【００２４】
本発明は、上述した実施例に限定されるものではなく、前記評価項目以外にもテスト時間、ＣＰＵ時間、機能マトリックス件数他、ソフトウェアの品質を定量的に表すことのできる評価指標であれば新たに評価項目とすることができる。また、入力データの入力作業もキーボードなどから手作業で入力してもよいし、他のデータファイルから本発明装置に転送することもできる。データ出力部における各データや表等の出力形式は上述した表形式以外の形式の図やグラフとすることもできる。
また、上記実施例の説明では、複数のプログラムについての品質向上の優先付け（優先順位の評価）について説明しているが、単一のプログラムについての品質向上の度合を評価することが可能なことはいうまでもない。
【００２５】
以上説明したように、本実施例によれば、評価点数算出基準による評価項目別自動評価部と総合評価部により、ソフトウェアの各評価指標を評価基準に対する達成度合により詳細に客観的かつ定量的に点数算出することが可能となるため、品質が弱い順、いわゆる品質向上が必要とされる順に優先度付けされ、結果として精度が高く効率的な品質評価と効率的かつ効果的な品質向上作業を図ることができる。
また、各評価項目の基準点数を変動させることによって、評価者が重要視する評価項目の優先度付けができ、評価者が重点的に品質向上を必要と判断するプログラムや機能の抽出が可能となる。
【００２６】
【発明の効果】
本発明によれば、各評価指標を点数評価することにより品質向上が必要とされる順に客観的にかつ定量的に優先度付けを行うことができ、精度が高く効率的な品質評価と効率的かつ効果的な品質向上作業を図ることが可能なソフトウェア品質評価装置を実現できる。
【図面の簡単な説明】
【図１】本発明のソフトウェア品質評価装置の一実施例を説明するための機能構成図である。
【図２】評価項目別自動評価部および評価点数算出基準ファイルのより詳細な構成とともに、評価項目別自動評価部における処理を示す図である。
【図３】入力されるデータと格納先のファイルの関係を示す図である。
【図４】本ソフトウェア品質評価装置の処理の流れを示すフローチャートである。
【図５】評価項目別点数算出サブルーチンの処理の流れを示すフローチャートである。
【図６】同品質データ評価点数算出基準と点数算出式を示す図である。
【図７】図６での基準点数を全て「１」点とした場合（ｋ１＝ｋ２＝ｋ３＝１）の４種類のプログラムの評価出力例を示す図である。
【図８】図６で示した基準点数を変動させた場合の評価出力例を示す図である。
【図９】規模評価点数算出基準例、難易度評価点数算出基準例、不良重要度および不良分析コード評価点数算出基準例を示す図である。
【図１０】評価項目に対して具体的な実績値を代入し、品質向上優先度を総合的に評価した場合の評価出力例を示す図である。
【符号の説明】
１：データ入力部
２：データ登録部
３：項目密度算出部
４：評価項目別自動評価部
５：総合評価部
６：抽出／ソート処理部
７：データ出力部
８：評価点数算出基準ファイル
９：抽出／ソート条件管理ファイル
１０：品質データ管理ファイル
１１：不良管理ファイル
４０１：品質データ点数算出部
４０２：規模点数算出部
４０３：難易度点数算出部
４０４：不良重要度点数算出部
４０５：不良分析コード点数算出部
８０１：品質データ評価点数算出基準
８０２：規模評価点数算出基準
８０３：難易度評価点数算出基準
８０４：不良重要度評価点数算出基準
８０５：不良分析コード評価点数算出基準
【図１】
0003703064.tif 000002
【図２】
0003703064.tif 000003
【図３】
0003703064.tif 000004
【図４】
0003703064.tif 000005
【図５】
0003703064.tif 000006
【図６】
0003703064.tif 000007
【図７】
0003703064.tif 000008
【図８】
0003703064.tif 000009
【図９】
0003703064.tif 000010
【図１０】
0003703064.tif 000011