ウォーターフォール・モデルとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > ウォーターフォール・モデルの意味・解説 

ウオーターフォール‐モデル【waterfall model】

読み方:うおーたーふぉーるもでる

ソフトウエアコンピューターシステム開発手法の一。作業工程分割して前工程に戻ることなく、各工程順番進めるもの。スケジュール管理容易だが、途中からの仕様変更などに対応しにくい。名称は、が上から下に流れ落ちるように作業進めることに由来するウオーターフォール開発。→スパイラルモデル


ウォーターフォール・モデル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/14 07:38 UTC 版)

ウォーターフォール・モデル(Waterfall Model)は、ソフトウェア工学における古典的な[1][2]開発モデルであり、開発活動を線形の連続的なフェーズに分割し、各フェーズが前のフェーズの成果物に依存し、タスクの専門化に対応している[3]。 このアプローチは、エンジニアリング設計の特定の分野で典型的である。ソフトウェア開発では[3]、反復が少なく柔軟性の低いアプローチの1つであり、進捗は主に1方向(のように「下方向」)に構想、着手、分析設計、構築、テスト実装メンテナンスのフェーズを通って流れる[4]。 ウォーターフォールモデルは、ソフトウェア開発で使用された最も初期のSDLCアプローチである。

ウォーターフォール開発モデルは、製造業建設業で生まれたものであり、高度に構造化された物理的環境では、開発プロセスのかなり早い段階で設計変更が非常に高価になることを意味していた。ソフトウェア開発に最初に採用されたとき、知識ベースのクリエイティブな作業に認められた代替案はなかった[5]

概要

ウォーターフォール・モデルの一例

プロジェクトによって工程の定義に差はあるが、開発プロジェクトを時系列に、主として以下のような工程で行われる。

  1. 要求定義(要求仕様)
  2. 外部設計(概要設計)
  3. 内部設計(詳細設計)
  4. 開発(プログラミング)
  5. テスト(ソフトウェア)
  6. 運用(システム)

上記のように作業工程(局面、フェーズ)にトップダウンで分割する。線表(ガントチャート)を使用してこれらの工程を一度で終わらせる計画を立て進捗管理をする。原則として前工程が完了しないと次工程に進まない(設計中にプログラミングを開始するなどの並行作業は行わない)事で、前工程の成果物の品質を段階的に確保し、前工程への後戻り(手戻り)を最小限にする。ウォーターフォール・モデルの利点は、工程の進捗管理がしやすいことである。

ウォーターフォール・モデルの例には、IBMによるADSG(Application Development Standardization Guide、アプリケーション開発標準化ガイド)などがある。

なお「ウォーターフォール・モデルは古く、スパイラルモデルは新しい」と単純化して語られる場合もあるが、大規模開発ではスパイラルモデルだけでは収束せず破綻するケースが大半のため、現在でもウォーターフォール・モデルとスパイラルモデル等は、組み合わされて使用されている[要出典]

ウォーターフォール・モデルが採用される裏には、次のようなスパイラルモデルの問題が解決できないという理由もある。

  • 要件を変更したときの見積もりや契約の方法が確立されていない
  • 各工程の頻繁なリリースによるバージョン管理が難しい
  • テストの自動化に関するノウハウが蓄積されていない

歴史

1968年、NATO後援の国際会議にて、ソフトウェア開発を職人芸的な作成方法から工業製品としての作成方法に変える方法として、製品製造過程のように開発をいくつかの工程に分け、各工程の終了を意味する文書を作成することで進捗を管理し、早いうちから品質の作りこみをしようとするウォーターフォール・モデルの原形が提唱された。[6]

「ウォーターフォール・モデル」という用語は、文字通り「滝」を意味し、W. W.ロイスによって1970年に発表された論文「Managing the Development of Large Software Systems」の内容が元になったとされる。この論文において、「大規模ソフトウェア開発には、製品製造過程のようにいくつかの工程に分けたトップダウンアプローチが必要」と述べている。しかし論文には「ウォーターフォール・モデル」という記述は無く、また、前工程への後戻り(見直し)も提唱されており、元の論文の内容とは異なっている。

