回答:
Vモデルはウォーターフォールモデルの拡張であるため、大きく異なるとは思わないでください。
基本的に、Waterfallモデルと同様に、Vモデルを左から右にたどります。Waterfallでは、要件、設計、実装、検証、最後にメンテナンスを行います。同様に、Vモデルでは、要件、設計、実装、検証、保守を行います。どちらの場合も同じ手順です。
Waterfallとの主な違いは、表示方法とテストの重要性です。
フローをVシェイプとして表現すると、コーディングの前に必要なすべて(要件、アーキテクチャ、設計)とコーディングに続くすべて(本質的にテスト)を区別するのに役立ちます。テストはWaterfallの5つのステップの1つにすぎませんが、Vモデルのプロセスのほぼ半分のように見えます。
質問の図はもう少し複雑です。表示しようとしているのは、たとえば、システム設計ステップが、Waterfallモデルが示唆するようなシステム設計ドキュメントだけでなく、システムテスト設計の作成にもつながることです。図では、テストをさらに重視しています。最後に、システムテスト設計を行うと、アーキテクチャ設計に役立ちます(システムテスト設計に関係なくアーキテクチャ設計を行うのは厄介です)。
インターネット上の他の説明を検索して、私は次のBhakti Satalkarの記事を引用することを避けられません:
ウォーターフォールモデルとVモデルの主な違いは、ウォーターフォールモデルでは、開発アクティビティが終了した後にテストアクティビティが実行されることです。一方、Vモデルでは、テストアクティビティは最初のステージ自体から始まります。つまり、ウォーターフォールモデルは連続プロセスであり、Vモデルは同時プロセスです。ウォーターフォールモデルを使用して作成されたソフトウェアと比較すると、Vモデルを使用して作成されたソフトウェアの欠陥の数は少なくなります。これは、Vモデルで同時に実行されるテストアクティビティがあるという事実によるものです。したがって、ユーザーの要件が固定されている場合、ウォーターフォールモデルが使用されます。ユーザーの要件が不明確であり、変化し続ける場合は、Vモデルがより良い選択肢です。
この説明は紛らわしいです。これは、引用内の「V-model」をアジャイルメソッドで置き換える場合にのみ当てはまります。
記事の状態とは異なり、Vモデルでは、テストはコーディング後に行われます。たとえば、Wikipediaを参照してください。
V-Modelの一般的な実用的批判は、開発の最後に、初期段階がオーバーランしたが実装日が固定されたままである場合、テストがタイトなウィンドウに絞り込まれるということです。
Vモデルでは、システムのテスト設計は製品の実装が完了するまで待たずにシステム設計に従いますが、これはテスト自体がコーディングの前に実行されることを意味しません。著者は、エクストリームプログラミング(XP)のテスト駆動開発(TDD)などのアジャイルアプローチとVモデルを混同しています。
Representing the flow as V-shape helps making the difference between everything which comes prior to coding (requirements, architecture and design) and everything which follows coding (essentially testing). While tests are just one of five steps in Waterfall, it looks like practically half of the process in V-model.
=釘付け!おかげで
V