青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評論

閱讀排行榜

評論排行榜

配置管理的精髓  

2012-05-30 18:00:46|  分類: 配置管理 |  標簽:配置管理  
|字號 訂閱

配置管理的精髓 
貝爾實驗室先進技術研究院   姜海東

       隨著國內軟件業的崛起和成熟,軟件配置管理越來越得到重視。可以說,軟件業要想更好的發展,沒有軟件配置管理的支持是不可能的。手工作坊式的軟件開發模式將會成為歷史,如何把國外成熟的軟件配置管理理論和經驗消化吸收,進而應用到國內軟件開發中就成為國內軟件業迫在眉睫的任務了。 
       軟件配置管理是管理和技術相結合的一門學科。應該說,軟件配置管理理論難以理解是其難以實踐的原因。本文試從基本概念的角度來探討這門對軟件開發具有重要意義的領域。


什么是配置管理 
       在軟件開發中,變更是不可避免的。從某種角度上講,軟件開發過程就是一個變更的過程。有些變更是有益的,是具有創造性的,但是,也有些變更是有害的,導致混亂的。正像James Bach 總結的那樣: 
        我們為變更所困擾,因為代碼中的一個極小的混亂可能帶來產品的大的故障,但是,他也能夠修復大的故障或啟用奇妙的新能力。我們為變更所困擾,因為某個喜歡惡作劇的單個開發者可能破壞掉項目,但是,一些奇妙的思想也源自那些喜歡惡作劇的人員。 
        因此,如何管理這些變更是一個軟件開發能否成功的關鍵。簡言之,軟件配置管理就是管理變更的過程,它貫穿著幾乎軟件的整個生命周期。成功的配置管理系統可以提高產品的質量、項目開發效率,而且最大限度的減少對個別“英雄”式人員的依賴。 
        盡管配置管理(Configuration Management )這個概念被提出有幾十年了,但是,業內還沒有一個全面而權威的定義。Configuration 的意思是“使成形”,它來源于拉丁語的com-(表示“與”或者“一起”)和figurate ( 形成) 。它還有一個意思是“組成部件或元素的相對排列”。因此,配置管理(ConfigurationManagement )指的是管理組成部件或者元素的相對排列。 
        配置管理的概念來自于硬件領域,美國國防部最早使用了配置管理的概念。我們知道一架飛機的構成非常復雜,比如機頭、機身、機翼和機尾等。不同型號飛機的各個部分是不能隨便組裝的。因此,我們只有把相匹配的部件組裝在一起,才能構成了一個功能完備的飛機整體。隨著技術的提高,各個部件可能還要進行功能改善,我們還要使得不同版本的部件能夠正確無誤組合在一起。 
準確地說:  
       配置管理是對產品進行標識、存儲和控制,以維護其完整性、可追溯性以及正確性的學科。 
從上面的描述,我們知道,配置管理的基本單位是配置項。軟件配置項可以是:

  •  與合同、過程、計劃和產品有關的文檔和數據
  • 源代碼、目標代碼和可執行代碼
  • 相關產品,包括軟件工具、庫內的可復用軟件、外購軟件及用戶提供的軟件

 
  從“哲學”意義上講,配置管理記錄配置項的三個方面: 

  • 從哪里來?此項可歸結為WWW 的問題,(Who)誰創建的?(When)什么時間創建的?(Why)為什么創建此配置項?
  • 當前在哪里?此項紀錄配置項當前的存儲位置以及狀態。
  • 將到哪里去?通過配置控制來把配置項“組裝”到正確的版本中去。

 
       配置項可以是大粒度的,也可以是小粒度的。如果跟蹤個別需求,那么不必要把整個需求規格說明文檔定義為一個配置項,可以把每個需求定義為配置項;如果把軟件開發工具也放入配置管理系統,那么把配置項定義為文件級就不合適了,只需要跟蹤開發工具的版本,即把整個配置工具定義為一個配置項就足夠了。 
       簡而言之,配置項可以是文件級粒度的,也可以使文件版本級粒度的。當然,粒度越小管理的成本越高,但是配置的精度也就越高。 
一個完整的SCM系統要具有三個核心功能:配置標識、版本控制、變更控制、配置狀態統計和配置審核。其中變更控制包括基線管理、變更請求管理、構建管理和發布管理。如下圖所示。 

下面,我們來具體理解這些概念。 
 
