本文目錄一覽:
...快速原型模型,、增量模型、螺旋模型,、噴泉模型的優(yōu)缺點(diǎn)
這個(gè)模型強(qiáng)調(diào)測(cè)試貫穿始終,,像層層疊疊的音符,旨在提升質(zhì)量,。然而,,它的優(yōu)點(diǎn)也是缺點(diǎn),耗時(shí)且不適應(yīng)快速變化的需求,。 增量模型 如同不斷迭代的音符,,增量模型靈活適應(yīng)需求變更,推動(dòng)快速迭代,,是變化中的一股活力,。
與建造大廈相同,軟件也是一步一步建造起來(lái)的,。在增量模型中,,軟件被作為一系列的增量構(gòu)件來(lái)設(shè)計(jì)、實(shí)現(xiàn),、集成和測(cè)試,,每一個(gè)構(gòu)件是由多種相互作用的模塊所形成的提供特定功能的代碼片段構(gòu)成.增量模型在各個(gè)階段并不交付一個(gè)可運(yùn)行的完整產(chǎn)品,而是交付滿足客戶需求的一個(gè)子集的可運(yùn)行產(chǎn)品,。
增量模型的靈活性可以使其適應(yīng)這種變化的能力大大優(yōu)于瀑布模型和快速原型模型,,但也很容易退化為邊做邊改模型,從而是軟件過(guò)程的控制失去整體性,。 在使用增量模型時(shí),,第一個(gè)增量往往是實(shí)現(xiàn)基本需求的核心產(chǎn)品,。核心產(chǎn)品交付用戶使用后,經(jīng)過(guò)評(píng)價(jià)形成下一個(gè)增量的開發(fā)計(jì)劃,,它包括對(duì)核心產(chǎn)品的修改和一些新功能的發(fā)布,。
瀑布開發(fā),、敏捷開發(fā)的優(yōu)缺點(diǎn)是什么?
束縛創(chuàng)造性:由于強(qiáng)調(diào)文檔管理,,所以管理人員會(huì)比較喜歡,但是他束縛了開發(fā)人員的創(chuàng)造性,。周期漫長(zhǎng):整個(gè)開發(fā)持續(xù)的生命周期很長(zhǎng),,需求和設(shè)計(jì)的時(shí)間會(huì)耗費(fèi)特別多,有時(shí)候會(huì)占用三分之一甚至更多時(shí)間,,這樣整個(gè)周期就會(huì)變長(zhǎng),,大都在半年到一年左右的時(shí)間,所以更適合需求相對(duì)穩(wěn)定的大項(xiàng)目,。
敏捷式開發(fā)需要一個(gè)可以掌握大方向的人,,而且整體不能出大錯(cuò),,像一個(gè)軟件開發(fā)項(xiàng)目,,需要項(xiàng)目經(jīng)理確定大的方向,然后將項(xiàng)目分成一小段的,,然后進(jìn)行開發(fā),,相對(duì)于瀑布模型,它需要的時(shí)間短,,目標(biāo)明確,,管理也簡(jiǎn)潔一下,,。
優(yōu)點(diǎn):開發(fā)過(guò)程清晰可控,,便于管理和追蹤開發(fā)進(jìn)度;開發(fā)階段之間有明確的界限和交付物,,便于溝通和協(xié)作,;適用于對(duì)需求變化較少的項(xiàng)目。缺點(diǎn):缺乏靈活性,,不適用于需求變化頻繁的項(xiàng)目,;風(fēng)險(xiǎn)難以識(shí)別和解決,可能導(dǎo)致項(xiàng)目失??;開發(fā)時(shí)間較長(zhǎng),成本較高,,不適用于緊急情況或臨時(shí)調(diào)整需求的項(xiàng)目,。
敏捷開發(fā)的缺點(diǎn):適用范圍:敏捷方法可能不適用于所有項(xiàng)目,,特別是對(duì)于大型和復(fù)雜的項(xiàng)目,傳統(tǒng)的開發(fā)方法可能更為合適,。文檔不足:敏捷開發(fā)強(qiáng)調(diào)工作軟件而不是詳細(xì)的文檔,,這可能導(dǎo)致一些文檔不足,使得項(xiàng)目文檔管理相對(duì)薄弱,。
敏捷開發(fā)是一種快速響應(yīng)變化,、高度協(xié)作的軟件開發(fā)方法。相比于傳統(tǒng)的瀑布模型,,敏捷開發(fā)具有以下優(yōu)點(diǎn): 更快的交付周期:敏捷開發(fā)強(qiáng)調(diào)小規(guī)模的迭代開發(fā),,每個(gè)迭代都能夠交付有價(jià)值的軟件功能,從而更快地滿足客戶需求,。
敏捷開發(fā)最直觀的好處是項(xiàng)目進(jìn)入實(shí)質(zhì)性開發(fā)開發(fā)很快,,迭代周期也不長(zhǎng),客戶可以很快看到一個(gè)基線架構(gòu)版的產(chǎn)品,,這樣能比較好地改善用戶滿意度,。我知道的思艾特團(tuán)隊(duì)在這方面做得就是不錯(cuò)的。不過(guò)因?yàn)槊艚蓍_發(fā)更注重人,,所以對(duì)人員素質(zhì)和穩(wěn)定性的要求又更高,。
瀑布模型本質(zhì)
1、瀑布模型本質(zhì)是一種線性順序模型,。瀑布模型(Waterfall Model) 是一個(gè)項(xiàng)目開發(fā)架構(gòu),,開發(fā)過(guò)程是通過(guò)設(shè)計(jì)一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護(hù),,每個(gè)階段都會(huì)產(chǎn)生循環(huán)反饋,。
2、瀑布模型的本質(zhì)是一次通過(guò),,即每個(gè)活動(dòng)只執(zhí)行一次,,最后得到軟件產(chǎn)品,也稱為“線性順序模型”或者“傳統(tǒng)生命周期”,。其過(guò)程是從上一項(xiàng)活動(dòng)接收該項(xiàng)活動(dòng)的工作對(duì)象作為輸入,,利用這一輸入實(shí)施該項(xiàng)活動(dòng)應(yīng)完成的內(nèi)容給出該項(xiàng)活動(dòng)的工作成果,并作為輸出傳給下一項(xiàng)活動(dòng),。
3,、增量模型和瀑布模型之間的本質(zhì)區(qū)別是:瀑布模型屬于整體開發(fā)模型,它規(guī)定在開始下一個(gè)階段的工作之前,,必須完成前一階段的所有細(xì)節(jié),。而增量模型屬于非整體開發(fā)模型,它推遲某些階段或所有階段中的細(xì)節(jié),從而較早地產(chǎn)生工作軟件,。螺旋模型:將瀑布模型和增量模型結(jié)合起來(lái),,并加入了風(fēng)險(xiǎn)分析。
4,、最早出現(xiàn)的軟件開發(fā)模型是1970年W·Royce提出的瀑布模型,。該模型給出了固定的順序,將生存期活動(dòng)從上一個(gè)階段向下一個(gè)階段逐級(jí)過(guò)渡,,如同流水下瀉,,最終得到所開發(fā)的軟件產(chǎn)品,投入使用,。但計(jì)算拓廣到統(tǒng)計(jì)分析,、商業(yè)事務(wù)等領(lǐng)域時(shí),大多數(shù)程序采用高級(jí)語(yǔ)言(如FORTRAN,、COBOL等)編寫,。
5、這樣,,瀑布模型通過(guò)強(qiáng)制性的要求提供規(guī)約文檔來(lái)確保每個(gè)階段都能很好的完成任務(wù),。但是實(shí)際上往往難以辦到,因?yàn)檎麄€(gè)的模型幾乎都是以文檔驅(qū)動(dòng)的,,這對(duì)于非專業(yè)的用戶來(lái)說(shuō)是難以閱讀和理解的,。然而輕易拋棄瀑布模型的觀點(diǎn)也是非常錯(cuò)誤的,瀑布模型還是所有軟件開發(fā)模型的基礎(chǔ),,體現(xiàn)了軟件開發(fā)的本質(zhì)過(guò)程,。
6、對(duì)軟件工程的一點(diǎn)看法--希望能夠拋磚引玉 在這里看到很多網(wǎng)友的高論,,很有啟發(fā)。而且目前市面上也涌現(xiàn)出一批面向不同方面的軟件過(guò)程的書籍,,可是在這里,,我一直沒(méi)找到真正對(duì)實(shí)踐有指導(dǎo)意義的,可操作的應(yīng)用方法,,所以現(xiàn)在這兒拋塊磚,,望各位高手指正。