goo blog サービス終了のお知らせ 

開発プロセスの基本を学ぶ

ここでは,様々な開発プロセスについて解説する。

開発プロセスの基本を学ぶ(2)

2014-08-03 22:08:59 | 日記

ウォーターフォール型の誕生

 歴史をたどりながら,主な開発プロセスの特徴や誕生の背景を紹介していこう。

 1960年代後半,開発するシステムの大規模化に伴い,個人の能力や経験のみに頼った方法に限界が生じ,体系立った開発方法が求められるように なった。そんな中,1970年に米国のW.W.ロイスが,ソフトウエアの作成から廃棄までの「ライフサイクル・プロセス」の概念を提唱した。

 ライフサイクル・プロセスでは,開発工程をいくつかのフェーズ(局面)に分割し,前フェーズの成果物を次のフェーズの入力とする。滝が上から下へと流れ落ちるように開発していくことから,「ウォーターフォール型開発プロセス」と呼ばれる(図1)。

図1●ウォーターフォール型開発プロセスの例
図1●ウォーターフォール型開発プロセスの例
滝から水が落ちていくように,開発を順番に進めていく

 ウォーターフォール型は,別名「V字型モデル」ともいう。「要件定義」フェーズを左上とし,「開発」フェーズで折り返して右上へと進むことで“V 字型”を形成する。V字型の前半部分は「品質を埋め込む段階」,後半は「品質を確認・検証する段階」と位置付けられ,左右のフェーズが対応付けられる(図2)。例えば,要件や仕様がすべて反映されていることは「システム・テスト」フェーズで検証し,「外部設計」フェーズの結果は「サブシステム間統合テスト」フェーズで,「内部設計」フェーズの結果は「コンポーネント間統合テスト」フェーズで検証する,という具合である。

図2●品質保証の観点から見たウォーターフォール型開発プロセス
図2●品質保証の観点から見たウォーターフォール型開発プロセス
「品質の埋め込みプロセス」と「品質の確認・検証プロセス」に分け,前者の仕様を後者で検証していく。 両者の対応関係がV字型になるので,ウォーターフォール型をV字型モデルと呼ぶこともある

 建築物や工業製品の製造のほとんどは,ウォーターフォール型と同様に,前フェーズの結果を次フェーズの入力とする。この確実性,一般性ゆえに, ウォーターフォール型は長年多くのシステム開発プロジェクトに適用されてきた。しかし,その一方でいくつかの問題点が指摘されている。

 主な問題点の1つは,システム化が初めてだったり,システムが複雑な場合,要件定義フェーズですべての要件を洗い出すことが困難なこと。ウォーターフォール型では要件定義フェーズでの漏れは想定していないので,当然リスクとして跳ね返る。

 2つめは,テスト・フェーズがプロジェクト後半に設定されているため,要件定義フェーズや外部設計フェーズなどの上流工程に欠陥があっても,それ がプロジェクトの終盤まで発見できないケースが多いことだ。終盤で欠陥が発見された場合,手戻り(前のフェーズに戻ること)によるコストは極めて大きなも のになる。

 


コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。