配置標識 
       配置標識就是識別產品的結構、產品的構件及其類型,為其分配唯一的標識符,也就是說,每一個配置項要有一個唯一標識。一般說來,標識包括兩個方面:一是文件名,二是版本,可用如下一個二元組來標識:< 文件名,版本> 。每個項目首先要確定一套命名規則,例如,采用“系統.子系統.模塊.文件”的方式,</videoConference/audio/compressing/m a in.c , 2.1>就是一個唯一標識。 
 
版本控制 
       版本控制就是對在軟件開發過程中所創建的配置對象的不同版本進行管理,保證任何時候都能取到正確的版本以及版本的組合。當前,這方面典型的工具有如VSS 和CVS 。


變更控制 
       在軟件開發過程,要產生許多變更,比如,配置項、配置、基線、構建的版本、發布版本等。對于所有的變更,都要有一個控制機制,以保證所有變更都是可控的、可跟蹤的、可重現的。對變更進行控制的機構稱為變更控制委員會(Change Control Board,簡稱
CCB )。變更控制委員會要定期召開會議,對近期所產生的變更請求進行分析、整理,并做出決定。而且要遵循一定的變更機制。 
  
下面是一個典型的變更機制:  
變更請求管理 
       變更請求管理就是對變更請求(Change Request,簡稱CR)進行分類、追蹤和管理的過程來實現的。 
       變更的起源有兩種:功能變更和缺陷修補(Bug-Fix)。功能變更是為了增加或者刪除某些功能。缺陷修補則是對已存在的缺陷進行修補。 
       對變更請求的有效管理可以提高產品管理的透明度,經理可以清楚的知道當前產品的進展情況,比如有多少個新產生的CR,已經解決了多少CR等等,有利于經理做出正確的決策。 
 
基線管理 
       基線是指經過正式評審和批準,可作為下一步工作的基準的一個配置。軟件開發過程中,無論是需求分析、設計、測試都需要在完成時建立基線,以作為下一步工作的基礎。

       通過基線管理可以使用戶能夠通過對適當版本的選擇來組成特定屬性(配置)的軟件系統,這種靈活的“組裝”策略使得配置管理系統象搭積木似的使用已有的積木(版本)組裝成各種各樣、不同功能的模型。 
       基線的變更需要一個嚴格的流程,需要提出申請,經過審批,然后才能進行。 
構建管理 
       在做構建時,我們需要首先取出正確的配置,然后再做構建。我們可以利用基線,可以取出某個基線的所有配置項,也可以利用配置管理系統的構建功能直接在工作空間內做構建。 
       構建管理需要配置管理工具的支持。 
發布管理 
       軟件產品的每個版本都是一組配置項(源代碼、文檔、數據)的集合。舉個例子來說,我們要發布軟件的32.6 版本,那么我們就要把源代碼、文檔、數據中所有應該包含到這個版本中的正確配置項檢出。 
       所以如何管理每個版本中包含哪些配置項是非常重要的。  
狀態報告 
狀態報告要回答所謂4W 的問題: 
What:發生了什么事? 
Who:誰做的此事? 
When:此事是什么時候發生的? 
Why:為什么做此事? 
狀態報告要能夠報告所有配置項以及變更請求的狀態,通過量化的數據和報表反映項目開發進度的狀態。 
配置審核 
       配置審核要審查整個配置管理過程是否符合規范,配置項是否與需求一致,記錄正確,配置的組成是否具有一致性等等。比如,需求分析文檔提交后,需要由一個由相關人組成的小組進行正式評審,只有通過了評審才能基線化。對于源代碼也一樣,一般說來,每行代碼都要進行評審(Review),只有通過評審才能交由測試人員進行測試。 
實施配置管理的好處 
       我們知道軟件有三個要素:時間、預算和質量。一個成功的軟件就是要在限定的時間內,不超過預算,交付符合質量要求的產品。真正實施配置管理后,我們會對產品的開發過程進行有效的控制,可以加快開發進度,降低開發成本,保證產品的質量。 
產品經理可以得到什么好處呢? 

  • 準確掌握項目的開發進度。配置管理系統可以提供詳盡的狀態報告,例如當前系統有多少個Bug,所有Bug 的狀態如何?已經解決了多少Bug?
  • 了解項目組成員的工作負荷、工作效率以及工作質量。例如,我們可以知道當前分配給每個成員的工作量,每個成員已完成的工作量,每個成員未通過正式評審的工作比例等等。
  • 減少人員流動所帶來的影響。每個成員的所有變更,包括文檔、代碼的增刪都是可追蹤的,而且對于變更的原因、描述也都有記錄。這樣,一旦成員離開,其它成員就可以在最短的時間里接手。
  •  有效提高過程管理,配置管理產生的許多數據可作為管理者度量項目的依據。


