システム開発のVモデルとは何か?設計とテストの関係を紐解く

2020年10月23日

システム開発のVモデルの概要

システム開発(ソフトウェア開発)のVモデルとは、システム開発のライフサイクルの中で、設計とテストの関係を図式化したモデルです。
システム開発の工程の名称は人や本によって異なっていますが、仮に以下の流れで進んでいくとします。

  • 要件定義
  • 外部設計
  • 内部設計
  • 開発
  • 単体テスト
  • 結合テスト
  • 統合テスト

この場合、Vモデルは下の参考画像1のようになります。

システム開発のVモデルのイメージ
参考画像1:システム開発のVモデルのイメージ

このVモデルは、それぞれのテストがどの工程のテストをしているのかを示しています。
つまり、参考画像1は単体テストが内部設計で定めた機能を実現できているのかを確認するテストであることを意味しています。
同様に結合テストが外部設計を、統合テストが要件定義の内容をそれぞれ実現できているのかを検証していることを指しています。

このように、開発工程の中で、開発を折り返し地点として、設計とテストが対応関係にあることをVモデルは表しています。

Vモデルの各工程

Vモデルのメリット

Vモデルを導入するメリットはさまざまありますが、ここでは下記の点について見ていきましょう

  • ウォーターフォール・モデルのプロジェクトの管理がしやすくなる
  • プロジェクトの問題の早期解決
  • 高品質のプロダクトが期待できる

ウォーターフォール・モデルのプロジェクトの管理がしやすくなる

Vモデルはウォーターフォール・モデルの開発プロジェクトと非常に相性のよいアイデアです。
ウォーターフォール・モデルは要件定義の次に外部設計を行い、内部設計が終わった後に、開発をするというように、順を追ってプロジェクトを進めていきます。
このように段階的に進めていくウォーターフォール・モデルでVモデルを導入すると、「この工程で考えた設計はいつ検証するのか?」「このテストはどの工程の妥当性をチェックするのか」ということが明確になり、プロジェクトの管理がしやすくなります。

プロジェクトの問題の早期解決

Vモデルのアイデアをプロジェクトに導入すると、プロジェクトの問題を早期に解決することができます。
例えば、Vモデルを意識せず、テストも一括して行うプロジェクト進行では、プロジェクトの最後で問題が発見されることになり、内部設計の問題なのか、外部設計の問題なのか、それとも要件定義の時のあやまりなのかも分からずに問題を解消しなければなりません。
しかし、Vモデルに従って各工程の対応を考えていくと、テストが万全になるだけでなく、どの工程に問題があったのかを特定することができ、プロジェクトの問題を早期に発見し、解決することができます。

高品質のプロダクトが期待できる

プロジェクトの管理がしやすくなり、問題の早期解決が期待できるVモデルを導入すれば、プロジェクトで得られるプロダクトも高品質になることが期待されます。
Vモデルを用いる最終的な意味というのは、ここにあるといえるでしょう。

Vモデルの短所

以上、Vモデルを導入するメリットを見てきましたが、より深くVモデルを理解するためにも、その短所も追っていきましょう。
Vモデルの短所は、途中から変更が発生するような複雑なプロジェクトや大規模なプロジェクトに弱いところです。
こうしたVモデルの短所は、そのままウォーターフォール・モデルの短所であるとも言えます。

「何を開発するのか?」「どのような機能が求められているのか?」が明確でないプロジェクトは前工程に戻ることが多々あり、それによって、プロジェクトが複雑化していきます。
Vモデルもウォーターフォール・モデルも、プロジェクトは当初の計画通りに、順を追って進んでいくという考えのもとになりたっているため、前工程に戻ってしまった時の対応に窮してしまいます。

また、Vモデルが単なるウォーターフォール・モデルに比べて早期にプロジェクトの問題点を発見できるとは言え、年単位で進められるような大規模なプロジェクトでは、単体テストで検証する内部設計を半年以上前に行っているということもあります。そのため、単体テストで発見された問題の原因を確認するために内部設計にまで戻ってしまうと、かなりの手戻りになってしまいます。

このように複雑で大規模なプロジェクトではVモデルの魅力を活かすことはできません。

小規模なプロジェクトでVモデルは真価を発揮する

以上、Vモデルのメリット・デメリットを見てきました。
アジャイル開発を求める声が日に日に強くなる昨今、ウォーターフォール・モデルの開発で有効なVモデルはアウトオヴデイトと言われてしまうかもしれません。
しかし、ウォーターフォール・モデルが適している小規模な開発プロジェクトでは、Vモデルも真価を発揮することができます。
2~3カ月で完了する開発プロジェクトであれば、Vモデルのアイデアを念頭に置き、テストの計画をたてていくとよいでしょう。

今回はウォーターフォール・モデルやアジャイル開発という言葉がでてきましたが、このような開発のモデルについては、下の記事もご参照ください。

参考