資源描述:
《瀑布模型、漸增模型演化迭代、原型模型、螺旋模型具體區(qū)別》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、由安博測(cè)試空間技術(shù)中心http://www.btestingsky.com/提供選擇一個(gè)良好的開發(fā)范型對(duì)于一個(gè)軟件產(chǎn)品(項(xiàng)目)的開發(fā)至關(guān)重要,但是軟件管理沒有銀彈,如何針對(duì)項(xiàng)目具體情況選擇合適的范型是項(xiàng)目成功的第一步。分為5大類:瀑布:迭代:演化;增量;噴泉。螺旋:瀑布+演化+風(fēng)險(xiǎn);其實(shí)嚴(yán)格的講也是一種迭代;轉(zhuǎn)換:基于形式化規(guī)格說明語言及程序變換的軟件開發(fā)模型,它采用形式化的軟件開發(fā)方法對(duì)形式化的軟件規(guī)格說明進(jìn)行一系列自動(dòng)或半自動(dòng)的程序變換,最后映射為計(jì)算機(jī)系統(tǒng)能夠接受的程序系統(tǒng)。變換模型的優(yōu)點(diǎn)是解決了代碼結(jié)構(gòu)經(jīng)多次修改而變壞的問題,
2、減少了許多中間步驟(如設(shè)計(jì)、編碼和測(cè)試等)。但是變換模型仍有較大局限,以形式化開發(fā)方法為基礎(chǔ)的變換模型需要嚴(yán)格的數(shù)學(xué)理論和一整套開發(fā)環(huán)境的支持,目前形式化開發(fā)方法在理論、實(shí)踐和人員培訓(xùn)方面距工程應(yīng)用尚有一段距離。第四代:自動(dòng)生成代碼;目前軟件組織常采用的幾種范型:瀑布;演化;增量;噴泉;螺旋;5種適用場(chǎng)景特點(diǎn)缺點(diǎn)瀑布Waterfall需求能夠被很好的定義和理解;階段性明確;基線(或里程碑)管理;是其他范型的基礎(chǔ);項(xiàng)目結(jié)束前可能出現(xiàn)大量的集成和測(cè)試工作;項(xiàng)目結(jié)束前用戶都不能看到系統(tǒng);演化evolution需求不明;用戶愿意更多的參與;瀑
3、布模型的增量演化;與瀑布相比,需要更有力的管理;需要用戶更多的參與增量increment需求明確且可分段;適用于開發(fā)公司產(chǎn)品;與瀑布相比可以很快的交付一個(gè)小的版本;可以增量投資;早期對(duì)于整個(gè)產(chǎn)品的規(guī)劃要求很高,如何后期發(fā)生變更就很麻煩。管理成本高;需求是唯一的風(fēng)險(xiǎn)源;噴泉適用于面向?qū)ο?;以?duì)象驅(qū)動(dòng);迭代和無縫;各階段是相互重疊和多次反復(fù)控制不好容易無序;螺旋spiral不能確定需求;項(xiàng)目風(fēng)險(xiǎn)很大;每一個(gè)周期都是一個(gè)瀑布;=瀑布+演化+風(fēng)險(xiǎn);支持動(dòng)態(tài)的需求變化;項(xiàng)目組人員要求有較高的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn);成本高;凡是軟件項(xiàng)目十之八九都會(huì)遇到工期
4、緊的問題,我們經(jīng)常會(huì)采用一種快速跟進(jìn)(fasttracking)的方法,就是在瀑布范型中的幾個(gè)相鄰的階段彼此重疊,縮短開發(fā)周期,具體操作可以考慮采用網(wǎng)絡(luò)圖和關(guān)鍵路徑法合理安排資源和時(shí)序。軟件開發(fā)的幾種驅(qū)動(dòng)模式:需求驅(qū)動(dòng):以用戶為中心;測(cè)試驅(qū)動(dòng):以質(zhì)量為中心;風(fēng)險(xiǎn)驅(qū)動(dòng):以風(fēng)險(xiǎn)為中心;瀑布模型、漸增模型/演化/迭代、原型模型、螺旋模型具體區(qū)別瀑布模型在瀑布模型中,軟件開發(fā)的各項(xiàng)活動(dòng)嚴(yán)格按照線性方式進(jìn)行,當(dāng)前活動(dòng)接受上一項(xiàng)活動(dòng)的工作結(jié)果,實(shí)施完成所需的工作內(nèi)容。當(dāng)前活動(dòng)的工作結(jié)果需要進(jìn)行驗(yàn)證,如果驗(yàn)證通過,則該結(jié)果作為下一項(xiàng)活動(dòng)的輸入,繼續(xù)
5、進(jìn)行下一項(xiàng)活動(dòng),否則返回修改。 瀑布模型強(qiáng)調(diào)文檔的作用,并要求每個(gè)階段都要仔細(xì)驗(yàn)證。但是,這種模型的線性過程太理想化,已不再適合現(xiàn)代的軟件開發(fā)模式,幾乎被業(yè)界拋棄,其主要問題在于:(1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量;?。?)由于開發(fā)模型是線性的,用戶只有等到整個(gè)過程的末期才能見到開發(fā)成果,從而增加了開發(fā)的風(fēng)險(xiǎn); ?。?)早期的錯(cuò)誤可能要等到開發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來嚴(yán)重的后果。原型模型快速原型模型的第一步是建造一個(gè)快速原型,實(shí)現(xiàn)客戶或未來的用戶與系統(tǒng)的交互,用戶或客戶對(duì)原型進(jìn)行評(píng)價(jià),進(jìn)一
6、步細(xì)化待開發(fā)軟件的需求。通過逐步調(diào)整原型使其滿足客戶的要求,開發(fā)人員可以確定客戶的真正需求是什么;第二步則在第一步的基礎(chǔ)上開發(fā)客戶滿意的軟件產(chǎn)品?! ★@然,快速原型方法可以克服瀑布模型的缺點(diǎn),減少由于軟件需求不明確帶來的開發(fā)風(fēng)險(xiǎn),具有顯著的效果?!∨c建造大廈相同,軟件也是一步一步建造起來的。在增量模型中,軟件被作為一系列的增量構(gòu)件來設(shè)計(jì)、實(shí)現(xiàn)、集成和測(cè)試,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成. 增量模型增量模型在各個(gè)階段并不交付一個(gè)可運(yùn)行的完整產(chǎn)品,而是交付滿足客戶需求的一個(gè)子集的可運(yùn)行產(chǎn)品。整個(gè)產(chǎn)品被
7、分解成若干個(gè)構(gòu)件,開發(fā)人員逐個(gè)構(gòu)件地交付產(chǎn)品,這樣做的好處是軟件開發(fā)可以較好地適應(yīng)變化,客戶可以不斷地看到所開發(fā)的軟件,從而降低開發(fā)風(fēng)險(xiǎn)。但是,增量模型也存在以下缺陷: (1)由于各個(gè)構(gòu)件是逐漸并入已有的軟件體系結(jié)構(gòu)中的,所以加入構(gòu)件必須不破壞已構(gòu)造好的系統(tǒng)部分,這需要軟件具備開放式的體系結(jié)構(gòu)?! 。?)在開發(fā)過程中,需求的變化是不可避免的。增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,但也很容易退化為邊做邊改模型,從而是軟件過程的控制失去整體性。增量和迭代模型理解RUP的軟件開發(fā)生命周期模型常掛在嘴邊,
8、卻無法真正理解增量和迭代二種模型的區(qū)別(在昨天的CMMI過程培訓(xùn)會(huì)上有了更清楚的認(rèn)識(shí))。以下引言能生動(dòng)的說明增量和迭代的概念:假設(shè)現(xiàn)在要開發(fā)A,B,C,D四個(gè)大的業(yè)務(wù)功能,每個(gè)功能都需要開發(fā)兩周的時(shí)間.則對(duì)于增量方法而言