今回は、開発工程における「V字モデル」について詳しく解説します。
まずはV字モデルの概念から、プロセスや品質面でのメリット・デメリット、W字モデルとの違いの順で説明していきます。
V字モデルは一般的な開発・テスト工程の対応関係を明示したプロセスモデルです。
本記事を通して、「V字モデルを正しく理解したい」「自社でもV字モデルを採用した開発・テストを行いたい」という方必見のお役立ち情報をご紹介します。
ウォーターフォールモデルとは
ウォーターフォールモデル【waterfall model】とは、ソフトウェア開発モデルのひとつであり、開発工程を模式化した最も古典的でポピュラーな方式です。
主に、プロジェクトにおける開発・テスト工程の詳細さのレベルに応じて、各工程の対応関係を明示しています。システム開発における「要求定義/システム設計/詳細設計/プログラミング」までの各工程が終了後、その成果物を基に次のフェーズに進むという手法です。
また、後にご紹介する「V字モデル」は、ウォーターフォールモデルの進化形を指します。
V字モデルとは
ウォーターフォールモデルを理解した後は、いよいよ本題である「V字モデル」について詳しく解説します。
V字モデルとは、多くの開発・テスト工程に採用されている、システム開発手法モデルです。
V字モデルの主な流れ
- 設計
- 実装・実行
- 開発
V字モデルでは、上記を構成する各フェーズに対応するテストを順次実施します。
また、これらの工程は「ウォーターフォールモデル」を基にしており、原則後戻りはできません。
V字モデルは前述のウォーターフォールモデルの概念に「開発・テスト工程をリンク」させることで、チェック・検証の精度を向上し、進化させた開発手法のプロセスモデルであると言えます。
以上の概念をふまえた上で、次は「V字モデルのプロセス」を5つに大別し、対応関係などを詳しく解説します。
V字モデルのプロセス
次は、「V字モデルのプロセス」についてご紹介します。
V字モデルのプロセスは、以下5つの対応関係(開発工程→テスト工程)に大別されます。
V字モデルのプロセス
- 要求分析 → 受入テスト
- 要求定義 → システムテスト
- 基本設計 → 結合テスト
- 詳細設計 → 単体テスト
ここからは、上記プロセスについて解説します。
V字モデルにおいては、開発の各工程である以下の設計・定義により、どのようなテストケースを作成し、システムの動作確認をイメージしながら要件定義・各種設計書を作成します。
本記事を参考に、テストの精度向上に役立てましょう。
要求分析→受け入れテスト
要求分析では「最終的な品質保証」の観点から、開発ソフトウェアにおける顧客側の品質要求・ニーズを分析します。
また、要求分析と対応するテストレベルは、最下流工程の「受入テスト」です。
要件定義→システムテスト
V字モデルを有効活用し、高品質なソフトウェアを開発・リリースするためには、「開発にかかる期間・コストを明確化」を要します。
そこで、要件分析で明確化・整理された内容を基に「要件定義」がなされます。
要件定義では主に顧客、ユーザーからの品質要求・ニーズを的確に取りまとめ、詳細に定義します。また、「要件定義書」は顧客側主導で作成される場合が大半です。
要件定義は、全工程の質・成否に大きく影響を及ぼすため、情報共有と項目の漏れ防止が重要です。
また、要件定義と対応するテストレベルは、「システムテスト」です。
基本設計→結合テスト
基本設計では、主に「基本設計書」を作成します。
基本設計書の記載内容
まず、開発ソフトウェアに関する動作業務について、
利用開始~動作終了までの業務シナリオ(全条件・パターン)を想定します。
そして、それらのパターンに対して、システムが正常に動作しているかを確認すべく、以下を記載し、テストケースを作成します。
- 業務ロジック整合性について
- DB(データ)のテーブル定義
- テーブル間の関連性
- 画面レイアウト、遷移先の画面
- 帳票 など
また、基本設計と対応するテストレベルは、「結合テスト」です。
詳細設計→単体テスト
詳細設計では主に、詳細設計書に以下の内容をまとめてテストケースを作成します。
詳細設計書の記載内容
技術者がプログラミングを実施できる状態を整備するため、
入力データに対して対象機能がどのような処理を経て、
どのような出力データを返すのかを具体的に記載します。
また、詳細設計と対応するテストレベルは、上流工程の「単体テスト」です。
実装
ここでの実装とは、製造(プログラミング・コーディング)を指します。
作成した詳細設計書をもとに、製造作業を行います。技術者は、この設計書を確認しながら顧客・ユーザー側が求める機能・動作をシステム上で正しく実装すべく、丁寧に製造工程を進めます。
V字モデルのメリット
次は「V字モデルのメリット」についてご紹介します。
V字モデルのメリット
- 開発工程とテスト工程の理解がしやすい
- プロジェクトの進行状況を把握しやすい
- プロジェクトを完遂しやすい
V字モデルでは、プロジェクト全体の把握が容易に可能です。
ここからは、各メリットをそれぞれ解説します。
開発工程とテスト工程の理解がしやすい
V字モデルの形状は、V字の左右が開発・テスト工程が対応し繋がっているため、結果として開発工程とテスト工程の理解がしやすくなります。
プロジェクトの進行状況を把握しやすい
V字モデルでは、各工程に沿ってプロジェクトが進行します。そのため、「現在どの段階で、具体的にどこで滞っているのか」をリアルタイムに把握できます。
さらに、予期せぬトラブルへの迅速な対応や、各工程に関する認識のズレ防止にも寄与します。
プロジェクトを完遂しやすい
V字モデルでは、各工程の手順や確認事項・業務内容が明確に役割分担されます。
そのため、プロジェクトが途中で頓挫しにくく、プロジェクトの全工程を完遂しやすいというメリットがあります。
V字モデルのデメリット
V字モデルには複数のメリットがある一方で、「上流工程で何らかの問題が発生した場合に、手戻りのリスクがある」というデメリットも存在します。
上流工程で問題があった場合、手戻りのリスクがある
V字モデルでは開発工程で起きた問題が、テスト工程で発覚します。このような問題発覚の遅延は、手戻りのリスクに繋がり、余分な工数や時間的ロスが発生する可能性が高くなります。
V字モデルとW字モデルの違い
最後に、V字モデルのデメリットを改善した形状の「W字モデル」について解説します。
W字モデルとは、V字モデルに代わる開発のプロセスモデルです。
開発工程・テスト工程をリンクさせた上で、各工程を同時進行します。
今回は「W字モデルのメリット」についてもご紹介します。
テスト工程を併せて行うため手戻りリスクが低い
W字モデルでは開発・テストの同時進行により、手戻りのリスクや時間的ロスの発生が少ないというメリットがあります。
そのため、V字モデルでは困難だった「品質要求の変更・修正対応」への迅速な対応も可能です。
まとめ
いかがでしたでしょうか? 今回は、システム・ソフトウェア開発のプロセスモデルである「V字モデル」に注目し、W字モデルと併せて深掘り解説しました。
今回ご紹介した知識・ポイントをおさえ、V字モデルを採用した正しい手順・方法にて「効率的且つ網羅的なテスト設計~実行」に繋げていきましょう。
業務の煩雑化・属人化防止についても考慮し、W字モデル導入も視野にプロジェクトに応じた開発・テスト工程への再考や、ソフトウェア品質向上に役立ていただければ幸いです。
最後までお読みいただき、ありがとうございました。