在軟件開發(fā)這個(gè)龐大而復(fù)雜的過程中,需求涉及到各方面的人員,信息的交流反饋不僅僅是研發(fā)小組成員之間及各個(gè)研發(fā)小組之間,還存在于客戶與研發(fā)著之間。所有的這些交流反饋意見信息都有可能導(dǎo)致對(duì)軟件的修改,小的可能只是對(duì)某個(gè)源文件中的某個(gè)變量的定義的改動(dòng),大到重新設(shè)計(jì)程序模塊甚至可能是整個(gè)需求分析變動(dòng)。在整個(gè)軟件生命周期中,會(huì)形成眾多的版本,但誰也不敢百分百保證不出現(xiàn)錯(cuò)誤的修改。版本管理?xiàng)l例,不僅是對(duì)源代碼的版本進(jìn)行管理,而且還要對(duì)整個(gè)項(xiàng)目進(jìn)行管理。
公司很早就引進(jìn) Microsoft 公司的 Visual SourceSafe 6.0 ( VSS )版本管理產(chǎn)品進(jìn)行版本管理。但在使用過程中,存在一定的問題,特別是在項(xiàng)目處于維護(hù)階段時(shí)的版本管理不盡人意,經(jīng)常出現(xiàn)反復(fù)的問題。因此,在實(shí)行 VSS 上的管理的基礎(chǔ)上,特制定企業(yè)方案事業(yè)部版本管理?xiàng)l例,重點(diǎn)是減少由于版本管理不善而造成的錯(cuò)誤。
1. 開發(fā)階段版本管理?xiàng)l例
1.1數(shù)據(jù)庫(kù)、源碼和 jsp 頁(yè)面的一致性問題
在開發(fā)階段,數(shù)據(jù)庫(kù)、源碼和 JSP 可能會(huì)有團(tuán)隊(duì)中不同的成員進(jìn)行的修改,經(jīng)常會(huì)出現(xiàn)不一致。必須嚴(yán)格執(zhí)行如下規(guī)定:
1. 對(duì)涉及與其他共用的數(shù)據(jù)庫(kù)、源碼和 JSP ,除遵守項(xiàng)目組的約束外,必須在 check out 下的文件進(jìn)行修改,并避免長(zhǎng)時(shí)間不 check in ;
2. 對(duì)涉及與其他共用的數(shù)據(jù)庫(kù)、源碼和 JSP check out 、 check in 必須要有注釋;
1.2 用戶對(duì)需要的變更
在得到用戶簽字確認(rèn)的需求文檔后,在開發(fā)階段,對(duì)用戶提出的需求,必須執(zhí)行如下規(guī)定:
1. 修改工作量不大,用戶提出的需求不會(huì)出現(xiàn)反復(fù)的情況下,盡量滿足用戶的要求,但必須有書面記錄,并上傳到 VSS 上;
2. 修改工作量較大,或者是工作量不大,但會(huì)容易出現(xiàn)反復(fù),如進(jìn)行修改,則必須得到用戶負(fù)責(zé)人的簽字確認(rèn)或郵件確認(rèn),不管是否修改,都必須有書面記錄,上傳到 VSS 上,并打印到紙質(zhì)文檔中保管;
3. 對(duì)修改工作量大,除執(zhí)行上面規(guī)定外,還必須用郵件等方式知會(huì)到項(xiàng)目經(jīng)理、部門經(jīng)理以及相關(guān)人員;
4. 對(duì)在后期提出的需求,涉及數(shù)據(jù)庫(kù)或者源程序的大量修改,盡可能不作修改;
1.3 開業(yè)人員對(duì)需求的變更
在得到用戶簽字確認(rèn)的需求文檔后,在開發(fā)階段,如在技術(shù)上或者工作量等方面由開發(fā)人員提出的需求變更,必須執(zhí)行如下規(guī)定:
1. 對(duì)在需求文檔范圍內(nèi),縮小需求范圍的需求變更,必須得到用戶負(fù)責(zé)人的簽字確認(rèn)或郵件確認(rèn),并形成文檔,上傳到 VSS 上
2. 對(duì)可能影響回款,用戶驗(yàn)收意見等的需求變更,必須用戶公章,還必須用郵件等方式知會(huì)到項(xiàng)目經(jīng)理、部門經(jīng)理以及相關(guān)人員;
2. 維護(hù)階段版本管理?xiàng)l例
2.1 維護(hù)管理必備資料
項(xiàng)目在用戶驗(yàn)收后,進(jìn)行系統(tǒng)維護(hù)期,必須具備如下資料:
1. 由項(xiàng)目經(jīng)理編寫竣工資料;
2. 由項(xiàng)目盡量與測(cè)試組中共同編寫維護(hù)規(guī)定;
3. 用戶驗(yàn)收運(yùn)行環(huán)境及數(shù)據(jù)庫(kù)備份;
2.2 用戶問題反饋
用戶反饋的問題,屬于軟件質(zhì)量范圍內(nèi)的問題,統(tǒng)一提交到測(cè)試組中。對(duì)用戶反饋的問題,必須執(zhí)行如下規(guī)定:
1. 對(duì)確認(rèn)的缺陷,必須按需求變更、完善系統(tǒng)方式進(jìn)行分類, OA 問題、業(yè)務(wù)問題(可細(xì)分到子模塊中),并記錄到 XX 項(xiàng)目缺陷 .xls 的表“最新 BUG 報(bào)告”中,并上傳到 VSS 上;
2. 測(cè)試組通知項(xiàng)目經(jīng)理,項(xiàng)目經(jīng)理從 VSS 上取“最新 BUG 報(bào)告”(強(qiáng)制要求行為),確認(rèn)哪些內(nèi)容是需要修改的,并在“最新 BUG 報(bào)告”上填寫修改人,解決時(shí)間;對(duì)屬 OA 問題,由項(xiàng)目經(jīng)理整理到“ OA 缺陷提交報(bào)告”中,并與電子政務(wù)協(xié)調(diào)修改;
2.3 修改人員管理
為了避免同一個(gè)問題反復(fù)出現(xiàn),源代碼在經(jīng)過多人修改后,無人相信 VSS 的局面,修改過程中必須如下規(guī)定:
1. 從 VSS 上獲取用戶最新的運(yùn)行環(huán)境;
2. 對(duì)修改內(nèi)容必須從 VSS 上 check out ;
3. 對(duì)不執(zhí)行 check out 而造成的對(duì)他人修改的影響,罰款 100 元作為項(xiàng)目活動(dòng)經(jīng)費(fèi);
4. 缺陷修改完,必須將所修改的內(nèi)容 check in 到 VSS 上,制定修改清單,清單中必須說明經(jīng)編譯后的類文件的路徑;
5. 從新從 VSS 上獲取最新的運(yùn)行環(huán)境,根據(jù)修改清單對(duì)開發(fā)環(huán)境進(jìn)行升級(jí);
6. 將修改清單提交到測(cè)試組中;
2.4 測(cè)試組測(cè)試
1. 在修改內(nèi)容的文件夾下,建立以修改日期命名的文件夾;在修改結(jié)果的文件夾下,建立以修改日期命名的文件夾;
2. 根據(jù)清單,從 VSS 上取得相應(yīng)的文件 ,并將寫上當(dāng)日修改日志,總的修改日志;
3. 利用 Ant 將 *.java 編譯成 *.class 文件;
4. 將 *.class ,將文件復(fù)制到 jar 包及 classess 的目錄下,將其他文件復(fù)制到相應(yīng)目錄下,在修改的修改日期文件下夾應(yīng)該只有一個(gè) public.war 文件夾, jar 包, * 。 sql 文件,并將寫上當(dāng)日修改日志,總的修改日志;
5. 從新從 VSS 上獲取最新的運(yùn)行環(huán)境;
6. 根據(jù)修改結(jié)果步驟,在對(duì)內(nèi)服務(wù)器對(duì)應(yīng)的應(yīng)用上進(jìn)行升級(jí);
7. 還原數(shù)據(jù)庫(kù),測(cè)試,如有問題,返回修改人員進(jìn)一步修改,重復(fù)上述步驟 ;如開發(fā)人員提供的修改清單名稱錯(cuò)誤超過兩次,罰款 100 元作為項(xiàng)目活動(dòng)經(jīng)費(fèi);
8. 如無問題,則將修改結(jié)果整理到用戶升級(jí)文件中,提交給項(xiàng)目經(jīng)理;
9. 測(cè)試組將“最新 BUG 報(bào)告”中修改確認(rèn)正確的缺陷轉(zhuǎn)到已修改 BUG 報(bào)告,并將內(nèi)容上傳到 VSS 上;
2.5 升級(jí)及備份
1. 項(xiàng)目經(jīng)理收到測(cè)試組提交的用戶升級(jí)文件后,根據(jù)項(xiàng)目作進(jìn)一步檢查;
2. 項(xiàng)目經(jīng)理聯(lián)系用戶負(fù)責(zé)人進(jìn)行升級(jí),填寫升級(jí)記錄,并將與用戶交流的電子郵件等上傳到 VSS 上;
3. 升級(jí)后,應(yīng)將用戶環(huán)境、數(shù)據(jù)庫(kù)進(jìn)行備份,如情況不允許,應(yīng)將對(duì)內(nèi)服務(wù)器的對(duì)應(yīng)的環(huán)境盡心備份,將部分內(nèi)容上傳到 VSS 上;用戶環(huán)境應(yīng)是不包括附件外的所有環(huán)境;
4. 過一段時(shí)間后,與用戶聯(lián)系,確認(rèn)缺陷是否解決!
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |