各種軟件過程模型的學習與理解


軟件過程模型指的是把軟件生存周期中各項開發活動的流程用一個合理的框架(開發模型)進行規范描述。軟件過程模型 是一種抽象的過程表示,主要由軟件的類型、規模、開發方法、開發環境等多種因素決定。

經過軟工課程的學習,我大致了解到兩大類軟件過程模型,現敘述如下:

一、傳統軟件過程模型

1、瀑布模型

     瀑布模型是最早也是應用最廣泛的軟件過程模型,它提供了軟件開發的基本框架,它的基本過程是接受上一步驟的工作結果為輸入,並將該過程的工作結果作為輸出給下一過程,同時,檢測審核該過程的工作結果是否合格,若合格,則進行下一項,不合格,則退回上一過程。

    瀑布模型將軟件生存周期划分為軟件計划、需求分析、軟件設計、軟件實現、軟件測試、運行和維護六個階段,規定了他們自上而下、相互銜接的固定順序。瀑布模型的開發過程是通過一系列階段順序展開的,從需求分析到產品開發維護,每個過程都會有相應的審查過程,若發現有內容為被覆蓋或者發現其他問題,會回到上一步驟進行修改。

      

    傳統的瀑布模型開發軟件具有以下特點:順序性和依賴性、推遲實現、質量保證。順序性和依賴性指的是瀑布模型后一階段的開始必須在前一階段工作完全完成的基礎上展開。推遲實現指的是瀑布模型在編碼之前設置了很多系統分析和系統設計階段,不涉及編程實現,可以減少 前期因為分析不足而導致的損失。質量保證指的是瀑布模型每一階段的完成都需要完成對應的文檔,要交出合格的文檔才能進行下一階段。

    瀑布模型的優缺點:瀑布模型可以保證整個軟件產品較高的質量,保證缺陷可以被提前發現和解決,但對於前期需求不明顯的項目會存在較大風險,在早期所有人員就投入項目中,導致編碼人員的空閑,對人力資源的浪費。

2.原型模型

原型模型又叫快速原型模型,它是指在軟件正式編碼之前,先建立一個較為簡單的工作原型,和最后交付的軟件相比,該工作原型功能十分有限,可靠性不高,相當於一個客戶需求的粗糙版本。原型模型通過用戶對簡單的工作圓形的反饋,使開發出的軟件能夠真正的合乎用戶的需求,同時,通過原型來加快對最終版本的軟件的開發,可以有效減少原先傳統瀑布模型的冗長過程帶來的風險。

原型模型的優缺點:開發人員和客戶在原型上達成一致,這樣可以減少設計中的錯誤和開發中的風險,提高客戶的滿意程度,能夠縮短開發周期,加快工程進度。但在告訴用戶還要重新生產該產品時,這往往是很難讓人接受的,所以在使用原型模型進行開發時,必須讓用戶和開發者達成一致。

3.增量模型

增量模型融合了瀑布模型的基礎結構和原型模型的原型特點,按照一定的現行序列進行開發,每一個序列將會是一個可以提交的基礎版本,即將每一個過程的最終產品作為一個增量,第一個增量為最核心產品,之后逐步提升完善,直到獲得最完善的產品。他引入了一個增量包的概念,在每一個小需求出現后,可以提前進行開發,即使之后這個需求改變,只要這個增量包對應的需求足夠小,就不會產生過大的影響。

增量模型的優缺點:增量模型可以有效控制人員成本,在開發前期,只需要做一個核心產品,人員需求並不會很高,如果核心產品受歡迎,那就可以加大人員投入,增量模型可以有效的管理人員風險。但由於各個部分需要能夠完美的組合在一起,需要軟件具備開放性的體系結構,雖然增量包影響會被控制的比較小,但有可能會導致最終邊改需求邊改模型的情況出現,使開發過程失去整體性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM