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