複雑化するシステム開発の工程の可視化や効率化を目的とした開発手法に「V字モデル」があります。V字モデルを導入したシステム開発を行うことで、手戻りの防止や進捗状況の明確化など、さまざまなメリットが得られます。
今回は、システム開発におけるV字モデルの概要、具体的な設計内容、メリットを解説します。V字モデル以外のシステム開発手法との比較も紹介していますので、ぜひ参考にしてください。
V字モデルはおもにテスト工程を重視したいシステム開発に有効です。V字モデルを導入したシステム開発やシミュレーション環境を構築の際には、テクノプロ・デザイン社にご相談ください。
システム開発におけるV字モデルの概要
システム開発の手法である、V字モデルの概要や具体的な設計を説明します。
V字モデルとは
V字モデルとは、システム開発を要件定義、設計、実装、テストの各工程に分け、V字で表現する開発手法です。
V字の左側には要件定義、基本設計、詳細設計が、右側には単体テスト、結合テスト、システムテストが置かれており、開発進行に応じてテスト工程も配置されます。各工程を進行に沿って表現すると、開発から後の作業を折り返す=Vの字になるのが、V字モデルの名称の由来です。
V字モデルでは、定義や設計工程が各テストと連動し、作業とテストとの関係が明確になります。各工程でのテストの重点的な実施とチェックをしたい場合に、最適なシステム開発手法といえるでしょう。
V字モデルの設計工程内容
V字モデルでの具体的な設計工程の内容は以下の通りです。
V字モデルでの工程 | 工程の内容 | 具体例 |
1.要件定義 | システム構築の目的、機能、性質を定義 | ・ユーザー要件(ユーザーのニーズ、抱えている悩み、課題など) ・機能要件(データ処理やレポートなど) ・非機能要件(互換性や拡張性など) ・その他制約(予算やスケジュールなど) |
2.基本設計 | 要件定義の実現を目的に、システムの全体的な構造と機能を定義 | ・業務フロー図 ・実装機能の一覧 ・レイアウト ・画面遷移 |
3.詳細設計 | 基本設計で決めた内容を設計(プログラム)する工程 | ・機能分割(クラス図やシーケンス図など) ・データフロー図 ・画面設計書(モジュール化など) ・データベース関連(テーブル定義書など) |
4.開発および実装(プログラミング) | 詳細設計書をもとにプログラミングを行い、定義された機能がシステム上で正常に動作するための設計工程 | C言語・Java・JavaScript・PHPなどの言語を使ったプログラミング |
5.単体テスト | ・詳細設計で計画した機能がプログラムに正しく実装されているかを確かめるテスト ・詳細設計とリンク | ユニット・コンポーネント(プログラムを構成する単位)への個別テスト |
6.結合テスト | ・単体テストで動作したシステムを組み合わせて、連携や挙動をチェックするテスト ・基本設計とリンク | ・インターフェーステスト:個々のプログラムやモジュールを連携させて動作を確認 ・ブラックボックステスト:内部構造や実装の詳細は踏まえず、ソフトウェアの入出力をベースとした機能をチェック ・シナリオテスト:実業務を想定し、動作や挙動を確認 ・負荷テスト:システムに負荷をかけ、不具合が発生しないかをチェック |
7.システムテスト(総合テスト) | ・システム構築後、要件定義の仕様書に基づいた正しい動作か、要望通りの性能が備わっているかをチェックするテスト ・要件定義とリンク | ・機能テスト:本番環境と実データにて、ソフトウェアが正常に作動可能であるか確認 ・非機能テスト:パフォーマンス・非機能要件をテスト |
また、V字モデルについては以下の動画も参考にしてください。
引用:V字モデルとは? ウォーターフォール開発のプロセスとテストの関係
システム開発でV字モデルを導入するメリット
システム開発でV字モデルを導入することで得られるメリットを解説します。
テスト内容が明らかになる
V字モデルでは開発工程におけるテスト内容が明確に定義されています。それぞれのテストでは、開発工程での内容が適切に実装されているかどうかを確認します。
テストで実行する内容や工程がクリアであることから、確認漏れによるミスや手戻りが少なくなり、品質が担保されるでしょう。
責任の所在を把握しやすい
V字モデルでは、各工程での担当者が以下のように明確になります。
要件定義 | プロジェクトマネージャー、ITコンサルタントなど |
基本設計 | オペレーション担当者 |
詳細設計 | システムエンジニア |
開発および実装 | プログラマー |
担当者=責任者が把握しやすく、各工程で問題や不具合が発生した場合の作業担当者や、責任の所在も明確にしやすいでしょう。
ただし複数の段階にタスクがあり、複数の担当者が存在することもあります。
進行や進捗が明確になる
V字モデルは、前段階完了後に次の段階が開始するため、システム開発の工程が段階的に進行します。たとえば基本設計が完了しないと、詳細設計には進めません。
そのため、プロジェクトの段階や進行を把握しやすいというメリットがあります。
不具合発生率や修正による工数から、適切な人員配置やタスク処理といった、プロジェクト管理にも役立つでしょう。
手戻りのリスクが低くなる
V字モデルでは、厳格な要件定義と詳細な設計完了後に開発がスタートします。さらに各工程終了時に厳密なテストを行い、発見された欠陥や不具合はその場で修正して次の工程に進むため、手戻りのリスクが低くなることもメリットです。
特に、下流工程における抜けや漏れの発生リスクを減らせるため、上流工程に入ったあとの大きな手戻りを防ぐことにもつながるでしょう。
ただしすべての手戻りを防げるというわけではありません。たとえばテスト段階で大きな漏れ、ミスがあり修正が必要となった場合、要件定義まで手戻りが発生する可能性もあります。他のプログラムへの影響や設計書の見直しなど、大幅な手戻り工数が発生してしまうこともあるかもしれません。
その場合、システムリリースまでのスケジュール調整などが求められる可能性に、注意が必要です。
システム開発におけるV字モデルとほかの手法との比較
システム開発にはV字モデル以外にもさまざまな手法があります。V字モデルとほかのシステム開発手法との比較を解説します。
V字モデルとW字モデル
W字モデルとは、V字モデルを進化させたシステム開発手法です。V字モデルで行う流れとともに、W字モデルでは、開発工程とテスト工程を同時に実施します。開発工程の結果をテスト工程で検証することに加えて、開発工程の中でも検証を実施します。たとえばV字モデルでは基本設計→検証を結合テストで実施、という流れであるのに対して、W字モデルでは基本設計の工程の中に、作成される設計書に要件定義で決められた内容が網羅されているか、設計に漏れがないかといった視点からの「仕様テスト」を実施、検証してから基本設計をベースと下ソフト開発を行い、統合テスト、の流れです。よって、テストを実施するテストエンジニアは上流工程から参加します。
W字モデルは、開発工程と同時にテスト工程も実施するため、不具合を早期に発見でき品質向上にもつなげられます。設計の矛盾など設計段階での不具合も開発に入る前に発見できるため、V字モデルより手戻りが発生するリスクを抑えられるでしょう。ただしテスト工程が増えるためやや負担が増えることに注意が必要です。設計ミスをより早い段階で把握したいプロジェクトに有効と言えます。
V字モデルとアジャイルモデル
はじめから厳密な設計を行わず、機能ごとに開発を進め、個別にリリースします。
アジャイルモデルとは、時進行で各機能を開発する手法です。要求定義や設計、実装、テストの工程を、機能ごとに短期間で繰り返して開発を進めます。万が一プロジェクト進行中に製品の要求変更が発生した場合も、柔軟な対応ができるのがメリットです。V字モデルよりも柔軟性は高いものの、各段階でテストは行わないため、品質担保の面では劣ります。品質よりも、柔軟性を重視したプロジェクトに有効です。
V字モデルとウォーターフォールモデル
ウォーターフォールモデルとは、要件定義→基本設計→詳細設計…とV字モデルの各段階の、上流工程から下流工程へ工程を下げて実施する手法です。各段階での目的や作業内容が明確になりやすい特徴があります。
V字モデルはウォーターフォールモデルが進化した手法です。開発する製品によって、開発工程はウォーターフォールモデルで進め、テスト工程は品質を担保するためにV字モデルを採用するなど柔軟に対応することもあります。
V字モデルとプロトタイプモデル
プロトタイプモデルとは、プロトタイプ(試作品)を作成し、発注者に確認を取ってから本開発へ進む手法です。以下の流れで進行します。
プロトタイプモデルはプロトタイプから受けた発注者のフィードバックをベースに、要件を決めて本開発に入ります。上流工程で発注者のフィードバックを積極的に取り入れるため、ニーズを正確に把握しやすく、要件変更も比較的かんたんにできるメリットがあります。ただしプロトタイプの製作と確認が必要になるため、V字モデルよりも工数とコストがかかるケースが多い点に注意が必要です。発注者からの変更希望への柔軟な対応と、ニーズに合致する成果を得ることを重視したいときに、向いている手法です。
まとめ
システム開発におけるV字モデルの概要と導入するメリット、ほかの開発手法との比較を開設しました。
V字モデルはおもにテスト工程を重視したいシステム開発に有効な手法です。テクノプロ・デザイン社では、V字モデルを導入したシステム開発工程やシミュレーション環境の構築、人材の育成やコンサルティングなど幅広く支援しています。現在の手法からV字モデルへの転換、またはほかの手法と比較して適切な開発方法を知りたいときなどにもお気軽にご相談ください。