軟件配置管理幻燈片-軟件開發(fā)資料.ppt_第1頁(yè)
軟件配置管理幻燈片-軟件開發(fā)資料.ppt_第2頁(yè)
軟件配置管理幻燈片-軟件開發(fā)資料.ppt_第3頁(yè)
軟件配置管理幻燈片-軟件開發(fā)資料.ppt_第4頁(yè)
軟件配置管理幻燈片-軟件開發(fā)資料.ppt_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件配置管理 對(duì)軟件成果的有效保護(hù) 林 銳 博士 ,上 海 漫 索 計(jì) 算 機(jī) 科 技 有 限 公 司,目錄,1. 什么是軟件配置管理 2. 為什么需要配置管理 3. 人的問(wèn)題 4. 軟件配置管理規(guī)范:概念與流程 5. 軟件配置管理規(guī)范:配置管理計(jì)劃 6. 軟件配置管理規(guī)范:版本控制規(guī)則 7. 軟件配置管理規(guī)范:變更控制規(guī)則 8. 軟件配置管理規(guī)范:配置庫(kù)操作 9. 軟件配置管理規(guī)范:配置審計(jì) 10. 常用配置管理工具 參考書:軟件工程與項(xiàng)目管理解析,林銳 著,電子工業(yè)出版社,2003,1. 什么是軟件配置管理,1.1 懺悔錄 曾經(jīng)有一個(gè)很好的配置管理工具在我面前,我沒有理睬,直到版本混亂的時(shí)

2、候才后悔莫及,工作中最大的痛苦莫過(guò)于此,如果上天再給我一次機(jī)會(huì)的話,我向?qū)λf(shuō)三個(gè)字:我要你。如果非得加一個(gè)期限的話,我希望是一輩子。 1.2 概念 不要和“計(jì)算機(jī)零配件組裝”搞混淆。 軟件配置管理(Software Configuration Management, SCM)是指通過(guò)執(zhí)行版本控制、變更控制等規(guī)程,以及使用合適的配置管理軟件,來(lái)保證所有配置項(xiàng)的完整性和可跟蹤性。配置管理是對(duì)工作成果的一種有效保護(hù)。 配置管理與任何一位項(xiàng)目成員都有關(guān)系,因?yàn)槊總€(gè)人都會(huì)產(chǎn)生工作成果。配置管理是否有成效取決于三個(gè)要素:人、規(guī)范、工具,1. 什么是軟件配置管理,1.3 配置管理的商業(yè)理念 企業(yè)的商業(yè)需求

3、決定了配置管理的力度,我們不必追求完美無(wú)缺的配置管理,而是讓開發(fā)團(tuán)隊(duì)恰好夠用就行,并將為配置管理所付出的代價(jià)控制在預(yù)算之內(nèi)。 富有成效的配置管理的特征: 任何項(xiàng)目成員都要對(duì)其工作成果進(jìn)行配置管理,應(yīng)當(dāng)養(yǎng)成良好的習(xí)慣。不必付出過(guò)多的精力,最低要求是保證重要工作成果不發(fā)生混亂。 配置管理規(guī)范應(yīng)當(dāng)清晰明了,便于執(zhí)行,不必在細(xì)節(jié)方面要求太多,不給項(xiàng)目人員添加過(guò)多的負(fù)擔(dān),不使人厭煩。 選擇配置管理工具應(yīng)當(dāng)綜合考慮價(jià)格、易用性和功能因素,而不是購(gòu)買最先進(jìn)的工具。令人滿意的工具通常是價(jià)格低廉、簡(jiǎn)便易用、功能恰好夠用。 CMM/CMMI對(duì)配置管理過(guò)程域論述得十分清楚詳細(xì),假設(shè)完全按照CMM/CMMI的要求執(zhí)行

4、的話,你可以得到100分(滿分)的配置管理成績(jī)。 出于商業(yè)利益考慮,我不向往100分的成績(jī),因?yàn)榇鷥r(jià)太高了。我更愿意付出前者的30左右代價(jià)獲取6070分(及格)的成績(jī),這樣最劃算。 70100分的配置管理成績(jī)對(duì)于大部分商業(yè)軟件而言沒有多少意義,那屬于錦上添花,如果我們沒有足夠的精力的話,那么就以最低的代價(jià)達(dá)到及格分?jǐn)?shù)就行了。,2. 為什么需要軟件配置管理,2.1 如果沒有軟件配置管理,將有什么壞處? 最大的麻煩是工作成果被覆蓋。如果不采用配置管理軟件來(lái)保存工作成果的歷史版本的話,人們?cè)谕粋€(gè)文件上修改內(nèi)容,保存之后,那么新的內(nèi)容覆蓋了老的內(nèi)容。 多數(shù)情況下新的內(nèi)容比老的內(nèi)容好,覆蓋了也沒關(guān)系。

5、但是總有不少意外,例如程序員修改了老程序員之后,突然發(fā)現(xiàn)新程序是錯(cuò)誤的,而老程序卻是對(duì)的,可是老程序被新程序覆蓋了,再也無(wú)法恢復(fù)。 怎么辦呢?還能怎么辦,只好重新寫老程序再覆蓋新程序唄,可是過(guò)一陣子又發(fā)現(xiàn)新程序也又可取之處,這時(shí)卻無(wú)法恢復(fù)新程序了,只好重新寫新程序再覆蓋老程序,如果你經(jīng)常碰到這樣的事情,你會(huì)發(fā)瘋的。 為了避免成果被覆蓋,很多人采用最原始的手工管理版本的方式,例如給文件加后綴“-01”、“-02”以表示版本。天長(zhǎng)日久,工作目錄下就會(huì)有一堆帶數(shù)字后綴的文件,而且你自己也忘記了數(shù)字后綴代表什么內(nèi)容,管理起來(lái)非常麻煩。 我在讀大學(xué)的時(shí)候,我自己以及周圍的人都不知道軟件配置管理,所以大家

6、都有上述經(jīng)歷。幸好在學(xué)校里的人時(shí)間不值錢,工作成果也不值錢,可以窮折騰。但是在企業(yè)里工作,我們可不能不懂軟件配置管理,否則就貽誤工作浪費(fèi)金錢了。,2. 為什么需要軟件配置管理,2.2 使用軟件配置管理,將有什么好處? 最直接的好處是工作成果的所有版本都被保留著,不會(huì)丟失也不會(huì)被覆蓋,你不會(huì)氣得發(fā)瘋了。 如今硬盤的存儲(chǔ)空間價(jià)格低廉,用于保存歷史版本的存儲(chǔ)空間的成本可以忽略不計(jì)。如果你保存了工作成果的100個(gè)歷史版本,哪怕99版本都是“垃圾”,只有一個(gè)版本里有“黃金”,那也值了。所以你盡管放心保存歷史版本好了,累的是計(jì)算機(jī)又不是你,你怕什么。 間接的好處是,項(xiàng)目的所有工作成果被完整地保留下來(lái),這是

7、企業(yè)的知識(shí)財(cái)富,可以被人們很好地分享利用。而且減少了人員辭職造成的損失,企業(yè)老板可以放心很多了。 因?yàn)槿绻麤]有配置管理的話,人走了,即使他把成果刻錄成光盤交給接收者,別人也搞不清楚那些成果的演化過(guò)程。 我在事業(yè)部推廣CMM的時(shí)候,有一天事業(yè)部總經(jīng)理鄭重其事地找我商談,說(shuō)某個(gè)產(chǎn)品線的經(jīng)理要“跳樓N次”,請(qǐng)大家?guī)兔Α敖饩取?。因?yàn)樗迅卤本┛蛻舻能浖惭b到天津客戶那里,卻把更新天津客戶的軟件安裝到其他客戶那里,現(xiàn)在他自己也搞不清除發(fā)生了多少錯(cuò)亂!如果跳樓一次能夠消除一個(gè)錯(cuò)亂的話,那么他要跳樓N次。 這是典型的版本錯(cuò)亂問(wèn)題,只有良好的配置管理才可以解救這位產(chǎn)品經(jīng)理。,3. 人的問(wèn)題,3.1 事在人為

