《軟件研發(fā)版本管理制度.doc》由會員分享,可在線閱讀,更多相關(guān)《軟件研發(fā)版本管理制度.doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、北京東達悅科技有限公司軟件研發(fā)版本管理規(guī)范v1.0(草案)研發(fā)部2009-2-4目錄文檔類別使用對象31引言41.1目的41.2范圍41.3術(shù)語定義41.4版序控制記錄51.5版本更新記錄52版本管理521版本標識方法5211正式版本522目錄結(jié)構(gòu)623文檔的存放72.3.1 當前版本和歷史版本的存放72.3.2 開發(fā)文檔的存放72.3.3 源代碼的存放72.3.4 SQL語句的存放72.3.5發(fā)行文檔的存放724權(quán)限控制管理83更新管理(版本升級)83.1版本升級原則83.2 新版本的發(fā)布94備份管理95用戶版本管理106研發(fā)部統(tǒng)一管理階段性版本106.1階段性版本的提交到研發(fā)部106.2階
2、段性版本的發(fā)布到公司網(wǎng)站上106.3各項目組新版本內(nèi)部及時備份。117版本工具的使用117.1研發(fā)部采用svn配置管理工具118各項目組提交文檔及源碼以及規(guī)則118.1 各項目組需要提交的文檔118.2目前所管理的產(chǎn)品列表129周報管理制度1210風(fēng)險管理制度13文檔類別使用對象文檔類別該文檔是為東達悅公司提供一個版本管理規(guī)范性文件。使用對象該文檔使用對象為東達悅軟件公司研發(fā)本部各部門項目經(jīng)理及版本管理人員,以及其他相關(guān)人員。未經(jīng)許可,該文檔不得提供給上述規(guī)定對象以外的人員閱讀或使用。 1引言1.1目的本文檔是為規(guī)范東達悅軟件公司研發(fā)版本管理而制定的。1.2范圍本文檔為各產(chǎn)品部、事業(yè)部版本管理
3、員提供有關(guān)版本管理規(guī)范的相關(guān)內(nèi)容,包括:l 版本標識方法l 軟件系統(tǒng)數(shù)據(jù)的存放l 文檔的修改控制l 文檔的備份制度1.3術(shù)語定義SVNSvn是一個開源的版本控制系統(tǒng)Subversion的簡稱文檔一種數(shù)據(jù)媒體和其上所記錄的數(shù)據(jù)。配置管理標識和確定系統(tǒng)中配置項的過程,在系統(tǒng)整個生存周期內(nèi)控制這些項的投放和更動,記錄并報告配置的狀態(tài)和更動要求,驗證配置項的完整性和正確性。軟件配置軟件的具體形態(tài)在某時刻的瞬時影像。配置項 軟件配置管理的對象稱為配置項,如:系統(tǒng)規(guī)格說明書,項目開發(fā)計劃,用戶手冊,源碼?;€ 軟件生存周期中各開發(fā)階段末尾的標記,它的作用是把各階段工作的劃分更加明確化,使本來連續(xù)的工作在這
4、些點上斷開,使之便于檢驗和肯定階段成果。1.4版序控制記錄版序狀態(tài)擬稿審核批準發(fā)布日期1.0研發(fā)部 張洪興09/11/181.5版本更新記錄*A - 增加 M - 修改 D - 刪除版本/修訂版修改頁碼修改記錄修改人日期1.0初始版本2009/022版本管理21版本標識方法為了使工作規(guī)范化、統(tǒng)一化,各項目組實行的版本標識管理方法分為:正式版本和特殊版本。211正式版本 公司在市場上發(fā)行的正規(guī)版本。以“V”開頭,版本號放后。V前面增加項目名稱,版本號分3節(jié):主版本號,次版本號和內(nèi)部版本號,每節(jié)之間以小數(shù)點(.)間隔。如V2.0.1表示主版本號為2,次版本號為0,內(nèi)部版本號為1。研發(fā)部控制主版本號
5、和次版本號,各項目組控制內(nèi)部版本號。例如:一體化平臺-平陰版v1.1.1 , 一體化平臺為產(chǎn)品名稱,平陰版為版本名稱(平陰為具體項目名稱),v1.1.1為主版本號+次版本號+內(nèi)部版本號。22目錄結(jié)構(gòu)由于各項目組的實際情況不同,目錄結(jié)構(gòu)很難統(tǒng)一,但為了能更好地管理各項目組的文檔,建議可將被管理的配置項分為三大類:文檔類、源碼類及安裝盤類,這樣存放比較清晰,有利于版本管理。至于二級目錄是以版本劃分,并根據(jù)制定的目錄結(jié)構(gòu)給出文件級目錄清單(先給出源程序及文檔的文件級目錄清單,安裝盤的可以后再執(zhí)行):?,F(xiàn)以農(nóng)電平臺1.0的目錄結(jié)構(gòu)舉例如下:根目錄一級目錄二級目錄三級目錄對應(yīng)配置項備注產(chǎn)品名稱一體化平臺
6、版本號源碼(F:)核心源碼包jar源碼存目錄前正在修改的內(nèi)容Class文件擴展源碼包源碼sqlSQL文件版本變動說明文檔(G:)需求文檔用戶需求記錄版本號在文件名上標識概要設(shè)計文檔總體設(shè)計文檔按版本號依次類推數(shù)據(jù)庫設(shè)計詳細設(shè)計文檔測試用例測試記錄版本號在文件名上標識用戶手冊用戶使用手冊產(chǎn)品說明書項目計劃項目計劃實施手冊實施手冊月度計劃月度計劃安裝盤(H:)REL_SRC產(chǎn)品盤或發(fā)布文檔SETUP發(fā)布文檔表示正式版本及特殊版本的目錄按以下原則定義:(1) 正始版本:以“V”開頭,版本號放后,主版本號和次主版本號之間的“.”去掉,明細版本號之前加“-”。舉例如下:版本號 目錄名V1.0 V1.0V
7、1.1 V1.1V1.0.1 V1.0.1V1.1.2 V1.1.223文檔的存放2.3.1 當前版本和歷史版本的存放對于源碼文件,特別增加了一個Current目錄,存放當前正在開發(fā)與維護的源碼文件,當前未發(fā)布版本的所有數(shù)據(jù)都存放在.CURRENT下。一旦當前版本正式發(fā)行,則當前目錄被修改為相應(yīng)的歷史目錄。歷史版本是指已經(jīng)發(fā)行的版本,存放在相應(yīng)的版本目錄之下,一般不允許改動。2.3.2 開發(fā)文檔的存放根據(jù)各項目部自己的情況,將系統(tǒng)用戶需求記錄、總體設(shè)計文檔、詳細設(shè)計及數(shù)據(jù)結(jié)構(gòu)文件、測試記錄、用戶手冊等放入相應(yīng)的目錄下。2.3.3 源代碼的存放源代碼包括如:java,jsp,BMP,ICO等相關(guān)
8、文件,是未經(jīng)編譯處理的、不能直接交付使用的產(chǎn)品文件以及編譯產(chǎn)品所需的文件;聯(lián)機幫助文件HLP在未生成HLP文件之前的DOC,RTF等格式的文檔也視為源代碼。各子系統(tǒng)當前的程序源文件放入相應(yīng)的目錄下。對于一個子系統(tǒng)又分多個分子系統(tǒng)的情況,應(yīng)在該目錄下分別建立幾個相應(yīng)的目錄。2.3.4 SQL語句的存放各子系統(tǒng)SQL文件放入.SQL下,對于不同的數(shù)據(jù)庫,分別建立不同的子目錄,如oracle、sysbase、db2等。公共SQL文件直接放入SQL下即可,不同數(shù)據(jù)庫的特殊SQL分別放入對應(yīng)的子目錄下。2.3.5發(fā)行文檔的存放發(fā)行文檔是指產(chǎn)品交付用戶使用所必須的文件。包括:產(chǎn)品可執(zhí)行文件,用戶使用說明書
9、,聯(lián)機幫助(HLP);資源文件(BMP,ICO等),環(huán)境配置文件等。以上文檔作為制作發(fā)行盤的素材,放在RELEASE的REL_SRC目錄之下,制作好的發(fā)行盤放在RELEASE的SETUP目錄。24權(quán)限控制管理為保障文檔的安全性,一致性,以及防止意外修改,必須對不同的文檔設(shè)置不同的訪問權(quán)限。文檔權(quán)限類別:只讀權(quán)限,讀寫權(quán)限。文檔類別:設(shè)計文檔,源碼,發(fā)行文檔。用戶類別:開發(fā)人員、測試人員、分析設(shè)計人員、項目經(jīng)理、配置管理員、安裝盤制作人員、問題及需求管理人員、用戶文檔編寫人員等。為了控制不同的使用權(quán)限,根據(jù)要求在服務(wù)器上分別建立不同的用戶,針對不同的配置項所在目錄分配不同的權(quán)限。為了便于管理,應(yīng)
10、以表格的形式列出人員與管理對象的訪問關(guān)系(用戶權(quán)限清單)。3更新管理(版本升級)3.1版本升級原則版本升級應(yīng)嚴格納入版本管理的控制之下。應(yīng)當謹慎地控制版本的升級,保障高版本的向下兼容性,或提供嚴格定義的升級方法。在下面幾種情況下,進行版本演化和升級:1、當產(chǎn)品發(fā)生重大修改和改進時,主版本號加1。重大修改和改進包括:1) 平臺遷移;2) 開發(fā)工具的遷移;3) 體系結(jié)構(gòu)的變遷。2、當產(chǎn)品發(fā)生較小的改進或修改時,次版本號可以加1。 3、對于改動量比較少的,如修改產(chǎn)品的錯誤,可增加內(nèi)部版本號。內(nèi)部版本號對用戶來說是不可見的,只對項目部內(nèi)部版本控制有用。4、記錄版本升級過程。每次版本升級,都要填寫版本升
11、級記錄表,記錄表樣例如下:版本升級記錄表版本號發(fā)布日期修改文件問題簡要描述發(fā)布責任人批準人備注說明: 版本號: 記錄當前發(fā)布的版本。 發(fā)布日期:該版本批準發(fā)布的日期。 修改文件:版本修改記錄文件,一般為版本修改日志。3.2 新版本的發(fā)布新版本的發(fā)布包括主版本號和次版本號的升級,一般不包括內(nèi)部版本號的升級。流程如下:1、 根據(jù)項目進展情況,或者根據(jù)用戶需要進行發(fā)布準備。2、 在指定目錄中,根據(jù)本次發(fā)布的版本號建立相應(yīng)的子目錄,將current下的所有內(nèi)容拷貝至新建目錄下。3、 可在新建目錄下建立readme.txt,并加入相應(yīng)的內(nèi)容。readme.txt文件是記錄該版本與上一版本的不同,作過哪些
12、改動。格式樣例如下: 增加或修改功能涉及源文件改動原因4備份管理為了保證文檔的最大可恢復(fù)性,要隨時及定期地進行備份工作。1、 隨時備份:(1) 開發(fā)人員每天都要將自已當日修改的源文件在本地機器上進行備份。(2) 開發(fā)負責人每天要將所有源文件在本地機備份。(3) 建議備份采用循環(huán)備份。2、 定期備份(1) 備份形式為硬盤備份和光盤備份。硬盤備份時,要備份在獨立的硬盤上;光盤備份時,要將光盤存放在可靠的地方。(2) 備份周期視各產(chǎn)品部、事業(yè)部的具體情況而定。如果處于開發(fā)階段,每周應(yīng)對所有的源程序項進行備份,一般為每周周五;如果處于其它階段,根據(jù)具體情況而定,但周期不能超過兩周。(3) 備份要由版本
13、管理員負責,備份原則應(yīng)是保證文檔的最大可恢復(fù)性。(4) 對于歷史版本或某用戶的特殊版本,如果無特殊原因不再進行修改的話,建議用光盤進行備份,而且應(yīng)有備份盤說明文件BACKUP.TXT。該文件應(yīng)該記錄以下內(nèi)容:本次備份時間,備份內(nèi)容,執(zhí)行人。5用戶版本管理目前主要以做項目為主,是根據(jù)客戶要求開發(fā)的程序。為了更好地管理源程序,應(yīng)為每一用戶建立一個用戶版本文件,該文件應(yīng)包含以下內(nèi)容:用戶編號:用戶名稱:軟件版本號:開始使用時間:聯(lián)系人:聯(lián)系電話:用戶程序更改日志樣例如下:更改時間版本號修改模塊名稱變更原因變更概述軟件位置變更人員備注說明:1) 用戶購買軟件時要為該用戶建立一個包含上述內(nèi)容的一個用戶版
14、本文件,并填寫有關(guān)數(shù)據(jù)。2) 用戶進行版本更新時要求填寫該文件的版本變更記錄,用以反映用戶版本的變更情況。6研發(fā)部統(tǒng)一管理階段性版本 6.1階段性版本的提交到研發(fā)部當各項目組更新了新版本以后,如果次版本號發(fā)生改變,各項目組配置管理員經(jīng)項目經(jīng)理批準后要把次版本修改的內(nèi)容(提交的內(nèi)容分為修改的源碼、新的文檔和安裝盤)提交給研發(fā)部版本管理人員。 6.2階段性版本的發(fā)布到公司網(wǎng)站上產(chǎn)品新版本發(fā)布以后,及時在軟件演示環(huán)境中進行更新。并且新版本的特色和特點要在公司網(wǎng)站上進行發(fā)布,描述新版本特色的文檔要由各項目組進行提供給項目部,經(jīng)項目部保存后,文檔提交給公司網(wǎng)站管理人員進行發(fā)布,以便供其他項目組和公司營銷
15、人員進行了解。 6.3各項目組新版本內(nèi)部及時備份。 研發(fā)部負責進行所有產(chǎn)品版本的管理,但各個項目組也要自己進行備份。7版本工具的使用7.1研發(fā)部采用svn配置管理工具研發(fā)部采用專門的配置管理服務(wù)器,此服務(wù)器只是專門用于版本的管理,一般不用于其他的應(yīng)用,配置管理軟件采用svn1.5進行配置管理。8各項目組提交文檔及源碼以及規(guī)則8.1 各項目組需要提交的文檔名稱成果描述立項申請書寫名此項目的價值、所需人力資源及費用、可行性分析、成本-效益分析、風(fēng)險分析立項評審報告評審結(jié)論、評審建議軟件需求說明書目標客戶、業(yè)務(wù)流程、系統(tǒng)中的角色、子功能模塊介紹、質(zhì)量要求、界面要求系統(tǒng)設(shè)計說明書系統(tǒng)約束、開發(fā)環(huán)境、數(shù)
16、據(jù)流程圖、用例圖、模塊之間的關(guān)系圖、類函數(shù)文件變量等命名規(guī)則、系統(tǒng)安全設(shè)計說明、性能分析數(shù)據(jù)庫設(shè)計說明書所有表名、表設(shè)計、表ER圖、生成庫的sql語句、存儲過程等。表及字段命名規(guī)則。用戶界面設(shè)計說明書系統(tǒng)界面設(shè)計說明、原型圖模塊設(shè)計說明書編程的接口、主要的數(shù)據(jù)結(jié)構(gòu)、主要算法測試用例用例名稱、用例描述、輸入值、希望輸出值缺陷報告Bug名稱、bug狀態(tài)、bug緊急情況、bug處理人等測試報告界面測試報告、性能測試報告部署說明書部署環(huán)境說明、初始化的數(shù)據(jù)、注意事項、數(shù)據(jù)的遷移等安裝和使用手冊安裝過程描述、各模塊使用手冊、FAQ手冊軟件源代碼源代碼、開發(fā)工具、API詳細說明、代碼注釋、編譯后程序系統(tǒng)維
17、護記錄問題描述、問題解決情況技術(shù)評審報告評審內(nèi)容、評審結(jié)果、評審人系統(tǒng)安裝程序打包程序、打包工具、打包完以后的安裝程序8.2目前所管理的產(chǎn)品列表序列號產(chǎn)品名稱應(yīng)用范圍所屬項目組產(chǎn)品介紹12345678910119周報管理制度 各項目組每周向研發(fā)部提交周報。周報具體的格式如下:項目周報報告名稱所屬項目報告人報告日期本周工作匯報1. 任務(wù)進度情況2. 項目成本情況3. 項目質(zhì)量情況4. 客戶情況5. 存在的問題和對策或者各個項目組提交最新的project 文件。Project文件中包含各任務(wù)完成百分比,任務(wù)分配人,資源情況。10風(fēng)險管理制度各項目組每周向研發(fā)部提交風(fēng)險跟蹤表。周報具體的格式如下XYZ項目 風(fēng)險跟蹤表風(fēng)險編號嚴重性可能性風(fēng)險描述報告者處理者當前狀態(tài)解決措施 風(fēng)險嚴重性:指風(fēng)險對項目造成的危害程度,例如可以劃分為5個等級:5很嚴重,4比較嚴重,3中等,2輕度,1低微。 風(fēng)險可能性:指風(fēng)險發(fā)生的幾率,可以用百分比表示。