gr8vyguy@Blogjava

          Iterative和Waterfall Development Process

          UML Distlled的第二章的閱讀筆記

          UML是一組統(tǒng)一的建模工具。建模是Development Process的一個不可缺少的組成部分。Development Process是計算機科學中的管理學科。

          RUP(Rational Unified Process)是一個非常流行的Development Process Framework。

          兩類Development Process: Iterative和Waterfall

          Waterfall以軟件開發(fā)的工作為基礎(chǔ)來劃分,依次分為需求分析設(shè)計編碼測試。一個1年長的項目可能分為2個月的需求分析,跟著4個月的設(shè)計周期,3個月的編碼周期和3個月的測試周期。

          Iterative以軟件的功能為基礎(chǔ)來劃分。一個1年長的項目可能分成4個循環(huán),每個循環(huán)持續(xù)3個月,每個循環(huán)實現(xiàn)四分之一的功能。每個循環(huán)都要經(jīng)過需求分析,設(shè)計,編碼和測試四個步驟。在開始新的循環(huán)之前要保證上一循環(huán)的質(zhì)量,絕對不能把測試推遲到最后

          當然,這只是對兩類Development Process的簡單劃分,在實踐中,有不少現(xiàn)象模糊兩者之間的區(qū)別。

          Waterfall的分析和設(shè)計很可能在編碼的周期里還需要修改,甚至返回重新設(shè)計。編碼可能在分析結(jié)束之前就開始了。但是Waterfall的一個目的就是為了盡可能地減少這些活動。

          采用Iterative方式,在真正的循環(huán)開始之前,可能會有一個實驗階段。以分析開發(fā)這一軟件的可行性和經(jīng)濟性。在實驗階段還需要做一定的需求分析,但是并不深入到如Waterfall的需求分析和真正循環(huán)里的需求分析那樣的細度,這里做的需求分析的目的是為了能夠劃分各個循環(huán)的功能,至少是第一個循環(huán)的功能。

          兩類Development Process也存在混合使用的可能,比如分析和高級的設(shè)計采用Waterfall的方式,編碼和測試采用Iterative的方式。采用這種方式,可能先用4個月做分析和設(shè)計,跟著3個2個月長的周期循環(huán)。

          采用Iterative Development方式的時候,當無法在一個Iteration里實現(xiàn)指定的功能的時候,應(yīng)該將一部分功能推遲到下個Iteration,而不是推遲Iteration的時間,更加不應(yīng)該減少測試的時間。這就需要一種給功能定等級的方法,等級高的功能應(yīng)該優(yōu)先實現(xiàn)。

          采用Iterative Development經(jīng)常要面對的一個問題是扔掉代碼。后期循環(huán)的分析和設(shè)計,可能會影響前面循環(huán)中編寫的代碼,這時你可以選擇修改或者重新寫,有意思的是,在軟件開發(fā)領(lǐng)域,重新寫的效率比修改代碼要高。現(xiàn)在有很多工具幫助人們提高重新寫的效率,自動破壞測試(Automated Regression Test),重構(gòu)(Refactoring), 持續(xù)集成(Continuous Integration).


          轉(zhuǎn)載請保留http://www.aygfsteel.com/xilaile/archive/2007/04/21/112452.html


          posted on 2007-04-21 11:53 gr8vyguy 閱讀(3222) 評論(0)  編輯  收藏 所屬分類: 計算機科學基礎(chǔ)

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統(tǒng)計

          公告

        1. 轉(zhuǎn)載請注明出處.
        2. msn: gr8vyguy at live.com
        3. 常用鏈接

          留言簿(9)

          隨筆分類(68)

          隨筆檔案(80)

          文章分類(1)

          My Open Source Projects

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 莒南县| 北流市| 师宗县| 威信县| 即墨市| 平原县| 华容县| 海阳市| 宁安市| 礼泉县| 濮阳县| 永川市| 辉南县| 黎平县| 克山县| 琼中| 太湖县| 永年县| 灵川县| 新乐市| 清新县| 且末县| 安徽省| 镇雄县| 麻阳| 循化| 雷州市| 佛学| 曲周县| 凉山| 正镶白旗| 海门市| 瑞安市| 鄂托克前旗| 邵阳县| 丹阳市| 阜平县| 安岳县| 社旗县| 财经| 南华县|