8、 配置管理的方法是成熟的,而且相應(yīng)的軟件工具也是成熟的,基本上不存在看不懂、不會(huì)用的問(wèn)題。配置管理的執(zhí)行效果如何,完全應(yīng)了中國(guó)的一句老話“事在人為”啊。 妨礙配置管理的主要問(wèn)題是人們“嫌麻煩”(還有僥幸心理)。 在沒有出亂子的情況下,執(zhí)行版本控制看起來(lái)有些麻煩。每次修改工作成果的時(shí)候,總是先check out,然后再修改,最后還要check in,多了前后兩步。 其實(shí)check out和check in兩步操作只需花費(fèi)幾秒鐘,而且不費(fèi)腦子,憑良心說(shuō)根本沒有添加麻煩,僅僅是個(gè)人感覺不爽快而已。然而不執(zhí)行版本控制的話,萬(wàn)一發(fā)生工作成果被覆蓋或丟失等問(wèn)題,那么麻煩就大了。 很多老百姓有闖紅燈的不良習(xí)

9、慣,本來(lái)只要等十來(lái)秒鐘就可以安穩(wěn)上路的,可就是感覺麻煩,就急著要闖紅燈。人們平時(shí)不知浪費(fèi)多少時(shí)間,你又何必節(jié)約這十幾秒鐘呢。在沒有發(fā)行交通事故的時(shí)候,你闖紅燈后有一股賺了的快感,萬(wàn)一你運(yùn)氣不好躺在醫(yī)院里,就后悔莫及了。 所以不要嫌配置管理麻煩,這點(diǎn)小麻煩是為了避免你遇到大麻煩。 僥幸心理導(dǎo)致人們麻痹大意。我也有這個(gè)毛病,我非常清楚版本控制的重要性,也能熟練使用配置管理軟件,可是我常常把一個(gè)文件check out出來(lái)后,修改了一兩周后才check in進(jìn)去。 我只敢對(duì)個(gè)人文件的配置管理存在僥幸心理,我從來(lái)不敢輕視軟件產(chǎn)品的配置管理。因?yàn)榍罢叱鰜y子的代價(jià)比較小,我承受得起,后者出亂子我可承受不起。

10、(例如Future 軟件的配置管理)。,4. 軟件配置管理規(guī)范:概念與流程,4.1 配置項(xiàng) 軟件研發(fā)和管理過(guò)程中會(huì)產(chǎn)生許許多多的工作成果,例如文檔、程序和數(shù)據(jù)等,它們都應(yīng)當(dāng)被妥善地保管起來(lái),以便查閱和修改。如果把所有文件一股腦地塞進(jìn)計(jì)算機(jī)里,那么使用起來(lái)肯定很麻煩。毫無(wú)疑問(wèn),人們應(yīng)當(dāng)將文件分門別類、有條理地保存起來(lái)。 凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項(xiàng)(Configuration Item,CI)。配置項(xiàng)主要有兩大類: 屬于產(chǎn)品組成部分的工作成果,例如源代碼、需求文檔、設(shè)計(jì)文檔、測(cè)試用例等等。 在管理過(guò)程中產(chǎn)生的文檔例如各種計(jì)劃、監(jiān)控報(bào)告等等,這些文檔雖然不是產(chǎn)品的組成部分,但是值得保

11、存。 每個(gè)配置項(xiàng)的主要屬性有:名稱、標(biāo)識(shí)符、文件狀態(tài)、版本、作者、日期等。所有配置項(xiàng)都被保存在配置庫(kù)里,確保不會(huì)混淆、丟失。配置項(xiàng)及其歷史記錄反映了軟件的演化過(guò)程。 4.2 基線 基線(Baseline)由一組配置項(xiàng)組成,這些配置項(xiàng)構(gòu)成了一個(gè)相對(duì)穩(wěn)定的邏輯實(shí)體?;€中的配置項(xiàng)被“凍結(jié)”了,不能再被任何人隨意修改(見變更控制規(guī)程)。 基線通常對(duì)應(yīng)于開發(fā)過(guò)程中的里程碑(Milestone),一個(gè)產(chǎn)品可以有多個(gè)基線,也可以只有一個(gè)基線?;€的主要屬性有:名稱、標(biāo)識(shí)符、版本、日期等。 通常將交付給客戶的基線稱為一個(gè)“Release”,為內(nèi)部開發(fā)用的基線則稱為一個(gè)“Build”。,4. 軟件配置管理規(guī)范

12、:概念與流程,4.3 角色 為了提高配置管理的效率和安全性,項(xiàng)目應(yīng)當(dāng)設(shè)有配置管理員這個(gè)角色。配置管理員的主要工作是為項(xiàng)目制定配置管理計(jì)劃,創(chuàng)建和維護(hù)配置庫(kù)等。 對(duì)于大型的項(xiàng)目,鑒于配置管理的重要性和復(fù)雜性,機(jī)構(gòu)應(yīng)當(dāng)設(shè)立配置控制委員會(huì)(Configuration Control Board,CCB)。CCB是個(gè)虛擬小組,對(duì)配置管理各項(xiàng)活動(dòng)擁有決策權(quán)(例如審批計(jì)劃,審批變更請(qǐng)求等)。對(duì)于配置管理而言,CCB是決策者,而配置管理員是執(zhí)行者。 對(duì)于普通的小型軟件項(xiàng)目而言,CCB這個(gè)概念難以落實(shí),我們就不要玩虛的了,讓項(xiàng)目經(jīng)理或者配置管理員做決定就行了。 4.4 流程,5. 軟件配置管理規(guī)范:配置管理計(jì)

13、劃,配置管理員根據(jù)本項(xiàng)目的特征,起草配置管理計(jì)劃,由CCB負(fù)責(zé)人(通常是項(xiàng)目經(jīng)理)審批。 配置管理計(jì)劃的主要內(nèi)容: 1. 人員與職責(zé) 2. 軟件硬件資源 3. 配置項(xiàng)計(jì)劃 4. 基線計(jì)劃 5. 配置庫(kù)備份計(jì)劃 6. 版本控制規(guī)則 7. 變更控制規(guī)則 8. 審批 模板見word文檔,6. 軟件配置管理規(guī)范:版本控制規(guī)則,6.1 概念 版本控制的目的是按照一定的規(guī)則保存配置項(xiàng)的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,并且可以快速準(zhǔn)確地查找到配置項(xiàng)的任何版本。 所有項(xiàng)目成員都必須遵照版本控制規(guī)程操作配置庫(kù)。 配置項(xiàng)的狀態(tài)有三種:“草稿”(Draft)、“正式發(fā)布”(Released)和“正在修改”(

14、Changing)。 配置項(xiàng)狀態(tài)變遷: 配置項(xiàng)剛建立時(shí)其狀態(tài)為“草稿”。配置項(xiàng)通過(guò)評(píng)審(或?qū)徟┖?,其狀態(tài)變?yōu)椤罢桨l(fā)布”。此后若更改配置項(xiàng),必須依照“變更控制規(guī)程”執(zhí)行,其狀態(tài)變?yōu)椤罢谛薷摹?。?dāng)配置項(xiàng)修改完畢并重新通過(guò)評(píng)審(或?qū)徟r(shí),其狀態(tài)又變?yōu)椤罢桨l(fā)布”,如此循環(huán)。,6. 軟件配置管理規(guī)范:版本控制規(guī)則,6.2 版本號(hào) (1)處于“草稿”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:0.YZ YZ數(shù)字范圍為01-99。 隨著草稿的不斷完善,“YZ”的取值應(yīng)遞增?!癥Z”的初值和增幅由用戶自己把握。 (2)處于“正式發(fā)布”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:X.Y X為主版本號(hào),取值范圍為1-9。Y為次版本號(hào),

15、取值范圍為1-9。 配置項(xiàng)第一次“正式發(fā)布”時(shí),版本號(hào)為1.0。 如果配置項(xiàng)的版本升級(jí)幅度比較小,一般只增大Y值,X值保持不變。只有當(dāng)配置項(xiàng)版本升級(jí)幅度比較大時(shí),才允許增大X值。 (3)處于“正在修改”狀態(tài)的配置項(xiàng)的版本號(hào)格式為:X.YZ 配置項(xiàng)正在修改時(shí),一般只增大Z值,X.Y值保持不變。 當(dāng)配置項(xiàng)修改完畢,狀態(tài)重新成為“正式發(fā)布”時(shí),將Z值設(shè)置為0,增加X.Y值。參見規(guī)則(2)。,7. 軟件配置管理規(guī)范:變更控制,變更控制的目的是防止配置項(xiàng)被隨意修改而導(dǎo)致混亂。 為了提高效率,對(duì)于處于“草稿狀態(tài)”的配置項(xiàng),不必進(jìn)行變更控制,因?yàn)樗鼈儽緛?lái)就是草稿,本來(lái)就是要被不斷地修改的。 當(dāng)配置項(xiàng)狀態(tài)為“

