蒲波
(中國電子科學研究院,北京 100041)
做好軟件配置管理,保障軟件產品質量
蒲波
(中國電子科學研究院,北京100041)
隨著軟件行業(yè)的發(fā)展,軟件研發(fā)的規(guī)模越來越大,軟件研制的過程越來越復雜,軟件質量控制的難度越來越大,如何保障軟件的質量,是業(yè)界一直以來不斷探討的問題。
軟件配置管理是軟件能力成熟度模型中的一個關鍵過程域,貫穿了軟件生命周期的始終。其中一項重要內容就是控制軟件的變更,而軟件的變更是造成軟件質量問題的重要因素之一。所以提高軟件配置管理能力與提高軟件的質量有著緊密的聯(lián)系。
本文將首先闡述軟件配置管理的基本內容,并結合筆者多年的軟件配置管理工作經驗,就工作中容易被忽視的、管理不足的或是特別重要的5個方法和過程進行重點探討。并在最后,就使用軟件配置管理工具改進和提升軟件配置管理能力進行了簡單的闡述。
軟件配置管理包含四部分內容:配置標識、配置控制、配置審核、配置記錄。在執(zhí)行軟件配置管理前進行軟件配置管理的準備工作也是很重要的一個環(huán)節(jié)。
執(zhí)行軟件配置管理首先應建立好軟件配置管理制度,其中要包含軟件配置管理計劃編制規(guī)定、軟件版本標識規(guī)定、變更過程控制規(guī)定等。
在此基礎上,還應成立執(zhí)行軟件配置管理的組織機構,確定必要的角色。這部分不屬于具體的軟件配置管理業(yè)務范疇,但卻是實行軟件配置管理的基礎。表1列出了軟件配置管理過程中常見的組織機構、角色和職責,供參考。
表1 組織機構、角色和職責
配置標識是執(zhí)行軟件配置管理的基礎。配置標識做得好,配置管理才有可能做好。配置標識主要包含兩方面內容:
一方面是配置標識計劃。每個配置項必須有一個區(qū)別于其他配置項的標識。要管理哪些配置項,配置項如何進行標識,基線如何標識,以及配置項和基線的版本如何標識等,這些都應該在實行配置管理前規(guī)定好。
另一方面是對軟件版本和基線等實體進行標識,也就是在具體實行軟件配置管理過程中對軟件配置項、基線等配置管理內容進行具體的版本標識和存儲的控制。
軟件配置控制是軟件配置管理的關鍵。主要包括配置項和基線的出、入庫,以及變更控制(包含功能提升和缺陷管理)。
執(zhí)行配置控制過程中要涉及到審批、評審等,并且會涉及到配置審核和配置標識的過程。
配置審核同樣包含兩個部分:
事件審核:軟件配置管理小組對每次軟件的出、入庫的軟件配置項和基線進行物理審核和功能審核,以保證出、入庫的軟件配置項或基線與所要求和描述的一致。
定期審核:軟件配置管理小組及質量管理人員定期對配置庫的狀態(tài)進行審核。內容包括:變更是否實現(xiàn)、是不是要求的改變、是否經過評審、關聯(lián)的模塊是否已被更新及測試等。
記錄用來有效管理配置所需的必要的信息。包括批準的配置識別清單、問題報告、變更控制、基線狀態(tài)等內容。其表現(xiàn)形式通常有版本記錄、出入庫記錄、變更記錄,以及其他的一些報告和圖表。
本節(jié)主要指出在多年實際工作中發(fā)現(xiàn)的,在實行軟件配置管理中那些容易被忽視的和管理相對薄弱的部分,以及配置管理過程中特別重要的方法。其中包含加強軟件測試和軟件回歸測試、基線管理、工具和其他編譯腳本的管理、變更控制、建立問題收集機制幾個方面。
雖然軟件測試并不完全屬于軟件配置管理的業(yè)務范疇,但軟件測試作為提高和反映軟件質量的一種最直觀有效的方法,可以有效提高軟件的質量。
軟件回歸測試作為配置審核的一個重要工作,可以盡可能保證納入到配置庫的軟件產品的質量。沒有經過軟件回歸測試,將無法確定你更改的內容是否正常,也無法保證更改是否引入了新的缺陷。
而有時又可能會出現(xiàn)以下情況,即:回歸測試進行了,也通過了,但回歸測試過程沒有與軟件配置管理過程很好地結合,或者提交測試的軟件配置項和入庫的軟件配置項根本就不是同一個東西,導致回歸測試中已經通過的功能在配置庫中又會重新出現(xiàn)。
所以,軟件回歸測試不應該只是有無的問題,它應與軟件配置管理流程有效結合,才能充分發(fā)揮其重要作用。例如,可以將回歸測試報告和測試報告納入軟件配置管理,同時提交回歸測試的軟件配置項由回歸測試人員直接從配置庫中提取,從而避免上述問題的出現(xiàn)。
基線代表著軟件的狀態(tài),是一個階段的成果,同時也是下一個階段的基礎。雖然基線管理與軟件質量管理看似沒有直接的聯(lián)系,但基線管理卻十分重要。但是很多時候,我們的基線建立的不夠完整,或沒有進行評審,這些情況都有可能會給我們軟件的質量帶來隱患,所以在管理基線時應嚴格依據規(guī)定進行基線控制,應該進行評審的基線,一定要進行評審。
軟件開發(fā)過程中用到的開發(fā)工具、編譯工具,以及編譯腳本、測試腳本等,往往沒有納入管理。但這極可能會引發(fā)問題。最常見的問題是,編譯的環(huán)境發(fā)生了變化。例如,軟件應該在Windows XP SP2中進行編譯,可能由于重裝了系統(tǒng)或更換了開發(fā)人員,將該軟件在Windows 2000中進行編譯,則有可能編譯不通過,或編譯出的東西并不是所希望的。因此,對于這些工具和編譯腳本等的管理,我們同樣要給予足夠的重視。
上面已經提到了配置控制,但由于變更控制部分太重要了,筆者認為有必要再次加以強調。
相信每個配置管理員都會把變更控制作為配置管理的重點工作之一,但是,我們回過頭翻一下我們的軟件配置管理記錄:我們做的夠嗎?變更控制和需求同步了嗎?每一個軟件問題都變更了嗎?變更涉及到對其他模塊影響的時候,相應的模塊進行變更了嗎……對于上述問題,并非每個配置管理員都會給出足夠肯定和自信的回答。
變更控制如果想做好,就一定要借助于變更工具。僅靠人去管理變更過程,很容易由于大意或任務繁忙而造成失誤。
問題收集機制歸屬于配置控制中的內容。之所以要單獨提出來,是因為目前大部分企業(yè)和項目對問題的收集過程并不完善,重視程度不夠。
問題的提出方和提出的方式有很多種。例如,測試人員針對測試發(fā)現(xiàn)的軟件問題提交了軟件問題報告;聯(lián)試中出現(xiàn)了一個質量問題,填寫了質量表格;用戶口頭形式或書面形式提出了一個更改意見。這些問題最后都填寫軟件問題報告單了嗎?都落實了嗎?有沒有掛起的問題忘了變更?這些都是常見的容易被忽視的問題。
對于從各方收集到的軟件問題,應建立軟件問題庫,及時填寫軟件問題報告單,保證不漏掉一個問題。同時要保證任何一個問題可以從問題庫中查詢到,并可以通過軟件問題報告單,關聯(lián)到軟件的變更過程。如一個軟件問題涉及到了軟件或文檔的哪些更改,都應能夠快捷地查找到。同時,對于軟件問題的狀態(tài)應及時調整,如標記“解決中”、“已解決”。
工具對于提高軟件配置管理效率和能力非常重要。能否用好一個工具,甚至有時可以決定軟件配置管理工作的成敗。使用工具進行軟件配置管理也是我們目前要進行的一項主要改進工作。
一方面使用版本管理工具可以進行并行開發(fā),可以使版本標識有序。
另一方面,使用變更管理工具,可以有效地收集問題,有效控制軟件的變更過程,并隨時供項目組成員查看問題狀態(tài),是否關閉,是否需要及時進行更改,更改影響到哪些模塊,等等。
由于篇幅原因,本文只簡單介紹一下利用軟件配置管理工具可以進行哪些工作的改進。
(1)控制軟件資產,通過工具對配置庫的權限控制能力,防止人為對軟件資產造成破壞。
(2)進行并行開發(fā),隨著軟件研發(fā)規(guī)模的擴展,利用軟件配置管理工具的工作區(qū)管理功能、沖突檢測功能及分支功能,可以很好地控制并行開發(fā)。
(3)加強軟件版本控制能力,通過工具的版本控制功能,對軟件研發(fā)歷史的版本進行全過程記錄,可以隨時回退到之前保存的任何版本狀態(tài),并保證了版本之間的可追蹤性。
(4)軟件問題收集,項目組成員可以清晰地查找到目前問題的狀態(tài),如都有哪些問題要解決,哪些問題分配給我進行解決,有沒有完成等。
(5)變更控制過程電子化,利用工具的流轉過程,可以嚴格地控制變更過程的簽批手續(xù),免除了拿著紙質表單到處找領導簽字的問題,并使變更控制過程更快捷、清晰和容易追蹤。
(6)自動生成報告,很多工具可以自動生成軟件配置管理報告,滿足配置狀態(tài)記錄中的各項狀態(tài)報告。
(7)軟件研制過程更清晰,可以設置多個工作分支進行流轉,代替開發(fā)庫、測試庫、受控庫和產品庫間的物理流轉等。
以上只是闡述了利用軟件配置管理工具改進的一部分,很多軟件配置管理工具的功能十分強大,可以滿足更多的工作改進。
軟件配置管理是一個輔助管理項目軟件狀態(tài)和整個開發(fā)過程的方法和手段。軟件配置管理同軟件質量管理一樣,貫穿整個軟件生命周期。軟件配置管理的能力一定程度上可以衡量軟件的質量和支持質量管理過程。只有更好地實施軟件配置管理,才能保證軟件產品的質量,才能維護一個企業(yè)的生命。
Software;Configuration Management;Quality
Configuration Management for the Quality of Software
PU Bo
(China Academy of Electronics and Information Technology,Beijing 100041)
1007-1423(2015)22-0055-04
10.3969/j.issn.1007-1423.2015.22.014
2015-07-14
2015-07-30
蒲波(1981-),男,四川綿陽人,碩士研究生,工程師,從事領域為軟件研制過程管理與軟件質量保證相關工作
2015-07-142015-07-30
質量是一個企業(yè)的生命。隨著軟件行業(yè)尤其是軍工軟件行業(yè)的發(fā)展,軟件質量逐漸成為人們關注的焦點。軟件配置管理貫穿軟件生命周期的始終,與軟件質量有著緊密的聯(lián)系?;谠谲浖渲霉芾眍I域工作多年的經驗,就具體實踐中幾個容易被疏忽或管理不足從而造成軟件質量問題的方法和過程進行總結。闡述軟件配置管理的基本方法,并重點就這些容易被遺忘的、管理不足的或是特別重要的方法和過程進行探討。
軟件質量;軟件配置管理;配置管理
[1]張杰,陶幸輝.型號軟件的配置管理.北京:科技經濟市場,2008.13.
[2]董越.未雨綢繆――理解軟件配置管理.北京:電子工業(yè)出版社,2008.143-152.
Configuration management runs through the software life cycles,it has close link to the software quality.Concentrates on the basic method of the configuration,and the easily forgotten,discusses less managerial or particularly important methods and progresses.