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

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  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 會飛的兔子 閱讀(548) 評論(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| 午夜精品国产更新| 欧美巨乳在线| 欧美国产精品人人做人人爱| 韩国精品在线观看| 亚洲免费视频成人| 亚洲欧美第一页| 欧美日韩中文字幕| 欧美激情视频一区二区三区免费 | 亚洲精品乱码久久久久| 欧美亚洲网站| 欧美在线观看一区二区| 国产精品二区在线观看| 亚洲激情网站免费观看| 亚洲国产精品va在线观看黑人| 亚洲欧美在线免费| 性欧美长视频| 国产欧美日韩视频一区二区| 亚洲制服丝袜在线| 亚洲自拍偷拍麻豆| 国产精品成av人在线视午夜片| 99精品国产在热久久婷婷| 一本色道久久88精品综合| 欧美精品91| 亚洲国产精品热久久| 亚洲国产日本| 欧美精品日本| 亚洲国内在线| 亚洲狼人综合| 欧美日韩免费观看一区| 亚洲理论在线观看| 中文网丁香综合网| 国产精品高潮久久| 一本久道综合久久精品| 亚洲一级片在线看| 国产精品久久久久影院色老大| 亚洲一区二区欧美日韩| 亚洲永久免费| 国产日韩欧美一区二区| 久久黄色级2电影| 久久久久免费| 亚洲丶国产丶欧美一区二区三区| 免费中文字幕日韩欧美| 欧美国产精品人人做人人爱| 91久久中文字幕| 欧美日韩激情小视频| 亚洲免费精彩视频| 午夜国产欧美理论在线播放| 国产伦精品一区二区三区视频孕妇| 亚洲在线播放| 久久精品国产免费| 亚洲国产日韩一区| 欧美视频在线一区二区三区| 亚洲专区一区二区三区| 久久精品视频免费观看| 亚洲欧洲一二三| 欧美日一区二区在线观看 | 欧美一区免费| 久久手机免费观看| 亚洲精品永久免费精品| 欧美日韩一区二区三区四区在线观看 | 欧美视频一区二区三区在线观看| 亚洲欧美日韩精品久久亚洲区 | 亚洲在线观看免费| 欧美77777| 性欧美超级视频| 亚洲人人精品| 国产无遮挡一区二区三区毛片日本| 久久亚洲影院| 在线性视频日韩欧美| 欧美freesex8一10精品| 欧美一区二区三区四区在线| 亚洲电影下载| 国产一区二区视频在线观看| 欧美日韩亚洲综合在线| 久久夜色精品国产欧美乱极品| 亚洲视频免费在线| 亚洲黑丝在线| 老司机免费视频久久| 亚洲欧美日韩在线一区| 亚洲日本中文| 国内精品久久久| 国产精品电影在线观看| 欧美激情综合五月色丁香| 久久九九热免费视频| 中文日韩欧美| 亚洲美女区一区| 欧美高清不卡在线| 狂野欧美激情性xxxx欧美| 午夜精品理论片| 亚洲一区二区三区欧美| av成人老司机| 91久久综合亚洲鲁鲁五月天| 好吊一区二区三区| 好吊视频一区二区三区四区| 国产精品伊人日日| 国产精品亚洲一区| 国产精品一区免费在线观看| 欧美小视频在线观看| 欧美视频亚洲视频| 国产精品爱久久久久久久| 欧美久久视频| 欧美激情欧美狂野欧美精品| 欧美成人午夜免费视在线看片 | 欧美午夜视频| 国产精品福利影院| 国产精品久久久久久一区二区三区| 欧美日韩一区二区三区在线观看免| 欧美成熟视频| 欧美日韩精品是欧美日韩精品| 欧美日韩精品三区| 国产精品第三页| 国产精品v欧美精品∨日韩| 国产精品成人在线| 国产日韩在线视频| 一区在线视频观看| 亚洲福利视频网站| 一本久久综合亚洲鲁鲁五月天| 亚洲天堂网在线观看| 亚洲欧美日韩中文在线制服| 欧美中文日韩| 久久综合亚洲社区| 欧美国产视频在线| 亚洲另类视频| 午夜精品网站| 美女黄色成人网| 欧美日韩精品三区| 国产私拍一区| 亚洲国产精品电影在线观看| 99亚洲视频| 欧美一区激情| 欧美国产三级| 亚洲性xxxx| 久久久国产午夜精品| 欧美福利在线观看| 欧美日韩在线亚洲一区蜜芽| 国产午夜精品美女毛片视频| 亚洲国产精品高清久久久| 一区二区三区 在线观看视频| 欧美一站二站| 欧美激情亚洲| 亚洲综合色婷婷| 欧美va亚洲va香蕉在线| 国产精品久久久久免费a∨| 在线观看视频一区二区欧美日韩| 99re热精品| 久久免费的精品国产v∧| 亚洲国产精品福利| 野花国产精品入口| 久久久精品动漫| 欧美性色综合| 亚洲激情黄色| 午夜欧美大尺度福利影院在线看| 欧美大片免费久久精品三p | 欧美一区二区三区视频在线| 欧美精品一区二区在线观看 | 一区二区三区四区国产| 久久久久成人精品| 亚洲日本成人网| 久久久青草青青国产亚洲免观| 欧美日韩亚洲系列| 亚洲高清在线| 久久福利资源站| 日韩一级免费观看| 免费看精品久久片| 韩日午夜在线资源一区二区| 亚洲影院免费| 亚洲精品永久免费精品| 另类欧美日韩国产在线| 国产亚洲电影| 欧美永久精品| 亚洲视频999| 欧美日韩成人网| 亚洲日本理论电影| 欧美成人久久| 久久久久久久精| 国产日韩av高清| 小处雏高清一区二区三区| 一本久道久久久| 欧美日韩精品一区二区在线播放| 亚洲级视频在线观看免费1级| 久久视频免费观看| 欧美在线日韩在线| 国产一区二区剧情av在线| 午夜精品亚洲| 亚洲制服丝袜在线| 国产精品美女999| 亚洲欧美国产不卡| 亚洲午夜激情在线| 国产精品久久久久永久免费观看 | 久久免费精品视频| 欧美一区二区三区在| 国内精品久久久| 欧美/亚洲一区| 欧美不卡三区| 一区二区三区免费网站| 日韩视频免费观看|