16、正式發(fā)布”,或者該配置項(xiàng)已經(jīng)成為某個(gè)基線的一部分(即被“凍結(jié)”)時(shí),如果要修改配置項(xiàng)的話,那么按照變更控制規(guī)則執(zhí)行。 步驟: 第一步 變更申請(qǐng)。變更申請(qǐng)人向CCB提交變更申請(qǐng),重點(diǎn)說(shuō)明“變更內(nèi)容”和“變更原因”。 第二步 審批變更申請(qǐng)。CCB負(fù)責(zé)人(或項(xiàng)目經(jīng)理)審批該申請(qǐng),分析此變更對(duì)項(xiàng)目造成的影響。如果同意變更的話,則轉(zhuǎn)向第三步,否則終止。 第三步 安排變更任務(wù)。CCB指定變更執(zhí)行人,安排他們的任務(wù)。CCB需要和變更執(zhí)行人就變更內(nèi)容達(dá)成共識(shí)。 第四步 執(zhí)行變更任務(wù)。變更執(zhí)行人根據(jù)CCB安排的任務(wù),修改配置項(xiàng)。CCB監(jiān)督變更任務(wù)的執(zhí)行,如檢查變更內(nèi)容是否正確、是否按時(shí)完成工作等。 第五步 對(duì)更

17、改后的配置項(xiàng)重新進(jìn)行技術(shù)評(píng)審(或?qū)徟?第六步 結(jié)束變更。當(dāng)所有變更后的配置項(xiàng)都通過(guò)了技術(shù)評(píng)審或領(lǐng)導(dǎo)審批,這些配置項(xiàng)的狀態(tài)從“正在修改”變遷為“正式發(fā)布”,本次變更結(jié)束。 在實(shí)際操作中,審批變更申請(qǐng)并非總是“客觀公正”的,人們并不在乎變更申請(qǐng)是否合理,關(guān)鍵看是誰(shuí)提出變更申請(qǐng)。官兒越大的人提出的變更申請(qǐng)總是優(yōu)先處理的。,8. 軟件配置管理規(guī)范:配置庫(kù)操作,所有人員都依照配置管理規(guī)范和計(jì)劃來(lái)操作配置庫(kù)。 配置管理員的主要操作有: 創(chuàng)建配置庫(kù),并且至少創(chuàng)建配置庫(kù)的所有第一級(jí)目錄。 為每個(gè)項(xiàng)目成員分配操作權(quán)限。一般地,項(xiàng)目成員擁有Add, Check in, Check out, Download等

18、權(quán)限,但是不要輕易擁有“刪除”權(quán)限。配置管理員的權(quán)限最高。具體操作視所采用的配置管理軟件而定。 根據(jù)“基線計(jì)劃”創(chuàng)建與維護(hù)基線,“凍結(jié)”配置項(xiàng),控制變更。 定期清除配置庫(kù)里的垃圾文件。 定期備份配置庫(kù)。 其他項(xiàng)目成員根據(jù)自己的權(quán)限操作配置庫(kù)里的工作成果,例如Add, Check in, Check out, Download等。,9. 軟件配置管理規(guī)范:配置審計(jì),配置審計(jì)的目的就是要保證所有人員(包括配置管理員、CCB、和普通項(xiàng)目成員)都遵守配置管理規(guī)范。所以配置審計(jì)是質(zhì)量人員的工作職責(zé)之一,可以歸類為“過(guò)程檢查活動(dòng)”。 人們對(duì)配置審計(jì)最大的誤解是“對(duì)配置庫(kù)中的每個(gè)配置項(xiàng)都檢查一遍”,配置庫(kù)里