開發人員和測試人員可以得到什么好處呢?

  •  提交的代碼被有效保存,開發人員再也不用花費精力去保存各個版本了。
  •  提高團隊的協作效率。開發人員之間以及開發人員和測試人員之間可以有效的溝通,大家都互相知道其它人的工作狀態。
  •  提高修復缺陷的效率。可以依據Bug 發現的版本,迅速重建環境,重現Bug,快速定位代碼,找出根源。
  • 職責清楚,任務明確。每一步的工作都是基于某一基線的,比如,設計文檔是依據基線化了的需求分析文檔,這樣一旦出現問題,就可以找出問題出在什么地方。


 
      當然,實施配置管理的好處遠不止這些。軟件配置管理作為軟件開發的基石,它提供了一個協作開發的環境,只有大家共同遵守配置管理規范,互相協作才能保證項目的成功。 
 
結束語 
 
       配置管理本身無論從理論和實踐都在不斷豐富和發展。例如,配置管理應用于“知識庫”的管理就產生了“內容管理”這一新的領域。配置管理提供的狀態報告和數據統計也為軟件度量提供了決策依據。配置管理為項目管理提供了各種監控項目進展的視角,為項目經理確切掌握項目進程提供了保證。配置管理也為開發人員提供了一個協作的平臺,在此平臺上,大家能夠更有效率的交流和協作。可以說,配置管理是軟件開發的基石! 
       配置管理近年來在中國得到了極大的認可,可以毫不夸張的說,沒有配置管理,就談不上軟件開發,就談不上軟件質量,就談不上軟件業的發展。隨著軟件業規模的擴大,配置管理的實施不是要不要的問題,而是什么時間、如何實施的問題了。 
參考文獻: 
Babich, W.A., Software Configura tion Management, Addison-Wesley, 1986. Peter H. Feiler, Configuration Management Models in Commercial Environment, CMU/SEI-91-TR-7, 1991.4 
 
作者簡介:2000年在北方交通大學獲工學碩士學位。現供職于朗訊科技(中國)有限公司貝爾實驗室先進技術研究院,從事配置管理系統的研究和開發,有四年多的配置管理領域開發、咨詢、培訓經驗。

