軟件生存周期(software life cycle)又稱為軟件生命期,,生存期。是指從形成開發(fā)軟件概念起,,所開發(fā)的軟件使用以后,,直到失去使用價(jià)值消亡為止的整個(gè)過程。 一般來說,,整個(gè)生存周期包括計(jì)劃(定義),、開發(fā)、運(yùn)行(維護(hù))三個(gè)時(shí)期,,每一個(gè)時(shí)期又劃分為若干階段,。每個(gè)階段有明確的任務(wù),這樣使規(guī)模大,、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變得容易控制和管理,。 一、開發(fā)模型 1.1瀑布模型 ? 優(yōu)點(diǎn):開發(fā)階段,,各個(gè)階段比較清晰,;強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查,;適合穩(wěn)定需求的產(chǎn)品開發(fā); 缺點(diǎn):依賴于早期的需求調(diào)查,,不適應(yīng)需求的變化,;單一流程不可逆;風(fēng)險(xiǎn)往往延至后期才暴露,,失去及早糾正的機(jī)會(huì),;前面未發(fā)現(xiàn)的錯(cuò)誤會(huì)傳遞到后面的階段可能導(dǎo)致項(xiàng)目失敗。 改良:每個(gè)階段都可以融入小的迭代工作,! 優(yōu)點(diǎn):開發(fā)階段,,各個(gè)階段比較清晰;強(qiáng)調(diào)早期計(jì)劃及需求調(diào)查,;適合穩(wěn)定需求的產(chǎn)品開發(fā),; 改良:每個(gè)階段都可以融入小的迭代工作! 1.2快速原型模型 ? 優(yōu)點(diǎn):克服瀑布模型的缺點(diǎn),,更好地滿足用戶的需求并減少由于軟件需求不明確帶來的項(xiàng)目開發(fā)風(fēng)險(xiǎn),。適合預(yù)先不能確切定義需求的軟件系統(tǒng)的開發(fā)。 缺點(diǎn):不適合大型系統(tǒng)的開發(fā)(適合開發(fā)小型的,、靈活性高的系統(tǒng)),。前提要有一個(gè)展示性的產(chǎn)品原型,因此在一定程度上可能會(huì)限制開發(fā)人員的創(chuàng)新,。 實(shí)現(xiàn)一個(gè)基本原型,,讓用戶對(duì)原型進(jìn)行評(píng)價(jià),逐步調(diào)整,,使其滿足用戶最終需求,; 優(yōu)點(diǎn):適合不能確定需求的軟件; 缺點(diǎn):不適合開發(fā)大型系統(tǒng),。 1.3螺旋模型 螺旋模型將開發(fā)過程分為幾個(gè)螺旋周期,,每個(gè)螺旋周期大致和瀑布模型相符合,螺旋模型沿著螺旋線旋轉(zhuǎn),,即在坐標(biāo)的4個(gè)象限上分別表示了4個(gè)方面的活動(dòng),, 制定計(jì)劃——風(fēng)險(xiǎn)分析——實(shí)施開發(fā)——客戶評(píng)估 ? 二、測(cè)試模型 2.1 ??V模型 2.1.1 需求分析:用戶需求,、業(yè)務(wù)需求,、需求規(guī)格說明書 ? 概要設(shè)計(jì):系統(tǒng)架構(gòu)、模塊劃分,、模塊與模塊之間的接口,。 ???? ? 詳細(xì)設(shè)計(jì):模塊內(nèi)部實(shí)現(xiàn)的邏輯和方法。 ? 編碼:實(shí)現(xiàn)上面的設(shè)計(jì)。 ? 單元測(cè)試:檢測(cè)代碼的開發(fā)是否符合詳細(xì)設(shè)計(jì)的要求,。 ? 集成測(cè)試:檢測(cè)此前測(cè)試過的各組成部分是否能完好地結(jié)合到一起,。 ? 系統(tǒng)測(cè)試:檢測(cè)已集成在一起的產(chǎn)品是否符合系統(tǒng)規(guī)格說明書的要求。 ? 驗(yàn)收測(cè)試:檢測(cè)產(chǎn)品是否符合最終用戶的需求,。 ? 2.1.2測(cè)試v模型優(yōu)缺點(diǎn) 優(yōu)點(diǎn):①包含了底層測(cè)試(單元測(cè)試)和高層測(cè)試(系統(tǒng)測(cè)試)(底層測(cè)試:檢驗(yàn)源代碼質(zhì)量的測(cè)試,,如:?jiǎn)卧獪y(cè)試;高層測(cè)試:檢驗(yàn)整個(gè)系統(tǒng)的需要,,如:系統(tǒng)測(cè)試),; ? ? ②清楚的標(biāo)識(shí)了開發(fā)和測(cè)試的各個(gè)階段; ? ? ③自上而下逐步求精,,每個(gè)階段分工明確,,便于整體項(xiàng)目的把控,。 缺點(diǎn):①自上而下的順序?qū)е铝?,測(cè)試工作在編碼之后,就導(dǎo)致錯(cuò)誤不能及時(shí)的進(jìn)行修改,; ? ? ②實(shí)際工作中,,需求經(jīng)常變化,導(dǎo)致v模型步驟,,反復(fù)執(zhí)行,,返工量很大,靈活度較低,。 改良:每個(gè)步驟都可以進(jìn)行小的迭代(更新)工作,。 2.2?W模型
優(yōu)點(diǎn):①開發(fā)和測(cè)試伴隨著整個(gè)開發(fā)周期,需求和設(shè)計(jì)同樣要測(cè)試,; ? ? ②更早的介入測(cè)試,,可以發(fā)現(xiàn)初期的缺陷,修復(fù)成本低,; ? ? ③分階段工作,,方便項(xiàng)目整體管理。 缺點(diǎn):①開發(fā)和測(cè)試依然是線性的關(guān)系,,需求的變更和調(diào)整,,依然不方便; ? ? ②如果沒有文檔,,根本無法執(zhí)行w模型,; ? ? ③對(duì)于項(xiàng)目組成員的技術(shù)要求更高! 定義:開發(fā)一個(gè)v,、測(cè)試一個(gè)v組合起來的模型(w模型也叫雙v模型) 總結(jié):v模型適用于中小企業(yè),,w模型適用于中大型企業(yè)(因?yàn)槿藛T要求高),h模型人員要求非常高,很少有公司使用,。 2.3?H模型 測(cè)試流程 測(cè)試準(zhǔn)備:所有測(cè)試執(zhí)行活動(dòng)的準(zhǔn)備,;判斷是否到測(cè)試就緒點(diǎn); 測(cè)試就緒點(diǎn):測(cè)試準(zhǔn)入準(zhǔn)則,,即是否可以開始執(zhí)行測(cè)試的條件,; 測(cè)試執(zhí)行:具體的執(zhí)行測(cè)試的程序。 其他流程 具體開發(fā)中的流程,,如:設(shè)計(jì)流程 優(yōu)點(diǎn): 開發(fā)的H模型揭示了軟件測(cè)試除測(cè)試執(zhí)行外,,還有很多工作; 軟件測(cè)試完全獨(dú)立,,貫穿整個(gè)生命周期,,且與其他流程并發(fā)進(jìn)行; 測(cè)試活動(dòng)可以盡早準(zhǔn)備,、盡早執(zhí)行,,具有很強(qiáng)的靈活性;測(cè)試可以根據(jù)被測(cè)物的不同而分層次,、分階段,、分次序的執(zhí)行,同時(shí)也是可以被迭代的,。 缺點(diǎn): 管理型要求高:由于模型很靈活,,必須要定義清晰的規(guī)則和管理制度,否則測(cè)試過程將非常難以管理和控制,; 技能要求高:H模型要求能夠很好的定義每個(gè)迭代的規(guī)模,,不能太大也不能太小,; 測(cè)試就緒點(diǎn)分析困難:測(cè)試很多時(shí)候,,你并不知道測(cè)試準(zhǔn)備到什么時(shí)候是合適的,就緒點(diǎn)在哪里,,就緒點(diǎn)的標(biāo)準(zhǔn)是什么,,這就對(duì)后續(xù)的測(cè)試執(zhí)行的啟動(dòng)帶來很大困難; 對(duì)于整個(gè)項(xiàng)目組的人員要求非常高:在很好的規(guī)范制度下,,大家都能高效的工作,,否則容易混亂。例如:你分了一個(gè)小的迭代,,但是因?yàn)槿藛T技能不足,,使得無法有效完成,那么整個(gè)項(xiàng)目就會(huì)受到很大的干擾,。 來源:http://www./content-4-198101.html |
|