I'll be back!

            Focus on BPM, celebrate PegaRULES Process Commander (PRPC)
          posts - 76, comments - 161, trackbacks - 0, articles - 2
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          軟件配置管理

          Posted on 2006-12-18 19:18 zolly 閱讀(850) 評(píng)論(0)  編輯  收藏
          1、什么是軟件配置管理(SCM)
          ??? 軟件配置管理是指通過執(zhí)行版本控制、變更控制的規(guī)程,以及使用合適的配置管理軟件,來保證所有配置項(xiàng)的完整性和可跟蹤性。配置管理是對(duì)工作成果的一種有效保護(hù)。 (Software configuration management (SCM, or just plain CM) is an organizational framework — that is, a discipline — for managing the evolution of computer systems throughout all stages of systems development.)

          2、為什么需要配置管理
          ??? 如果沒有軟件配置管理,最大的麻煩是工作成果無法回溯。隨著工作的進(jìn)展新的程序覆蓋了老的程序,當(dāng)突然發(fā)現(xiàn)新程序有問題而老程序正確時(shí)怎么辦?那只能重寫老的程序來覆蓋新的程序。過一段時(shí)間又發(fā)現(xiàn)原來的老程序有問題,而解決方法在原來的新程序中……您是不是快要發(fā)瘋了。
          為了避免成果被覆蓋,包括我自己在內(nèi)的很多人早期采用手工管理版本的方式,例如當(dāng)一個(gè)新版本產(chǎn)生時(shí)用當(dāng)時(shí)的日期來命名文件夾,然后再?gòu)?fù)制一下以后的修改在復(fù)制的文件夾內(nèi)進(jìn)行,這樣上一個(gè)版本就被保存下來了,周而復(fù)始不同的版本不會(huì)被覆蓋。雖然這種方式可以從某種程度上解決版本的回溯問題,但他存在的缺點(diǎn)是顯而易見的:第一點(diǎn)如果保留結(jié)果過于頻繁,將會(huì)導(dǎo)致產(chǎn)生大量的有著重復(fù)內(nèi)容的文件夾,龐大的物理空間,管理起來很麻煩;如果保留舊版本的時(shí)間間隔太長(zhǎng),可能產(chǎn)生某些有用的老程序無法回溯。拿我最近開發(fā)的一個(gè)程序來說程序只有幾十兆,經(jīng)過一年的開發(fā)各版本累計(jì)到1G。第二容易產(chǎn)生版本的混亂,如果是團(tuán)隊(duì)開發(fā)軟件,這種簡(jiǎn)單的方法更難解決問題的本質(zhì)了。

          3、人的問題
          ??? 配置管理的方法是成熟的,而且相應(yīng)的軟件工具也是成熟的,基本上不存在看不懂、不會(huì)用的問題。配置管理的執(zhí)行效果如何,完全是事在人為。妨礙配置管理的主要問題是人們嫌麻煩和僥幸心理作怪。
          在沒出亂子的情況下,執(zhí)行版本控制看起來有些麻煩。每次修改工作的時(shí)候總是要Get Latest Version,接著Check Out,修改完后又要Check In,多做了三步。其實(shí)這三步加起來也就十幾秒鐘,而且不費(fèi)腦子,根本沒有添加多少麻煩,僅僅是個(gè)人感覺不爽而以。然而不執(zhí)行版本控制的話,萬(wàn)一發(fā)生工作成果被覆蓋或丟失等問題,麻煩就大了。

          4、軟件配置管理規(guī)范
          ??? 軟件研發(fā)和管理過程中會(huì)產(chǎn)生許許多多的工作成果,例如文檔、程序和數(shù)據(jù)等,他們都應(yīng)當(dāng)妥善地保管起來,以便查閱和修改。如果把所有文件一股腦的塞進(jìn)計(jì)算機(jī)里,那么使用起來很麻煩。
          凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項(xiàng)配置項(xiàng)主要有兩大類:一類是屬于產(chǎn)品的組成部分,例如需求文檔、設(shè)計(jì)文檔、源代碼、測(cè)試用例等等;另一類是在管理過程中產(chǎn)生的文檔,例如各種計(jì)劃、報(bào)告等。
          每個(gè)配置項(xiàng)的主要屬性有名稱、標(biāo)識(shí)符、文件狀態(tài)、版本、作者、日期等。配置項(xiàng)及歷史紀(jì)錄反映了軟件的演化過程。
          基線由一組配置項(xiàng)組成,這些配置項(xiàng)構(gòu)成了一個(gè)相對(duì)穩(wěn)定的邏輯實(shí)體。基線中的配置項(xiàng)被凍結(jié)后,不能在被任何人隨意更改。基線通常對(duì)應(yīng)于開發(fā)過程中的里程碑。通常將交付該客戶的基線稱為一個(gè)Release,為內(nèi)部開發(fā)用的基線稱為一個(gè)Build。
          版本控制的目的是按照一定的規(guī)則保存配置項(xiàng)的所有版本,避免發(fā)生版本丟失或混亂等現(xiàn)象。配置項(xiàng)的狀態(tài)有三種:“草稿”、“正式發(fā)布”和“正在修改” 。
          ??? 配置項(xiàng)的版本號(hào)與配置項(xiàng)的狀態(tài)緊密相關(guān):
          (1)? ? 處于“草稿”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:0.YZ
          (2)? ? 處于“正式發(fā)布”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:X.Y。
          一般只是Y值遞增,當(dāng)Y值到達(dá)一定的范圍時(shí)X值才發(fā)生變化。
          (3)? ? 處于“正在修改”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:X.YZ。
          一般只增大Z值,當(dāng)配置項(xiàng)修改完畢,狀態(tài)重新變成“正式發(fā)布”時(shí),將Z值變?yōu)?,增加X.Y值。

          5、常用的配置管理軟件
          ??? 自從20世紀(jì)80年代后期研制并完善了“增量存儲(chǔ)算法”后配置管理工具的春天便開始了,目前國(guó)內(nèi)常用的配置管理工具大概有SourceSafe、CVS和ClearCase。

          摘自:SCM Life 配置管理社區(qū)(http://www.scmlife.com/thread-308-1-1.html)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 电白县| 都江堰市| 龙里县| 泾阳县| 马鞍山市| 个旧市| 长治县| 调兵山市| 三穗县| 佛冈县| 醴陵市| 凤城市| 苏尼特左旗| 丹巴县| 云浮市| 合肥市| 太仓市| 石首市| 阜平县| 荆门市| 朝阳区| 新田县| 九台市| 全州县| 康乐县| 卢龙县| 福州市| 平舆县| 郑州市| 林周县| 五莲县| 桑日县| 银川市| 满洲里市| 蒙山县| 平南县| 梧州市| 昭平县| 诸暨市| 建宁县| 宽城|