軟體過程模型習慣上也稱為軟體開發模型,他是軟體開發全部過程、活動和任務的結構框架。典型的軟體過程有瀑布模型、增量模型、演化模型(原型模型、螺旋,模型)、噴泉模型、基於構件的開發模型和形式化方法模型等。
定義:瀑布模型是將軟體生產週期中的各個活動規定為依線性順序連線的若干階段的模型,包括需求分析、設計、編碼、測試、執行與運維。它規定了由前至後、相互銜接的固定次序,如同瀑布流水逐級下落。
瀑布模型為軟體的開發和維護提供了一種有效的管理模式,根據這一模式制定開發計畫,進行成本預算,組織開發力量,以專案的階段評審和文件控制為手段有效的對整個開發過程進行指導,所以他是以文件作為驅動、適合於軟體需求很明確的軟體專案模型。
優點:瀑布模型的優點是,容易理解,管理成本低;強調開發的階段性計畫及需求調查和產品測試。
缺點:不足之處是,客戶必須能夠完整、正確和清晰的表達他們的需要。在開始的兩個或3個階段中,很難評估真正的進度狀態;當接近專案結束時,出現了大量的整合和測試工作;指導專案結束之前,都不能演示系統的能力。在瀑布模型中,需求或設計中的錯誤往往只有到了專案後期才能夠被發現,對於專案風險的控制能力較弱,從而導致專案非常延期完成,開發費用超出預算。
變體:v模型
v模型提供了一種將驗證確認活動應用於早期軟體工程工作中的方法。
它假設可以將需求分段為一系列增量產品,每一增量可以分別開發。該模型採用隨這日程時間的進展而交錯的線性序列,每乙個線性序列產生軟體的乙個可發布的「增量」。
增量模型作為瀑布模型的乙個變體,具有瀑布模型的所有優點。
優點:第乙個可交付版本所需要的成本和時間很少;開發由增量標識的小系統所程度的風險不大;可以減少使用者需求的變更;可以僅對乙個或兩個增量投資
缺點:如果沒有對使用者的變更要求進行規劃,那麼產生的初始增量可能會造成後來增量的不穩定;如果需求沒有像早期思考的那樣穩定和完整,那麼一些增量可能需要重新開發;
原型模型
原型方法比較適合於使用者需求不清、需求經常變化的情況。當系統規模不是很大的時候,採用該方法比較好。
原型模型開始於溝通,其目的是定義軟體的**目標,標識需求,然後快速制定原型開發的計畫,確定原型目標和範圍,採用快速射擊的方式對其進行建模,並構建模型。
根據使用原型的不同,原型可以分為探索型原型、實驗型原型和演化型原型。探索性原型的目的是要弄清目標的要求,確定所希望的特性,並**多種方案的可行性。實驗原型的目的是驗證方案或演算法的合理性,是在大規模開發和實現前,用於考查方案是否合適、規格說明是否可靠等。演化型原型的目的是將原型作為目標系統的一部分,通過對原型的多次改進,逐步將原型演化成最終的目標系統。
螺旋模型
螺旋模型將瀑布模型和演化模型結合起來,加入 了兩種模型均忽略的風險分析,彌補了這兩種模型的不足。
螺旋模型分為幾個螺旋週期,每個螺旋週期大致和瀑布模型相符合。每個螺旋週期分為如下4個工作步驟
制定計畫。確定軟體的目標,選定實施方案,明確專案開發的限制條件。
風險分析。分析所選的方案,識別風險,消除風險。
實施工程。實施軟體開發,驗證階段性產品
使用者評估。評價開發工作,提出修正建議,建立下乙個週期的開發計畫。
螺旋模型強調風險分析,使得開發人員和使用者對每個演化層出現的風險有所了解,從而做出應有的反應。因此,該模型特別適合龐大、複雜並且具有高風險的系統。
與瀑布模型相比,螺旋模型支援使用者需求的動態變化為使用者參與軟體開發的所有關鍵決策提供了方便,有助於提高軟體的適應能力,並且為專案管理人員及時調整決策提供了便利,從而降低了軟體開放的風險。在使用螺旋模型進行軟體來訪時,需要開發人員具有相當豐富的風險評估經驗和專門知識。
噴泉模型是一種以使用者需求為動力,以物件作為驅動的模型,適合於物件導向的開發方法。
噴泉模型的各個階段沒有明顯的界線,開發人員可以同步進行。其優點是可以提高軟體專案的開發效率,節省開發時間。由於噴泉模型在各個開發階段是重疊的,在代發過程中需要大量的開發人員,不利於專案的管理,此外,這種模型要求嚴格管理文件,使得審核的難度加大。
基於構件的開發是指利用預先包裝的構件來構造應用系統。
一種基於構建的開發模型包括領域工程和應用系統工程兩部分。
領域工程的目的是構建領域模型、領域基準體系結構和可復用構件庫。為達到此目的,先要進行領域分析,分析該領域中各種應用系統的公共部分或相似部分,構建領域模型和領域基準體系結構,表示領域的候選構件,對候選構件進行可變性分析,以適應多個應用系統的需要,最後構件可復用構件,經嚴格測試和包裝後存入可復用構件庫。
形式化方法是建立在嚴格數學基礎上的一種軟體開發方法,其主要活動是生成計算機軟體形式化的數學規格說明。
形式化方法用嚴格的數學語言和語義描述功能規約和設計規約,通過數學的分析和推導,易於發現需求的歧義性、不完整性和不一致性,易於對分析模型、設計模型和程式進行驗證。這種方法的變形是淨事軟體工程。
統一過程定義了4個技術階段及其製品
起始階段
起始階段專注於專案的初創活動,產生的主要工作產品有構想文件、初始用例模型、初始專案術語表、初始業務用例、初始風險評估、專案計畫、業務模型以及乙個或多個原型
精化階段
精華階段在理解了最初的領域範圍之後進行需求分析和構架演進,產生的主要工作產品有用例模型、補充需求、分析模型、軟體體系結構描述、可執行軟體體系結構原型、初步的設計模型、修訂的風險列表、專案計畫以及初始使用者手冊。
構建階段
構建階段關注系統的構建,產生實現模型,產生主要工作產品有設計模型、軟體構件、整合的軟體增量、測試計畫及步驟、測試用例以及支援文件。
移交階段
移交階段關注於軟體提交方面的工作,產生軟體增量,產生的主要工作產品有提交的軟體增量、測試報告和綜合使用者反饋。
初始階段:生命週期目標。
精化階段:生命週期構架。
構建階段:初始運作功能。
移交階段:產品發布。
軟體過程模型
瀑布模型是將軟體生存週期中的各項活動規定為一種線性順序連線的若干階段的模型,包括需求分析 設計 編碼 測試 執行與維護。它規定了由前至後 相互銜接的固定次序,如同瀑布流水逐級下落,瀑布模型為軟體的開發和維護提供了一種有效的管理模式,根據這一模式制定開發計畫,進行成本預算,組織開發力量,以專案的階段評...
軟體過程模型
軟體過程是為了獲得高質量軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。通常使用生命週期模型簡潔地描述軟體過程。生命週期模型規定了把生命週期劃分成哪些階段及各個階段的執行順序,因此,也稱為過程模型。常見的過程模型有瀑布模型 快速原型模型 增量模型 螺旋模型 噴泉模型等。1.瀑布模型...
軟體過程模型
目錄 瀑布模型 快速原型模型 增量模型 螺旋模型 噴泉模型 統一軟體開發過程 rup 各種模型的優缺點 軟體過程模型是為了獲得高質量軟體所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。特點 主要用於傳統軟體工程方法學的軟體過程 優點 缺點 適用範圍 需求穩定 變化小且開發人員能一次性獲...