李志偉
(空軍第一航空學院 計算機教研室,信陽 464000)
隨著信息技術的飛速發展,軍事對抗更加信息化和電子化,軍用計算機軟件在軍隊信息化建設中作用越來越明顯,尤其是涉及武器裝備、信息安全和保密方面的關鍵系統,軍用軟件的質量越發顯得重要。
軍用軟件的質量管理是一項系統活動。從軟件生存周期的過程來看,在軟件設計、開發、測試和集成等活動中,不僅需要采用多種方式進行過程控制,而且需要采用先進的管理技術,加強質量管理。質量管理不僅是提高軍用軟件開發水平的重要途徑,也是提高軍用軟件產品質量的重要保證[1]。

圖1 影響軟件產品質量的因素
計算機軟件是計算機應用的核心,軟件產品質量的高低直接關系到計算機系統應用的成敗。雖然影響軟件產品質量的因素很多,但其主要包括如下幾個方面:軟件開發所采用的技術、軟件開發人員的能力、對軟件開發過程的質量控制和軟件開發所受限的時間與成本等,如圖1所示。
此外,軟件產品質量還與軟件的質量需求密切相關,包括對于軟件產品內部質量、外部質量和使用質量等方面的需求,同時還與軟件的測試方法、質量評估準則等有關。
軟件質量管理是指在軟件質量方面的指揮和控制活動[2]。這些活動包括:制定質量方針和質量目標,實施質量策劃、質量控制、質量保證和質量改進等。
從圖1可以看出,軟件開發的質量管理,不僅包括技術方面的內容,還包括人事方面的內容,如軟件開發組人員配備、技術水平、組織形式、工作計劃與步驟等。如果人員技術水平較低,組織管理不當,都會直接或間接地影響軟件質量。因此,對于軍用軟件的開發,既要加強軟件開發的過程控制,又要加強軟件開發的質量管理,并采用工程化的管理理念,對軟件開發構建一個全過程、全方位、多層次的三維質量管理體系[2],保證軟件產品的開發質量。
該體系框架模型如圖2所示。

圖2 軟件質量管理的三維框架模型
1)時間維:在軟件生存周期內實施軟件開發的全過程控制;
2)空間維:對軟件質量有關的關鍵因素實施全方位管理;
3)組織維:構建從“軟件開發者個人---軟件項目組---軟件開發單位”的多層次管理模式。
即采用軟件工程的方法開發軟件。
為了加強對軍用軟件產品的質量管理,需要按照軟件生存周期分階段制定、實施開發計劃,并逐個階段予以驗證,實現對生存周期內軟件開發的全過程控制[3]。
在軟件生存周期內,為了描述軟件開發、操作和維護所需要實施的過程、活動和任務,人們提出了很多生存周期模型,其中,在軍用軟件開發中被廣泛應用的有:瀑布模型、螺旋模型、V型模型等。這些生存周期模型為軟件的工程化管理提供了一個基本框架。它們從不同角度描述了軟件過程,提供了不同的軟件開發方法。
軟件工程的實踐表明,沒有一個單一的解決方法能夠解決所有的問題,沒有一個生存周期、分析方法、設計方法、測試方法、產品評估方法適合于所有的軟件工程項目。因此,應根據工作對象和范圍的不同,以及軟件開發人員經驗的差異,選用合適的軟件生存周期模型。
軟件產品與硬件產品一樣,要想保證其質量,首先要保證開發過程具有高質量。軟件產品的質量控制實際上是對軟件開發的過程控制。為此,在軟件開發工作的開始,就要科學地選定軟件生存周期模型,按照所選模型妥善定義整個軟件開發過程所劃分的各個階段,并將其作為該軟件開發和管理工作的共同依據。
軍用軟件的基本要求就是要具有高質量和高可靠性,因此,通常需要采用一些精細的軟件質量方法對軟件的開發過程進行管理,這些方法主要有:
1)嚴格執行標準化設計規范和代碼審查制度;
2)通過質量保證部門,由專業軟件人員進行軟件評審、缺陷預估、缺陷測量、審查協調等;
3)使用質量預估工具預測可能出現的錯誤,及時采取缺陷預防和清除操作;
4)在需求階段完成或基本完成時進行風險分析,對技術風險、財務風險和進度風險等進行正確評估。
值得一提的是,軟件審查一直被看做是最有效、最強大的軟件缺陷清除方法。在美國,除軍用軟件外,航空軟件、電信軟件、醫療設備軟件及系統軟件和操作系統等所有高可靠性軟件的開發商都會在測試前對軟件進行審查,并將審查作為首選的軟件缺陷清除方法。
近年來,美國軍方在軟件研制過程中由于采用了精細化管理,其軟件的缺陷清除率已達到95%,可以和系統軟件相媲美。
軍用軟件開發管理的工程化,是指對于軍用軟件工程項目的開發,要按照工程化的方法組織、計劃、協調和監督軟件開發的整個過程,即采用軟件工程的方法管理軟件。
良好的質量管理是獲得高質量軟件的重要保證,所以在軟件開發自始至終的全過程,都必須認真加強對軟件質量的管理工作。因為,沒有適當的管理,就不能實現軟件開發的工程化,更不能保證軟件開發的高質量。
軟件工程項目越大、越復雜,管理工作在整個軟件開發過程中所占工作量的比例就越大。
由于軟件開發、維護本身的特點,相對于硬件,軟件質量既取決于技術,更取決于管理。而且,軟件開發過程難于策劃,軟件技術狀態難于把握,軟件質量度量難度較大,因此,必須采用工程化方法管理軟件生存周期內的各個階段,尤其是對影響軟件質量的各個關鍵要素進行嚴格管理,使軟件開發按照軟件質量規范化要求組織實施,實現對軟件質量的全方位管理。
以武器裝備系統軟件研制為例,其軟件開發質量全方位管理的主要內容包括[2]:
1)軟件分級管理
2)軟件文檔管理
3)軟件需求管理
4)軟件評審管理
5)軟件配置管理
6)軟件測試管理
7)建立軟件失效報告、分析和糾正措施系統(SFRACAS)
8)軟件分承包單位管理
在軟件開發實踐中,要根據每項內容的具體要求組織實施好管理活動。
軍用軟件的標準化管理是軍用軟件開發質量管理的重要組成部分,其核心是軍用軟件工程標準。
軍用軟件工程標準是指軍用軟件開發、運行、維護和引退的方法以及過程等方面的標準。軍用軟件工程標準體系非常復雜,其主要組成有:基礎標準、軟件工程環境標準、軟件過程標準、軟件產品標準等。
為了能夠及時地把最新的軟件技術和管理手段引入到軍用軟件的研制中,美國國防部已經建立了一套完善的軟件工程標準化政策和工作體系,一方面通過大量采用非政府標準,來滿足國防部軟件采辦的標準需求;另一方面通過組建一些專門的研究機構,從事信息系統標準的研究和制定工作。
長期以來,我國軍用軟件工程標準體系建設一直將美國軍用標準作為主要的參照對象,并且將多項美軍標準轉化為我軍標準,在我國武器裝備軟件研制中起到了很大作用。
隨著我軍信息化建設的不斷深入,對軍用軟件工程標準化提出了更高的要求,加強軍用軟件工程標準體系建設,有效發揮軍用標準化的作用,對保證軍用軟件產品的質量將起到關鍵作用。
軍用軟件開發的多層次管理模式是將“軟件開發者個人---軟件項目組---軟件開發單位”組成一個三位一體的開發管理體系。這一多層次的組織體系能使與軟件開發相關的每一層人員都能自覺地參與到不同層面的管理中去,從而保證軟件開發過程中人員能力的充分發揮。
軟件能力成熟度模型CMM(Capability Maturity Model for Software)起初是受美國軍方委托而進行的一項研究成果,用來評估軍用軟件承包商的軟件過程,以便評價其軟件開發能力,降低軍用軟件的采購風險。因此,它的針對對象是公司或單位的軟件開發能力。
由于CMM描述了軟件過程不斷改進的科學途徑,使軟件開發組織能夠自我分析,找出盡快提高軟件過程能力的策略,因此,該方法一經推出,便引起了國際軟件產業界和軟件工程界的廣泛關注,并為許多承擔政府重大軟件項目的公司(如休斯飛機公司等)所采用,用以改進軟件過程,提高軟件開發過程能力。
TSP(Team Software Process,即小組軟件過程)的針對對象是軟件開發團隊(Team)。在該團隊中,需要明確每個成員的角色,并且為這些角色確定管理目標及量化的質量評價準則等。
TSP的目標是建立一個具有高度凝聚力的軟件開發團隊。該團隊應當團結、協作、高效地工作,使其整體實力大于每個個人實力的總和。
PSP(Personal Software Process),即個體軟件過程。它的針對對象是軟件開發者個人。
在傳統的軟件開發管理模式中,管理只是軟件開發單位管理部門的事,不能調動和激發軟件開發個人和小組參與管理的積極性。而在PSP中,不僅要求軟件開發者個人進行軟件開發工作,而且要求個人參與管理工作,使其能夠自己進行過程策劃、跟蹤管理,并制定出管理計劃和具體的定量質量要求等。
PSP是一種可以用于控制和改進個人軟件開發工作的自我改善過程,可使軟件開發人員大大減少軟件缺陷。據統計,通過采用PSP,在開發階段總缺陷數可減少58%,在測試階段發現的缺陷數可減少71. 9%,生產率可提高20. 8%[4]。
由此可見,通過PSP、TSP和CMM,可以構建一個由“個人----團隊----單位”組成的三位一體的多層次軟件開發管理模式,如圖3所示。

