必威电竞|足球世界杯竞猜平台

瀑布模型
來(lái)源:互聯(lián)網(wǎng)

瀑布模型(Waterfall Model)是一個(gè)項(xiàng)目開(kāi)發(fā)架構(gòu),開(kāi)發(fā)過(guò)程是通過(guò)設(shè)計(jì)一系列階段順序展開(kāi)的,項(xiàng)目開(kāi)發(fā)進(jìn)程從一個(gè)階段“流動(dòng)”到下一個(gè)階段,這也是瀑布模型名稱(chēng)的由來(lái)。包括軟件工程開(kāi)發(fā)、企業(yè)項(xiàng)目開(kāi)發(fā)、產(chǎn)品生產(chǎn)以及市場(chǎng)銷(xiāo)售等構(gòu)造瀑布模型。

正文

瀑布模型(Waterfall Model)

定義

1970年溫斯頓·羅伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被廣泛采用的軟件開(kāi)發(fā)模型。

瀑布模型將軟件生命周期劃分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫(xiě)、軟件測(cè)試和運(yùn)行維護(hù)等六個(gè)基本活動(dòng),并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。從本質(zhì)來(lái)講,它是一個(gè)軟件開(kāi)發(fā)架構(gòu),開(kāi)發(fā)過(guò)程是通過(guò)一系列階段順序展開(kāi)的,開(kāi)發(fā)進(jìn)程從一個(gè)階段“流動(dòng)”到下一個(gè)階段,這也是瀑布開(kāi)發(fā)名稱(chēng)的由來(lái)。

瀑布模型核心思想是按工序?qū)?wèn)題化簡(jiǎn),將功能的實(shí)現(xiàn)與設(shè)計(jì)分開(kāi),便于分工協(xié)作,即采用結(jié)構(gòu)化的分析與設(shè)計(jì)方法將邏輯實(shí)現(xiàn)與物理實(shí)現(xiàn)分開(kāi)。瀑布模型將軟件生命周期劃分為軟件計(jì)劃、需求分析和定義、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測(cè)試、軟件運(yùn)行和維護(hù)這6個(gè)階段,規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水逐級(jí)下落。采用瀑布模型的軟件過(guò)程如下圖所示:

瀑布模型是最早出現(xiàn)的軟件開(kāi)發(fā)模型,在軟件工程中占有重要的地位,它提供了軟件開(kāi)發(fā)的基本框架。其過(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)。同時(shí)評(píng)審該項(xiàng)活動(dòng)的實(shí)施,若確認(rèn),則繼續(xù)下一項(xiàng)活動(dòng);否則返回前面,甚至更前面的活動(dòng)。

瀑布模型的優(yōu)缺點(diǎn)

1、瀑布模型有以下優(yōu)點(diǎn):

1)為項(xiàng)目提供了按階段劃分的檢查點(diǎn)。

2)當(dāng)前一階段完成后,您只需要去關(guān)注后續(xù)階段。

3)可在迭代模型中應(yīng)用瀑布模型。

增量迭代應(yīng)用于瀑布模型。迭代1解決最大的問(wèn)題。每次迭代產(chǎn)生一個(gè)可運(yùn)行的版本,同時(shí)增加更多的功能。每次迭代必須經(jīng)過(guò)質(zhì)量和集成測(cè)試。

2、瀑布模型有以下缺點(diǎn):

1)在項(xiàng)目各個(gè)階段之間極少有反饋。

2)只有在項(xiàng)目生命周期的后期才能看到結(jié)果。

3)通過(guò)過(guò)多的強(qiáng)制完成日期和里程碑來(lái)跟蹤各個(gè)項(xiàng)目階段。

瀑布模型的客戶(hù)需求

盡管瀑布模型招致了很多批評(píng),但是它對(duì)很多類(lèi)型的項(xiàng)目而言依然是有效的,如果正確使用,可以節(jié)省大量的時(shí)間和金錢(qián)。對(duì)于您的項(xiàng)目而言,是否使用這一模型主要取決于您是否能理解客戶(hù)的需求以及在項(xiàng)目的進(jìn)程中這些需求的變化程度,對(duì)于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無(wú)價(jià)值,對(duì)于這種情況,您可以考慮其他的架構(gòu)來(lái)進(jìn)行項(xiàng)目管理,比如名為螺旋模型(spiral model)的方法。

在瀑布模型中,軟件開(kāi)發(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)證通過(guò),則該結(jié)果作為下一項(xiàng)活動(dòng)的輸入,繼續(xù)進(jìn)行下一項(xiàng)活動(dòng),否則返回修改。瀑布模型強(qiáng)調(diào)文檔的作用,并要求每個(gè)階段都要仔細(xì)驗(yàn)證。但是,這種模型的線性過(guò)程太理想化,已不再適合現(xiàn)代的軟件開(kāi)發(fā)模式,幾乎被業(yè)界拋棄,其主要問(wèn)題在于:(1)各個(gè)階段的劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增加了工作量。(2)由于開(kāi)發(fā)模型是線性的,用戶(hù)只有等到整個(gè)過(guò)程的末期才能見(jiàn)到開(kāi)發(fā)成果,從而增加了開(kāi)發(fā)的風(fēng)險(xiǎn)。(3)早期的錯(cuò)誤可能要等到開(kāi)發(fā)后期的測(cè)試階段才能發(fā)現(xiàn),進(jìn)而帶來(lái)嚴(yán)重的后果。按照瀑布模型的階段劃分,軟件測(cè)試可以分為單元測(cè)試,集成測(cè)試,系統(tǒng)測(cè)試。

參考資料 >

生活家百科家居網(wǎng)