初めて「ウォーターフォール」という用語を用いたのはT.E.BellとT.A.Thayerによる1976年に発表された論文「Software Requirement」であり、B.W.Boehamが1981年に出版した本「Software Engineering Economics」においてウォーターフォールモデルのオリジナルはロイスだと述べている。

問題点

ウォーターフォール・モデルに対する批判には、次のようなものがある。

  • 「ウォーターフォールモデルは間違っており有害である。私たちはこのモデルから脱却しなければならない」[7]
  • 「ウォーターフォール・アプローチは,危険かつ問題をはらんだ,企業における風土病」[8]
  • 「秩序正しく、予測が可能で、説明が付きやすく、測定可能なプロセスであり、文書を中心とした単純なマイルストーンが存在するという幻想をウォーターフォールがあたえた」[9]

ウォーターフォール・モデルの問題点は、『前工程に間違いがない』ことを前提または期待していることである。

古くから(現代においても)、要求を事前に詳細に定義することは困難であると言われている。要求をユーザーに徹底的に確認したにもかかわらず、下流工程になって見え始めたシステムを見たユーザーから修正要望が出ることがある。この要望に応えるには、前工程に戻って進捗度を戻さざるをえなくなる。(要望に応えなければ戻さずに済む。)

ウォーターフォール開発プロジェクトが成功するためには、過去に同じようなプロジェクトで一度失敗している必要があると言われている。これは、システム開発の名著『人月の神話』においても批判されていることである。

前工程への後戻りはスケジュールの遅延の原因であると評価されるため、前工程の完了要件(要件定義局面であれば、要件定義書などの成果物の完成)を徹底して品質を高め、後戻りの発生率を可能な限り低下させるとともに、後戻りが発生する場合は変更管理によって公式に決定し、後戻りや横展開を確実にフォローすることが求められる。

また大規模開発では、全システムを同じスケジュール(1時点では全システムの設計、1時点では全システムのプログラミング、など)とすると、管理可能な範囲を超える、似たような問題が各所で同時発生する、リソースの平準化がなされないなどの問題があるため、業務上またはシステム的に分割容易な適切なサブシステム単位に分割し、それぞれで局面化する事が一般的である。この場合は共通する仕様の問題は、先行するサブシステムで発見されるため、後続のサブシステムではより早い工程で変更できる。

要求の修正要望が出ないようにするために、「プロトタイプ」と呼ばれる試作プログラムや画面デモ用プログラムを作成することがある。この試作プログラムの開発を要求定義工程とみなせば前工程が完了しないと次工程に進まない原則とつじづまが合うが、開発工程とみなせば原則に違反したとしてプロトタイプを作成しないよう指示されてしまうことが考えられる。テスト駆動開発は着実に進捗を進めることを可能にする開発方法であると言われてるが、これも前工程が完了しないと次工程に進まない原則に違反する。また、テストの自動化に関するノウハウが必要になる。

脚注

  1. ^ “From Waterfall to Agile software: Development models in the IT sector, 2006 to 2018. Impacts on company management”. Journal of International Studies (Fundacja Centrum Badań Socjologicznych) 11 (2): 315–325. (2018). ISSN 2071-8330. https://www.ceeol.com/search/article-detail?id=718102 2023年9月28日閲覧。. 
  2. ^ Adenowo, Adetokunbo; Adenowo, Basirat A (2020-09-10). “(PDF) Software Engineering Methodologies: A Review of the Waterfall Model and Object- Oriented Approach”. International Journal of Scientific and Engineering Research (IJSER Publishing) 4 (7): 427–434. ISSN 2229-5518. https://www.researchgate.net/publication/344194737\_Software\_Engineering\_Methodologies\_A\_Review\_of\_the\_Waterfall\_Model\_and\_Object-\_Oriented\_Approach 2023年9月28日閲覧。. 
  3. ^ a b Petersen, Kai; Wohlin, Claes; Baca, Dejan (2009). “The Waterfall Model in Large-Scale Development”. In Bomarius, Frank; Oivo, Markku; Jaring, Päivi et al. (英語). Product-Focused Software Process Improvement. Lecture Notes in Business Information Processing. 32. Berlin, Heidelberg: Springer. pp. 386–400. Bibcode2009pfsp.book..386P. doi:10.1007/978-3-642-02152-7_29. ISBN 978-3-642-02152-7. https://link.springer.com/chapter/10.1007/978-3-642-02152-7_29 
  4. ^ The Traditional Waterfall Approach”. www.umsl.edu. 2022年2月23日閲覧。
  5. ^ Benington, Herbert D. (1 October 1983). “Production of Large Computer Programs”. IEEE Annals of the History of Computing (IEEE Educational Activities Department) 5 (4): 350–361. doi:10.1109/MAHC.1983.10102. http://sunset.usc.edu/csse/TECHRPTS/1983/usccse83-501/usccse83-501.pdf 2011年3月21日閲覧。.  Archived July 18, 2011, at the Wayback Machine.
  6. ^ 菅野孝男 1996, p. 34.
  7. ^ Frederick P. Brooks Jr. 2010, p. 34.
  8. ^ McBreen,P. 2002, p. 125.
  9. ^ Larman,C. 2004, pp. 129–132.

参考文献

  • 菅野孝男『改訂 ソフトウェア開発のマネージメント』新紀元社、1996年。 ISBN 978-4883170371 
  • Frederick P. Brooks Jr. 著、松田晃一・小沼千絵 訳『デザインのためのデザイン』ピアソン桐原、2010年。 ISBN 978-4864010047 
  • McBreen,P. 著、村上雅章 訳『ソフトウェア職人気質:人を育て,システム開発を成功へと導くための重要キーワード』ピアソン・エデュケーション、2002年。 ISBN 978-4894714410 
  • Larman,C. 著、高慎治郎・松田直樹・越智典子 訳『初めてのアジャイル開発』日経BP社、2004年。 ISBN 978-4822281915 

関連項目

外部リンク


ウォーターフォール・モデル

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/16 06:41 UTC 版)

ソフトウェア開発工程」の記事における「ウォーターフォール・モデル」の解説

詳細は「ウォーターフォール・モデル」を参照 ウォーターフォール・モデルでは、開発者上述工程局面フェーズ)を順番に行う。要求仕様作成し、それを分析し解決法設計し、そのためのソフトウェアフレームワークアーキテクチャ作りコード書き評価し単体テストシステムテストの順)、配備し保守する。各工程完了すると、次の工程に進むことができる。ちょうど、家の骨組み組み上げてから土台変更できないというのと同じ考え方である。 ウォーターフォール・モデルでは上流工程での間違い仕様変更を後から訂正反映することを考慮していないと考えられがちだが、これは誤解である。これは要求管理変更制御含めかどうかという問題である。 この手法は特に大規模なシステム開発や危険の大きプロジェクト軍需関係の契約など)で使われている。各工程ごとに契約入札が行われる場合もある。 大規模なシステム開発ではサブシステム化も併用し、各サブシステム時期ずらしてウォーターフォール・モデルを採用する事で、先行するサブシステム発見した問題後続サブシステムでは早い段階工程取り入れたり、各工程要員設計者・プログラマ・テスターなど)や主要イベントプロジェクト立ち上げレビュー検収研修本番稼動など)の平準化を図る場合も多い。また各工程内部では後述スパイラルモデル反復型開発組み合わせる場合もある。 ウォーターフォール問題は、要求分析要求管理についての技術的未熟さから生じることが多い。さらに言えば開発工程弱点把握不足と開発者問題理解せずコーディング開始してしまうことからも問題生じる。また、しばしば省略されがちな工程として顧客開発者の間での共同レビューがある。開発者は危険を承知設計進めて開発するが、その設計最終的にCritical Design Review最終設計審査)というマイルストーンチェックを受けることになる。この手法への批判ソフトウェア工学者よりも実際技術者から出てくることが多い。批判者はWISCY(Why Isn't Someone coding yet?)アプローチなどを信奉している。

※この「ウォーターフォール・モデル」の解説は、「ソフトウェア開発工程」の解説の一部です。
「ウォーターフォール・モデル」を含む「ソフトウェア開発工程」の記事については、「ソフトウェア開発工程」の概要を参照ください。

ウィキペディア小見出し辞書の「ウォーターフォール・モデル」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ウォーターフォール・モデル」の関連用語

ウォーターフォール・モデルのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ウォーターフォール・モデルのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのウォーターフォール・モデル (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのソフトウェア開発工程 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS