スパイラル‐モデル【spiral model】
スパイラルモデル
【英】spiral model
スパイラルモデルとは、ユーザーからのフィードバックや要望に対して具体的に対応しながら、精査や改善を施し、徐々に完成させていく、プロセスモデルの手法のことである。
作業工程を分割し、分割した工程を順序だてて実施するウォーターフォールモデルの一つ一つの段階を、エンドユーザーとの認識のズレを補正するプロトタイプの作成などを含め、成長モデル的に進めることで、らせん状(スパイラル)に昇華するような開発工程をたどる。
ウォーターフォールモデルでは、全体をいくつかのシステム(サブシステム)に分割し、サブシステムのすべてを完全に定義してから、システム全体を一気に構築するが、スパイラルモデルでは、一つのサブシステムの開発からはじめ、構築したサブシステムを他のサブシステムの機能に順次加えてシステムを循環的に成長させて行く。
スパイラルモデル
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/23 13:58 UTC 版)
ソフトウェア開発 |
---|
中心となる活動 |
パラダイムとモデル |
方法論とフレームワーク |
開発支援 |
プラクティス |
ツール |
標準と機関 |
用語集 |
|
スパイラルモデル(Spiral Model)とは、トップダウン設計とボトムアップ設計の長所を生かしたソフトウェア開発工程のモデル[要出典]であり、設計とプロトタイピングを繰り返して開発していく手法である。
歴史と概要
1988年、バリー・ベームが A Spiral Model of Software Development and Enhancement(ソフトウェア開発と改良のスパイラルモデル)という記事でスパイラルモデルを提唱した。反復型開発のモデルはこれが最初ではなかったが、反復の重要性を提起したのはこのモデルが最初である。本来の想定では、1回のループは6ヶ月から2年とされていた。まず、設計目標を決め、1回のループ完了時点でユーザー(開発内部の場合もある)がそこまでの進展を評価する。工学的分析を毎回行うと共に、最終目標を見据えて開発ループを繰り返していく。
具体的には、対象システムを機能単位に分割し、設計~プログラミング・テストという一連の開発工程を何度も繰り返しながら開発工程の規模を徐々に拡大(機能の改良・追加)していく開発モデル。
応用
アメリカ軍は Future Combat Systems の開発にスパイラルモデルを適用している。
特徴
カストマイズソフトを開発する場合、ウォーターフォール・モデルと比較した際の利点、欠点を以下に挙げる:
利点
![]() |
この節には独自研究が含まれているおそれがあります。
|
- プログラムの規模やスケジュールなどの予測がしやすい。
- ソフトウェア開発に付き物の要求仕様の変更などに対応しやすい。
- 設計工程が伸びて実装に費やせる期間が短くなるということが起きにくい。
欠点
![]() |
この節には独自研究が含まれているおそれがあります。
|
- ループの回数を増やせばコストは増大する。
- 現場の理解が得られずに、単なるやり直しが利く開発となる。前回のループで作成したプロトタイプを再利用してしまう。
- 顧客にとっては一度金銭的な契約が締結されたら何度でも無料で修正できる手法だと考え、依頼する用件をまとめない傾向にある。
- 顧客と開発側の窓口が複数になる傾向にあり、開発側の負担が増える。
- 仕様も次のループがあるということでレビューが甘くなる。
関連項目
外部リンク
- A Spiral Model of Software Development and Enhancement - バリー・ベームのオリジナル記事
- A graphical representation
- プロセスモデル 鹿児島大学情報工学科
- スパイラル・モデルのページへのリンク