軟體工程五大模型

2021-08-17 05:25:32 字數 2438 閱讀 1004

瀑布模型

1.里程碑或基線驅動。2.過程逆轉性很差或者說不可逆轉。逆轉可能會延誤工期,增加成本,造成損失  

1.開發階段清晰,便於評審、審計、跟蹤、管理和控制。

1.不可逆或很難可逆。2.問題會積累,錯誤會傳遞發散擴大,導致成本和質量失控。

1.在開發時間內需求不變化或很少變化。2.分析設計人員對此領域非常熟悉。3.低風險專案。4.使用者使用環境穩定(如系統軟體,工具軟體)

快速原型模型

1.容易適應需求的變化

1.克服瀑布模型的缺點,減少由於軟體需求不明確帶來的開發風險。

1.所使用的開發工具和技術不一定符合主流的發展;快速建立起來的系統架構加上連續的修改可能會導致產品質量低下。

1.需求不明確或複雜系統。2.使用者無法自主提出應用需求。

增量模型

1.軟體由一系列增量構件組成

1.人員分配靈活,剛開始不用投入大量人力資源。如果核心產品很受歡迎,則可增加人力實現下乙個增量。當配備人員不能在設定的時間內完成產品時,它提供了一種先推進核心產品的途徑,這樣即可先發部分功能給客戶,對客戶起到鎮靜劑作用。2.增量能夠有計畫的管理技術風險。

1.由於各個構件是逐漸併入已有的軟體體系結構中,所以加入構件必須不破壞已構造好的系統部分,這需要軟體具備開放式的體系結構。2.在開發過程中,需求變化是不可避免的,增量的靈活性可以使其適應這種變化的能力大大優於瀑布和快速原型模型,但也容易退化為邊改邊做模型,從而使軟體過程的控制失去整體性。3.如果增量包之間存在相交的情況且未很好處理,則必須做全盤系統分析,這種模型將功能細化後分別開發的方法較適應於需求經常改變的軟體開發過程

1.系統容易拆分。2.開發人力比較少。3.特別適用於商業軟體(如qq,網遊)

螺旋模型

1.是一種週期性的方法進行系統開發。2.有許多「中間版本」。3.每個週期都包括需求定義、風險分析、工程實現和評審4個階段

1.設計上靈活,可在專案各個階段進行變更。2.以小的分段來構建大型系統,使成本計算變得簡單容易。3.客戶始終參與每個階段的開發,保證了專案不偏離正確方向以及專案的可控性。

1.建設週期長,而軟體技術更新比較快,所以經常出現軟體開發結束後,和當前的技術水平有了很大的差距,無法滿足當前使用者需求。

1.系統龐大,風險高。2.需求不太明確。

噴泉模型

1.該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。

1.提高軟體專案開發效率,節省開發時間,適用於物件導向的軟體開發過程。

1.由於噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利於專案的管理。2.要求嚴格管理文件,使得審核難度加大,尤其是面對可能隨時加入的各種資訊、需求與資料的情況。

1.物件導向的軟體開發過程

詳細介紹如下:

特點:推遲實現的觀點

質量保證:

缺點:

限制條件:

優點:缺點:

很難讓使用者確信這種演化方法的結果是可以控制的.建設週期長,而軟體技術發展比較快,所以經常出現軟體開發完畢後,和當前的技術水平有了較大的差距,無法滿足當前使用者需求.

核心:在於您不需要在剛開始的時候就把所有事情都定義的清清楚楚.在定義最重要的功能時,去實現它,然後聽取客戶的意見,之後再進入到下乙個階段.如此不斷輪迴重複,直到得到您滿意的最終產品

每輪迴圈包含如下六個步驟:

模型:

優缺點:

原型型別:

原型的運用方式:

模型:

構件思想:

困難:每個新的構件整合到現有的軟體結構中必須破壞原來以開發的產品,所以必須定義很好的介面

優點:缺陷:

模型:

優點:噴泉模型不像瀑布模型那樣,需要分析活動結束後才開始設計活動,設計活動結束後才開始編碼活動.該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發.其優點是可以提高軟體專案開發效率,節省開發時間,適應於物件導向的軟體開發過程.

缺點:由於噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利於專案的管理.此外這種模型要求嚴格管理文件,使得審核的難度加大,尤其是面對可能隨時加入各種資訊、需求與資料的情況.

模型:

思想:演化模型主要針對事先不能完整定義需求的軟體開發.使用者可以給出待開發系統的核心需求,並且當看到核心需求實現後,能夠有效地提出反饋,以支援系統的最終設計和實現

開發順序:

優點:缺點:

軟體工程 開發模型軟體工程 開發模型

瀑布模式 螺旋模型 快速原型模式 增量模式 噴泉模型 演化模型 特點 推遲實現的觀點 質量保證 缺點 限制條件 優點 缺點 很難讓使用者確信這種演化方法的結果是可以控制的.建設週期長,而軟體技術發展比較快,所以經常出現軟體開發完畢後,和當前的技術水平有了較大的差距,無法滿足當前使用者需求.核心 在於...

軟體工程模型

這些牆很有趣。剛入獄的時候,你痛恨周圍的高牆 慢慢地,你習慣了生活在其中 最終你會發現自己不得不依靠它而生存。這就叫體制化。肖申克的救贖 瀑布模型 wate ll model 是乙個專案開發架構,開發過程是通過設計一系列階段順序展開的,從系統需求分析開始直到產品發布和維護,每個階段都會產生迴圈反饋,...

軟體工程(五)

橫向分解 將乙個問題分解成多個子問題 縱向分解 子問題在進行分解,一直分解到不能再進行分解了 軟體需求規格說明的原則 從現實中分離功能,即描述要做什麼而不是怎樣實現 要求使用面向處理的規格說明語言 資料流圖 描述資料邏輯模型的流程圖,不同的符號表示不同的功能 資料流圖的層次結構 為了表達資料處理過程...