Software-quality-management-introduction

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

ソフトウェア品質管理-はじめに

品質の高いソフトウェアとは、合理的にバグや欠陥がなく、時間内に指定された予算内で提供され、要件や期待を満たし、保守可能なソフトウェアを指します。 ソフトウェアエンジニアリングのコンテキストでは、ソフトウェアの品質は、*機能品質*と*構造品質*の両方を反映しています。

  • ソフトウェア機能品質-機能要件または仕様に基づいて、所定の設計をどれだけ満足させるかを反映します。
  • ソフトウェア構造品質-堅牢性や保守性などの機能要件の配信をサポートする非機能要件の処理、およびソフトウェアが正しく作成された度合いを処理します。
  • ソフトウェア品質保証-ソフトウェア品質保証(SQA)は、最終的に高品質のソフトウェア製品をもたらすソフトウェアエンジニアリングプロセスの品質を確保するための一連の活動です。 アクティビティは、製品を生産するプロセスを確立および評価します。 それはプロセスに焦点を合わせたアクションを伴います。
  • ソフトウェア品質管理-ソフトウェア品質管理(SQC)は、ソフトウェア製品の品質を確保するための一連の活動です。 これらの活動は、生産された実際の製品の欠陥を特定することに焦点を当てています。 それは製品に焦点を合わせた行動を伴います。

ソフトウェア品質の課題

ソフトウェア業界では、他の工業製品メーカーが通常行うように、開発者はソフトウェアに欠陥がないことを決して宣言しません。 この違いは、次の理由によるものです。

製品の複雑さ

製品が許可する動作モードの数です。 通常、工業製品では、マシン設定のさまざまな組み合わせで数千未満の動作モードしか許可されていません。 ただし、ソフトウェアパッケージを使用すると、何百万もの運用の可能性が広がります。 したがって、これらすべての運用上の可能性を正しく保証することは、ソフトウェア業界にとって大きな課題です。

製品の可視性

工業製品は目に見えるため、その欠陥のほとんどは製造プロセス中に検出できます。 また、工業製品に部品が存在しないことは、製品で簡単に検出できます。 ただし、ディスケットまたはCDに保存されているソフトウェア製品の欠陥は目に見えません。

製品開発と生産プロセス

工業製品では、次の段階で欠陥を検出できます-

  • 製品開発-このフェーズでは、設計者と品質保証(QA)スタッフが製品プロトタイプをチェックおよびテストして、欠陥を検出します。
  • 製品生産計画-このフェーズでは、生産プロセスとツールが設計および準備されます。 このフェーズでは、製品を検査して、開発フェーズ中に気付かなかった欠陥を検出する機会も提供します。
  • 製造-このフェーズでは、製品自体の障害を検出するためにQA手順が適用されます。 製造の最初の期間に検出された製品の欠陥は、通常、製品の設計や材料、または製造ツールの変更によって修正できます。これにより、将来製造される製品のこのような欠陥がなくなります。

ただし、ソフトウェアの場合、欠陥を検出できる唯一のフェーズは開発フェーズです。 ソフトウェアの場合、ソフトウェアコピーの製造とソフトウェアマニュアルの印刷が自動的に行われるため、製品の生産計画と製造段階は必要ありません。

ソフトウェア製品と他の工業製品の欠陥の検出に影響する要因を次の表に示します。

Characteristic Software Products Other Industrial Products
Complexity Millions of operational options thousand operational options
visibility of product Invisible Product Difficult to detect defects by sight Visible Product Effective detection of defects by sight
Nature of development and production process can defect defects in only one phase

can detect defects in all of the following phases

  • 製品開発
  • 製品生産計画
  • 製造業

複雑さや不可視性などのソフトウェアのこれらの特性により、ソフトウェア品質保証方法の開発とその実装の成功は、非常に専門的な課題となります。