軟體生存週期(software life cycle)又稱為軟體生命期,生存期。是指從形成開發軟體概念起,所開發的軟體使用以後,直到失去使用價值消亡為止的整個過程。
一般來說,整個生存週期包括計畫(定義)、開發、執行(維護)三個時期,每乙個時期又劃分為若干階段。每個階段有明確的任務,這樣使規模大、結構複雜和管理複雜的軟體開發變得容易控制和管理。
一、開發模型
1.1瀑布模型
優點:開發階段,各個階段比較清晰;強調早期計畫及需求調查;適合穩定需求的產品開發;
缺點:依賴於早期的需求調查,不適應需求的變化;單一流程不可逆;風險往往延至後期才暴露,失去及早糾正的機會;前面未發現的錯誤會傳遞到後面的階段可能導致專案失敗。
改良:每個階段都可以融入小的迭代工作!
優點:開發階段,各個階段比較清晰;強調早期計畫及需求調查;適合穩定需求的產品開發;
改良:每個階段都可以融入小的迭代工作!
1.2快速原型模型
優點:克服瀑布模型的缺點,更好地滿足使用者的需求並減少由於軟體需求不明確帶來的專案開發風險。適合預先不能確切定義需求的軟體系統的開發。
缺點:不適合大型系統的開發(適合開發小型的、靈活性高的系統)。前提要有乙個展示性的產品原型,因此在一定程度上可能會限制開發人員的創新。
實現乙個基本原型,讓使用者對原型進行評價,逐步調整,使其滿足使用者最終需求;
優點:適合不能確定需求的軟體;
缺點:不適合開發大型系統。
1.3螺旋模型
螺旋模型將開發過程分為幾個螺旋週期,每個螺旋週期大致和瀑布模型相符合,螺旋模型沿著螺旋線旋轉,即在座標的4個象限上分別表示了
4個方面的活動,
制定計畫——風險分析——實施開發——客戶評估
二、測試模型
2.1 v模型
2.1.1 需求分析:使用者需求、業務需求、需求規格說明書
概要設計:系統架構、模組劃分、模組與模組之間的介面。
詳細設計:模組內部實現的邏輯和方法。
編碼:實現上面的設計。
單元測試:檢測**的開發是否符合詳細設計的要求。
整合測試:檢測此前測試過的各組成部分是否能完好地結合到一起。
系統測試:檢測已整合在一起的產品是否符合系統規格說明書的要求。
驗收測試:檢測產品是否符合終端使用者的需求。
2.1.2測試v模型優缺點
優點:①包含了底層測試(單元測試)和高層測試(系統測試)(底層測試:檢驗源**質量的測試,如:單元測試;高層測試:檢驗整個系統的需要,如:系統測試);
②清楚的標識了開發和測試的各個階段;
③自上而下逐步求精,每個階段分工明確,便於整體專案的把控。
缺點:①自上而下的順序導致了,測試工作在編碼之後,就導致錯誤不能及時的進行修改;
②實際工作中,需求經常變化,導致v模型步驟,反覆執行,返工量很大,靈活度較低。
改良:每個步驟都可以進行小的迭代(更新)工作。
2.2 w模型
優點:①開發和測試伴隨著整個開發周期,需求和設計同樣要測試;
②更早的介入測試,可以發現初期的缺陷,修復成本低;
③分階段工作,方便專案整體管理。
缺點:①開發和測試依然是線性的關係,需求的變更和調整,依然不方便;
②如果沒有文件,根本無法執行w模型;
③對於專案組成員的技術要求更高!
定義:開發乙個v、測試乙個v組合起來的模型(
w模型也叫雙
v模型)
總結:v模型適用於中小企業,
w模型適用於中大型企業(因為人員要求高),
h模型人員要求非常高,很少有公司使用。
2.3h模型
測試流程
測試準備:所有測試執行活動的準備;判斷是否到測試就緒點;
測試就緒點:測試准入準則,即是否可以開始執行測試的條件;
測試執行:具體的執行測試的程式。
其他流程
具體開發中的流程,如:設計流程
優點:開發的h模型揭示了軟體測試除測試執行外,還有很多任務作;
軟體測試完全獨立,貫穿整個生命週期,且與其他流程併發進行;
測試活動可以盡早準備、盡早執行,具有很強的靈活性;測試可以根據被測物的不同而分層次、分階段、分次序的執行,同時也是可以被迭代的。
缺點:管理型要求高:由於模型很靈活,必須要定義清晰的規則和管理制度,否則測試過程將非常難以管理和控制;
技能要求高:h模型要求能夠很好的定義每個迭代的規模,不能太大也不能太小;
測試就緒點分析困難:測試很多時候,你並不知道測試準備到什麼時候是合適的,就緒點在**,就緒點的標準是什麼,這就對後續的測試執行的啟動帶來很大困難;
對於整個專案組的人員要求非常高:在很好的規範制度下,大家都能高效的工作,否則容易混亂。例如:你分了乙個小的迭代,但是因為人員技能不足,使得無法有效完成,那麼整個專案就會受到很大的干擾。
軟體生存週期過程及其模型
記錄軟體工程基礎的學習過程,第二篇 軟體生存週期過程及其模型。軟體生存週期模型 軟體生存週期 software life circle 又稱軟體生命期,生存期。它是指從形成軟體開發概念開始,到軟體投入使用,再到軟體失去價值而消亡的整個過程。軟體生存週期過程,是規定了獲取,開發,操作和維護軟體時,要實...
軟體生存週期及其模型是什麼?
軟體生存週期 software life cycle 又稱為軟體生命期,生存期。是指從形成開發軟體概念起,所開發的軟體使用以後,知道失去使用價值消亡為止的整個過程。一般來說,整個生存週期包括計畫 定義 開發 執行 維護 三個時期,每個時期又劃分為若干個階段。每個階段有明確的任務。週期模型 典型的幾種...
軟體生存週期及其模型是什麼?
軟體生存週期 software life cycle 又稱為軟體生命期,生存期。是指從形成開發軟體概念起,所開發的軟體使用以後,知道失去使用價值消亡為止的整個過程。一般來說,整個生存週期包括計畫 定義 開發 執行 維護 三個時期,每個時期又劃分為若干個階段。每個階段有明確的任務。週期模型 典型的幾種...