システムとソフトウェア評価: 標準化の目的と必要性 評価の目的 開発した成果物が要求を満足しているかを確認する (開発者) 候補製品を比較選定する(取得者) 第三者が利用者の立場で客観評価を行う(独立評価者) 標準化の必要性 品質要求に対する合意基盤の確立 → 要求を出す側と受ける側の共通理解の促進 評価の客観性、反復性、定量性の確保 → 結果の信頼性、信ぴょう性の保証 受け入れ、選定の拠り所となる評価方法、基準の設定 → 評価結果の解釈の一貫性の保証
品質要求の定量化の考え方 品質要求は,定量化しないと,あいまい(検証不可能) 対象ソフトウェアの品質要求を,測定量を使って定量的に定義 測定量は,測定法により計算する. 品質要求は,測定量の目標値と尺度 (許容範囲)により表現する. 成熟性要求: 潜在欠陥数を抑制する 測定量: 残存欠陥密度 測定法: 成長曲線による推定等 (→次ぺージ) 目標: 0.01件/kL 尺度: 許容範囲=0.008~0.02kL 測定対象 ソフトウェア (Target Entity) 品質特性/ 副特性 測定量 (Measure) 潜在する欠陥数 属性 (Property) 例) 信頼性/成熟性 潜在欠陥数を抑える 例) 残存欠陥密度 情報ニーズ 定量化 測定法 (Measurement Method) 目標値 (Target Value) 尺度 (Scale) 例) 成長曲線を使い,総欠陥数を推定し,累積欠陥数を引いて,残存欠陥数を推定、コード規模で割る 例) 0.01件/kL 例) 許容範囲= 0.008~0.02件/kL 評価基準
測定量の仕組み 測定法 品質測定量 算式 属性 属性 属性 残存欠陥密度 [件/kL] 品質測定要素 品質測定要素 品質測定要素 測定方法 情報ニーズ 潜在する欠陥数(密度) 品質測定量 残存欠陥密度 [件/kL] 測定法 算式 品質測定要素 品質測定要素 品質測定要素 測定方法 測定方法 測定方法 テスト消化数 属性 属性 検出欠陥数 属性 規模 測定対象 ソフトウェア 測定対象 測定対象 測定対象 テスト(テスト仕様書) 実行プログラム ソースコード
ソースコードの行数をコメント抜きでカウント 測定量の仕組み 測定対象の属性を「測定方法」により測定する→品質測定要素 品質測定要素から、「算式」を使って、品質測定量を計算する 品質測定量 残存欠陥密度 [件/kL] ①成長曲線により欠陥総数を推定 ②残存欠陥数=欠陥総数-累積検出欠陥数 ③残存欠陥密度=残存欠陥数/コード行数 算式 テスト消化数 +日付 検出欠陥数 +日付 品質測定要素 品質測定要素 品質測定要素 コード行数 テスト実施日 単位に実施したテストケース数をカウント テスト実施日 単位に検出欠陥数をカウント ソースコードの行数をコメント抜きでカウント 測定方法 測定方法 測定方法 テスト消化数 属性 属性 検出欠陥数 属性 規模 測定対象 測定対象 測定対象 テスト(テスト仕様書) 実行プログラム ソースコード
測定尺度と評価 測定値は、設定された水準を用いて、満足/不満足を評定する 評定結果に基づき、品質特性別評価、品質総合評価と進む 残存欠陥密度 測定値評定 (rating) 要求を超過(過剰品質) 0.008 品質特性別 評価(重み付け) 満足 測定値 目標範囲内 0.020 最小限で受入可 0.025 品質総合評価 (assess-ment) 成熟性評価 受入不可 不満足 80点 測定尺度 設定水準 合格 MTBF (mean time between failures) 不満足 機能正確性評価 95点
品質要求例) 対象システム: XX システム 品質要求: 潜在欠陥数を抑制する(成熟性) 測定量: 残存欠陥密度 測定法 測定量: 残存欠陥密度 測定法 品質測定要素と測定方法(基礎データ) 1) テスト消化数+日付 テスト実施日単位に実施したテストケース 数をカウント 2) 検出欠陥数+日付 テスト実施日単位に検出欠陥数をカウント 3) コード行数 ソースコードの行数をコメント抜きでカウント 算法(基礎データからの計算方法) ①成長曲線により欠陥総数を推定 ②残存欠陥数=欠陥総数-累積検出欠陥数 ③残存欠陥密度=残存欠陥数/コード行数 目標: 0.01件/kL 尺度: 許容範囲=0.008~0.02kL