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

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  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 會飛的兔子 閱讀(547) 評論(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>
            国产日产欧美精品| 91久久中文| 国产午夜精品久久久| 欧美日韩福利| 欧美亚州韩日在线看免费版国语版| 欧美成人免费视频| 欧美激情第8页| 欧美性色aⅴ视频一区日韩精品| 国产精品爱久久久久久久| 国产精品视频一区二区三区| 国产婷婷色一区二区三区四区| 激情久久久久久久| 亚洲精品美女久久久久| 国产精品99久久久久久有的能看 | 性做久久久久久| 久久精品一区二区三区不卡| 欧美国产日韩一二三区| 国产老女人精品毛片久久| 亚洲福利视频三区| 亚洲视频导航| 蜜桃av一区| 亚洲一区二区免费在线| 麻豆免费精品视频| 欧美三级电影大全| 黄色成人在线网站| 亚洲一区二区三区四区中文| 久久影视三级福利片| 在线性视频日韩欧美| 久久综合久久综合久久综合| 国产精品久久网站| 最近中文字幕日韩精品| 欧美一区二区三区在线观看视频| 欧美国产一区二区| 亚洲影视在线| 欧美精品自拍偷拍动漫精品| 韩国一区二区在线观看| 亚洲女女女同性video| 欧美二区在线| 久久久999精品| 国产日韩精品一区| 亚洲欧美日韩中文视频| 亚洲三级免费| 久久全球大尺度高清视频| 国产精品入口福利| 亚洲视频高清| 亚洲精品一二| 欧美激情片在线观看| 亚洲国产成人porn| 免费成人av资源网| 久久久综合激的五月天| 国产亚洲福利| 久久av一区二区三区| 亚洲男人第一网站| 国产精品美女一区二区| 亚洲第一网站免费视频| 亚洲专区在线视频| 亚洲美洲欧洲综合国产一区| 欧美成人免费全部| 亚洲二区在线| 欧美成人免费网站| 久久综合久久久久88| 在线欧美一区| 欧美激情在线观看| 欧美freesex交免费视频| 在线欧美视频| 欧美电影免费观看大全| 免费欧美电影| 亚洲国产欧美一区| 亚洲国产精品久久人人爱蜜臀| 久久久www成人免费毛片麻豆| 国产一区在线视频| 久久午夜视频| 麻豆久久精品| 亚洲裸体俱乐部裸体舞表演av| 欧美国产精品v| 欧美成在线观看| 在线中文字幕一区| 99香蕉国产精品偷在线观看| 国产精品男人爽免费视频1| 销魂美女一区二区三区视频在线| 亚洲影院免费观看| 狠狠色伊人亚洲综合网站色| 欧美成人免费在线观看| 欧美金8天国| 国内免费精品永久在线视频| 欧美1区3d| 欧美国产日韩一区二区| 亚洲一区在线播放| 久久久久国产精品www| 亚洲精品乱码视频| 亚洲一区二区三区精品在线| 国内精品伊人久久久久av一坑| 亚洲国产一区二区三区青草影视| 欧美特黄视频| 欧美电影免费观看高清完整版| 欧美色综合天天久久综合精品| 久久久久久穴| 欧美日韩在线看| 免费精品视频| 国产精品毛片高清在线完整版| 麻豆av福利av久久av| 欧美日韩国产页| 狂野欧美激情性xxxx欧美| 欧美日本在线观看| 久久精品亚洲| 国产精品videosex极品| 欧美电影打屁股sp| 国产欧美日韩在线视频| 日韩天堂在线观看| 亚洲黄色大片| 欧美一区二区三区在线看| 一区二区日韩伦理片| 久久嫩草精品久久久精品一| 国产精品爱啪在线线免费观看| 久久综合久久综合这里只有精品 | 欧美在线高清| 欧美经典一区二区| 久久亚洲精品伦理| 国产精品日韩精品欧美精品| 欧美成人免费在线观看| 国产日韩欧美电影在线观看| 一区二区三区四区精品| 日韩一区二区久久| 老鸭窝91久久精品色噜噜导演| 欧美一区二区三区电影在线观看| 欧美精品国产一区| 亚洲电影在线免费观看| 精品av久久久久电影| 欧美亚洲一区二区在线观看| 亚洲一区在线观看视频| 欧美精品国产精品| 亚洲第一在线视频| 亚洲国产欧美在线人成| 久久亚洲国产精品一区二区| 国内精品久久久久伊人av| 亚洲免费一在线| 性欧美1819sex性高清| 国产精品va| 亚洲一区二区三区免费观看| 亚洲私人影院| 国产精品九九久久久久久久| 亚洲深夜福利在线| 新片速递亚洲合集欧美合集 | 激情五月婷婷综合| 久久精品1区| 蜜臀av性久久久久蜜臀aⅴ四虎| 韩国av一区二区三区在线观看| 欧美一区日本一区韩国一区| 噜噜爱69成人精品| 亚洲国产精品女人久久久| 久久久久久欧美| 亚洲精品日本| 欧美精品一区二区蜜臀亚洲| 亚洲人成网站999久久久综合 | 久久免费一区| 亚洲成人在线免费| 免费观看久久久4p| 亚洲人成网站在线播| 亚洲一区二区三区四区中文| 国产精品手机视频| 久久精品国产亚洲一区二区三区| 蜜臀a∨国产成人精品| 亚洲国产欧美在线人成| 欧美精品一区二区精品网 | 国产日韩欧美| 久久综合亚州| 亚洲免费观看高清完整版在线观看| 在线亚洲国产精品网站| 国产免费成人av| 美脚丝袜一区二区三区在线观看| 亚洲精品在线二区| 欧美中文字幕视频在线观看| 欧美色视频在线| 久久久噜噜噜久久中文字免| 日韩视频欧美视频| 久久久www成人免费毛片麻豆| 亚洲国产经典视频| 免费观看一区| 国产精品va在线| 久久精品视频在线看| 亚洲第一视频| 久久精品一区二区| 一区二区三区高清不卡| 国产日产欧美精品| 欧美日韩精选| 蜜桃av综合| 久久电影一区| 制服丝袜亚洲播放| 欧美激情免费观看| 久久av资源网| 亚洲午夜激情网站| 韩国v欧美v日本v亚洲v| 欧美日韩免费高清| 久久米奇亚洲| 欧美一区二区三区视频在线 | 一区二区三区在线视频免费观看| 欧美日本视频在线| 欧美成人日本| 美日韩丰满少妇在线观看| 性欧美videos另类喷潮|