システム開発のV字モデルとは?流れやW字モデルとの違いを解説

#システム開発

システム開発のV字モデルとは?流れやW字モデルとの違いを解説

V字モデルは、システム開発の品質向上を図るための手法のひとつです。 システム開発は、開発とテストの工程がさまざまなステップに分かれており、V字モデルは開発の段階に対応するテストの段階を表す考え方です。

この記事では、V字モデルの概要やメリット、V字モデルを利用する場合の開発とテストの各段階、V字モデルの派生型であるW字モデルについて説明します。

 

 

V字モデルの概要とメリット

まずは、V字モデルとは何か、システム開発でV字モデルを利用するメリットを説明します。

 

V字モデルとは

V字モデルは、開発の段階とそれに対応するテストの段階をV字の形で表現したものです。 Vの左側が開発の各段階を示し、Vの右側はそれに対応するテスト段階を表します。 この名前は、開発段階が下方向に進み、開発後のテストの段階が上方向に進むことに由来します。

 

V字モデルを利用するメリット

システム開発においてV字モデルを利用するメリットは、主に以下です。

 

  • 開発プロジェクトの進捗を把握できる
  • 開発するシステムのテスト内容が明確になる

 

開発プロジェクトの進捗を把握できる

V字モデルを利用することで、システム開発プロジェクトの進行段階や担当者が明確になり、 プロジェクトの進捗を把握しやすくなります。 これにより、システム開発に費用な費用、人員、スケジュールなども調整しやすくなります。

 

開発するシステムのテスト内容が明確になる

V字モデルでは、システム開発の各開発段階に対応するテストが明確に定義されています。 これにより、それぞれの開発工程に沿った内容でテストを実施できます。

 

V字モデルを利用する場合のシステム開発の工程

V字モデルを利用してシステム開発を行なう場合、開発工程とテストの工程はどのように対応するでしょうか。順番に説明します。

 

要求定義ー受け入れテスト

システム開発工程の「要求定義」に対応するテストが「受け入れテスト」です。

「要求定義」はシステム開発工程の最上流にあたり、現状の課題や、システム開発によって解決したいことを検討します。 たとえば、システム開発の発注者が「商品の在庫管理システムを開発してほしい」と依頼した場合、システム開発者は要求をヒアリングし整理します。

「受け入れテスト」では、実際のシステムの利用シーンで動作に支障がないか、 要求定義で定めたシステムへの期待を満たせているかなどを、システム開発の発注者がテストします。 たとえば前述の「商品の在庫管理システム開発」であれば、「ユーザーとして商品を購入後、管理者として商品の在庫管理システムにログインし、 在庫一覧ページから、その商品の購入処理が実行されているかを確認する」というように、 実際の業務フローに合わせてシステムを操作し、問題がないか確認するのが受け入れテストです。

 

要件定義ーシステムテスト

「要件定義」では、その前の開発工程「要求定義」で決めたゴールを実現するために必要な機能や、データの項目などを洗い出します。

そして、V字モデルにおいて要件定義の工程に対応するテストが「システムテスト」です。 システムテストでは、すべての部品が組み立てられた(車を例にすると、車そのもの)状態で、システムの開発者がテストを行ないます。

 

基本設計ー結合テスト

システム開発工程の「基本設計」に対応するテストが「結合テスト」です。

「基本設計」では、要件定義で検討した内容をもとに基本設計書を作成します。 基本設計書には、画面の構成案である「ワイヤーフレーム」、 画面がどのように遷移するか、ボタンなどの要素がどのように動作するかなどの定義を記載した「画面仕様書」、 画面のデザインデータなどが含まれることが一般的です。

「結合テスト」では、ある機能を開発するための部品を組み合わせた状態(車の例でいうと、車輪に関連する「足回り」の部品がすべてつながった状態)で、 開発したシステムが正常に動作するかを、システムの開発者がテストします。

 

詳細設計ー単体テスト

「基本設計」が完了すると、システム開発の工程は「詳細設計」に進みます。 詳細設計では、システムをプログラミングする際に必要となる「詳細設計書」を作成します。 詳細設計書には、データベースの定義書やAPIの仕様書などが含まれます。

そして、V字モデルのなかでシステム開発工程「詳細設計」に対応するのが「単体テスト」です。 単体テストでは、ある機能を開発するために作成した、パーツ単位の部品(車の例でいうと、足回りを構成するホイールやサスペンション)が 詳細設計書通りに動くかどうかを、システムの開発者がテストします。

 

開発手法によって利用方法は異なる

システム開発の手法には「ウォーターフォール型」「アジャイル型」の2種類があります。 それぞれのシステム開発手法で、V字モデルがどのように利用されるかを見ていきましょう。

 

ウォーターフォール型開発の場合

ウォーターフォール型のシステム開発では、「要件定義→基本設計→詳細設計→開発→単体テスト→結合テスト→システムテスト→受け入れテスト」の順番で、 開発からテストまでの各段階が上流から下流に向かって進行します。 V字モデルは、ウォーターフォール型を進化させた考え方でもあり、ウォーターフォール型のシステム開発においてV字モデルが採用されます。

 

アジャイル型開発の場合

アジャイル型のシステム開発でもV字モデルを適用できますが、 その場合はアジャイル型システムの特徴を押さえる必要があります。

アジャイル型のシステム開発では、開発する機能を細かい単位に分け、 2週間程度の短い期間を開発工程の1サイクルとして、小さい開発サイクルを繰り返します。

この場合、システム開発の発注者が短期間で頻繁にフィードバックを行なう必要があるため、 開発者だけではなく、発注者がプロジェクトに貢献できるかも重要です。 このため、アジャイル型のシステム開発でV字モデルを採用する際は、 システム開発の発注者の状況も含め、V字モデルの適用有無を判断しましょう。

 

進化系・W字モデルとは

V字モデルの進化系と呼ばれる「W字モデル」は、システム開発の工程とテストの工程を並行して行なう考え方です。 システムの開発段階から、テストの担当者が参画し、テストする項目の準備などを行ないます。

システム開発においてW字モデルを利用するメリットは、システム開発の開発初期段階で不備を発見しやすいことです。

システム開発の後半で不備に気付くと、修正範囲が大きい場合、費用が高くなることがあります。 一方、システム開発の初期段階で問題を発見できると、修正範囲が小さく、費用を抑えられる場合があります。

つまり、W字モデルを利用することで、開発の後戻りのリスクを減らし、コスト削減につなげられる可能性もあるのです。

 

まとめ

ここまで説明したシステム開発のV字モデルについて、以下にまとめました。

 

  • V字モデルは、システム開発の各工程でテストするべき内容を明確にでき、 開発するシステムの品質確保において重要な役割を果たす
  • V字モデルを活用できるのは、主にウォータフォール型のシステム開発においてだが、 アジャイル型のシステム開発にも適用可能
  • V字モデルの進化形であるW字モデルでは、システム開発とテストの工程を並行する。 W字モデルは、システム開発の初期段階に問題を発見し、リスク軽減を目指す

 

V字モデルの内容やメリットを理解することが、システム開発の成功への一歩です。正しく活用し、スムーズなシステム開発につなげていきましょう。

「自社に合う開発会社を探すのは難しそう」「どうやって依頼すればいいかわからない」という方は、ぜひ株式会社マイナビ(https://dx-offshore.mynavi.jp/)にご相談ください。

開発目的や予算をヒアリングさせていただき、最適なご提案をいたします。相場の情報を知りたいなどの気軽な相談だけでも大丈夫です。お気軽にご相談ください。

 

オフショア開発の落とし穴:失敗事例と成功の秘訣PRバナー