瀑布模型
瀑布模型(Waterfall Model)
1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被廣泛采用的軟件開(kāi)發(fā)模型。 瀑布模型將軟件生命周期劃分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫(xiě)、軟件測(cè)試和運(yùn)行維護(hù)等六個(gè)基本活動(dòng),并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。 在瀑布模型中,軟件開(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ā)模型是線性的,用戶只有等到整個(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)重的后果。 我們應(yīng)該認(rèn)識(shí)到,"線性"是人們最容易掌握并能熟練應(yīng)用的思想方法。當(dāng)人們碰到一個(gè)復(fù)雜的"非線性"問(wèn)題時(shí),總是千方百計(jì)地將其分解或轉(zhuǎn)化為一系列簡(jiǎn) 單的線性問(wèn)題,然后逐個(gè)解決。一個(gè)軟件系統(tǒng)的整體可能是復(fù)雜的,而單個(gè)子程序總是簡(jiǎn)單的,可以用線性的方式來(lái)實(shí)現(xiàn),否則干活就太累了。線性是一種簡(jiǎn)潔,簡(jiǎn) 潔就是美。當(dāng)我們領(lǐng)會(huì)了線性的精神,就不要再呆板地套用線性模型的外表,而應(yīng)該用活它。例如增量模型實(shí)質(zhì)就是分段的線性模型,螺旋模型則是接連的彎曲了的線性模型,在其它模型中也能夠找到線性模型的影子。
瀑布模型有利于大型軟件開(kāi)發(fā)過(guò)程中人員的組織及管理,有利于軟件開(kāi)發(fā)方法和工具的研究與使用,從而提高了大型軟件項(xiàng)目開(kāi)發(fā)的質(zhì)量和效率。然而軟件開(kāi)發(fā)的實(shí)踐表明,上述各項(xiàng)活動(dòng)之間并非完全是自上而下且呈線性圖式的,因此瀑布模型存在嚴(yán)重的缺陷。 ① 由于開(kāi)發(fā)模型呈線性,所以當(dāng)開(kāi)發(fā)成果尚未經(jīng)過(guò)測(cè)試時(shí),用戶無(wú)法看到軟件的效果。這樣軟件與用戶見(jiàn)面的時(shí)間間隔較長(zhǎng),也增加了一定的風(fēng)險(xiǎn)。 ② 在軟件開(kāi)發(fā)前期末發(fā)現(xiàn)的錯(cuò)誤傳到后面的開(kāi)發(fā)活動(dòng)中時(shí),可能會(huì)擴(kuò)散,進(jìn)而可能會(huì)造成整個(gè)軟件項(xiàng)目開(kāi)發(fā)失敗。 ③ 在軟件需求分析階段,完全確定用戶的所有需求是比較困難的,甚至可以說(shuō)是不太可能的。當(dāng)開(kāi)發(fā)的軟件是已知領(lǐng)域和行業(yè),并且有比較好的積累,有可重用的架構(gòu)或者模型。或者軟件對(duì)安全和性能有極其嚴(yán)格的要求,容不得半點(diǎn)疏漏,比如航空航天軟件。這樣用瀑布模型的話能夠有效地控制每一環(huán)節(jié),所有流程都有文檔可循。
而規(guī)模不是很大的,商業(yè)型的應(yīng)用軟件,更傾向于快速得到可用的軟件。而且軟件需要能夠適應(yīng)市場(chǎng)的變化作出相應(yīng)的調(diào)整。原型模型無(wú)疑是更適合的。
轉(zhuǎn)載于:https://www.cnblogs.com/nygfcn1234/p/3240494.html
總結(jié)
- 上一篇: 我会耐心的等是什么歌啊
- 下一篇: 求一个好听的汉堡店名字。