ソフトウェア測定メトリック
ソフトウェアメトリクスは、ある程度の測定を伴う多くのアクティビティを含む測定の標準です。これは、製品メトリック、プロセスメトリック、およびプロジェクトメトリックの3つのカテゴリに分類できます。
Product metrics サイズ、複雑さ、設計機能、パフォーマンス、品質レベルなど、製品の特性を説明します。
Process metricsソフトウェアの開発と保守を改善するために使用できます。例としては、開発中の欠陥除去の有効性、欠陥到着のテストパターン、修正プロセスの応答時間などがあります。
Project metricsプロジェクトの特徴と実行について説明します。例としては、ソフトウェア開発者の数、ソフトウェアのライフサイクル全体にわたる人員配置パターン、コスト、スケジュール、および生産性が含まれます。
一部のメトリックは複数のカテゴリに属しています。たとえば、プロジェクトのインプロセス品質メトリックは、プロセスメトリックとプロジェクトメトリックの両方です。
ソフトウェアメトリクスの範囲
ソフトウェアメトリクスには、次のような多くのアクティビティが含まれています。
- コストと労力の見積もり
- 生産性の測定とモデル
- データ収集
- 数量モデルと測定
- 信頼性モデル
- パフォーマンスおよび評価モデル
- 構造と複雑さのメトリック
- 機能–成熟度評価
- メトリックによる管理
- 方法とツールの評価
ソフトウェア測定は、特定の段階でソフトウェアプロジェクトのコストを予測するモデルから、プログラム構造の測定に至るまで、これらのアクティビティの多様なコレクションです。
コストと労力の見積もり
労力は、プログラムのサイズ、開発者の能力、再利用のレベルなど、1つ以上の変数の関数として表されます。ソフトウェアライフサイクルの初期段階でプロジェクトのコストを予測するために、コストと労力の見積もりモデルが提案されています。提案されているさまざまなモデルは次のとおりです。
- ベームのCOCOMOモデル
- パトナムのスリムモデル
- アルブレヒトのファンクションポイントモデル
生産性モデルと対策
生産性は、価値とコストの関数と見なすことができます。それぞれをさまざまな測定可能なサイズ、機能、時間、お金などに分解できます。生産性モデルのさまざまな可能なコンポーネントを次の図に示します。
データ収集
測定プログラムの品質は、注意深いデータ収集に明らかに依存しています。収集されたデータは、管理者が開発の進捗状況と問題を理解できるように、簡単なチャートやグラフにまとめることができます。データ収集は、関係や傾向の科学的調査にも不可欠です。
品質モデルと対策
品質モデルは、製品の品質を測定するために開発されました。これがなければ、生産性は無意味です。これらの品質モデルを生産性モデルと組み合わせて、正しい生産性を測定できます。これらのモデルは通常、ツリーのように構築されます。上部のブランチには、信頼性や使いやすさなどの重要な高レベルの品質要素があります。
分割統治アプローチの概念は、ソフトウェア品質を測定するための標準的なアプローチとして実装されています。
信頼性モデル
ほとんどの品質モデルには、構成要素として信頼性が含まれていますが、信頼性を予測および測定する必要があるため、信頼性のモデリングと予測を個別に専門化しています。信頼性理論の基本的な問題は、システムが最終的に故障する時期を予測することです。
パフォーマンス評価とモデル
これには、応答時間や完了率などの外部で観察可能なシステムパフォーマンス特性、およびアルゴリズムの効率などのシステムの内部動作が含まれます。それは品質のもう一つの側面です。
構造と複雑さのメトリクス
ここでは、実行前に利用可能なソフトウェアの表現の構造属性を測定します。次に、品質保証、品質管理、および品質予測をサポートするための経験的予測理論の確立を試みます。
能力成熟度評価
このモデルは、ツールの使用、標準的な手法など、開発のさまざまな属性を評価できます。これは、すべての優れた請負業者が使用する必要のある主要な慣行に基づいています。
メトリックによる管理
ソフトウェアプロジェクトを管理するために、測定は重要な役割を果たします。プロジェクトが順調に進んでいるかどうかを確認するために、ユーザーと開発者は測定ベースのチャートとグラフを信頼できます。顧客が通常ソフトウェア用語に精通していない製品にソフトウェアが組み込まれている場合、測定とレポート方法の標準セットは特に重要です。
方法とツールの評価
これは、実験計画、結果に影響を与える可能性のある要因の適切な識別、および要因属性の適切な測定に依存します。