潛魚在淵

          Concentrating on Architectures.

          posts - 77, comments - 309, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          版本管理

          Posted on 2005-12-07 23:23 非魚 閱讀(4946) 評論(5)  編輯  收藏 所屬分類: 管理
              我在最初開發軟件的時候,是根本沒有版本管理的概念的。直到2000年我在廣州某數一數二的軟件公司工作,該公司為了通過ISO9000認證,開始使用 VSS(Visual Source Safe)進行版本管理,之前,他們也沒有進行版本管理。除了VSS,后來又用過PVCS、CCC-Harvest等版本管理軟件。現在看來,以前也只是 使用了版本管理軟件而已,沒有真正進行過“版本管理”。某項目經理說:“我們喜歡把VCS叫做SCM啊,更高級。”其實叫什么不重要,重要的是“管理”, 而不是“使用”VCS/SCM。

              什么是版本管理?

              簡單的說,一個文件(或任何其他人工制品)的一次修改稱為一個“修訂”;一批相關聯的文件(或任何其他人工制品)經過各自N次修訂,做為一個產品達到一個 穩定狀態,這些文件/人工制品在穩定狀態下的形成的產品就是一個版本。版本管理,就是對這個版本的管理;但更重要的是:版本管理是對產品的管理

              版本管理,意義何在?

              首先,版本管理維護產品的穩定性。剛剛講到,產品達到一個穩定狀態后稱為一個版本,版本管理自然管理了產品的穩定性。其次,版本管理是產品改進的基石。在 產品達到一個穩定狀態后,我們把這個狀態做為版本固定下來,對于這個產品以后的改進就可以基于這個狀態進行了,一旦在改進的過程中發生錯誤,我們還可以從 這個穩定的狀態再次開始,避免了很多不必要的勞動。最后,基于產品版本可以進行并行操作,在改進產品的同時對現有產品進行維護,即滿足客戶產品改進的要 求,又滿足客戶對產品質量的要求。

              特別是軟件迭代、增量開發的情況下,版本管理更是至關重要的。

              版本管理,有哪些重要內容?

              這里只說重要的。首先是產品版本的定義,就是在產品達到穩定狀態時,標記這個穩定狀態下的所有組成部分。這個標記,就是版本了。一般在達到穩定之前,會有諸如alpha 版、beta版之類的預定義,根據不同組織的政策而不同。其次是版本的生成,即取得定義好的版本的所有組成部分,并形成一個完整的可運行的產品以供測試、 發行。最后是版本的分支/合并,在穩定產品的版本上進行分支,可以同時進行產品下一版本的研發和當前版本的維護。一般在主分支上進行新版本開發,在維護分 支開發當前版本的補丁;當補丁測試通過后需要把維護分支上的修改內容合并到主分支,以避免在新版本中仍然含有已經修正的。

              版本管理的缺點何在?

              不能認為有了良好的版本管理就萬事大吉了,良好的版本管理也不是萬能的,很多事情是版本管理做不到的。首先版本管理不能保證產品中沒有缺陷,其實沒有什么 東西可以保證這一點,即使你有再充分的測試也不能保證;版本管理只是對產品狀態的管理,對于這個狀態下產品的內容無能為力。其次,版本管理無法保證工作人 員的行為,版本管理要求工作人員按照一定的規范行事,但除了制度沒有任何工具或監控/預測手段來保證人的行為附合規范,如果存在違反規范的行為,也只能通 過事后檢查來發現、糾正。最后,在版本合并操作上,工具自動處理可以減輕人的勞動,但也有很多時候不能自動處理,不能過于依賴于版本管理工具。

              產品發行管理(on the way, please wait...)

          評論

          # re: 版本管理  回復  更多評論   

          2005-12-08 00:06 by 江南白衣@ITO
          恩,某項目經理不錯.

          # re: 版本管理  回復  更多評論   

          2005-12-08 17:45 by felice
          項目的關鍵在于架構,規范就是實現架構的重要途徑。但是,又有多少的企業是什么ISOxxxxx,CMMxxx,全是蒙出來,全是糊弄客戶的。痛苦啊,無奈啊,“中國特色”的企業行為!

          # re: 版本管理  回復  更多評論   

          2005-12-23 15:06 by 非魚
          @qq

          sorry,你的回復是亂碼,我刪除了,如果你用中文不方便,可以使用英文。

          # re: 版本管理  回復  更多評論   

          2006-02-03 01:02 by will@白衣的群
          廣州某數一數二的軟件公司?哪家 偶正在物色跳X中,還請非魚兄明示

          # re: 版本管理  回復  更多評論   

          2006-02-14 15:11 by 非魚
          @will@白衣的群
          現在早就不在那里了。
          主站蜘蛛池模板: 金堂县| 大渡口区| 辽宁省| 广丰县| 安西县| 泗洪县| 秭归县| 金沙县| 登封市| 德钦县| 抚州市| 柳河县| 正宁县| 合水县| 泉州市| 和硕县| 南澳县| 木兰县| 木里| 鄄城县| 禄劝| 拜泉县| 吉水县| 甘孜| 阿荣旗| 岳阳县| 巴楚县| 定襄县| 津市市| 贡山| 安图县| 晋江市| 昌邑市| 巴中市| 汉源县| 高州市| 宝山区| 闻喜县| 辽宁省| 鹤庆县| 普宁市|