12周岁女裸体啪啪自慰网站_18岁免费网站_狠狠色综合播放一区二区_伊大人香蕉综合8在线视_亚洲精品无码久久久久小霞

您當(dāng)前的位置: 首頁 >> 智能 > >> 內(nèi)容頁

每日資訊:開發(fā)模型的理解:瀑布模型/增量式/迭代/敏捷開發(fā)——筆記

2023-03-20 21:26:28 來源:騰訊云

首先,不管采用何種開發(fā)模型。軟件開發(fā)都至少具有以下的周期,包括:

需求獲取/分析(系統(tǒng)分析、軟件分析)設(shè)計(jì)實(shí)現(xiàn)測試發(fā)布(運(yùn)行)維護(hù)

既然所有的開發(fā)模型都具有相同的開發(fā)周期,那不同的開發(fā)模型的差別從哪里體現(xiàn)呢?或者說不同的開發(fā)模型在指導(dǎo)開發(fā)過程中的差異點(diǎn)在哪里?

我理解的差別點(diǎn)主要體現(xiàn)在:


【資料圖】

每個(gè)周期活動(dòng)的工作上限每個(gè)周期被重復(fù)的次數(shù)周期活動(dòng)被重復(fù)的時(shí)機(jī)對軟件開發(fā)活動(dòng)的指導(dǎo)范圍

按照上面的理解,看一下常用的開發(fā)模型:

瀑布模型:期望整個(gè)系統(tǒng)從開始到結(jié)束都是一個(gè)整體,所有的周期活動(dòng)只進(jìn)行一次。也就是只做一次需求獲取(一次就獲取到所有的需求),一次需求分析(一次將所有的需求分析完整),一次設(shè)計(jì)等等。增量模型:增量模型將整個(gè)系統(tǒng)結(jié)構(gòu)化的拆成幾個(gè)增量(功能模塊)-- 比如3個(gè),每一個(gè)完整的周期完成一個(gè)增量,有幾個(gè)增量就重復(fù)幾個(gè)周期。迭代開發(fā):在迭代開發(fā)中,將系統(tǒng)的開發(fā)工作劃分成一個(gè)個(gè)迭代,不要求一次行完成整個(gè)系統(tǒng)的開發(fā)(相對于瀑布開發(fā)而言)。迭代開發(fā)目前有兩種,一種是在每個(gè)迭代中使用瀑布模型。另一種是每一個(gè)迭代中完成軟件開發(fā)階段的某一個(gè)階段。前一種好理解。在后面這種迭代模型中,每個(gè)迭代開始的時(shí)候只需要確定當(dāng)前迭代的需求就可以開始迭代。如迭代0完成迭代1的需求獲取以及架構(gòu)設(shè)計(jì),開發(fā)、測試等的準(zhǔn)備工作,迭代1完成迭代2的需求獲取和迭代1的設(shè)計(jì),迭代2完成迭代3的需求和迭代2的設(shè)計(jì)和迭代1的開發(fā),迭代3完成迭代4的需求、迭代3的設(shè)計(jì)、迭代2的開發(fā)和迭代1的測試。此時(shí),迭代1可以發(fā)布了。后續(xù)每一個(gè)迭代都可以做一次發(fā)布。這樣持續(xù)循環(huán)。演化模型:演化模型屬于迭代開發(fā)。演化開發(fā)不需要(或者無法)在一開始確定所有的需求。所以先開發(fā)一個(gè)相對精簡的原型并上線(這中間采用瀑布模型),然后在根據(jù)各種需求來源確定下一個(gè)迭代需求,在重復(fù)瀑布模型完成下一次迭代。螺旋模型:螺旋模型屬于演化開發(fā)(也屬于迭代開發(fā))。螺旋模型結(jié)合了演化開發(fā)的迭代和瀑布模型的系統(tǒng)性和監(jiān)控。最大的特點(diǎn)就是引入了其它模型不具備的風(fēng)險(xiǎn)分析。在每一個(gè)迭代里,當(dāng)確定了目標(biāo)、方案和限制條件以后,進(jìn)入風(fēng)險(xiǎn)評估階段(識別并消除風(fēng)險(xiǎn))。如果有不確定的風(fēng)險(xiǎn),則需要進(jìn)一步工作以將所有風(fēng)險(xiǎn)都確定。風(fēng)險(xiǎn)過大甚至?xí)K止項(xiàng)目。當(dāng)風(fēng)險(xiǎn)識別完成并有確定的風(fēng)險(xiǎn)消除方案以后,就繼續(xù)采用瀑布模型完成一次迭代開發(fā)。在多次迭代以后,達(dá)成所期望的戲疼。敏捷開發(fā):如果只是從開發(fā)的核心階段來看,敏捷開發(fā)就是迭代開發(fā)。然而實(shí)際上迭代開發(fā)是敏捷開發(fā)的一部分,指導(dǎo)開發(fā)階段的那一部分。敏捷開發(fā)還包括了迭代開發(fā)不包含的:開卡、結(jié)卡、TDD、Pair programming、review、feedback等等實(shí)踐活動(dòng)。敏捷開發(fā)在迭代開發(fā)的基礎(chǔ)上,通過引入一些活動(dòng)來達(dá)到團(tuán)隊(duì)自循環(huán)、自我完善,從而對團(tuán)隊(duì)本身進(jìn)行迭代,以提高團(tuán)隊(duì)的開發(fā)效率、質(zhì)量、體驗(yàn)等。噴泉模型:噴泉模型體現(xiàn)了軟件開發(fā)的無邊界性(每個(gè)階段之間沒有清晰的邊界)和反復(fù)性。就像噴泉水噴出又落下。開發(fā)的階段也是這樣,可能從某個(gè)階段回落到之前的任何一個(gè)階段(比如,從測試回到需求獲?。?。PS:感覺像邊改邊做模型。邊改邊做模型:邊改邊做模型屬于軟件開發(fā)的奔放模型(也是軟件開發(fā)最容易成為的模型)。邊做邊改模型下的軟件開發(fā)沒有固定的、明確的周期和階段。當(dāng)任何一個(gè)想法的出現(xiàn)(都還不能說是需求),就開始做設(shè)計(jì)(需求分析被無意識的融入到了設(shè)計(jì)和開發(fā)甚至是測試環(huán)節(jié))。等產(chǎn)出30版以后在選擇第一版開始開發(fā)。開發(fā)到一半決定在加點(diǎn)靈感(可能推翻了之前做的功能)甚至是決定采用第二版。反復(fù)的重新設(shè)計(jì)、重新開發(fā)以后,終于開發(fā)了一半,發(fā)現(xiàn)資源/時(shí)間不夠,于是被告知明天必須上線。最終延期半年上線以后發(fā)現(xiàn)bug一堆(系統(tǒng)功能組合bug、設(shè)計(jì)bug、開發(fā)bug等),開始進(jìn)入邊甩鍋邊修bug的階段(很可能項(xiàng)目開發(fā)一半就夭折了)。

下面重點(diǎn)講一下瀑布模型、增加模型、迭代開發(fā)、敏捷開發(fā)。

瀑布模型

也可以看成是軟件的生命周期模型。

主要階段直接映射基本的開發(fā)活動(dòng):

需求分析和定義:通過咨詢系統(tǒng)用戶建立系統(tǒng)的服務(wù)、約束和目標(biāo)。并對其詳細(xì)定義形成系統(tǒng)描述。系統(tǒng)和軟件設(shè)計(jì):系統(tǒng)設(shè)計(jì)過程通過建立系統(tǒng)的總體體系結(jié)構(gòu)將需求區(qū)分為硬件需求和軟件需求。軟件設(shè)計(jì)包括識別和描述一些基本的軟件系統(tǒng)抽象及其之間的關(guān)系。實(shí)現(xiàn)和單元測試:在此階段,將軟件設(shè)計(jì)實(shí)現(xiàn)為一組程序或程序單元。單元測試就是檢驗(yàn)每個(gè)單元是否符合其描述。集成和系統(tǒng)測試:集成單個(gè)的程序單元或一組程序,并對系統(tǒng)整體進(jìn)行測試以確保其滿足了軟件的需求。在測試之后,軟件系統(tǒng)將交付給客戶使用。運(yùn)行和維護(hù):正常情況下(不是必須的),這是一個(gè)具有最長生命周期的階段。系統(tǒng)被安裝并投入實(shí)際的使用中。維護(hù)包括改正那些在早期各階段末被發(fā)現(xiàn)的錯(cuò)誤,改善系統(tǒng)各個(gè)單元的實(shí)現(xiàn),并當(dāng)新的需求出現(xiàn)時(shí)提高系統(tǒng)的服務(wù)能力。

主要問題在于它將項(xiàng)目生硬地分解成這些清晰的階段。因此只有在對需求了解得好,而且在系統(tǒng)開發(fā)過程中不太可能發(fā)生重大改變的時(shí)候,適合使用瀑布模型。

增量式開發(fā)

思想是先開發(fā)出一個(gè)初始的實(shí)現(xiàn),給用戶使用并聽取用戶的使用意見和建議,通過對多個(gè)版本的不斷修改直到產(chǎn)生一個(gè)充分的系統(tǒng)。描述、開發(fā)和有效性驗(yàn)證等活動(dòng)不是分離的而是交織在一起。同時(shí)讓這些活動(dòng)之間都能得到快速的反饋信息傳遞。

增量式開發(fā)反映了我們解決問題的方法,系統(tǒng)的每一個(gè)增量或版本包括用戶需要的一部分功能。通常,系統(tǒng)的早期增量包括最重要或最緊急的功能需求。這就意味著在早期開發(fā)階段,用戶可以相對早地評估系統(tǒng),看它是否滿足需要。若不滿足需要,就只需要改變當(dāng)前的增量即可,又或許有新的功能被發(fā)現(xiàn)并為下個(gè)增量做準(zhǔn)備,因此可以大幅度地減少成本。

增量式開發(fā)相比于瀑布模型的一些重要優(yōu)點(diǎn):

降低了適應(yīng)用戶需求變更的成本。重新分析和修改文檔的工作量較之瀑布模型要少很多。

在開發(fā)過程中更容易得到用戶對于已做的開發(fā)工作的反饋意見。用戶可以評價(jià)軟件的現(xiàn)實(shí)版本,并可以看到已經(jīng)實(shí)現(xiàn)了多少。這比讓用戶從軟件設(shè)計(jì)文檔中判斷工程進(jìn)度要好很多。使更快地交付和部署有用的軟件到客戶方變成了可能,雖然不是所有的功能都已經(jīng)包含在內(nèi)。相比于瀑布模型,用戶可以更早地使用軟件并創(chuàng)造商業(yè)價(jià)值。

從管理的角度看,增量式方法存在的問題:

過程不可見。管理者需要通過經(jīng)常性的可交付文檔來把握進(jìn)度,若系統(tǒng)開發(fā)速度太快,要產(chǎn)生反映系統(tǒng)每個(gè)版本的文檔就很不劃算。

伴隨著新的增量的添加,系統(tǒng)結(jié)構(gòu)在逐漸退化。除非投入時(shí)間和金錢用在重構(gòu)系統(tǒng)結(jié)構(gòu)上以改善軟件,否則定期的變更會(huì)損壞系統(tǒng)的結(jié)構(gòu)。隨著時(shí)間的推移,越往后變更系統(tǒng)越困難,而且成本也將逐漸上升。

迭代開發(fā):

那么什么是"迭代開發(fā)"呢?迭代的英文是 iterative,直譯為"重復(fù)",迭代開發(fā)其實(shí)就是"重復(fù)開發(fā)"。

迭代開發(fā)將一個(gè)大任務(wù),分解成多次連續(xù)的開發(fā),本質(zhì)就是逐步改進(jìn)。所以他的定義就是:

在迭代開發(fā)中, 整個(gè)工作被劃分為一系列袖珍的、固定時(shí)間的小項(xiàng)目,這叫系列迭代,即是迭代開發(fā)。

早在20世紀(jì)50年代末期,軟件領(lǐng)域中就出現(xiàn)了迭代模型。

最早的迭代過程可能被描述為“分段模型(stagewise model)”。迭代模型是RUP推薦的周期模型。被定義為:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動(dòng)和要使用該發(fā)布必需的所有其他外圍元素。

在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:需求分析、設(shè)計(jì)、實(shí)施和測試工作流程。

實(shí)質(zhì)上,它類似小型的瀑布式項(xiàng)目。

RUP認(rèn)為,所有的階段都可以細(xì)分為迭代,每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。

迭代開發(fā)本身是一種有計(jì)劃的修改策略:通過多次開發(fā)來改善正在構(gòu)建的特性,逐步得出一個(gè)完善的解決方案。例如,對一個(gè)知之甚少的產(chǎn)品,開始時(shí)可以先創(chuàng)建原型以獲得重要知識,接著可以創(chuàng)建一個(gè)更好一點(diǎn)的修訂版,再接下來是一個(gè)相當(dāng)好的版本。例如,在文章寫作過程中,我在收到反饋以及對如何表達(dá)主題有了更深刻的理解后,把每章都修改了幾次。

增量開發(fā)與迭代開發(fā)的區(qū)別

增量開發(fā):

每個(gè)階段都完成一個(gè)高質(zhì)量的發(fā)布版本,后一階段不對前一階段的內(nèi)容進(jìn)行任何修改,只在前一階段的基礎(chǔ)上增加新的業(yè)務(wù)功能實(shí)現(xiàn),稱為增量,直至最后一個(gè)階段,形成最終的軟件產(chǎn)品。增量開發(fā)只是在原有的基礎(chǔ)上增加新的東西。

迭代開發(fā):

第一個(gè)階段就覆蓋了項(xiàng)目整體范圍,以后每個(gè)階段都是在前一階段的基礎(chǔ)上改進(jìn)、完善,沒有業(yè)務(wù)范圍的擴(kuò)展。迭代開發(fā)每一次都是在原有的基礎(chǔ)上進(jìn)行改進(jìn)和完善。

迭代開發(fā)只是要求將開發(fā)分成多個(gè)迭代,并沒有回答一個(gè)重要的問題:怎么劃分迭代,哪個(gè)任務(wù)在這個(gè)迭代,哪個(gè)任務(wù)在下個(gè)迭代?這時(shí),一般采用"增量開發(fā)"(incremental development)劃分迭代。

所謂"增量開發(fā)",指的是軟件的每個(gè)版本,都會(huì)新增一個(gè)用戶可以感知的完整功能。也就是說,按照新增功能來劃分迭代。

敏捷開發(fā)

敏捷開發(fā)(agile development)是非常流行的軟件開發(fā)方法。據(jù)統(tǒng)計(jì),2018年90%的軟件開發(fā)采用敏捷開發(fā)。

敏捷開發(fā)的核心是迭代開發(fā)(iterative development)。敏捷一定是采用迭代開發(fā)的方式

敏捷開發(fā)是總體概念,而迭代式開發(fā)是實(shí)踐敏捷開發(fā)概念的一個(gè)手段。敏捷開發(fā)除迭代式開發(fā)外,還包含了其他許多管理與工程技術(shù)實(shí)踐,如演進(jìn)式架構(gòu)設(shè)計(jì)、敏捷建模、重構(gòu)、自動(dòng)回歸測試(ART)。綜上,敏捷開發(fā)與迭代開發(fā)是整體與局部的關(guān)系,前者是家族,而后者是家族成員。雖然敏捷和迭代不一樣,但是它們也是分不開的,二者的有機(jī)結(jié)合,既能保證產(chǎn)品質(zhì)量又可保持在項(xiàng)目持續(xù)改進(jìn)過程中的優(yōu)勢。吸取精華,破其糟粕,只有這樣,項(xiàng)目才會(huì)趨于完美。

增量開發(fā)加上迭代開發(fā),才算真正的敏捷開發(fā)

敏捷開發(fā)是以用戶的需求為核心,采用迭代、循序漸進(jìn)的方式開發(fā)軟件。

敏捷開發(fā)的優(yōu)勢

早期交付

敏捷開發(fā)的第一個(gè)好處,就是早期交付,從而大大降低成本。

還是以上一節(jié)的房產(chǎn)公司為例,如果按照傳統(tǒng)的"瀑布開發(fā)模式",先挖10棟樓的地基、再蓋骨架、然后架設(shè)屋頂,每個(gè)階段都等到前一個(gè)階段完成后開始,可能需要兩年才能一次性交付10棟樓。也就是說,如果不考慮預(yù)售,該項(xiàng)目必須等到兩年后才能回款。

敏捷開發(fā)是六個(gè)月后交付一號樓,后面每兩個(gè)月交付一棟樓。因此,半年就能回款10%,后面每個(gè)月都會(huì)有現(xiàn)金流,資金壓力就大大減輕了。

降低風(fēng)險(xiǎn)

敏捷開發(fā)的第二個(gè)好處是,及時(shí)了解市場需求,降低產(chǎn)品不適用的風(fēng)險(xiǎn)

請想一想,哪一種情況損失比較?。?0棟樓都造好以后,才發(fā)現(xiàn)賣不出去,還是造好第一棟樓,就發(fā)現(xiàn)賣不出去,從而改進(jìn)或停建后面9棟樓?

對于軟件項(xiàng)目來說,先有一個(gè)原型產(chǎn)品,了解市場的接受程度,往往是項(xiàng)目成功的關(guān)鍵。有一本書叫做《夢斷代碼》,副標(biāo)題就是"20+個(gè)程序員,三年時(shí)間,4732個(gè)bug,100+萬美元,最后失敗的故事",這就是沒有采用敏捷開發(fā)的結(jié)果。相反的,Instagram 最初是一個(gè)地理位置打卡 App,后來發(fā)現(xiàn)用戶不怎么在乎地理位置,更喜歡上傳照片,就改做照片上傳軟件,結(jié)果成了獨(dú)角獸。

由于敏捷開發(fā)可以不斷試錯(cuò),找出對業(yè)務(wù)最重要的功能,然后通過迭代,調(diào)整軟件方向。相比傳統(tǒng)方式,大大增加了產(chǎn)品成功的可能性。如果市場需求不確定,或者你對該領(lǐng)域不熟悉,那么敏捷開發(fā)幾乎是唯一可行的應(yīng)對方式。

敏捷開發(fā)的價(jià)值觀

《敏捷軟件開發(fā)宣言》里面提到四個(gè)價(jià)值觀。

程序員的主觀能動(dòng)性,以及程序員之間的互動(dòng),優(yōu)于既定流程和工具。軟件能夠運(yùn)行,優(yōu)于詳盡的文檔。跟客戶的密切協(xié)作,優(yōu)于合同和談判。能夠響應(yīng)變化,優(yōu)于遵循計(jì)劃。

敏捷開發(fā)十二條原則

該宣言還提出十二條敏捷開發(fā)的原則。

通過早期和持續(xù)交付有價(jià)值的軟件,實(shí)現(xiàn)客戶滿意度。歡迎不斷變化的需求,即使是在項(xiàng)目開發(fā)的后期。要善于利用需求變更,幫助客戶獲得競爭優(yōu)勢。不斷交付可用的軟件,周期通常是幾周,越短越好。項(xiàng)目過程中,業(yè)務(wù)人員與開發(fā)人員必須在一起工作。項(xiàng)目必須圍繞那些有內(nèi)在動(dòng)力的個(gè)人而建立,他們應(yīng)該受到信任。面對面交談是最好的溝通方式。可用性是衡量進(jìn)度的主要指標(biāo)。提倡可持續(xù)的開發(fā),保持穩(wěn)定的進(jìn)展速度。不斷關(guān)注技術(shù)是否優(yōu)秀,設(shè)計(jì)是否良好。簡單性至關(guān)重要,盡最大可能減少不必要的工作。最好的架構(gòu)、要求和設(shè)計(jì),來自團(tuán)隊(duì)內(nèi)部自發(fā)的認(rèn)識。團(tuán)隊(duì)要定期反思如何更有效,并相應(yīng)地進(jìn)行調(diào)整。

迭代開發(fā)與敏捷開發(fā)的區(qū)別

前者是軟件的開發(fā)周期模型,是一種開發(fā)過程;而后者是多種軟件開發(fā) 項(xiàng)目管理方法的集合,這是兩者最根本的區(qū)別。與迭代開發(fā)對應(yīng)是瀑布模型、螺旋模型,而與敏捷開發(fā)對應(yīng)的是Scrum,XP(極限編程),Crystal(水晶編程),所以二者不可混為一談,但其中又有一定的聯(lián)系。

敏捷開發(fā)需要超前的規(guī)劃

近些年來,由于一些特定的需求,越來越多的軟件團(tuán)隊(duì)開始采用敏捷開發(fā)模式,但是在開發(fā)過程中卻對其核心思想理解不足,有些敏捷開發(fā)團(tuán)隊(duì)甚至沒有管理者,僅設(shè)一名Scrum Master向產(chǎn)品經(jīng)理匯報(bào),職責(zé)劃分也很曖昧。

除了軟件公司,在很多常規(guī)企業(yè)中,敏捷開發(fā)已經(jīng)成為一種無負(fù)責(zé)人的開發(fā)流程。所謂的產(chǎn)品經(jīng)理與銷售、CEO隨意加功能、改需求,然后交給開發(fā)團(tuán)隊(duì)去“敏捷”開發(fā)。在開發(fā)過程中,需求調(diào)研、設(shè)計(jì)、反饋、代碼評審、測試、全不需要。這就是技術(shù)大雜燴,能做到哪一步算哪一步,完全忽略了敏捷開發(fā)的實(shí)質(zhì)。

而實(shí)際上,敏捷開發(fā)并不是這樣的, 迭代的核心在于軟件的超前規(guī)劃。如果沒有專業(yè)規(guī)劃者的全程指導(dǎo),造出來的軟件系統(tǒng)必不合格 -- 時(shí)間超限、預(yù)算超支、充斥著各種不科學(xué)的奇思妙想、根本不管需求是否合乎邏輯。

所以,無論用什么開發(fā)思維,不管是哪種開發(fā)手段,都要制定合理科學(xué)的開發(fā)方案,這樣才可事半功倍。

對于我們開發(fā)者而言,一個(gè)長期迭代的項(xiàng)目,軟件復(fù)用是非常重要。

面向復(fù)用的軟件工程

在大多數(shù)的軟件項(xiàng)目中,都存在一定程度的軟件復(fù)用。

主要階段:

組件分析:給出需求描述,然后搜尋能滿足需求的組件。通常情況是,沒有正好合適的組件以供選擇,能得到的組件往往只提供所需要的部分功能。需求修改:在這個(gè)階段,根據(jù)得到的組件信息分析需求,然后修改需求以反映可得到的組件。當(dāng)需求修改無法做到的時(shí)候,就需要重新進(jìn)入組件分析活動(dòng)以搜索其他可能的替代方案。使用復(fù)用的系統(tǒng)設(shè)計(jì):在這個(gè)階段,設(shè)計(jì)系統(tǒng)的框架或重復(fù)使用一個(gè)已存在的框架。設(shè)計(jì)者分析那些將被重復(fù)使用的組件,并組織框架使之適應(yīng)這些組件。當(dāng)某些可復(fù)用的組件不能得到時(shí),必須重新設(shè)計(jì)一些新的軟件。開發(fā)和集成:當(dāng)組件不能買到時(shí)就需要自己開發(fā),然后集成這些自己開發(fā)的組件和現(xiàn)貨組件,使之成為一個(gè)整體。在這個(gè)模型中,系統(tǒng)集成與其說是一個(gè)獨(dú)立的活動(dòng),不如說已經(jīng)成為開發(fā)過程的一個(gè)部分。

3種類型的軟件組件可能用于面向復(fù)用的過程:

通過標(biāo)準(zhǔn)服務(wù)開發(fā)的Web服務(wù),可用于遠(yuǎn)程調(diào)用對象的集合,作為一個(gè)包和組件框架,如.NET或者J2EE等集成在一起獨(dú)立的軟件系統(tǒng),通過配置在特定的環(huán)境下使用

優(yōu)勢:

減少了需要開發(fā)的軟件數(shù)量,從而降低了軟件開發(fā)成本,也降低了開發(fā)中的風(fēng)險(xiǎn)可使軟件快速地交付

軟件開發(fā)比較經(jīng)典的過程模型有:

瀑布模型:該模型將基本的過程活動(dòng)、描述、開發(fā)、有效性驗(yàn)證和進(jìn)化,看成是一些界限分明的獨(dú)立的過程階段,例如,需求描述階段、軟件設(shè)計(jì)階段、實(shí)現(xiàn)階段、測試階段等。增量式開發(fā):該方法使得描述活動(dòng)、開發(fā)活動(dòng)和有效性驗(yàn)證活動(dòng)交織在一起。系統(tǒng)的開發(fā)是建立一系列的版本(增量),每個(gè)版本添加部分功能到先前的版本中。面向復(fù)用的軟件工程:該方法是基于已存在的大量可復(fù)用的組件。系統(tǒng)開發(fā)過程著重于集成這些組件到新系統(tǒng)中,而非從頭開發(fā)。

三個(gè)模型相互不排斥,而且經(jīng)常一起使用,尤其是對大型系統(tǒng)的開發(fā)。對大型系統(tǒng),綜合瀑布模型和增量開發(fā)模型的優(yōu)點(diǎn)是有意義的。

參考文章:

一文搞定軟件過程模型——瀑布模型、增量式開發(fā)/增量開發(fā)與迭代開發(fā)的區(qū)別 https://blog.csdn.net/weixin_55267022/article/details/118121466

開發(fā)模型的理解(瀑布、迭代、敏捷) https://zhuanlan.zhihu.com/p/452759262

淺談敏捷開發(fā)概念和迭代開發(fā)方案 https://www.minjiekaifa.com/agilearticles/agile-development-and-iterative-development-solutions-80369.html

敏捷開發(fā)入門教程 https://www.ruanyifeng.com/blog/2019/03/agile-development.html

淺談敏捷開發(fā)概念和迭代開發(fā)方案 https://www.minjiekaifa.com/agilearticles/agile-development-and-iterative-development-solutions-80369.html

轉(zhuǎn)載本站文章《開發(fā)模型的理解:瀑布模型/增量式/迭代/敏捷開發(fā)——筆記》,請注明出處:https://www.zhoulujun.cn/html/webfront/engineer/Architecture/8935.html

關(guān)鍵詞:
分享到:
x 廣告
x 廣告

Copyright ©  2015-2022 華中時(shí)尚網(wǎng)版權(quán)所有  備案號:京ICP備12018864號-26   聯(lián)系郵箱:2 913 236 @qq.com