軟體過程模型總結

2021-09-22 16:25:23 字數 2628 閱讀 2138

首先,我們要了解軟體過程模型是什麼。

軟體過程模型習慣上被稱為軟體開發模型,它是軟體開發全部過程、活動和任務的結構框架。典型的有:瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、噴泉模型、基於構建的開發模型和形式化方法模型。

那麼它們具體都是怎麼樣的呢?

瀑布模型:是將軟體生存週期中的哥哥活動規定為依線性順序連線的若干階段的模型,包括需求分析、設計、編碼、測試、執行與維護。它規定了由前至後、相互銜接的固定次序,如同瀑布流水逐級下落。

瀑布模型為軟體的開發和維護提供了一種有效的管理模式,它是以文件為驅動、適合軟體需求很明確的軟體專案的模型。

瀑布模型的優點是,容易理解,管理成本低。強調開發的階段性早期計畫及需求調查和產品測試。不足之處是客戶必須能夠完整、正確表達他們的需求;在開始的兩個或三個階段中,很難評估真正的進度狀態。接近結束的時候,出現了大量的繼承和測試工作;直到專案結束前,都不能演示系統的能力;設計或需求的錯誤只有到後期才能發現,對於專案風險控制能力較弱,從而導致專案常常延期完成。

增量模型:融合了瀑布模型的基本成分和原型實現的迭代特徵,它假設可以把需求分段為一系列增量產品,每一產品可以分別開發。

增量模型作為瀑布模型的乙個變體,具有瀑布模型的所有優點,還有其他優點:第乙個可交付版本所需要的成本和時間很少;開發由增量表示的小系統所承擔的風險不大;由於很快發布了第乙個版本,因此可以減少使用者需求的變更。執行增量投資,即在專案開始時。

增量模型的不足之處:如果沒有對使用者的變更要求進行規劃,那麼產生的初始值增量可能會造成後來增量的不穩定。若果需求不想早期思考的那樣穩定和完整, 那麼一些增量就可能需要重新開發,重新發布;管理發生的成本、進度和配置的複雜性可能會超過組織的能力。

演化模型:

軟體類似於其他複雜的系統,會隨著時間的推移而演化。

原型模型:在開發初期很難得到乙個完整的、準確的需求規格說明,客戶難以表達對未來系統的全面要求,開發者對要解決的應用問題模糊不清。在開發過程中,使用者肯恩共產生新的要求,導致需求的變更。於是出現了快速原型。

原型可以分為:探索型、實驗型、演化型。彈出行母的是為了弄清楚目標的要求,確定所希望的特性。實驗型原型目的是為了驗證方案或演算法的合理性,是在大規模開發和實現前。演化型原型的目的是將原型作為目標系統的一部分,通過對原型的多次改進,逐步將原型演化成最終的目標系統。

螺旋模型:對於複雜的大型軟體,開發乙個原型往亡達不到要求。螺旋模型將瀑布模型和演化模型結合起來,加入了兩種模型均忽略的風險分析,彌補了這兩種模型的不足。

螺旋模型強調風險分析,使得開發人員和使用者對每個演化層出現的風險有所了解,從而做出應有的反應。因此,該模型特別使用於龐大、複雜並且具有高風險的系統。

與瀑布模型相比,螺旋模型支援使用者需求的動態變化,為使用者參加軟體開發的所有關鍵決策提供了便利,有助於提高軟體的適應能力,並且為專案管理人員計師調整管理決策提供了便利,從而降低了軟體開發的風險。

缺點:使用螺旋模型進行開發時,需要開發人員具有相當豐富的風險評估經驗和專門知識。另外過多的迭代次數會降低開發成本,延遲提交時間。

噴泉模型:是一種以使用者需求為動力,以物件作為驅動的模型,適合作為驅動的模型,社和與物件導向的開發方法。它克服了瀑布模型不支援軟體重用和多項開發活動繼承的侷限性。

噴泉模型的各個階段沒有明顯的界限,開發人員可以同步進行。優點是可以提高軟體專案的開發效率,節省開發時間。由於噴泉模型在各個開發接斷是重疊的,在開發過程中需要大量的開發人員不利於專案的管理。要求嚴格管理文件,使得審核的難度加大。

敏捷方法

總體目標:通過「盡可能早地、持續地對有價值地軟體地交付」使客戶滿意。通過在軟體開發過程中加入靈活性,敏捷方法使使用者能夠在開發周期地後期增加或改變需求。敏捷過程的典型方法

1:極限程式設計(xp)

xp是一種輕量級(敏捷)、高效、低風險、柔性、可**、科學的軟體開發方式。

四大價值觀:溝通、簡單、反饋、勇氣

五個原則:快速反饋、簡單性假設、逐步修改、提倡更改和優質工作

十二個最佳實踐:計畫遊戲、小型發布、隱喻、簡單設計、測試先行、重構、結對、程式設計、集體**所有制、持續整合、每週工作40個小時、現場客戶和編碼標準。

2:水晶法:

而那位每乙個不同專案都需要一套不同的策略、約定和方**,認為人對軟體質量有著重要的影響,因此隨著專案質量和開發人員素質的提高,專案和過程的質量頁隨之提高。通過更好地交流和經常性地交付,軟體生產力得到提高。

3:並列爭求法(scrum):

並列徵求發使用迭代地方法,其中把每三十天一次地迭代成為乙個「衝刺」,並按需求地優先級別來實現產品。多個自組織和資質地小組並行地遞增實現產品。協調是通過簡單地日常情況會議來進行,就像橄欖球中的「並列爭球」。

4:自適應軟體開發(asd)

六個原則:有乙個使命作為指導;特徵被證實為客戶價值地關鍵點;過程中地等待是很重要的。因此「重做」與「做」同樣關鍵;變化不被視為改正,而是被視為對軟體開發史記情況的調整;確認的交付時間使開發人員認真考慮每乙個生產的版本的關鍵需求;風險頁包含在其中。

5:敏捷統一過程(aup)

採用「在大型上連續」以及「在小型上迭代」的原理來構建軟體系統。採用經典的up階段性活動,提供了一系列活動,能夠是團隊為軟體專案構想出乙個全面的過程流。

每個aup迭代執行以下活動:建模、實現、測試、部署、配置及專案管理、環境管理。

軟體工程之軟體過程模型總結

軟體過程模型也稱為軟體開發模型或軟體生命週期模型,它是為了使軟體生命週期中的各項任務能夠有序地按照規程進行,用一定的工作模型對各項任務給以規程約束。軟體生命週期 軟體生命週期包含 軟體定義 軟體開發 軟體執行維護三個時期,並可以細分為可行性研究 專案計畫 需求分析 概要設計 詳細設計 編碼實現與單元...

軟體過程模型

瀑布模型是將軟體生存週期中的各項活動規定為一種線性順序連線的若干階段的模型,包括需求分析 設計 編碼 測試 執行與維護。它規定了由前至後 相互銜接的固定次序,如同瀑布流水逐級下落,瀑布模型為軟體的開發和維護提供了一種有效的管理模式,根據這一模式制定開發計畫,進行成本預算,組織開發力量,以專案的階段評...

軟體過程模型

軟體過程模型習慣上也稱為軟體開發模型,他是軟體開發全部過程 活動和任務的結構框架。典型的軟體過程有瀑布模型 增量模型 演化模型 原型模型 螺旋,模型 噴泉模型 基於構件的開發模型和形式化方法模型等。定義 瀑布模型是將軟體生產週期中的各個活動規定為依線性順序連線的若干階段的模型,包括需求分析 設計 編...