gr8vyguy@Blogjava

          Iterative和Waterfall Development Process

          UML Distlled的第二章的閱讀筆記

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

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

          兩類Development Process: Iterative和Waterfall

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

          Iterative以軟件的功能為基礎來劃分。一個1年長的項目可能分成4個循環,每個循環持續3個月,每個循環實現四分之一的功能。每個循環都要經過需求分析,設計,編碼和測試四個步驟。在開始新的循環之前要保證上一循環的質量,絕對不能把測試推遲到最后。

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

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

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

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

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

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


          轉載請保留http://www.aygfsteel.com/xilaile/archive/2007/04/21/112452.html


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

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

          導航

          統計

          公告

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

          留言簿(9)

          隨筆分類(68)

          隨筆檔案(80)

          文章分類(1)

          My Open Source Projects

          搜索

          積分與排名

          最新評論

          主站蜘蛛池模板: 扶沟县| 延吉市| 防城港市| 沭阳县| 德保县| 峨山| 南召县| 集贤县| 兴山县| 乃东县| 墨脱县| 务川| 沙湾县| 乌拉特前旗| 都匀市| 西盟| 雷山县| 昌乐县| 芦溪县| 秦皇岛市| 河东区| 姚安县| 星子县| 尼勒克县| 边坝县| 玉环县| 得荣县| 溧阳市| 新源县| 平阴县| 白河县| 太湖县| 宜宾县| 萝北县| 增城市| 定边县| 安新县| 太保市| 牙克石市| 兰考县| 肥城市|