軟體開發模型

2021-07-24 05:21:20 字數 2402 閱讀 3398

【前提】

在介紹軟體開發模型之前,要說一下軟體的生命週期,如同人的一生一樣,要經過嬰兒期,兒童期,少年期,青年期,老年期直到衰老死亡的過程。同樣,乙個軟體產品也要經過計畫,分析,設計,程式設計,測試和維護直到被淘汰的過程,軟體的這一過程稱為軟體生命週期。

【定義】

軟體開發模型(software development model)是指軟體開發全部過程、活動和任務的結構框架。軟體開發包括需求、設計、編碼和測試等階段,有時也包括維護階段。 軟體開發模型能清晰、直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體專案工作的基礎。

【分類】

常見的軟體開發模型有:

1.邊做邊改模型(build-and-fix model);

在這個模型中,開發人員拿到專案立即根據需求編寫程式,除錯通過後生成軟體的第乙個版本。在提供給使用者使用後,如果程式出現錯誤,或者使用者提出新的要求,開發人員重新修改**,直到使用者滿意為止

2.瀑布模型(wate***ll model);

在瀑布模型中,軟體開發的各項活動嚴格按照線性方式進行,當前活動接受上一項活動的工作結果,實施完成所需的工作內容。當前活動的工作結果需要進行驗證,如果驗證通過,則該結果作為下一項活動的輸入,繼續進行下一項活動,否則返回修改。

3.快速原型模型(rapid prototype model);

快速原型模型的第一步是建造乙個快速原型,實現客戶或未來的使用者與系統的互動,使用者或客戶對原型進行評價,進一步細化待開發軟體的需求。快速原型通過逐步調整原型使其滿足客戶的要求,開發人員可以確定客戶的真正需求是什麼;第二步則在第一步的基礎上開發客戶滿意的軟體產品

4.增量模型(演化模型)(incremental model);

在增量模型中,軟體被作為一系列的增量構件來設計、實現、整合和測試,每乙個構件是由多種相互作用的模組所形成的提供特定功能的**片段構成.增量模型在各個階段並不交付乙個可執行的完整產品,而是交付滿足客戶需求的乙個子集的可執行產品

5.螺旋模型(spiral model);

它將瀑布模型和快速原型模型結合起來,強調了其他模型所忽視的風險分析,特別適合於大型複雜的系統。螺旋模型沿著螺線進行若干次迭代,圖中的四個象限代表了以下活動:

(1) 制定計畫:確定軟體目標,選定實施方案,弄清專案開發的限制條件;

(2) 風險分析:分析評估所選方案,考慮如何識別和消除風險;

(3) 實施工程:實施軟體開發和驗證;

(4) 客戶評估:評價開發工作,提出修正建議,制定下一步計畫。

6.噴泉模型(fountain model);

也稱物件導向的生存期模型, oo模型。噴泉模型與傳統的結構化生存期比較,具有更多的增量和迭代性質,生存期的各個階段可以相互重疊和多次反覆,而且在專案的整個生存期中還可以嵌入子生存期。就像水噴上去又可以落下來,可以落在中間,也可以落在最底部。

7.智慧型模型(四代技術(4gl));

智慧型模型擁有一組工具(如資料查詢、報表生成、資料處理、螢幕定義、**生成、高層圖形功能及電子**等),每個工具都能使開發人員在高層次上定義軟體的某些特性,並把開發人員定義的這些軟體自動地生成為源**。

8.混合模型(hybrid model);

過程開發模型又叫混合模型(hybrid model),或元模型(meta-model),把幾種不同模型組合成一種混合模型,它允許乙個專案能沿著最有效的路徑發展,這就是過程開發模型(或混合模型)。實際上,一些軟體開發單位都是使用幾種不同的開發方法組成他們自己的混合模型。

【模型對比】

瀑布模型 文件驅動 系統可能不滿足客戶的需求

快速原型模型 關注滿足客戶需求 可能導致系統設計差、效率低,難於維護

增量模型 開發早期反饋及時,易於維護 需要開放式體系結構,可能會導致效率低下

螺旋模型 風險驅動 風險分析人員需要有經驗且經過充分訓練

【總結】

這些開發模型雖然紛雜,各有特色,但是理解著記憶就會很簡單

軟體開發模型

軟體開發模型 software development model 是指軟體開發全部過程 活動和任務的結構框架。軟體開發包括需求 設計 編碼和測試等階段,有時也包括維護階段。軟體開發模型能清晰 直觀地表達軟體開發全過程,明確規定了要完成的主要活動和任務,用來作為軟體專案工作的基礎。對於不同的軟體系統...

軟體開發模型

常見的軟體開發模型有瀑布模型 演化模型 螺旋模型 噴泉模型。1.瀑布模型 wate ll model 將軟體生命週期劃分為需求分析 軟體設計 程式編寫 軟體測試和執行維護等基本活動,並且規定了它們自上而下 相互銜接的固定次序,如同瀑布流水,逐級下落。不適應使用者需求的變化,開發模型是線性的,使用者只...

軟體開發模型

1 瀑布模型 又稱經典生命週期模型,它體處理乙個系統的 順序的軟體開發方法。2 增量過程模型 2.1 增量模型 以迭代的方式運用瀑布模型,隨著時間的推移,增量模型在每乙個階段運用線性序列,生產出乙個軟體的可交付的增量。第乙個增量往往是核心產品,滿足了基本的需求,然後在後續的增量開發中,不斷的擴充功能...