ウォーターフォールモデル、V字モデル、W字モデルとは

ウォーターフォールモデル、V字モデル、W字モデルは、ソフトウェア開発に携わる方ならよく知っている用語です。では、各々の違いは何でしょうか。

ウォーターフォールモデルとは

ウォーターフォールモデルの定義

ウォーターフォールモデルとは、手戻りがないことを原則として、要求定義、分析、設計、実装、テストの工程を順番に実施するソフトウェア開発方法のことです。ウォーターフォールモデルは、英語で表記すると“Waterfall Model”です。Waterfallは「滝」という意味ですね。滝の水は落ちるだけで上に戻ることはありません。手戻りがないことを、滝の水が落ちるさまに例えて、ウォーターフォールモデルと呼ばれているのです。ウォーターフォールモデルは、ロイス[1]が提唱したといわれています。

ウォーターフォールモデル
ウォーターフォールモデルの例

ウォーターフォールモデルのメリット

ウォーターフォールモデルのメリットは、要求が確定している場合には、作業を順番に進めていくのに非常に有用であることです。要求内容が確定していれば、開発計画を立案して、その通りに秩序立てて開発を進めていくことができます。顧客から見ると、固定金額かつ固定期間で開発契約を交わすことができるので、非常に受け入れやすい方法といえます。

ウォーターフォールモデルのデメリット

ウォーターフォールモデルのデメリットは、現実的な問題として、開発開始時にすべての要求を確定することが難しいことです。要求がなかなか決まらない、決まったはずの仕様が変更になるという問題は、ソフトウェア開発に常に付きまとう問題です。また、実際にソフトウェアが動く様子を見ることができるのは、ソフトウェア開発の後半になるため、もし仕様に致命的な問題があった場合には、その発見が遅れてしまうという問題もあります。

ウォーターフォールモデルの適用状況

ウォーターフォールモデルは、古典的なモデルといえますが、日本ではいまだに主流のプロセスモデルとして使われています。ウォーターフォールモデルを使いこなすことは、ソフトウェア業界で働く方にとっては、必須の要件といえるでしょう。

V字モデルとは

次にV字モデルについて説明します。

V字モデルの定義

V字モデルはウォーターフォールモデルの表現形式をV字に変えたものです。

V字モデル
V字モデルの例

V字モデルの詳細説明

V字モデルは、ウォーターフォールモデルを実装工程で折り曲げて、対応する開発工程とテスト工程を、視覚的に同じ位置に置くことにより、各テスト工程のテストレベルを示したモデルです。上図では、単体テストでは、実装工程で実装した内容をテストします。同様に、統合テストは詳細設計で設計した内容を、総合テストでは基本設計で設計した内容を、受入テストでは要求定義で定義した内容を、各々テストするのです。このように、V字モデルは、テストのレベルと範囲を明確にできるという効果があります。

W字モデルとは

では、W字モデルとはどのようなモデルでしょうか。

W字モデルの定義

W字モデルは、V字モデルの左側の開発工程と、対応するテスト工程の作業を並行して実施することを表したモデルです。

W字モデル
W字モデルの例(HerzlichHerzlichのW字モデル)

W字モデルの詳細説明

開発プロセスのⅤ字と、テストプロセスのV字が並行して実施するさまが、Wの形になることからW 字モデルと呼ばれています。W字モデルには、いくつかの考え方があり、V字モデルの左側の開発工程と並行して、対応するテストの計画やテスト設計を実施するものや、開発工程の成果物に対してレビューなどの静的テストを実施するものなどがあります。

V字モデルとW字モデルの関係

V字モデルは、ウォーターフォールモデルの工程を順に進めるのでなく、V字モデルの左側の開発工程に合わせて、テストの設計を先取りすることにより、レビュー効果をあげることを狙ったモデルです。そのレビューによる品質向上方法を詳細に表現したものがW字モデルです。

V字モデルとW字モデルの効果

ウォーターフォールモデルで開発をするときには、V字モデルやW字モデルで開発を進めることをお勧めします。実際にV字モデルやW字モデルに取り組んでみると、すぐにその効果を実感できると思いますよ。設計内容を、同時にテストする立場で見ることになるので、しっかり設計したつもりが、実はテストするためには情報が足りないといったことに気が付くでしょう。例えば、パラメータ同士の組み合わせや、動作条件によっては、どういう動きをするのかわからないといったことです。それを、テスト工程で気が付くのでなく、設計した段階で気が付くので、早期に品質を確保できるという効果が期待できるのです。

さいごに

ウォーターフォールモデルと、V字モデル、W字モデルについて解説しました。ご理解いただけたでしょうか。

参考文献

参考文献[1] Winston Royce, Managing the Development of Large Software Systems, Proc. Of IEEE WESCON, 1970

3 Comments

  1. […] 上図左側のウォーターフォールモデル開発は、上から下に流れる時間の経過につれて、分析、設計、実装、テストへと進んでいきます。上図では、それを大きい箱を積み重ねることで表現しています。 […]

  2. […] 上図は、上から下に時間軸が流れています。品質会計は、バグ目標管理技法とバグ予測・見直し技法の大きく2つの技法群から構成されています。上図に示すように、品質会計は、計画から出荷までのウォーターフォールモデル全体を網羅しています(ポイント①)。品質会計の各技法が関連しているので、品質会計を適用すれば、計画から出荷まで一気通貫の品質管理が実現します。 […]

  3. […]  配属された頃は、ソフトウェア開発方法さえ手探りの段階で、マネジメント方法もないような時代でした。でもそれが幸いし、私はウォーターフォールモデル開発の品質保証方法の構築に、ほぼ最初から関わることができました。それが、「ソフトウェア品質会計」と呼ぶ品質管理手法です。そして、品質保証部の業務は、開発部門が開発したソフトウェアのバグ出しのお手伝いから、プロセス品質とプロダクト品質の両面よりソフトウェア品質を評価して保証する立場へと変わっていきました。私自身は、この時代に、ソフトウェア開発の計測とデータ分析、オフショア開発、CMMIレベル5、組織的改善といったキーワードの仕事を経験しました。デスマーチプロジェクトもありましたし、海外多拠点の開発で苦労したこともありました。 […]

コメントを残す