19、的配置項(xiàng)非常多,這樣做無(wú)疑非常勞累,卻沒有多少價(jià)值。 配置審計(jì)的對(duì)象是項(xiàng)目的主要配置項(xiàng),如果主要配置項(xiàng)符合“版本控制規(guī)則”和“變更控制規(guī)則”,并且定期備份了配置庫(kù),那么就可以認(rèn)為配置管理符合既定的規(guī)范。反之,如果質(zhì)量人員在審計(jì)的時(shí)候發(fā)現(xiàn)主要配置項(xiàng)比較混亂,那么應(yīng)當(dāng)告知當(dāng)事人及時(shí)更正,這樣就起到了審計(jì)的作用。 總之,由于每個(gè)人都已經(jīng)在配置管理上付出了時(shí)間,切勿再在配置審計(jì)方面化很多時(shí)間。,10. 常用配置管理工具,10.1 SourceSafe SourceSafe是Microsoft公司推出的配置管理工具,是Visual Studio的套件之一。SourceSafe是國(guó)內(nèi)最流行的配置管理工具,

20、用戶量絕對(duì)是第一位。 SourceSafe長(zhǎng)得很象早先土氣的文件管理器,的確難看。但是難看不礙事,SourceSafe的優(yōu)點(diǎn)可以用8個(gè)字來(lái)概括“簡(jiǎn)單易用,一學(xué)就會(huì)”,這個(gè)優(yōu)點(diǎn)是它老媽Microsoft遺傳下來(lái)的,是天生的。 雖然SourceSafe并不是免費(fèi)的,但是在國(guó)內(nèi)人們以接近于零的成本得到它,網(wǎng)上到處可以下載啊。當(dāng)然Microsoft也不在乎這個(gè)小不點(diǎn)的軟件,它屬于“買大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免費(fèi)的SourceSafe。 SourceSafe的主要局限性: 只能在Windows下運(yùn)行,不能在Unix, Linux下運(yùn)行。SourceSaf

21、e不支持異構(gòu)環(huán)境下的配置管理,對(duì)用戶而言是個(gè)麻煩事。這不是技術(shù)問(wèn)題,是微軟公司產(chǎn)品戰(zhàn)略決定的。 適合于局域網(wǎng)內(nèi)的用戶群,不適合于通過(guò)Internet連接的用戶群,因?yàn)镾ourceSafe是通過(guò)“共享目錄”方式存儲(chǔ)文件的。 人無(wú)完人,物不盡美。有些賣配置管理工具的軟件供應(yīng)商經(jīng)常貶低SoureSafe,諷刺它是Source not Safe。我不想為誰(shuí)辯護(hù),只是給出一個(gè)例證說(shuō)明SourceSafe的效用。有一個(gè)軟件事業(yè)部(約百名開發(fā)人員)的十余個(gè)項(xiàng)目全部采用SourceSafe來(lái)管理,只用一臺(tái)PC機(jī)作配置管理服務(wù)器,運(yùn)行一年都沒有發(fā)生異常現(xiàn)象。,10. 常用配置管理工具,10.2 CVS CVS

22、是 Concurrent Version System(并行版本系統(tǒng))的縮寫,它是著名的開放源代碼的配置管理工具。 CVS的官方網(wǎng)站是/ 。官方提供的是CVS服務(wù)器和命令行程序,但是官方并不提供交互式的客戶端軟件。許多軟件機(jī)構(gòu)根據(jù)CVS官方提供的編程接口開發(fā)了各色各樣的CVS客戶端軟件,最有名的當(dāng)推Windows環(huán)境的CVS客戶端軟件WinCVS。WinCVS是免費(fèi)的,但是并不開放源代碼。 與SourceSafe相比,CVS的主要優(yōu)點(diǎn)是: SourceSafe有的功能CVS全都有,CVS支持并發(fā)的版本管理,SourceSafe沒有并發(fā)功能。CVS服務(wù)器的功能和性能都比SourceSafe高出一籌。 CVS服務(wù)器是用Java編寫的,可以在任何操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境下運(yùn)行。CVS深受Unix和Linux 的用戶喜愛。Borland公司的JBuil

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論