摘 要 隨著國民經濟的發展,信息化建設的加速以及互聯網普及,各行各業都在信息系統以及軟件開發上投入了大量的人力和物理。本文通過對軟件質量保證的相關介紹和一些誤區分析,并結合CMMI(Capability Maturity Model Integration)、GJB、ISO9000等軟件質量有效性模型和GQM范式工具化、制度化,提出了一些符合我國信息化建設的軟件質量保證方法和工具。針對于軟件質量保證將GQM范式工具化、制度化讓全員參與將是對其開發過程有效性的強有力支撐。
【關鍵詞】軟件管理 質量管理 有效性評價
隨著國民經濟的發展,信息化建設的加速以及互聯網普及,各行各業都在信息系統以及軟件開發上投入了大量的人力和物理。其已經成為了國家的基礎性、戰略性產業,在經濟生成生活中軟件扮演著及其重要的角色,也是國家重點鼓勵及支持的領域。一方面軟件規模的不斷增長,另一方面從事軟件開發的相關技術人員也在不斷增長,這就給軟件企業以及相關項目的管理帶來了新的挑戰。
計算機軟件的開發主要是人的創造力活動,其產出的不同于傳統的加工制造產品,而是信息工具、知識工具,所以軟件開發是一個將專業人員的專業知識通過腦力轉化為產品的過程。某種意義上,其從業人員的專業化程度將決定其產出產品的結果。因此,在軟件產品的質量保證上與傳統的工業制品的質量保證有著極大的不同。本文通過對軟件質量保證的相關介紹,并結合CMMI(Capability Maturity Model Integration)、GJB、ISO9000等軟件質量有效性模型和GQM范式工具化、制度化,提出了一些符合我國信息化建設的軟件質量保證方法和工具。
1 軟件質量保證的發展狀況
軟件質量保證是將管理理論運用到軟件開發中的實踐過程。因此,其也與其它管理過程類似,要制定計劃通過系統的方法,既要面向管理層擬定質量保證目標、步驟,也要面向執行者提出具體實踐方法才能夠正確的被項目所采納執行。
就有效性而言,其概念早在2000版的ISO9000術語中被加入,其也可以看作是企業越來越關注改善質量管理體系有效性的里程碑。其是用于衡量產品或項目完成策劃的活動和達到策劃結果的程度。就現行的2000版的ISO9000已經加入了如配置管理、計劃管理、評審管理等適用于信息化企業的標準,至此ISO9000變得越來越適用于軟件企業和信息化項目。
在軟件工程領域里,隨著工程項目的開展大量大型軟件項目越來越多的需要一套管理體系來保障項目的管理和執行。于是在1994年美國國防部和卡內基-梅隆大學共同開發和研制了軟件工程管理實踐模型CMMI,即軟件能力成熟度集成模型就此誕生。我國在不斷的工程實踐過程中緊跟國際步伐,于2003年開發了GJB5000-2003《軍用軟件能力成熟度模型》,并于2008年與時俱進修訂再版了GJB5000A。其模型參考CMMI模型,并調整使之更加符合中國特色的社會主義建設。
總的來說,針對軟件開發過程其管理趨勢越來越趨于對有效性的衡量和度量。主要是從三個方面對管理思路提出了新的認識:
(1)從以往只針對軟件開發過程的測試活動轉變為對軟件質量保證和開發過程的度量;
(2)軟件質量保證從以往針對于軟件開發后的補救措施轉變為系統性的整體預防措施;
(3)軟件質量保證活動不在是軟件開發過程的某個串行階段而是兩者并行執行,從源頭起進行支撐與保障。
2 管理體系與工具
目前軟件企業和軟件項目組織的目標不謀而合,那么采用何種工具何總思路就成為了關鍵。
隨著軟件組織的規模擴大,也是將以往依靠個人“能力”向現在依靠“過程能力”在轉變。那么定義一套流程執行一些列工作,并由工具來驅動,已經是目前軟件企業管理的主流思路。也就是說,一旦建立了質量管理體系后,組織內部也就具有了一套度量和評價機制。組織可以依靠這套機制不斷完善和持續改進。而工具本身既包含模型,由包含一套自動化的程序,輔助管理者和執行者將數據填充到模型中,使模型可以合理的度量和評價。
就度量方法而言,1984年馬里蘭大學的Basili和Rombach就提出了著名的GQM范式。其通過三個層次來定義度量方法,即概念級、操作級和定量級。這三個層次自頂向下,從抽象到具體,逐步定義度量細則。概念級提出目標,對各種動機及對象逐個定義目標;操作級對目標提出特征問題,通過問題說明目標;定量級針對問題收集數據,給問題定量,通過定量分析問題。
針對于軟件質量保證將GQM范式工具化、制度化讓全員參與將是對其開發過程有效性的強有力支撐。首先,軟件質量保證就是盡早盡快的發現軟件的錯誤和缺陷,那么將其目標定義為“質量保證過程的有效性”以衡量測試策劃過程、測試策略、測試執行效果、測試效率和測試質量。如此就建立了一個概念級的目標。
然后,通過訪談和與項目參與者溝通,鑒別并確立度量問題,找到圍繞項目質量目標關心的問題。如每個階段、每個過程的產出物有哪些?這些產出物符合什么標準?產出物是否滿足最終的用戶或者商業目標?只有提出了這些問題,才可以根據問題建立度量元,這個過程也就完成了操作級的任務。
最后,選擇合適的度量元就是針對性的收集各種基礎數據,以基礎數據作為參考度量過程與目標結合。就目前實踐而言可以從三個方面進行收集,第一測試過程的有效性,第二測試環境的有效性,第三測試用例的有效性。
完成了上述通過GQM范式對軟件成熟度模型的定義和結合,接下來就是設計一套自動化工具,全員參與將所給出的各個環節逐一執行,并通過工具自動度量,這個自動的過程完全符合上述設計的每個分支項目。如對測試用例的度量,對測試文檔合格率的度量,對測試過程的執行效果的度量,對測試發現缺陷數量的度量。通過上述度量,工具還可以生成報表通知給相關責任人及管理人員做參考數據,便于匯總及匯報。
3 總結
作為軟件企業的管理者必須對軟件質量保證有清醒的認識,建立質量管理體系是對軟件開發過程有效性的強力保證,也是企業質量文化的根基。本文結合實踐,對實踐中運用CMMI(Capability Maturity Model Integration)、GJB、ISO9000框架的過程中缺少明確度量方法的問題,提出了結合GQM范式進行工具化、流程化的過程提出了一些實踐指導。希望能夠推動軟件質量保證管理工作的有效性,推動國產軟件業的健康成長。
參考文獻
[1]Perry WE.軟件測試的有效方法[M].北京:機械工業出版社,2004.
[2]楊玲萍.軍用軟件測試過程模糊決策技術研究及應用[D].南京:東南大學軟件學院,2006:19-29.
[3]Black R.軟件測試過程管理[M].北京:機械工業出版社,2003.
作者簡介
劉楊赫(1981-),女,吉林省白山市人。現為中國航發集團航空動力控制系統研究所工程師,主要從事軟件測試、軟件質量保證、軟件配置管理等工作。
作者單位
中國航發集團航空動力控制系統研究所 江蘇省無錫市 214063