當前位置:工程項目OA系統(tǒng) > 建筑OA系統(tǒng) > 工程項目管理軟件系統(tǒng)
綜合輔導之什么是軟件配置管理?
下面是軟件配置管理的一個權威定義:
“A discipline applying technical and administrative direction and surveillance to identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specified requirements.”
“一套應用技術上和管理上的指導和監(jiān)督的方法,用來:識別和記錄配置項的功能特征和物理特征;控制這些特征的變更;記錄和報告變更的處理和執(zhí)行的狀態(tài);以及驗證其符合特定的需求?!?BR> 如果你看得一頭霧水,別擔心,這不是你能力上的問題。大部分人和你的感受相同。這個定義,以及類似的權威定義,都高度抽象。用一兩句話,確實很難把握好軟件配置管理這個概念。需要更多的描述,才能把它說清楚。事實上,這一整本書,就是在認識和理解軟件配置管理。而在這一章中,我們將用一些我們相對熟悉的概念來打比方,做對比,來講解軟件配置管理這個概念。通過這樣一種方式,讓大家對軟件配置管理有一個初步的,但比較正確的認識。
與圖書管理作對比
軟件配置管理,是關于軟件資產(chǎn)的管理。什么是軟件資產(chǎn)呢?源代碼,設計文檔,可以運行的程序,這些在軟件研發(fā)過程中產(chǎn)生的有價值的東西,都是軟件資產(chǎn)。軟件配置管理就是關于這些內(nèi)容的管理。那么,具體有什么要管理的呢?讓我們把它和圖書館的圖書管理做個對比。
它們有一些相似點。首先,圖書管理管的是圖書資產(chǎn);軟件配置管理管的是軟件資產(chǎn)。這兩種管理,管的都是信息資產(chǎn)。其次,圖書管理,需要把圖書進行分類,以便檢索,需要將圖書存放在合適的地方,以便存取,還要防止蟲吃鼠咬;考試/大而軟件配置管理也類似,需要把軟件資產(chǎn)——主要是源代碼,放在合適的目錄結構里,放在合適的地方存儲,防止丟失或者弄亂。再次,在圖書館,要記錄誰借出了哪本書,還沒還。這是為了保證,圖書館的書不會丟失;
而軟件配置管理中也類似,需要記錄誰“借”出了什么文件,什么時候“還”的。在這一“借”一“還”的過程中,程序員修改了它,而軟件配置管理記錄下了這些修改。那么,為什么要記錄呢?
因為軟件資產(chǎn)與圖書資產(chǎn)不同,軟件資產(chǎn)在不斷變化,不斷演進。項目初始的時候,可能只有一份簡單的項目計劃,而項目結束時,已是可以交付給用戶的產(chǎn)品。如果縮小視野,單就某個源代碼文件來看,也會看到,通常它會在項目的某個時刻,被某個程序員創(chuàng)建第一個版本,然后,可能有不同的程序員,不斷修改它,產(chǎn)生新的版本。軟件配置管理關心:是不是這個文件的各個歷史版本應該被記錄,以便今后翻閱?是不是各次修改的修改者、修改的原因應該被記錄,以便將來可以理解當時的情形,理解為什么做出這樣的改動?更扣人心弦的是,當兩個人同時想要修改一個文件的時候,可能會導致其中一個人的改動丟失,也就是常說的版本覆蓋。那么,是讓他們一個改完了另一個再改呢,還是讓他們同時改,在將來合并?等等。
所以說,軟件配置管理是關于不斷演進的軟件資產(chǎn)的管理。
為什么稱作配置管理?
機器由零部件組成。例如,汽車一般由底盤、發(fā)動機、車身和電器設備四大部分組成。其中,汽車底盤一般包括傳動系、轉向系、制動系和行駛系。傳動系主要由離合器、變速器、傳動軸和減速器等部件組成。再往下,基本就是零件了。
機器由正確型號的零部件配置而成。每個零件都有型號、編號。零件組成的部件也有。一直到整個機器,一輛汽車。要保證制造出來的機器是正確的,就要保證選取了所有正確型號的零部件。那么,容易想到,應該有某種列表或文檔,標明各零部件型號和組成關系,也就是說,標明配置信息。而當配置有變動的時候,要更新這樣的列表或文檔。并且,這種變動不能隨隨便便,是否應該先讓總工程師批準?是否應該做相應的測試?這些都屬于對配置的管理。
從軟件配置管理的視角看,軟件也是這么配置起來的。往小了說,各個源代碼文件的正確版本配置在一起,編譯產(chǎn)生了正確的可運行程序。往大了說,若干軟件組件的特定版本,配置構成了特定的軟件產(chǎn)品。而有些軟件組件,可能參與了不止一個軟件產(chǎn)品的配置構成。而當某個軟件組件參與不止一個軟件產(chǎn)品的配置構成的時候,可能是這個軟件組件的同一個版本,也可能是不同版本??矗瑔栴}有多復雜!不管理怎么行!
軟件配置管理,與對機械系統(tǒng)的配置的管理相比,是有一些自己的特點的。主要有兩點:第一,軟件更容易發(fā)生變化,向前演進。一個程序員,修改一個Bug,可能5分鐘就搞定了,于是,5分鐘前與5分鐘后,已經(jīng)是不同的版本了。更何況,不止一個程序員在工作。如此快速的、眾多的變化,如果靠一個書記員手工記錄相關信息,那恐怕比較累。所以需要某種自動化的工具,提供這方面的支持。
第二,軟件的耦合性更高。當程序員為某個任務改動源代碼的時候,經(jīng)常要改動不止一個文件??荚?大在目錄結構上,這些文件可能相距遙遠。組件/模塊間的接口,往往并不像把鼠標線插到USB口上那么簡單。某個模塊的變化,常會影響到相關模塊這個特點,使得在軟件領域,需要格外關心整體性。要盡可能早的、盡可能頻繁的集成,保證產(chǎn)品作為整體,是可運行的。另一方面,一個模塊、一個源文件,可能被幾個程序員改動:出于不同的目的,改動不同的位置,甚至相同的位置。因此,版本更容易混亂,或相互覆蓋。需要軟件配置管理工具提供相應支持,提供便利,同時避免出現(xiàn)問題。
其它一些比喻
保險柜
軟件配置管理為軟件開發(fā)提供了一個保險柜。保險柜里,存的都是值錢的東西。存進保險柜,是因為怕自己不小心弄丟,或者被偷走。軟件資產(chǎn)也一樣,甚至比金戒指之類的更值錢。軟件資產(chǎn)也會丟失,特別是源代碼。比如,一個軟件項目完成后,如果沒有進行存儲/歸檔等工作,等再過幾個月,想基于版本1.0開發(fā)版本2.0的時候,可能會發(fā)現(xiàn)1.0的源代碼找不著了……無奈,只好從頭寫。這是自己不小心弄丟的情況。軟件資產(chǎn)還有可能被竊取或泄漏?;⒁曧耥竦母偁帉κ郑瑹o孔不入的商業(yè)間諜……所以,一定要把軟件資產(chǎn)放進類似保險柜的地方。
巖釘
這是來自攀巖者的經(jīng)驗。系上保險繩,每向上攀一小段,就在巖壁上打個巖釘。這樣,即使偶爾失手,也不會從半山墜到谷底,只是向下滑一小段。軟件開發(fā)也是一樣,適當?shù)谋4鏆v史版本,可以在失手的時候回退到上一個安全的地方。這里的版本,不僅僅指具體某個文件的版本,也指整個產(chǎn)品的版本。不僅指源文件,也包括需求、設計、測試用例……當我們關心軟件產(chǎn)品的部署和運行情況時,版本還意味著,某個軟件,上次安裝的版本是多少?這次升級到哪個版本?如果升級失敗,應該回退到上一個版本。
腳印
一步一個腳印。這有兩個含義。首先,先走好這一步,踩實了,踩穩(wěn)了,再走下一步。軟件研發(fā)也是這樣,需要里程碑;需要基線;需要每個迭代結束時,內(nèi)部或外部的發(fā)布。這些是項目的腳印。在每個腳印處,我們要認真檢查,是不是踩實踩穩(wěn)了。這可能是通過相關人員的評審,領導的審批,可能是通過軟件測試,也可能是通過某些檢查。
其次,一個個的腳印,就構成了足跡。它告訴我們,我們是如何一路走來的,走的是哪條路。必要的時候,我們可能會回顧。還有可能,我們會回到半路,以便從那里再闖一條新路出去。對應到軟件開發(fā),我們就是要保存歷史上的版本,已備將來的不時之需。
好了好了,據(jù)說所有的類比和比喻都是蹩腳的。軟件配置管理是什么?軟件配置管理就是軟件配置管理。如果再多說幾句,那就是:它是關于不斷演進的軟件資產(chǎn)的管理。這涉及到存儲和安全;涉及到記錄它演進的歷史;涉及到讓修改和變更井然有序,避免出現(xiàn)版本丟失、版本覆蓋等混亂情況;涉及到保證軟件代碼集成在一起的質(zhì)量……讓我們在隨后的章節(jié)里,更細致地學習和研究吧!
項目管理師考試資料庫
點擊進入:考試大項目管理師考試在線模擬測試
考試大項目管理師考試網(wǎng)校課堂
- 1夢龍項目管理軟件
- 2禪道項目管理軟件
- 3項目管理軟件下載
- 4開源項目管理系統(tǒng)下載
- 5多項目管理
- 6項目管理
- 7項目管理系統(tǒng)
- 8項目管理操作
- 9好用的項目管理
- 10哪家項目管理好
- 11工程項目管理實施
- 12項目管理軟件調(diào)研
- 1監(jiān)理工程師《建設工程質(zhì)量控制》復習重點(26)
- 2一分成本就是兩分利潤 初創(chuàng)企業(yè)花錢需謹慎
- 3[四川]行車道寬3.75×2m隧道竣工圖131張(結構排水裝修監(jiān)測)
- 4施工現(xiàn)場食堂管理制度有哪些?
- 5造價工程師工程計價復習要點:安拆費
- 6福建省3年內(nèi)將陸續(xù)建成11條鐵路 投入逾9700億
- 7黑龍江2015年注冊造價工程師考試科目
- 8低成本如何開家化妝品專賣店?
- 9湖北枝城水土流失現(xiàn)狀調(diào)查及應對措施
- 102011一級建造師專業(yè)工程管理與實務(機電)試題15
- 11淺議節(jié)能健康與清洗空調(diào)機
- 12【碩士】高校新校區(qū)建設與管理的分析與探討
- 13混凝土攪拌站微機控制系統(tǒng)的詳細解讀
- 14太原某工程框架結構模板工程施工技術交底(依據(jù)2002質(zhì)量驗收規(guī)范編制)
- 15膠粘劑的環(huán)保問題與對策
- 162015年消防工程師二級消防安全技術綜合能力簡答模擬題(4)
- 17商品混凝土攪拌站在使用過程中應遵循的注意事項
- 18焊接基礎知識培訓(圖文并茂 詳細全面)
- 192015年監(jiān)理工程師《投資控制》每日一練(4.15)
- 20中鐵十四局集團張?zhí)畦F路項目部召開工程推進會
- 21山東無棣建設工程項目實現(xiàn)網(wǎng)上審批
- 22內(nèi)蒙古造價員考試報名條件
- 23[重慶]市政道路維修改造施工圖設計26張(路面雨水口護欄)
- 24泵送混凝土結構工程施工技術交底
- 25回填土下沉有哪些預防措施
- 26淺論混凝土渠道防滲凍害產(chǎn)生的原因分析和防治維修
- 27招標師法規(guī)輔導:民法通則的基本原則
- 28二級消防工程師消防安全技術綜合能力簡答題集15
- 29關于工作流程與工作流程圖的說法,正確的是什么
- 302015二級建造師《建筑工程》:勞務分包合同
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