幾種常用的軟件生命周期模型詳解整合

一、瀑布模型
瀑布模型各個(gè)階段為:計(jì)劃,需求分析,設(shè)計(jì),程序編碼,軟件測(cè)試,運(yùn)行維護(hù)。
瀑布模型將軟件生命周期的各項(xiàng)活動(dòng)自上而下如瀑布流水依次連接,上一階段的輸出作為下一階段的輸入,同時(shí),在每一個(gè)階段如果發(fā)現(xiàn)問題,都可以逆流而上,向上一階段進(jìn)行反饋,然后做適當(dāng)?shù)男薷?,但是只能逐層反饋,不能跨?jí)反饋。
通過瀑布模型歸納得出:如果每一階段都能保證有效性,那么最終產(chǎn)生的結(jié)果也能保證其有效性。
通過各個(gè)階段,會(huì)依次輸出(即下一階段的輸入)以下產(chǎn)品:軟件需求規(guī)約,設(shè)計(jì)文檔,實(shí)際代碼,測(cè)試用例,最終產(chǎn)品等等。
瀑布模型的優(yōu)點(diǎn):
有良好的需求確認(rèn)入口,為后續(xù)的開發(fā)奠定良好的基礎(chǔ)。強(qiáng)調(diào)設(shè)計(jì)過程。軟件是“創(chuàng)造”出來的,不是“制造”出來的,所以設(shè)計(jì)顯得格外重要。每一階段結(jié)束后要進(jìn)行復(fù)審,允許獲取方/用戶的參與,有效的控制了系統(tǒng)的質(zhì)量問題。當(dāng)前一階段完成時(shí),只需要關(guān)注后續(xù)階段即可。(已經(jīng)確保了前一階段的有效性)
瀑布模型的缺點(diǎn):
客戶必須能完整、正確和清晰的表達(dá)出需求,同時(shí)開發(fā)人員一開始就必須理解需求。(實(shí)際上在很多項(xiàng)目中,客戶都很難在一開始就表達(dá)出明確的需求,開發(fā)人員也很難在一開始就理解所有需求)缺乏靈活性。如果一開始的需求出現(xiàn)了偏差,那么很大可能會(huì)導(dǎo)致最終產(chǎn)品出現(xiàn)偏差。各階段可能會(huì)產(chǎn)生過多文檔,造成不易管理。在瀑布模型結(jié)束之前都不能演示系統(tǒng)的功能,增加了項(xiàng)目的風(fēng)險(xiǎn)。
二、增量模型
增量模型將需求進(jìn)行分段,分成一系列增量產(chǎn)品,每一增量可以分別開發(fā),即:將軟件模塊化,每一模塊為一增量組件,然后分別進(jìn)行開發(fā),所有增量疊加在一起就形成了最終的軟件產(chǎn)品。
另外,每一個(gè)增量分別開發(fā)時(shí),都是一個(gè)瀑布模型,所以可以把增量模型看成是瀑布模型的升級(jí)版,瀑布模型的變體。
增量模型的優(yōu)點(diǎn):
由于增量模型作為瀑布模型的變體,所以增量模型具有瀑布模型的所有優(yōu)點(diǎn),除此之外還有:
第一個(gè)可交付版本所需成本和時(shí)間相比于瀑布模型來說是很少的,比如說第一個(gè)增量只有軟件的核心功能。能很快的看到一些成果,增加開發(fā)人員的信心。開發(fā)風(fēng)險(xiǎn)相對(duì)不大。(大事化小,小事化了,分而治之)由于可以很快的發(fā)布第一格版本,因此可以減少用戶需求的變更,對(duì)用戶形成了制約。
增量模型的缺點(diǎn):
由于初始增量是后續(xù)增量的基礎(chǔ),所以如果要對(duì)初始增量的需求進(jìn)行修改,可能會(huì)影響后續(xù)的增量。增量模型要求必須有一部分的需求是可以確定的(即:不用把所有需求都確定下來,但是必須要先確定一部分),因?yàn)槊恳粋€(gè)增量都相當(dāng)于是一個(gè)瀑布模型,這樣就不難理解了。增量過多會(huì)造成管理成本超支,影響進(jìn)度。
三、演化模型
演化模型能在需求不明確的情況下,通過不斷迭代,逐步讓需求明確。經(jīng)過多次迭代,每次迭代都會(huì)歷經(jīng)需求分析,設(shè)計(jì),編碼,測(cè)試,運(yùn)行這些過程。每次迭代產(chǎn)生一個(gè)增量,迭代后所產(chǎn)生的結(jié)果都會(huì)向用戶進(jìn)行反饋,然后根據(jù)用戶的要求再對(duì)需求進(jìn)行修改,然后進(jìn)行下一次迭代,這樣不斷迭代,最終產(chǎn)生用戶滿意的產(chǎn)品。
其中每一個(gè)迭代過程都相當(dāng)于一個(gè)小的瀑布模型,只是在需求分析階段不太一樣。
注:不能弱化需求分析階段的工作!
演化模型的優(yōu)點(diǎn):
在需求不明確的情況下,可以使用該模型。用戶可以通過運(yùn)行系統(tǒng)來對(duì)需求進(jìn)行改進(jìn)。需要更多用戶/獲取方的參與,增加了對(duì)軟件質(zhì)量的控制。
演化模型的缺點(diǎn):
每個(gè)迭代都會(huì)有管理成本,較多的迭代使得管理成本較大。容易讓開發(fā)團(tuán)隊(duì)有不進(jìn)行需求分析的借口。用戶不易理解該模型不斷迭代演化的特點(diǎn),因此當(dāng)某次迭代后的反饋不理想時(shí),用戶容易產(chǎn)生抱怨情緒。(實(shí)際上,這一缺點(diǎn)也是幫助了開發(fā)團(tuán)隊(duì)能從用戶那兒獲取到更明確的需求,因?yàn)橛脩舯г梗粷M意,所以會(huì)提出改進(jìn)意見,使得需求更加明確,促進(jìn)了下一次的迭代)
注:其實(shí)很多用戶都有一個(gè)特點(diǎn):說不清楚自己想要什么,但是當(dāng)東西放在他面前的時(shí)候,他卻能挑出一堆的毛病來。
四、噴泉模型
噴泉模型主要用于描述面向?qū)ο蟮能浖拈_發(fā)過程,該模型自下而上,各階段無縫連接,可多次迭代。
迭代:目的是求精。系統(tǒng)某部分被重復(fù)工作多次,相關(guān)的功能在迭代中逐漸接近完善。
無縫:即各個(gè)階段之間不存在明顯的邊界。
噴泉模型的優(yōu)點(diǎn):
由于各階段是無縫連接的,所以各階段可以同步開發(fā),提高開發(fā)效率。
噴泉模型的缺點(diǎn):
由于多次迭代,會(huì)產(chǎn)生大量的文檔,會(huì)導(dǎo)致文檔管理困難。
五、螺旋模型
螺旋模型是在瀑布模型和演化模型的基礎(chǔ)上加入了風(fēng)險(xiǎn)分析。一個(gè)迭代過程為:制定計(jì)劃,風(fēng)險(xiǎn)分析,開發(fā),評(píng)估。這四個(gè)活動(dòng)分布在笛卡爾坐標(biāo)的四個(gè)象限中,一個(gè)象限表示一個(gè)活動(dòng)。
從制定計(jì)劃開始,然后風(fēng)險(xiǎn)分析,如果通過了風(fēng)險(xiǎn)分析,則進(jìn)入開發(fā)階段,開發(fā)完成后再進(jìn)行評(píng)估。評(píng)估后又進(jìn)入外一層螺旋進(jìn)行下一次循環(huán)迭代,制定計(jì)劃,風(fēng)險(xiǎn)分析。。。直到項(xiàng)目開發(fā)完成或者沒有通過風(fēng)險(xiǎn)分析為止。
螺旋模型其實(shí)和演化模型有些類似,都是通過不斷迭代去完善需求,完善系統(tǒng)。但是,螺旋模型有一個(gè)最大的特點(diǎn)就是:風(fēng)險(xiǎn)分析。
螺旋模型的優(yōu)點(diǎn):
對(duì)大型的項(xiàng)目有較好的風(fēng)險(xiǎn)控制能力。
螺旋模型的缺點(diǎn):
需要分析人員有風(fēng)險(xiǎn)分析的經(jīng)驗(yàn),因?yàn)榉治鍪д`會(huì)造成很大的損失。螺旋模型周期相對(duì)較長(zhǎng),所以不適用于大部分軟件開發(fā)項(xiàng)目。
六、快速原型模型
快速原型是快速建立起來的程序,它只是最終產(chǎn)品的子集(或雛形),建立快速原型的作用是幫助用戶確定需求以及可以用于確定項(xiàng)目的可行性。
快速原型模型主要部分可以分為:
原型快速分析:分析者和用戶相互配合,快速確定軟件系統(tǒng)的基本需求。原型構(gòu)造:在原型快速分析的基礎(chǔ)上,只考慮主要特性,快速構(gòu)造一個(gè)可運(yùn)行的系統(tǒng)。原型運(yùn)行與評(píng)價(jià):開發(fā)人員與用戶頻繁溝通,發(fā)現(xiàn)問題,消除誤解,目的是發(fā)現(xiàn)新需求并修改原有需求。原型修正:根據(jù)新需求對(duì)原型系統(tǒng)進(jìn)行修正。判定原型完成:若原型修改后獲得了參與者的一致認(rèn)可,那么原型開發(fā)的迭代就可以結(jié)束了。
快速原型模型的優(yōu)點(diǎn):
主要針對(duì)于小型的、快捷的,并且需求不明確的項(xiàng)目.有的軟件原型可以作為最終產(chǎn)品的一部分。
快速原型模型的缺點(diǎn):
快速建立的系統(tǒng)結(jié)構(gòu)加上連續(xù)修改可能導(dǎo)致產(chǎn)品質(zhì)量低下,原型系統(tǒng)的內(nèi)部結(jié)構(gòu)可能不好。
到此這篇關(guān)于幾種常用的軟件生命周期模型詳解整合的文章就介紹到這了,更多相關(guān)幾種常用的軟件生命周期模型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
- 這篇文章主要介紹了軟件工程概要介紹,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-24
- 這篇文章主要介紹了軟件生命周期各個(gè)階段詳細(xì)描述,通過詳細(xì)的分類介紹了軟件生命周期的階段內(nèi)容,通過本篇文章你可以大致了解該項(xiàng)內(nèi)容,,需要的朋友可以參考下2021-08-25
股票漲跌周期輔助分析軟件 V1.0.0 免費(fèi)綠色版
今天小編提供這款股票漲跌周期輔助分析軟件希望能夠股民朋友更好的進(jìn)行個(gè)股分析,幫助你快速解套或者實(shí)現(xiàn)最大收益,需要朋友可下載試試股票漲跌分析軟件2015-07-05Mac如何手動(dòng)設(shè)置軟件更新檢查周期默認(rèn)為5天檢查一次
在10.8發(fā)布之后,自定義軟件更新周期的這項(xiàng)功能便被隱藏,默認(rèn)設(shè)置為5天檢查一次,如果想更快或更慢一些檢查更新,可以按照下面的步驟進(jìn)行2015-02-02機(jī)電工程元素周期表軟件 v1.33 免費(fèi)版
機(jī)電工程元素周期表軟件,可以查看各個(gè)元素的相關(guān)信息,還可以查看各種曲線圖,包括原子量曲線、熔點(diǎn)曲線、浮點(diǎn)曲線、密度曲線、原子半徑、供價(jià)半徑、電子親和度等,功能不2014-12-16