国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

VSS 2005在電力規(guī)劃前期評審中的應(yīng)用

2014-03-22 13:44:04張旭航
電力與能源 2014年4期
關(guān)鍵詞:源代碼資料數(shù)據(jù)庫

陳 博,張旭航,曹 煒,武 霄

(1.國網(wǎng)上海市電力公司經(jīng)濟技術(shù)研究院,上海 200001;2.上海電力學(xué)院,上海 200090)

1 版本控制軟件溯源

在20世紀80~90年代,尤其是20世紀90年代軟件產(chǎn)業(yè)的迅猛發(fā)展,導(dǎo)致了軟件的版本管理新思想的產(chǎn)生和實現(xiàn)。只要參加過軟件開發(fā)的人都清楚,現(xiàn)在的軟件項目完全由一個人來完成是難以想象而且也是不可能的,通常是有一個研發(fā)小組來共同分析、設(shè)計、編碼和維護,并有專門的測試小組對已完成編碼調(diào)試的軟件進行全面的測試。

在軟件開發(fā)這個龐大而復(fù)雜的過程中,需要涉及到各個方面的人員,信息的交流反饋不僅僅是在研發(fā)小組的成員之間及各個研發(fā)小組之間,還存在于客戶和研發(fā)者之間。這些交流反饋信息都有可能導(dǎo)致對軟件的修改,可能是對某個源文件中的某個變量的定義改動,也有可能是重新設(shè)計程序模塊,甚至是整個需求分析變動。在這個工程中,由于軟件開發(fā)所固有的特征,可能會形成眾多的軟件版本,而且項目開發(fā)管理者并不能保證不出現(xiàn)錯誤的修改,而這樣的一個困難局面卻又非?,F(xiàn)實地擺在面前,該如何有效地解決這些實際問題,例如:①怎樣整體管理研發(fā)項目;②如何以一種有效的機制進行協(xié)調(diào)項目開發(fā)小組的成員;③如何保留修改的軌跡,以便撤銷錯誤的改動;④如何統(tǒng)一匯總對研發(fā)小組各成員所作的修改;⑤如何統(tǒng)一管理小組成員各自承擔(dān)的子項目;⑥如何進行標(biāo)識、管理及差異識辨在研發(fā)過程中形成的軟件的各個版本等。

一個非常直接的反應(yīng),就是必須引進一種版本管理機制,而且是廣義上的版本管理,它不僅需要對源代碼的版本進行管理,而且還要對整個項目進行管理。以往的那種被譽為具有良好編程風(fēng)格的做法,諸如在對他人的源程序進行修改時注釋修改原因、修改人和日期,如果是多個成員同時進行了修改,那么需要進行及時的人工的差異比較和綜合,以便形成一個統(tǒng)一的新版本。這種做法在當(dāng)前的大型軟件的開發(fā)中已經(jīng)越來越?jīng)]有空間了,可以說是一種以小作坊的形式來面對軟件的社會化大生產(chǎn),再也不可能行得通了[1]。

其實,版本管理的思想很早就存在于軟件開發(fā)者的頭腦之中,只是以往的認識沒有現(xiàn)在人們所意識到的那樣迫切。UNIX的程序開發(fā)系統(tǒng)較早提供了能夠進行開發(fā)小組中源代碼版本管理的工具,現(xiàn)在的Linux更是提供功能強大的能夠跨平臺的版本管理器,國外公司的基于Windows的版本管理器也已經(jīng)有了比較成熟的產(chǎn)品,國內(nèi)的研究單位如北京大學(xué)計算機系CASE實驗室也在致力于這方面的工作。

2 Visual Source Safe 2005簡介

2.1 基本概念

VSS(Visual Source Safe)是Visual Studio開發(fā)套件中的一員,也是美國微軟公司推出的一個工作組級的版本控制軟件,它與Visual C++、Visual Basic等開發(fā)工具有很強的親和度。VSS 2005是一種源代碼控制系統(tǒng),它提供了完善的版本和配置管理功能,以及安全保護和跟蹤檢查功能。

VSS通過將有關(guān)項目文檔(包括文本文件、圖象文件、二進制文件、聲音文件、視屏文件)存入數(shù)據(jù)庫進行項目研發(fā)管理工作??蛻艨梢愿鶕?jù)需要隨時快速有效地共享文件。文件一旦被添加進VSS,它的每次改動都會被記錄下來,客戶可以恢復(fù)文件的早期版本,項目組的其他成員也可以看到有關(guān)文檔的最新版本,并對它們進行修改,VSS也同樣會將新的改動記錄下來。你還會發(fā)現(xiàn),用VSS來組織管理項目,使得項目組間的溝通與合作更簡易而且直觀。

VSS 2005版本控制軟件具有支持多種語言,支持Unicode,經(jīng)常提醒你Analyze4、Internet訪問等優(yōu)點。

2.2 工作原理

VSS 2005解決了軟件開發(fā)小組長期所面臨的版本管理問題,將所有的項目源文件(包括各種文件類型)以特有的方式存入數(shù)據(jù)庫,有效地幫助項目開發(fā)組的負責(zé)人對項目程序進行管理。開發(fā)組的成員不能對該數(shù)據(jù)庫中的文件進行直接的修改,而是由該版本管理器將該項目的源程序或是子項目的源程序拷貝到各個成員自己的工作目錄下進行調(diào)試和修改,然后將修改后的項目文件作Check in提交給VSS,由它進行綜合更新。VSS也支持多個項目之間文件的快速高效的共享。小組的成員可能得到該項目的最新版本,對它進行修改,并保存一個新的版本。當(dāng)某個成員向VSS中添加文件時,該文件將會被備份到數(shù)據(jù)庫中,以便所有的成員都能共享該文件。每個成員對所有的項目文件所作的修改都將被記錄到數(shù)據(jù)庫中,從而使得修改的恢復(fù)和撤銷,在任何時刻和任何位置都成為可能。

VSS的項目組織管理,使得開發(fā)小組的協(xié)調(diào)變得簡單容易而且很直觀,當(dāng)一個和一組文件發(fā)送給另一個成員、小組、Web站點或是任何其他的地址,VSS確保他們之間的真正共享及所選的一組文件的不同版本的安全性[2]。

2.3 運行環(huán)境

服務(wù)器和開發(fā)人員的客戶機分別裝有VSS的服務(wù)器和客戶端程序。Windows平臺下使用VSS開發(fā)的典型環(huán)境是基于C/S架構(gòu)的,即開發(fā)小組的每個開發(fā)者在各自的Windows平臺下利用開發(fā)工具(比如VC)開發(fā)項目中的各個模塊,而配有專門的服務(wù)器集中控制開發(fā)過程中的文檔和代碼[3]。

VSS可以處理由各種開發(fā)語言、創(chuàng)作工具或應(yīng)用程序所創(chuàng)建的任何文件類型。VSS可以同Visual Basic、Visual C++、Visual J++、Visual InterDev、Visual FoxPro開發(fā)環(huán)境以及視窗Microsoft Office應(yīng)用程序集成在一起,提供方便易用、面向項目版本控制功能。在提倡文件再使用的今天,客戶可以同時在文件和項目級進行工作。VSS面向項目的特性,能更有效地管理工作組應(yīng)用程序開發(fā)工作中的日常任務(wù)。

2.4 不足及補正

VSS 2005的不足是不能查看PDF文件,經(jīng)過查詢資料,可以使用一個補丁文件:VS80-KB943847-X86-INTL,安裝之后便可以存儲和查看PDF文件了。

3 版本控制

3.1 版本控制的重要性

在軟件開發(fā)和需要比較兩種版本的文件或找回早期版本的文件時,源代碼的控制是非常有用的。版本控制是工作組軟件開發(fā)中的重要方面,它能防止文件意外丟失、允許反追蹤到早期版本,并能對版本進行分支、合并和管理。其重要性表現(xiàn)為:一是作為代碼倉庫,在軟件開發(fā)中對各個不同版本的源代碼和文檔進行有效的管理,占用空間小,方便獲得各個版本代碼和文檔;二是對源代碼進行有效協(xié)調(diào)的訪問(不同的版本控制軟件采取不同的協(xié)調(diào)策略)。

VSS能夠維護1個文件的多個版本,包括一個從不同版本之間進行修改的記錄。版本控制包括3個方面:

1)組內(nèi)協(xié)調(diào) 在一般情況下,確保在任何時刻都只有1個成員對某個特定的文件進行修改,這樣可以防止文件被其他成員的修改意外更新。當(dāng)然,VSS管理員可以改變此缺省設(shè)置,用以允許對單個文件同時有多個Check out,并且仍禁止對他人的修改進行覆蓋。

2)版本跟蹤 對老版本的源代碼和其他文件進行歸檔和跟蹤,而且這些版本能夠被重新得到,以便進行bug跟蹤或其他目的。

3)跨平臺開發(fā) 支持同一代碼在跨多個開發(fā)平臺時的版本控制。

4)重用或面向?qū)ο蟠a 跟蹤哪些程序使用了哪些代碼可被重用的模塊。

3.2 版本跟蹤方式

VSS用日期/時間戳來記錄文件是何時被Check out,或是何時被修改的,采用3種方法來跟蹤文件和項目的版本。

1)版本號 客戶對它沒有控制權(quán),版本號是由VSS維護的內(nèi)部數(shù)碼,每個文件和項目的每個版本都有一個版本號,并且這些版本號總是1個整數(shù)而且是遞增的。

2)標(biāo)簽 任何格式的長度不超過31個字符的字符串。這是客戶賦給某個項目或文件的某個版本的1個字符串。

3)日期/時間戳 給出了1個文件何時最后被修改的信息,或者是1個文件何時被Check in。VSS同時支持12h和24h的時間格式。

在工具欄當(dāng)中可以看到Show Differences按鈕與Show History按鈕,它們也是很重要的版本控制功能??梢栽谝粋€指定文件的右鍵功能菜單當(dāng)中找到對應(yīng)的菜單項。

Show Differences可以查到本地文件與存在VSS數(shù)據(jù)庫當(dāng)中的文件(最后1個版本)的異同點,如果沒有按照Check in與Check Out模式工作的話,一旦發(fā)現(xiàn)有不同的地方,可以使用Get Last Version將歷史版本重新從服務(wù)器數(shù)據(jù)庫中得到最新的版本。

而Show History可以對文件的歷次修改給出1個對應(yīng)表,看到某選定文件在VSS數(shù)據(jù)庫中共有幾個版本,我們需要哪個版本,就可以選中哪個版本,然后單擊按鈕“Get”即可獲得。同時,可以使用Rollback按鈕將版本進行回滾。這樣的話,可以很方便的對版本進行管理[4]。

3.3 版本管理軟件的比較

常見的版本管理軟件有3種,VSS、CVS、SVN的特點比較如下[5]。

1)VSS 微軟的版本控制工具,僅支持Windows操作系統(tǒng),雖然簡單好用,但僅適用于團隊級開發(fā),不能勝任企業(yè)級的開發(fā)。

2)CVS 全稱Concurrent Versions System,并行版本控制系統(tǒng),是開放源代碼軟件世界的一個偉大杰作。由于CVS功能強大,跨平臺,支持開發(fā)版本控制,而且免費,所以在全球中小型軟件企業(yè)中得到了廣泛使用。CVS最大的遺憾是缺少相應(yīng)的技術(shù)支持,許多問題的解決需要自已尋找資料,甚至是研究源代碼。CVS是一個典型的服務(wù)器/客戶端軟件,有UNIX版本的CVS、Linux版本的CVS和Windows版本的CVS。CVS支持遠程管理,項目組分布開發(fā)時一般都采用CVS。

3)SVN 全稱Subversion,采用了更先進的分支管理系統(tǒng),它的設(shè)計目標(biāo)是取代CVS,CVS縱然易用,但也有一些與生俱來的缺點,比如CVS不支持文件改名,只對文件控制版本而沒有針對目錄的管理等。之后CVS的創(chuàng)始人之一在其現(xiàn)任公司的資助下開發(fā)了SVN,用以針對CVS的一些弱點進行改進。

CVS對開源事業(yè)有貢獻,但CVS的命令行操作著實讓一些使用者頭疼。在對1個特定版本的文檔Check in的時候,需要輸入一長串的路徑名和文件名。在操作易用性上與CVS形成對比的是微軟家族的VSS。作為微軟的產(chǎn)品,在圖形界面化操作上自不用多言,但VSS只能適用于小團隊的開發(fā)工作。VSS是很好的入門級工具,但它的一些功能太過于“入門”,在驗證密碼、保存密碼這些基本功能上處理的不盡人意。CVS是開源的,免費的,它的理想替代者是SVN。

SVN針對CVS的問題作了改進,命令的設(shè)計更為合理,對二進制文檔和目錄數(shù)據(jù)加強了控制能力,并且吸收了VSS的lock-modify-update(release)的模式和modify-merge模式的優(yōu)點,在一定程度上都支持并作了優(yōu)化,沒有提高使用的復(fù)雜度。由于SVN的設(shè)計結(jié)構(gòu)很好,所以很容易為它開發(fā)客戶端,還有Web模式的,可以遠程管理,支持RSS更改訂閱。

4 VSS 2005與VSS 6.0比較

4.1 VSS 6.0新增功能

1)歸檔和恢復(fù) 在VSS 6.0中,這兩個操作是在一個客戶界面友好的VSS管理員wizard中進行的,而在以前的版本中,它們只能通過命令行來實現(xiàn)。

2)快速提取 VSS 6.0現(xiàn)在的文件提取速度比以往VSS版本的快2倍左右。

3)移動文件 當(dāng)客戶移動文件時,VSS 6.0自動將該文件共享到一個新的項目中,并在原項目中將其刪除。在新項目中,該文件的屬性是共享的。

4)歷史信息過濾 VSS 6.0支持查看那些沒有標(biāo)簽的文件和項目的歷史。

5)單個文件的展開 在以前的版本中,VSS只能展開一個目錄(文件夾),在VSS 6.0中,同時可以展開一個文件。

6)多個項目之間的差異比較 VSS 6.0允許不同的項目之間進行差異比較。

7)檢查外部的超連接 VSS 6.0允許客戶檢查項目之外的超連接和跳轉(zhuǎn)。在VSS較早的版本中,只有內(nèi)部的超連接和項目內(nèi)的跳轉(zhuǎn)才得到檢查。

8)清除臨時文件夾選項 該新功能可使客戶很方便地清除臨時文件夾。

9)創(chuàng)建打開VSS數(shù)據(jù)庫的快捷鍵 客戶可以使用VSS Explorer中該功能創(chuàng)建1個打開某個特定VSS數(shù)據(jù)庫的桌面快捷鍵。

10)HTML格式的幫助 VSS以往版本使用的是Win Help格式[2]。

4.2 VSS 2005與VSS 6.0比較

VSS 6.0相比VSS 2005,只有打開配置庫的功能,沒有新建配置庫的功能。VSS傳統(tǒng)模式:Lock-Modify-Unlock Model。即1個人Check out某文件后,其他人不允許同時Check out該文件,只能進行串行開發(fā)。

VSS 2005較VSS 6.0增加一種工作模式:Copy-Modify-Merge Model,即允許多人同時Check out同一文件,支持并行開發(fā),Check in時做合并工作。之所以說此選擇非常關(guān)鍵,是因為一旦做出選擇,創(chuàng)建好數(shù)據(jù)庫后,就不能再改變數(shù)據(jù)庫的工作模式了。數(shù)據(jù)庫存放路徑,所選擇路徑的目錄在以后必須共享給需要訪問此配置庫的客戶。一般在此之前,需要對服務(wù)器的空間做一個規(guī)劃,避免數(shù)據(jù)庫建立后,磁盤空間不夠影響使用。

5 在電力規(guī)劃前期評審中的應(yīng)用

VSS作為一種存儲工具,在電力項目規(guī)劃前期評審中的應(yīng)用中起到重要作用。上海市電力公司經(jīng)研院規(guī)評中心每年有評審項目,從項目資料到評審過程,從評審意見到項目批復(fù),還有數(shù)不清的規(guī)程和規(guī)范等,查找這些資料更是困難重重,使用VSS 2005建立的一套數(shù)據(jù)系統(tǒng),規(guī)范了評審過程和資料查閱等。