轉自:http://blog.163.com/wangdan10799@126/blog/static/10230093201243054322378/
posted on 2013-08-09 11:32 會飛的兔子 閱讀(541) 評論(0)  編輯 收藏 引用 所屬分類: 開發過程管理
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲性图久久| 久久蜜桃精品| 久久久久久久久久久成人| 亚洲一区在线免费| 亚洲永久视频| 性欧美大战久久久久久久免费观看 | 亚洲你懂的在线视频| 亚洲一区二区视频| 欧美在线欧美在线| 久久综合九色综合久99| 欧美激情第3页| 99re在线精品| 午夜精品美女久久久久av福利| 欧美一区=区| 麻豆精品一区二区av白丝在线| 欧美sm视频| 国产精品久久久久一区二区| 国产精品久久久久久久久久久久久久 | 亚洲美女免费视频| 亚洲欧美日韩综合| 免费影视亚洲| 亚洲视频在线播放| 卡通动漫国产精品| 国产精品视频一二三| 在线精品在线| 亚洲欧美日韩综合aⅴ视频| 欧美肥婆bbw| 羞羞答答国产精品www一本| 欧美成人首页| 黄色成人av在线| 亚洲欧美综合精品久久成人 | 亚洲婷婷国产精品电影人久久| 欧美在线视频二区| 欧美视频二区| 亚洲日产国产精品| 久久亚洲不卡| 香港久久久电影| 欧美日韩三级视频| 亚洲国产小视频| 久久精品国产成人| 一区二区日韩精品| 欧美精品一区二区三区蜜臀| 激情成人av在线| 久久久久综合一区二区三区| 亚洲免费不卡| 久久综合伊人| 国产一区二区三区日韩欧美| 亚洲小少妇裸体bbw| 亚洲福利久久| 亚洲一区二区欧美日韩| 欧美激情1区2区3区| 黄色一区二区在线| 久久精品日韩| 午夜精品美女久久久久av福利| 欧美日韩亚洲精品内裤| 亚洲国产精品一区二区久| 久久精品亚洲精品| 午夜免费日韩视频| 国产麻豆日韩欧美久久| 亚洲女同性videos| 亚洲午夜av在线| 国产精品乱子久久久久| 亚洲天堂偷拍| 一区二区国产在线观看| 欧美色123| 亚洲一区三区视频在线观看| 亚洲精品国产精品国产自| 欧美二区在线播放| 亚洲免费福利视频| 日韩小视频在线观看专区| 欧美日韩在线亚洲一区蜜芽| 中文国产一区| 亚洲一区二区三区精品在线观看| 欧美亚州一区二区三区| 亚洲一区二区在线播放| 亚洲主播在线| 狠狠色综合日日| 欧美激情一区二区| 欧美日韩美女一区二区| 亚洲视频一区二区| 亚洲欧美电影院| 国内成+人亚洲+欧美+综合在线| 久久人体大胆视频| 美女国产精品| 亚洲一区二区久久| 性高湖久久久久久久久| …久久精品99久久香蕉国产| 欧美激情五月| 国产精品久久久久av| 久久婷婷国产综合国色天香| 欧美成人中文| 性娇小13――14欧美| 久久久久在线观看| 亚洲午夜成aⅴ人片| 欧美诱惑福利视频| 亚洲精美视频| 亚洲一区二区三区在线视频| 黄色成人在线观看| 一片黄亚洲嫩模| 在线观看亚洲一区| 亚洲一二三区在线观看| 亚洲国产精品v| 一区二区三区四区五区视频| 黄色免费成人| 亚洲特黄一级片| 久久亚洲精品一区二区| 欧美日韩一区二区三区四区在线观看 | 9l视频自拍蝌蚪9l视频成人| 国产婷婷97碰碰久久人人蜜臀| 欧美成人网在线| 国产精品夜色7777狼人| 亚洲国产精品成人综合色在线婷婷 | 久久久亚洲午夜电影| 欧美精品麻豆| 久热精品视频在线| 欧美日韩免费在线观看| 免费试看一区| 国产午夜亚洲精品不卡| 日韩视频在线观看| 亚洲黄色成人久久久| 西西人体一区二区| 亚洲婷婷国产精品电影人久久 | 欧美人妖在线观看| 免费不卡在线视频| 国产亚洲欧美日韩美女| 一区二区欧美亚洲| 一区二区三欧美| 蜜臀av国产精品久久久久| 久久女同互慰一区二区三区| 国产精品视频最多的网站| 日韩一区二区福利| 一区二区三区高清在线观看| 免费视频一区| 免费日韩av电影| 伊人成综合网伊人222| 欧美在线视频播放| 久久九九久久九九| 国产亚洲欧美激情| 欧美专区在线观看| 久久欧美中文字幕| 一区二区三区在线不卡| 久久精品一区四区| 久久综合一区二区三区| 国语自产精品视频在线看一大j8| 亚洲欧美日韩在线高清直播| 午夜伦理片一区| 国产乱肥老妇国产一区二| 亚洲一区二区成人在线观看| 亚洲欧美日韩国产一区| 国产精品午夜在线| 久久精品成人一区二区三区蜜臀| 久久综合电影| 亚洲激情社区| 欧美日韩精品系列| 亚洲一区日韩| 麻豆av一区二区三区| 亚洲国产乱码最新视频| 欧美精品乱码久久久久久按摩| 一区二区三区 在线观看视频| 亚洲自拍偷拍视频| 国产精品羞羞答答| 久久久久久久综合狠狠综合| 欧美激情aⅴ一区二区三区| 一本久道久久综合婷婷鲸鱼| 欧美日韩在线看| 麻豆91精品91久久久的内涵| 老牛影视一区二区三区| 亚洲精品1区2区| 亚洲女ⅴideoshd黑人| 国产午夜精品久久久久久久| 久久久亚洲高清| 亚洲高清视频一区| 亚洲欧美www| 国产日韩欧美在线观看| 另类尿喷潮videofree| 日韩一级二级三级| 久久蜜桃香蕉精品一区二区三区| 亚洲国产合集| 国产精品久久久久久户外露出| 香蕉久久一区二区不卡无毒影院| 美女脱光内衣内裤视频久久网站| 亚洲美女淫视频| 国产欧美日韩一区二区三区| 美女视频黄免费的久久| 亚洲影视综合| 亚洲激情校园春色| 久久久91精品国产一区二区精品| 亚洲精品欧洲精品| 国产一区二区三区在线观看精品 | 国产日本欧美一区二区| 欧美电影在线观看完整版| 午夜欧美大片免费观看| 亚洲精品一区二区三区av| 麻豆av一区二区三区| 欧美伊久线香蕉线新在线| 99在线视频精品| 亚洲福利在线看| 国内精品久久久久久久影视蜜臀 | **网站欧美大片在线观看| 国产精品九九久久久久久久|