圖3 三位一體的多層次軟件開發管理模式
通過這種三位一體的多層次軟件開發管理模式,可以改變傳統的單一組織管理形式,使軟件開發組織從無序、不可控的混亂情形轉變為有序、可控的規范狀態。
這里,PSP、TSP和CMM都有一個共同特性,即它們既關心軟件開發過程,又關注軟件開發管理,由此共同組成了一套先進的軟件開發管理模式。該模式不僅可以用來衡量軟件開發單位、軟件項目組和軟件開發者個人的能力,而且可以用來有效地幫助改進和優化管理,提高軟件產品的質量。
軍用軟件開發的質量管理是一個復雜的系統工程,需要在軟件工程的具體實踐中不斷探索、研究新的理論與方法,尋求更加優化的質量管理途徑。
目前,我軍正處于機械化向信息化的戰略轉型時期,軍用軟件開發和應用的范圍越來越廣,軍用軟件的開發質量對軍隊信息化建設起著至關重要的作用。因此,在軟件工程實踐中,一方面要積極采用新技術、新方法,按照軟件工程原理,分階段組織實施軟件的過程控制和質量管理;另一方面要嚴格執行國家軍用標準,充分發揮軍用軟件質量管理體系的作用,保證軍用軟件的可靠性和安全性,提高我國軍用軟件產品的質量。
[1] 徐亞妮,扈延光,查國清.軍工產品RMS過程審核程序及方法研究[J].科技管理研究,2008,(12):320-322.
[2] 阮鐮,陸民燕,韓峰巖.裝備軟件質量和可靠性管理[M].北京:國防工業出版社,2006.
[3] 常好麗,楊海成,何苗,等.面向多級供應商的航天型號產品研制過程質量管理研究[J].制造業自動化,2009,31(1):1-4.
[4] 石柱.軍用軟件能力成熟度模型可重復級實施指南[M].北京:中國標準出版社,2006.