按照電力規(guī)劃前期評審中項目資料類型,評審資料通過VSS 2005平臺分成了審前資料、審后資料、會議資料、評審意見資料、前期文件資料等五類資料。其中,審前資料包括審前技術(shù)報告、審前計經(jīng)報告等;審后資料包括審后技術(shù)報告、審后計經(jīng)報告;會議資料包括會議通知、簽到單等;評審意見資料包括評審前意見、評審后意見等;前期文件資料包括評審前的設(shè)計公司資料等。

在建立以VSS 2005為平臺的資料存儲系統(tǒng)中,首先通過時間為順序,建立了×年的項目前期評審數(shù)據(jù)庫,可以清晰的看出×年×月×日的所有項目,打開某個項目可以看到所有有關(guān)此項目的資料(包括會議資料、評審意見、前期文件、審前資料、審后資料等),快速提取所需資料內(nèi)容,高速高效。其次,VSS 2005系統(tǒng)對項目進行詳細的分類,比如項目性質(zhì)(基建、技改)、項目實施單位(市南、市北等)、項目內(nèi)容(初設(shè)、可研)。在每個項目的技術(shù)報告標(biāo)題中都做了標(biāo)注和分類,利于對各個類型的文件進行統(tǒng)一查找。

VSS不僅能方便存儲、方便快速提取,而且具有可靠性、保密性,大大提高了在電力規(guī)劃前期評審中資料存儲查詢的效率。用VSS來組織管理電力規(guī)劃前期評審中項目,使得項目組內(nèi)的溝通與合作更簡易和直觀。

6 結(jié)語

VSS 2005作為一種源代碼控制系統(tǒng),提供了完善的版本和配置管理功能,以及安全保護和跟蹤檢查功能。用VSS來組織管理項目,使得項目組內(nèi)的溝通與合作更簡易、更直觀。在版本控制管理中除了使用VSS,還可以使用CVS以及SVN版本控制系統(tǒng)。如果有服務(wù)器Linux系統(tǒng),則CVS,SVN都可以選擇。如果.net用平臺開發(fā),VSS無疑是首選,并且操作簡單易于掌握。VSS 2005在電力規(guī)劃前期評審中起到重要作用,可以安全方便存儲,快速高效提取。

[1]熊剛強.基于VSS的VFP項目的版本控制解決方案[J].廣西民族學(xué)院學(xué)報(自然科學(xué)版),2006,12(2):87-90.

[2]周詠梅,楊新平.版本管理及Visual Source Safe 6.0的使用[J].華南金融電腦維護與管理,2003,(1):64-67.

[3]葉文勝.淺述VSS服務(wù)器的安裝和配置[J].現(xiàn)代商貿(mào)工業(yè),2007,19(8):187-188.

[4]龔劍明.基于VSS管理的ASP.net在電子政務(wù)中的開發(fā)[J].計算機與數(shù)字工程,2005,33(12):102-103.

[5]張光建.VSS軟件開發(fā)中的版本控制[J].電腦學(xué)習(xí),2011,(1):44-45.

猜你喜歡
源代碼資料數(shù)據(jù)庫
人工智能下復(fù)雜軟件源代碼缺陷精準校正
計算機仿真(2023年8期)2023-09-20 11:23:42
基于TXL的源代碼插樁技術(shù)研究
Party Time
JUST A THOUGHT
PAIRS & TWOS
軟件源代碼非公知性司法鑒定方法探析
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
揭秘龍湖產(chǎn)品“源代碼”
鄂温| 光山县| 都兰县| 桃园市| 亚东县| 金堂县| 尉氏县| 岑巩县| 阿鲁科尔沁旗| 乌审旗| 大冶市| 兴文县| 东港市| 肥城市| 天峻县| 收藏| 怀安县| 曲周县| 库车县| 郁南县| 渝中区| 大邑县| 黄平县| 夏津县| 上高县| 麻阳| 翁源县| 福安市| 巴马| 醴陵市| 阳原县| 通城县| 宁夏| 自治县| 大悟县| 页游| 平邑县| 周口市| 霍邱县| 和龙市| 朝阳区|