Software-quality-management-empirical-investigations

提供:Dev Guides
移動先:案内検索

実証調査

経験的調査には、あらゆるツール、手法、または方法の科学的調査が含まれます。 この調査には、主に次の4つの原則が含まれています。

  • 調査手法の選択
  • 仮説を述べる
  • 変数の制御を維持する
  • 調査を意味のあるものにする

調査手法の選択

ソフトウェア工学における経験的調査の主要なコンポーネントは-

  • 調査
  • ケーススタディ
  • 正式な実験

調査

調査は、関係と結果を文書化する状況の遡及的研究です。 イベントが発生した後、常に行われます。 たとえば、ソフトウェアエンジニアリングでは、ユーザーが特定の方法、ツール、または技術にどのように反応して傾向や関係を判断するかを判断するために、ポーリングを実行できます。

この場合、当面の状況を制御することはできません。 状況を記録し、同様の状況と比較できます。

ケーススタディ

これは、アクティビティの結果に影響を与える可能性のある重要な要因を特定し、アクティビティを文書化する調査手法です。つまり、入力、制約、リソース、出力です。

正式な実験

これは、活動の厳密に制御された調査であり、重要な要因が特定され、結果に対する影響を文書化するために操作されます。

調査

特定の調査方法は、次のガイドラインに従って選択することができます-

  • アクティビティが既に発生している場合は、調査またはケーススタディを実行できます。 まだ発生していない場合は、ケーススタディまたは正式な実験を選択できます。
  • 結果に影響を与える可能性のある変数を高度に制御できる場合は、実験を使用できます。 変数を制御できない場合は、ケーススタディが推奨される手法になります。
  • より高いレベルで複製できない場合、実験はできません。
  • 複製のコストが低い場合、実験を検討できます。

仮説を述べる

特定の調査手法の決定を後押しするには、調査の目標を、テストする仮説として表現する必要があります。 仮説は、プログラマーが探求したい動作を説明すると考えている暫定的な理論または仮定です。

変数の制御を維持する

仮説を述べた後、次に、その真実に影響を与えるさまざまな変数と、それに対する制御の程度を決定する必要があります。 実験とケーススタディの間の重要な識別要素は、動作に影響する変数の制御の程度であるため、これは不可欠です。

プロジェクトを特徴付けることができ、評価結果に影響を与えることもできる要因である状態変数を使用して、正式な実験の制御状況と実験状況を区別します。 コントロールと実験を区別できない場合は、ケーススタディ手法が優先されます。

たとえば、プログラミング言語の変更がプロジェクトの生産性に影響を与えるかどうかを判断する場合、言語は状態変数になります。 現在、Adaに置き換えたいFORTRANを使用しているとします。 FORTRANが制御言語になり、Adaが実験言語になります。

調査を意味のあるものにする

実験の結果は通常、ケーススタディや調査よりも一般化できます。 ケーススタディまたは調査の結果は、通常、特定の組織にのみ適用できます。 以下のポイントは、さまざまな質問に答えるこれらの手法の効率性を証明しています。

適合理論と従来の知恵

ケーススタディまたは調査を使用して、単一組織内の従来の知識と他の多くの標準、方法、またはツールの有効性と有用性を適合させることができます。 ただし、正式な実験では、クレームが一般的に正しい状況を調査できます。

関係を探る

リソースとソフトウェア製品のさまざまな属性間の関係は、ケーススタディまたは調査で示唆できます。

たとえば、完了したプロジェクトの調査では、特定の言語で書かれたソフトウェアが他の言語で書かれたソフトウェアよりも障害が少ないことが明らかになります。

これらの関係を理解し​​て検証することは、将来のプロジェクトを成功させるために不可欠です。 これらの関係はそれぞれ仮説として表現でき、関係がどの程度保持されているかをテストするための正式な実験を設計できます。 通常、1つの特定の属性の値は、他の属性を一定に保つか、制御することによって観察されます。

モデルの精度を評価する

モデルは通常、アクティビティの結果を予測したり、メソッドまたはツールの使用をガイドするために使用されます。 実験やケーススタディを設計する際には、予測が結果に影響することが多いため、特に難しい問題を提示します。 プロジェクトマネージャーは、多くの場合、予測を完了の目標に変えます。 この効果は、コストモデルとスケジュールモデルを使用する場合によく見られます。

信頼性モデルなどの一部のモデルは、ソフトウェアが現場で使用できるようになるまで平均故障時間として測定される信頼性を評価できないため、結果に影響しません。

対策の検証

属性の値を取得するための多くのソフトウェア測定があります。 したがって、特定の測定値がキャプチャする属性の変化を反映しているかどうかをテストするために、調査を実施する必要があります。 検証は、あるメジャーを別のメジャーと相関させることにより実行されます。 影響因子の直接かつ有効な尺度でもある2番目の尺度を使用して検証する必要があります。 そのような測定は、常に利用可能であるとは限らないか、測定が簡単ではありません。 また、使用される測定値は、測定される要因の人間の概念に準拠する必要があります。