 |
軟件設(shè)計與開發(fā)中的迭代與敏捷開發(fā) |
 |
迭代,兩層意思:重復(fù)、前進(jìn)。典型的迭代方法有XP、Scrum等等。 敏捷,含有快速、高效、準(zhǔn)確的意思,敏捷開發(fā)方法通常應(yīng)用時間定量的迭代和進(jìn)化式開發(fā)、使用自適應(yīng)計劃、提倡增量交付并包含其他提倡敏捷性(快速和靈活的相應(yīng)變更)的價值和實踐。(摘自《UML和模式應(yīng)用》) 隨手翻翻關(guān)于軟件設(shè)計與開發(fā)中的迭代、敏捷,感覺在這些概念出現(xiàn)在自己視野之前,其部分零碎的思想早早出現(xiàn)在過去軟件項目實施過程中。記得研究生時和另外一位同學(xué),跟著一位有豐富軟件開發(fā)經(jīng)驗(8年)的博士師兄做項目,那是個遺留項目,開發(fā)人員不穩(wěn)定,項目需求變動大,并且我們和之前的項目開發(fā)組之間沒有項目交接,實施過程中碰到了不少困難,當(dāng)時我想著充分利用之前積累的客戶需求資料,加上經(jīng)常和客戶業(yè)務(wù)人員溝通,先整理出整個需求文檔,重新做軟件業(yè)務(wù)建模、對象UML設(shè)計、數(shù)據(jù)庫設(shè)計等等,然后干干凈凈重寫代碼。師兄的想法就是先根據(jù)已有的資料做出軟件的整體框架和業(yè)務(wù)應(yīng)用的主干,在最快的時間內(nèi)到用戶現(xiàn)場去安裝,讓用戶提意見,然后我們再修改、完善,重復(fù)幾次,每次都是一次迭代,是從細(xì)化到構(gòu)造的過程,最終穩(wěn)定整個開發(fā)框架與思路,完成軟件開發(fā),當(dāng)時沒有明確的敏捷UP開發(fā)理念,但回想起來基本就是典型的敏捷UP案例,包括每階段開發(fā)的會議、建模、編碼、測試……。自己是個完美主義者,特別是在校園年代,自己當(dāng)時心里真的是一百個不愿意,覺得軟件開發(fā)應(yīng)該遵從標(biāo)準(zhǔn)軟件開發(fā)模式,這樣才能做出文檔、軟件設(shè)計、代碼注釋等等皆完美的軟件,對軟件不停修修改改,甚至有時局部顛倒重來極為反感!現(xiàn)在看來,按照師兄的方法,項目完成了,如果按照自己的想法,也許我們留下的不是一個實用軟件,而是更多亂七八糟的文檔給接下來的師弟師妹們。 不知道師兄是不是有意按照迭代、敏捷思想來推進(jìn)項目的,但之前的軟件開發(fā)經(jīng)歷說明了迭代與敏捷確實是實際軟件開發(fā)的經(jīng)驗總結(jié),特別是在應(yīng)對需求不穩(wěn)定的情況下,能夠體現(xiàn)出它獨特的一面,畢竟我們是以應(yīng)用、軟件為核心,而不是完整的項目artifact,現(xiàn)在關(guān)于UP、XP、Scrum、敏捷方面的書籍和網(wǎng)絡(luò)資料非常多,有時感覺像是在玩概念,但是一旦開始了解這些思想,會發(fā)現(xiàn)不少的方法自己已經(jīng)在用了,繼續(xù)看下去,會總結(jié)出自己過去開發(fā)經(jīng)歷中的種種經(jīng)驗,更高效的、有條理的完成以后項目的設(shè)計與開發(fā)。
|
| 作者:Flyingis | 文章來源:cnblogs | 更新時間:2008-1-21 16:47:39
|
|
 |
 |
最新文章 |
|
|
 |