版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、軟件配置管理軟件配置管理 對軟件成果的有效保護對軟件成果的有效保護 林林 銳銳 博士博士上上 海海 漫漫 索索 計計 算算 機機 科科 技技 有有 限限 公公 司司page 2) 目錄目錄1. 什么是軟件配置管理什么是軟件配置管理 2. 為什么需要配置管理為什么需要配置管理3. 人的問題人的問題4. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:概念與流程概念與流程 5. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:配置管理計劃配置管理計劃 6. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:版本控制規(guī)則版本控制規(guī)則 7. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:變更控制規(guī)則變更控制規(guī)則 8. 軟件配置管理規(guī)范:軟件配置管理
2、規(guī)范:配置庫操作配置庫操作 9. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:配置審計配置審計 10. 常用配置管理工具常用配置管理工具參考書:軟件工程與項目管理解析,林銳參考書:軟件工程與項目管理解析,林銳 著,電子工業(yè)出版社,著,電子工業(yè)出版社,2003page 3) 1. 什么是軟件配置管理什么是軟件配置管理 1.1 懺悔錄懺悔錄 曾經(jīng)有一個很好的配置管理工具在我面前,我沒有理睬,直到版本混亂的時候才后悔莫及,工作中最大的痛苦莫過于此,如果上天再給我一次機會的話,我向對它說三個字:我要你。如果非得加一個期限的話,我希望是一輩子。 1.2 概念概念u不要和“計算機零配件組裝”搞混淆。u軟件配置管理
3、(software configuration management, scm)是指通過執(zhí)行版本控制、變更控制等規(guī)程,以及使用合適的配置管理軟件,來保證所有配置項的完整性和可跟蹤性。配置管理是對工作成果的一種有效保護。 u配置管理與任何一位項目成員都有關系,因為每個人都會產(chǎn)生工作成果。配置管理是否有成效取決于三個要素:人、規(guī)范、工具 page 4) 1. 什么是軟件配置管理什么是軟件配置管理 1.3 配置管理的商業(yè)理念配置管理的商業(yè)理念 u企業(yè)的商業(yè)需求決定了配置管理的力度,我們不必追求完美無缺的配置管理,而是讓開發(fā)團隊恰好夠用就行,并將為配置管理所付出的代價控制在預算之內(nèi)。 u富有成效的配置
4、管理的特征: 任何項目成員都要對其工作成果進行配置管理,應當養(yǎng)成良好的習慣。不必付出過多的精力,最低要求是保證重要工作成果不發(fā)生混亂。 配置管理規(guī)范應當清晰明了,便于執(zhí)行,不必在細節(jié)方面要求太多,不給項目人員添加過多的負擔,不使人厭煩。 選擇配置管理工具應當綜合考慮價格、易用性和功能因素,而不是購買最先進的工具。令人滿意的工具通常是價格低廉、簡便易用、功能恰好夠用。 ucmm/cmmi對配置管理過程域論述得十分清楚詳細,假設完全按照cmm/cmmi的要求執(zhí)行的話,你可以得到100分(滿分)的配置管理成績。出于商業(yè)利益考慮,我不向往出于商業(yè)利益考慮,我不向往100分的成績,因為代價太高了。我更愿
5、意付出前者的分的成績,因為代價太高了。我更愿意付出前者的30左右代價獲取左右代價獲取6070分(及格)的成績,這樣最劃算。分(及格)的成績,這樣最劃算。70100分的配置管理成績對于大部分商業(yè)軟件而言沒有多少意義,那屬于錦上添花,如分的配置管理成績對于大部分商業(yè)軟件而言沒有多少意義,那屬于錦上添花,如果我們沒有足夠的精力的話,那么就以最低的代價達到及格分數(shù)就行了。果我們沒有足夠的精力的話,那么就以最低的代價達到及格分數(shù)就行了。 page 5) 2. 為什么需要為什么需要軟件配置管理軟件配置管理 2.1 如果沒有軟件配置管理,將有什么壞處?如果沒有軟件配置管理,將有什么壞處?u最大的麻煩是工作成
6、果被覆蓋。如果不采用配置管理軟件來保存工作成果的歷史版本的話,人們在同一個文件上修改內(nèi)容,保存之后,那么新的內(nèi)容覆蓋了老的內(nèi)容。多數(shù)情況下新的內(nèi)容比老的內(nèi)容好,覆蓋了也沒關系。但是總有不少意外,例如程序員修改了老程序員之后,突然發(fā)現(xiàn)新程序是錯誤的,而老程序卻是對的,可是老程序被新程序覆蓋了,再也無法恢復。怎么辦呢?還能怎么辦,只好重新寫老程序再覆蓋新程序唄,可是過一陣子又發(fā)現(xiàn)新程序也又可取之處,這時卻無法恢復新程序了,只好重新寫新程序再覆蓋老程序,如果你經(jīng)常碰到這樣的事情,你會發(fā)瘋的。為了避免成果被覆蓋,很多人采用最原始的手工管理版本的方式,例如給文件加后綴“-01”、“-02”以表示版本。天
7、長日久,工作目錄下就會有一堆帶數(shù)字后綴的文件,而且你自己也忘記了數(shù)字后綴代表什么內(nèi)容,管理起來非常麻煩。 我在讀大學的時候,我自己以及周圍的人都不知道軟件配置管理,所以大家都有上述經(jīng)歷。幸好在學校里的人時間不值錢,工作成果也不值錢,可以窮折騰。但是在企業(yè)里工作,我們可不能不懂軟件配置管理,否則就貽誤工作浪費金錢了。 page 6) 2. 為什么需要為什么需要軟件配置管理軟件配置管理 2.2 使用軟件配置管理,將有什么好處?使用軟件配置管理,將有什么好處?u最直接的好處是工作成果的所有版本都被保留著,不會丟失也不會被覆蓋,你不會氣得發(fā)瘋了。 如今硬盤的存儲空間價格低廉,用于保存歷史版本的存儲空間
8、的成本可以忽略不計。如果你保存了工作成果的100個歷史版本,哪怕99版本都是“垃圾”,只有一個版本里有“黃金”,那也值了。所以你盡管放心保存歷史版本好了,累的是計算機又不是你,你怕什么。 u間接的好處是,項目的所有工作成果被完整地保留下來,這是企業(yè)的知識財富,可以被人們很好地分享利用。而且減少了人員辭職造成的損失,企業(yè)老板可以放心很多了。因為如果沒有配置管理的話,人走了,即使他把成果刻錄成光盤交給接收者,別人也搞不清楚那些成果的演化過程。 u我在事業(yè)部推廣cmm的時候,有一天事業(yè)部總經(jīng)理鄭重其事地找我商談,說某個產(chǎn)品線的經(jīng)理要“跳樓n次”,請大家?guī)兔Α敖饩取?。因為他把更新北京客戶的軟件安裝到天
9、津客戶那里,卻把更新天津客戶的軟件安裝到其他客戶那里,現(xiàn)在他自己也搞不清除發(fā)生了多少錯亂!如果跳樓一次能夠消除一個錯亂的話,那么他要跳樓n次。這是典型的版本錯亂問題,只有良好的配置管理才可以解救這位產(chǎn)品經(jīng)理。 page 7) 3. 人的問題人的問題 3.1 事在人為事在人為 u配置管理的方法是成熟的,而且相應的軟件工具也是成熟的,基本上不存在看不懂、不會用的問題。配置管理的執(zhí)行效果如何,完全應了中國的一句老話“事在人為”啊。 妨礙配置管理的主要問題是人們“嫌麻煩”(還有僥幸心理)。 u在沒有出亂子的情況下,執(zhí)行版本控制看起來有些麻煩。每次修改工作成果的時候,總是先check out,然后再修改
10、,最后還要check in,多了前后兩步。其實check out和check in兩步操作只需花費幾秒鐘,而且不費腦子,憑良心說根本沒有添加麻煩,僅僅是個人感覺不爽快而已。然而不執(zhí)行版本控制的話,萬一發(fā)生工作成果被覆蓋或丟失等問題,那么麻煩就大了。 很多老百姓有闖紅燈的不良習慣,本來只要等十來秒鐘就可以安穩(wěn)上路的,可就是感覺麻煩,就急著要闖紅燈。人們平時不知浪費多少時間,你又何必節(jié)約這十幾秒鐘呢。在沒有發(fā)行交通事故的時候,你闖紅燈后有一股賺了的快感,萬一你運氣不好躺在醫(yī)院里,就后悔莫及了。所以不要嫌配置管理麻煩,這點小麻煩是為了避免你遇到大麻煩。 u僥幸心理導致人們麻痹大意。我也有這個毛病,我
11、非常清楚版本控制的重要性,也能熟練使用配置管理軟件,可是我常常把一個文件check out出來后,修改了一兩周后才check in進去。我只敢對個人文件的配置管理存在僥幸心理,我從來不敢輕視軟件產(chǎn)品的配置管理。因為前者出亂子的代價比較小,我承受得起,后者出亂子我可承受不起。(例如future 軟件的配置管理)。 page 8) 4. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:概念與流程概念與流程 4.1 配置項配置項 u軟件研發(fā)和管理過程中會產(chǎn)生許許多多的工作成果,例如文檔、程序和數(shù)據(jù)等,它們都應當被妥善地保管起來,以便查閱和修改。如果把所有文件一股腦地塞進計算機里,那么使用起來肯定很麻煩。毫無疑問
12、,人們應當將文件分門別類、有條理地保存起來。u凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項(configuration item,ci)。配置項主要有兩大類:屬于產(chǎn)品組成部分的工作成果,例如源代碼、需求文檔、設計文檔、測試用例等等。在管理過程中產(chǎn)生的文檔例如各種計劃、監(jiān)控報告等等,這些文檔雖然不是產(chǎn)品的組成部分,但是值得保存。 u每個配置項的主要屬性有:名稱、標識符、文件狀態(tài)、版本、作者、日期等。所有配置項都被保存在配置庫里,確保不會混淆、丟失。配置項及其歷史記錄反映了軟件的演化過程。4.2 基線基線 u基線(baseline)由一組配置項組成,這些配置項構成了一個相對穩(wěn)定的邏輯實體。基線中的配
13、置項被“凍結”了,不能再被任何人隨意修改(見變更控制規(guī)程)。u基線通常對應于開發(fā)過程中的里程碑(milestone),一個產(chǎn)品可以有多個基線,也可以只有一個基線?;€的主要屬性有:名稱、標識符、版本、日期等。u通常將交付給客戶的基線稱為一個“release”,為內(nèi)部開發(fā)用的基線則稱為一個“build”。 page 9) 4. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:概念與流程概念與流程 4.3 角色角色 u為了提高配置管理的效率和安全性,項目應當設有配置管理員這個角色。配置管理員的主要工作是為項目制定配置管理計劃,創(chuàng)建和維護配置庫等。 u對于大型的項目,鑒于配置管理的重要性和復雜性,機構應當設立配
14、置控制委員會(configuration control board,ccb)。ccb是個虛擬小組,對配置管理各項活動擁有決策權(例如審批計劃,審批變更請求等)。對于配置管理而言,ccb是決策者,而配置管理員是執(zhí)行者。u對于普通的小型軟件項目而言,對于普通的小型軟件項目而言,ccb這個概念難以落實,我們就不要玩虛的了,讓項目經(jīng)理或者這個概念難以落實,我們就不要玩虛的了,讓項目經(jīng)理或者配置管理員做決定就行了。配置管理員做決定就行了。 4.4 流程流程 page 10) 5. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:配置管理計劃配置管理計劃 u配置管理員根據(jù)本項目的特征,起草配置管理計劃,由ccb負責
15、人(通常是項目經(jīng)理)審批。u配置管理計劃的主要內(nèi)容: 1. 人員與職責人員與職責 2. 軟件硬件資源軟件硬件資源 3. 配置項計劃配置項計劃 4. 基線計劃基線計劃 5. 配置庫備份計劃配置庫備份計劃 6. 版本控制規(guī)則版本控制規(guī)則 7. 變更控制規(guī)則變更控制規(guī)則 8. 審批審批 u模板見word文檔page 11) 6. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:版本控制規(guī)則版本控制規(guī)則 6.1 概念概念 u版本控制的目的是按照一定的規(guī)則保存配置項的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,并且可以快速準確地查找到配置項的任何版本。所有項目成員都必須遵照版本控制規(guī)程操作配置庫。u配置項的狀態(tài)有三種:
16、“草稿”(draft)、“正式發(fā)布”(released)和“正在修改”(changing)。u配置項狀態(tài)變遷: 配置項剛建立時其狀態(tài)為“草稿”。配置項通過評審(或審批)后,其狀態(tài)變?yōu)椤罢桨l(fā)布”。此后若更改配置項,必須依照“變更控制規(guī)程”執(zhí)行,其狀態(tài)變?yōu)椤罢谛薷摹薄.斉渲庙椥薷耐戤叢⒅匦峦ㄟ^評審(或審批)時,其狀態(tài)又變?yōu)椤罢桨l(fā)布”,如此循環(huán)。 page 12) 6. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:版本控制規(guī)則版本控制規(guī)則 6.2 版本號版本號 u(1)處于“草稿”狀態(tài)的配置項的版本號格式為:0.yz yz數(shù)字范圍為01-99。隨著草稿的不斷完善,“yz”的取值應遞增?!皔z”的初值和
17、增幅由用戶自己把握。 u(2)處于“正式發(fā)布”狀態(tài)的配置項的版本號格式為:x.y x為主版本號,取值范圍為1-9。y為次版本號,取值范圍為1-9。 配置項第一次“正式發(fā)布”時,版本號為1.0。 如果配置項的版本升級幅度比較小,一般只增大y值,x值保持不變。只有當配置項版本升級幅度比較大時,才允許增大x值。 u(3)處于“正在修改”狀態(tài)的配置項的版本號格式為:x.yz 配置項正在修改時,一般只增大z值,x.y值保持不變。 當配置項修改完畢,狀態(tài)重新成為“正式發(fā)布”時,將z值設置為0,增加x.y值。參見規(guī)則(2)。 page 13) 7. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:變更控制變更控制 u變
18、更控制的目的是防止配置項被隨意修改而導致混亂。為了提高效率,對于處于“草稿狀態(tài)”的配置項,不必進行變更控制,因為它們本來就是草稿,本來就是要被不斷地修改的。當配置項狀態(tài)為“正式發(fā)布”,或者該配置項已經(jīng)成為某個基線的一部分(即被“凍結”)時,如果要修改配置項的話,那么按照變更控制規(guī)則執(zhí)行。 u步驟:第一步第一步 變更申請。變更申請。變更申請人向ccb提交變更申請,重點說明“變更內(nèi)容”和“變更原因”。第二步第二步 審批變更申請。審批變更申請。ccb負責人(或項目經(jīng)理)審批該申請,分析此變更對項目造成的影響。如果同意變更的話,則轉向第三步,否則終止。 第三步第三步 安排變更任務。安排變更任務。ccb
19、指定變更執(zhí)行人,安排他們的任務。ccb需要和變更執(zhí)行人就變更內(nèi)容達成共識。 第四步第四步 執(zhí)行變更任務。執(zhí)行變更任務。變更執(zhí)行人根據(jù)ccb安排的任務,修改配置項。ccb監(jiān)督變更任務的執(zhí)行,如檢查變更內(nèi)容是否正確、是否按時完成工作等。第五步第五步 對更改后的配置項重新進行技術評審(或審批)。對更改后的配置項重新進行技術評審(或審批)。第六步第六步 結束變更。結束變更。當所有變更后的配置項都通過了技術評審或領導審批,這些配置項的狀態(tài)從“正在修改”變遷為“正式發(fā)布”,本次變更結束。 u在實際操作中,審批變更申請并非總是“客觀公正”的,人們并不在乎變更申請是否合理,關鍵看是誰提出變更申請。官兒越大的人
20、提出的變更申請總是優(yōu)先處理的。 page 14) 8. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:配置庫操作配置庫操作 u所有人員都依照配置管理規(guī)范和計劃來操作配置庫。 u配置管理員的主要操作有: 創(chuàng)建配置庫,并且至少創(chuàng)建配置庫的所有第一級目錄。為每個項目成員分配操作權限。一般地,項目成員擁有add, check in, check out, download等權限,但是不要輕易擁有“刪除”權限。配置管理員的權限最高。具體操作視所采用的配置管理軟件而定。 根據(jù)“基線計劃”創(chuàng)建與維護基線,“凍結”配置項,控制變更。 定期清除配置庫里的垃圾文件。 定期備份配置庫。 u其他項目成員根據(jù)自己的權限操作配置庫
21、里的工作成果,例如add, check in, check out, download等。 page 15) 9. 軟件配置管理規(guī)范:軟件配置管理規(guī)范:配置審計配置審計 u配置審計的目的就是要保證所有人員(包括配置管理員、ccb、和普通項目成員)都遵守配置管理規(guī)范。所以配置審計是質量人員的工作職責之一,可以歸類為“過程檢查活動”。u人們對配置審計最大的誤解是人們對配置審計最大的誤解是“對配置庫中的每個配置項都檢查一遍對配置庫中的每個配置項都檢查一遍”,配置庫里的配置項非常多,這樣做無疑非常勞累,卻沒有多少價值。 u配置審計的對象是項目的主要配置項,如果主要配置項符合“版本控制規(guī)則”和“變更控制
22、規(guī)則”,并且定期備份了配置庫,那么就可以認為配置管理符合既定的規(guī)范。反之,如果質量人員在審計的時候發(fā)現(xiàn)主要配置項比較混亂,那么應當告知當事人及時更正,這樣就起到了審計的作用。 u總之,由于每個人都已經(jīng)在配置管理上付出了時間,切勿再在配置審計方面化很多時間。 page 16) 10. 常用配置管理工具常用配置管理工具10.1 sourcesafe usourcesafe是microsoft公司推出的配置管理工具,是visual studio的套件之一。sourcesafe是國內(nèi)最流行的配置管理工具,用戶量絕對是第一位。 usourcesafe長得很象早先土氣的文件管理器,的確難看。但是難看不礙事
23、,sourcesafe的優(yōu)點可以用8個字來概括“簡單易用,一學就會”,這個優(yōu)點是它老媽microsoft遺傳下來的,是天生的。 u雖然sourcesafe并不是免費的,但是在國內(nèi)人們以接近于零的成本得到它,網(wǎng)上到處可以下載啊。當然microsoft也不在乎這個小不點的軟件,它屬于“買大件送小件”的角色。如果你合法地得到visual studio,你就得到了免費的sourcesafe。 usourcesafe的主要局限性:只能在windows下運行,不能在unix, linux下運行。sourcesafe不支持異構環(huán)境下的配置管理,對用戶而言是個麻煩事。這不是技術問題,是微軟公司產(chǎn)品戰(zhàn)略決定的。
24、適合于局域網(wǎng)內(nèi)的用戶群,不適合于通過internet連接的用戶群,因為sourcesafe是通過“共享目錄”方式存儲文件的。 u人無完人,物不盡美。有些賣配置管理工具的軟件供應商經(jīng)常貶低souresafe,諷刺它是source not safe。我不想為誰辯護,只是給出一個例證說明sourcesafe的效用。有一個軟件事業(yè)部(約百名開發(fā)人員)的十余個項目全部采用sourcesafe來管理,只用一臺pc機作配置管理服務器,運行一年都沒有發(fā)生異常現(xiàn)象。 page 17) 10. 常用配置管理工具常用配置管理工具10.2 cvs ucvs 是 concurrent version system(并行
25、版本系統(tǒng))的縮寫,它是著名的開放源代碼的配置管理工具。 ucvs的官方網(wǎng)站是/ 。官方提供的是cvs服務器和命令行程序,但是官方并不提供交互式的客戶端軟件。許多軟件機構根據(jù)cvs官方提供的編程接口開發(fā)了各色各樣的cvs客戶端軟件,最有名的當推windows環(huán)境的cvs客戶端軟件wincvs。wincvs是免費的,但是并不開放源代碼。u與sourcesafe相比,cvs的主要優(yōu)點是:sourcesafe有的功能cvs全都有,cvs支持并發(fā)的版本管理,sourcesafe沒有并發(fā)功能。cvs服務器的功能和性能都比sourcesafe高出一籌。cvs服務器是用java編寫的,可以在任何
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度航空運輸貨物代理委托及質量控制合同3篇
- 2024離婚財產(chǎn)分割協(xié)議公證與投資分割
- 2024版軟件許可與技術支持合同
- 二零二五年度股權激勵與員工離職補償合同樣本3篇
- 年度飛機碳剎車預制件戰(zhàn)略市場規(guī)劃報告
- 高校二零二五年度實驗室科研人員聘用合同2篇
- 針對2025年度環(huán)保項目的技術研發(fā)合作合同3篇
- 2024-2025學年高中語文第三課神奇的漢字3方塊的奧妙-漢字的結構練習含解析新人教版選修語言文字應用
- 2024-2025學年高中政治第三單元思想方法與創(chuàng)新意識第9課第2框用對立統(tǒng)一的觀點看問題訓練含解析新人教版必修4
- 2025年度特色餐飲業(yè)司爐員綜合管理服務合同3篇
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 有機化學機理題(福山)
- 醫(yī)學會自律規(guī)范
- 商務溝通第二版第4章書面溝通
- 950項機電安裝施工工藝標準合集(含管線套管、支吊架、風口安裝)
- 微生物學與免疫學-11免疫分子課件
- 《動物遺傳育種學》動物醫(yī)學全套教學課件
- 弱電工程自檢報告
- 民法案例分析教程(第五版)完整版課件全套ppt教學教程最全電子教案
- 7.6用銳角三角函數(shù)解決問題 (2)
評論
0/150
提交評論