Posted on 2007-09-11 15:07
久城 閱讀(1783)
評(píng)論(1) 編輯 收藏 所屬分類:
軟件工程
第一次聽(tīng)到這個(gè)詞,是在剛?cè)胨緯r(shí)的年中總結(jié)會(huì)上。一個(gè)項(xiàng)目leader說(shuō)他的項(xiàng)目正在采用迭代式開(kāi)發(fā)開(kāi)發(fā)一個(gè)項(xiàng)目。由于習(xí)慣了瀑布式模型,沒(méi)有過(guò)這種開(kāi)發(fā)模式的經(jīng)驗(yàn),所以項(xiàng)目進(jìn)展時(shí)常遇到一些問(wèn)題,小組的成員都在不斷嘗試與摸索中。當(dāng)時(shí)還不知道什么叫迭代式開(kāi)發(fā)。
直到參加項(xiàng)目一個(gè)多月后,從DD到PG再到PT,才知道,原來(lái)迭代式開(kāi)發(fā)和自己一直進(jìn)行著的瀑布式開(kāi)發(fā)模型是一個(gè)層次的概念。
網(wǎng)上有人說(shuō),迭代式開(kāi)發(fā)正在逐步取代瀑布式開(kāi)發(fā)而成為主流。讓我不由得關(guān)注了一下迭代式開(kāi)發(fā)。但還是感覺(jué),這個(gè)想法很可笑。
兩者都是一種開(kāi)發(fā)模式,就像設(shè)計(jì)模式一樣,考慮的角度不一樣,個(gè)人感覺(jué)談不到取代一說(shuō)。
傳統(tǒng)的瀑布式開(kāi)發(fā),也就是從需求到設(shè)計(jì),從設(shè)計(jì)到編碼,從編碼到測(cè)試,從測(cè)試到提交大概這樣的流程,要求每一個(gè)開(kāi)發(fā)階段都要做到最好。特別是前期階段,設(shè)計(jì)的越完美,提交后的成本損失就越少。我現(xiàn)在從事的外包項(xiàng)目就是這樣的流程。
迭代式開(kāi)發(fā),不要求每一個(gè)階段的任務(wù)做的都是最完美的,而是明明知道還有很多不足的地方,卻偏偏不去完善它,而是把主要功能先搭建起來(lái)為目的,以最短的時(shí)間,最少的損失先完成一個(gè)“不完美的成果物”直至提交。然后再通過(guò)客戶或用戶的反饋信息,在這個(gè)“不完美的成果物”上逐步進(jìn)行完善。
這兩種開(kāi)發(fā)模式都各自具有自己的特點(diǎn),迭代式開(kāi)發(fā)適合在一些需求信息不明確的項(xiàng)目中,這樣在開(kāi)發(fā)過(guò)程中遇到需求的變化時(shí),所帶來(lái)的影響要比瀑布式開(kāi)發(fā)小。而現(xiàn)在的很多項(xiàng)目中,需求在項(xiàng)目進(jìn)行中變化的事兒經(jīng)常見(jiàn),所以顯得迭代式開(kāi)發(fā)的優(yōu)勢(shì)更明顯一些。
但是,從本質(zhì)上來(lái)說(shuō),二者都不過(guò)是一種開(kāi)發(fā)的模式,即使是迭代式開(kāi)發(fā),在每一個(gè)迭代的環(huán)節(jié)中,不也是此從需求到設(shè)計(jì),從設(shè)計(jì)到編碼,從編碼到測(cè)試嗎?這不也是瀑布式模型的體現(xiàn)嗎?只不過(guò)這個(gè)瀑布式中的每一個(gè)階段不需要做到最優(yōu)化,都留一些任務(wù)到下一層迭代中去做而已。
所以,我覺(jué)得面對(duì)不同的問(wèn)題采用不同的模式,模式是為了方便我們開(kāi)發(fā)而服務(wù)的,不是要求我們必須按照某一種模式從頭走到尾。
就象迭代式開(kāi)發(fā),我們其實(shí)也經(jīng)常用到這種模式。比如說(shuō)開(kāi)發(fā)項(xiàng)目中的某一個(gè)模塊。我們先把能夠?qū)崿F(xiàn)主要功能的代碼寫(xiě)出來(lái)。比如一個(gè)查詢模塊,先從模塊的構(gòu)思到設(shè)計(jì)再到編碼,先查詢功能的代碼,測(cè)試一遍查詢成功。這算是完成了第一層迭代。然后我們要再考慮一層迭代中的一些還未完成的細(xì)節(jié)問(wèn)題,比如查詢的check,查詢結(jié)果的顯示以及查詢算法的優(yōu)化等等,這就是第二層迭代。
我想這是程序員在寫(xiě)代碼的時(shí)候常有的思路。這應(yīng)該也是一種迭代式開(kāi)發(fā)的體現(xiàn)吧。
只是干想,畢竟沒(méi)有實(shí)戰(zhàn)過(guò),一定有很多我理解錯(cuò)的地方。
先記錄下,有待以后更深的體會(huì)后再修改。
歡迎來(lái)訪!^.^!
本BLOG僅用于個(gè)人學(xué)習(xí)交流!
目的在于記錄個(gè)人成長(zhǎng).
所有文字均屬于個(gè)人理解.
如有錯(cuò)誤,望多多指教!不勝感激!