blog

システム・アーキテクチャ設計ノート - 検証と妥当性確認

検証と妥当性確認は、どちらもソフトウェア製品が意図した要件や条件を満たしているかどうかを判断するプロセスです。検証は、分析、設計、コーディング、テスト、レビューなど幅広いプロセスに適用できますが、検証...

Aug 12, 2020 · 2 min. read
シェア

検証(Verification)と妥当性確認(Validation)は、どちらもソフトウェア製品が意図した要件や条件を満たしているかどうかを判断するプロセスです。検証は、分析、設計、コーディング、テスト、レビューなど幅広いプロセスに適用できますが、検証は通常、受け入れプロセスで使用されます。

検証

ソフトウェアプロジェクトのバリデーションには、一般に、契約バリデーション、プロセスバリデーション、要件バリデーション、設計バリデーション、コーディングバリデーション、統合バリデーション、文書バリデーションが含まれます。

契約の検証

  1. 供給側には需要を満たす能力があります。
  2. 要件は一貫しており、ユーザーのニーズを再現しています。
  3. 要件の変更やエスカレーションに対応するための適切なプロトコルが整備されています。
  4. 所有権、ライセンス、著作権、機密保持の要件を含む、当事者間のインターフェースとそのプロトコル、協力の範囲を定義します。要求事項に従って、受け入れ基準とプロトコルを定義します。

プロセス検証

  1. プロジェクトは適切かつタイムリー。
  2. プロジェクトに選択されたプロセスは適切であり、契約要件を満たしています。
  3. プロジェクトのプロセスで使用される基準、手順、環境は適切です。
  4. プロジェクトには、契約の要件に従って訓練を受けたスタッフが配置されました。

要件の検証

  1. ニーズは明確で、一貫性があり、曖昧ではありません。
  2. 要求は実現可能です。
  3. 要件はテスト可能です。

デザイン検証

  1. 設計は正しく、要件を満たすことができます。
  2. 設計は要件から導き出すことができ、要件は設計から追跡することができます。

コード検証

  1. コーディングは設計と要件を満たすために適切です。
  2. コーディングはデザインから導き出すことができ、デザインはコーディングから辿ることができます。

統合検証

  1. 各ソフトウェアアイテムのソフトウェアコンポーネントおよびソフトウェアユニットが、ソフトウェアアイテムに完全かつ正しく統合されていること。
  2. システムのハードウェア項目、ソフトウェア項目および手動操作は、完全かつ正確にシステムに統合されています。

文書検証

  1. ドキュメンテーションは適切かつ完全で、一貫性があります。
  2. ドキュメンテーションはタイムリーです。
  3. 文書構成管理は所定のプロトコルに従いました。

確認

プロジェクトで検証作業が必要な場合は、ソフトウェア製品が意図した用途を満たしていることを確認するための検証プロセスを確立する必要があります。バリデーションは、組織内部で実施することも、独立した第三者によって実施することもできます。

一般的に、確認プロセスには以下の作業が含まれます:

テスト要件、テストケース、テストプロトコルの作成。これらのテスト要求事項、テストケース、テスト手順が、ソフトウェア製品の使用目的を反映していることを確認します。テストの実行。ソフトウェア製品が意図した用途を満たしていることを確認します。

Read next

Mysql-InnoDBのロックの仕組みとテスト

1. デッドロック 1.1 デッドロックの概念: デッドロックとは、実行プロセスにおいて、2つ以上のプロセスが、互いに待ち合う現象に起因するリソースの奪い合いにより、外力がなければ前に進めなくなることを指します。この時点で、システムはデッドロック状態またはシステムがデッドロックを持っていると言われ、これらは常に互いの

Aug 12, 2020 · 5 min read