一說(shuō)起軟件生命周期模型,瀑布模型絕對(duì)是最耳熟能詳?shù)哪莻€(gè)。
但是由于瀑布模型的簡(jiǎn)單易用和明顯存在的一些弱點(diǎn)(如,對(duì)需求變更的適應(yīng)性不足),瀑布模型被很多人認(rèn)為它不適合實(shí)際項(xiàng)目的使用,甚至認(rèn)為,使用瀑布模型就沒有在做軟件工程。
這就有點(diǎn)小看瀑布模型了。
事實(shí)上,瀑布模型是經(jīng)典的軟件生命周期模型,也是具有里程碑意義的劃時(shí)代的軟件生命周期模型,甚至可以說(shuō),瀑布模型就是軟件工程的代表。
首先,從瀑布模型的起源來(lái)看,瀑布模型正是為了解決軟件危機(jī)借鑒其他工程領(lǐng)域的思想而產(chǎn)生的。
為了解決軟件危機(jī)中的這些問題,在 1970 年,Winston Royce 博士借鑒了其他工程領(lǐng)域的思想,比如建筑工程,提出了瀑布開發(fā)模型,指出軟件開發(fā)應(yīng)有完整之周期,并將軟件開發(fā)過(guò)程分成了若干階段。像瀑布一樣,從上往下,完成一個(gè)階段繼續(xù)下一個(gè)階段。——摘自《軟件工程之美》,寶玉主講。
而在此之前,軟件開發(fā)還處于“邊寫邊改”的原始模式中。
所以,瀑布模型就是軟件工程的代言人。因?yàn)槠俨寄P徒梃b了其他工程領(lǐng)域的經(jīng)驗(yàn),把軟件開發(fā)劃分為若干階段進(jìn)行,通過(guò)逐個(gè)目標(biāo)的完成來(lái)實(shí)現(xiàn)項(xiàng)目的最終目標(biāo),這與我們總結(jié)的6個(gè)階段(想法、概念、計(jì)劃、設(shè)計(jì)、開發(fā)、發(fā)布)的工程方法是一致的。
其次,瀑布模型也是一個(gè)劃時(shí)代的軟件生命周期模型。因?yàn)樗某霈F(xiàn),結(jié)束了之前無(wú)序的、沒有規(guī)劃的開發(fā)過(guò)程,從此之后,軟件開發(fā)進(jìn)入了一個(gè)追求可控、可視化的時(shí)代。
最后,瀑布模型是其它模型的引路人。
隨著瀑布模型的應(yīng)用越來(lái)越廣,它的一些缺點(diǎn)也逐步被發(fā)現(xiàn)。如不能及時(shí)響應(yīng)需求變更,基于軟件產(chǎn)品的驗(yàn)證只能在后期進(jìn)行等。但是,正是由于它的廣泛應(yīng)用,它的缺點(diǎn)的暴露,才讓我們基于隨它伴生的軟件生命周期模型的概念去建立更適合項(xiàng)目的其它模型:原型開發(fā)、迭代開發(fā)……如果沒有瀑布模型的出現(xiàn),后面的模型會(huì)不斷涌現(xiàn)嗎?
盡管瀑布模型有它的缺點(diǎn),但是,它依然在實(shí)際項(xiàng)目應(yīng)用最廣泛的。通過(guò)對(duì)瀑布模型的改進(jìn),比如允許前后階段交疊、預(yù)留需求變更的時(shí)間,瀑布模型仍舊能夠發(fā)揮出它的作用。
這正是:
瀑布模型超經(jīng)典,模型鼻祖我當(dāng)先
工程思想鑄我魂,后人創(chuàng)新莫忘前
聯(lián)系客服