王小平,陸 峻,蘇藝博2,,徐天宇
(1.南京航空航天大學 經濟與管理學院,南京211106;2.中國人民解放軍理工大學,南京210072;3.中國船舶重工集團公司第七二四研究所,南京211153)
?
基于GJB 5000A的雷達系統軟件開發文檔剪裁方法的研究
王小平1,3,陸 峻3,蘇藝博2,3,徐天宇3
(1.南京航空航天大學 經濟與管理學院,南京211106;2.中國人民解放軍理工大學,南京210072;3.中國船舶重工集團公司第七二四研究所,南京211153)
在軍用軟件開發中,需要對大量的文檔進行剪裁。為研究滿足GJB 5000A二級要求,并符合雷達系統軟件特點的文檔剪裁方法,本文以分類分析的方法將軟件開發文檔按照用途分成計劃、需求、設計、軟件測試、手冊、清單和總結等7類分別加以分析,提出各類文檔的剪裁準則,建立了各類文檔的裁剪矩陣。
GJB 5000A;文檔剪裁;GJB 438B;雷達軟件;軟件工程化
軟件開發過程中的文檔既是軟件設計和開發的重要記錄又是軟件過程的記錄,是軟件的重要資料。編寫文檔既是軟件開發必不可少的過程,也是軟件工程化管理的具體體現。
在推行采用GJB 5000A模型的軟件工程化工作中發現,大量的文檔需要編寫,往往被軟件開發者認為是一件艱難、枯燥的工作,不認可其為軟件開發的一部分,而被當成負擔。要讓文檔對軟件開發有所裨益,而不是成為軟件開發的累贅或障礙,必須要對軟件開發中應編制的文檔進行頂層設計。本文嘗試結合雷達系統的特點,將雷達系統軟件開發過程中要產生的文檔分成了7類分類,對不同類別的文檔加以分析。通過分析,得出適用于雷達系統軟件開發的文檔剪裁方法,也為其他領域的軟件開發文檔剪裁提供了參考。
GJB 438B-2009規定了軍用軟件開發文檔的通用要求。在GJB 438B標準中,規定了軟件開發中可能產生的28種文檔。這些文檔以類似瀑布模型的順序列出,每種文檔都是對軟件或軟件開發過程某一方面的描述[1]。
雷達系統是一種重要的軍用設備,在雷達系統軟件的開發過程中產生的文檔應按照GJB 438B的要求編寫。在推行采用GJB 5000A模型的軟件工程化工作中,為便于對文檔規定的理解和對文檔進行剪裁,基于GJB 438B-2009標準的要求,將軟件開發文檔分為7類。
1.1 計劃類文檔
正如GJB9001B《質量管理體系要求》所指出的,PDCA(策劃-實施-檢查-處置)的方法適用于所有過程[2]。軟件過程也是從策劃開始。開發方應為標準要求和合同要求的所有活動制定計劃[3]。GJB 438B給出了5種計劃類的文檔,包括:
(1) 軟件開發計劃(SDP),主要描述軟件開發工作中一些基礎性的內容,如,語言、工具、資源、問題的解決、變更管理、測試、驗證、階段、進度等,是項目主計劃;
(2) 軟件配置管理計劃(SCMP),主要描述軟件開發中如何實施配置管理;
(3) 軟件質量保證計劃(SQAP),主要描述軟件開發中如何進行產品和過程的質量保證;
(4) 軟件安裝計劃(SIP),主要描述如何在用戶現場安裝軟件;
(5) 軟件移交計劃(STrP),主要描述如何向獨立保障結構移交合同交付物。
1.2 需求類文檔
這個類別下的文檔有5種,盡管名稱有所不同,但都屬于需求規格說明的范疇[4],分別是:
(1) 運行方案說明(OCD),以用戶的語言表達的項目的需求,是需方、開發方、保障機構和用戶之間達成共識的橋梁;
(2) 軟件研制任務書(SDTD),下達軟件開發的任務;
(3) 系統/子系統規格說明(SSS),提出系統的需求及其檢驗方法,其"系統"適用于純軟件系統(硬件只是計算機),也適用于硬件-軟件系統(硬件包括計算機和非計算機設備);
(4) 軟件需求規格說明(SRS),提出計算機軟件配置項(CSCI)的需求及其檢驗方法;
(5) 接口需求規格說明(IRS),提出與一個或多個系統、子系統、硬件配置項、CSCI及人工操作之間接口的需求。
1.3 設計類文檔
設計類的文檔有4種,分別是:
(1) 系統/子系統設計說明(SSDD),給出系統結構的設計,對應的需求是SSS;
(2) 軟件設計說明(SDD),給出每個CSCI的設計,對應的需求是SRS;
(3) 接口設計說明(IDD),給出各個接口的設計,對應的需求是IRS;
(4) 數據庫設計說明(DBDD),給出數據庫的設計,以及如何存取數據或操縱數據的軟件的設計。
1.4 軟件測試文檔
作為驗證需求合格的行為,軟件測試單獨作為一類,包括:
(1) 軟件測試計劃(STP),主要描述執行合格性測試的計劃;
(2) 軟件測試說明(STD),給出合格性測試的測試用例/規程;
治療后,觀察組治療總有效率100.0%,痊愈28例、顯效3例、有效2例,對照組總有效率為84.8%(28/33),痊愈5例、顯效13例、有效10例,觀察組總有效率明顯高于對照組,差異有統計學意義(P<0.05);未發現由于應用藏醫霍爾麥療法導致的不良反應。
(3) 軟件測試報告(STR),陳述合格性測試的測試結果。
1.5 手冊類文檔
手冊類的文檔包括用戶使用的操作手冊和支持用的編程手冊,包括:
(1) 軟件用戶手冊(SUM),從用戶的角度說明如何安裝和使用軟件;
(2) 軟件輸入/輸出手冊(SIOM),說明用戶如何訪問安裝在計算機中心的批處理或交互式軟件系統,是一種用于說明API的文檔;
(3) 軟件中心操作員手冊(SCOM),說明用戶如何安裝和操作裝在計算機中心的批處理或交互式軟件系統,一般在計算機中心托管的軟件中有用;
(4) 計算機操作手冊(COM),說明用戶如何使用一臺新開發計算機;
(5) 計算機編程手冊(CPM),說明程序員如何對新開發的計算機進行編程;
(6) 固件保障手冊(FSM),說明程序員如何對固件設備進行編程。
1.6 清單類文檔
有2種文檔用于軟件清單,包括:
(1) 軟件產品規格說明(SPS),用于支持的可執行軟件、源文件等信息;
(2) 軟件版本說明(SVD),用于發布和跟蹤的軟件清單。
1.7 總結類文檔
項目的總結分成3個報告編寫:
(1) 軟件研制總結報告(SDSR),總結項目開發的情況;
(2) 軟件研制總結報告(SCMR),總結項目配置管理的情況;
(3) 軟件質量保證報告(SQAR),總結項目軟件質量保證的情況。
為適應不同項目的不同情況而進行剪裁是GJB 5000A-2008《軟件研制能力成熟度模型》3級的一個根本要求。GJB 5000A模型采用成熟度等級來衡量一個軟件研發企業或組織的能力,1級(ML1)為初始級,達到2級(ML2)要求的組織稱為已管理級,3級(ML3)為已定義級,4級(ML4)為已定量管理級,5級(ML5)為優化級。成熟度等級之間的關系如圖1所示[5]。

圖1 GJB 5000A成熟度模型的5個等級
GJB 5000A對一個軟件研發企業的軟件研制能力的評價、自我評估和不斷的過程改進大有幫助。在GJB 5000A的模型中,各個等級具有如下特點:
(1) 在ML1成熟度等級下,一般建立了基本的軟件過程,但過程的實施嚴重依賴于團隊或個人的素質。在項目開發過程中,定義了基本的生存周期,但通常僅作編程和簡單的測試活動。項目的完成主要靠個人的能力和努力,項目經常超期,提供的軟件功能和質量特性一般也是不可預測的;
(2) 在ML2等級下,企業需建立基本的軟件過程能力,項目應具有一致的策劃、監控能力,項目能夠按照文檔化的計劃進行實施和管理,工作產品的狀態在計劃節點(如里程碑、階段結束)的狀態和完成是受控和可見的;
(3) 在ML3等級下,企業建立了標準過程集,具體項目的軟件過程從組織的標準過程集中選擇,為適應項目的不同情況而進行剪裁,同時過程的執行也比ML2更加嚴格;
(4) ML4、ML5等級,則是在ML3等級已定義的軟件過程的基礎上進行的更加細化的定量管理和進一步的優化。等級評定的起點是ML2。在向2級提升過程中,企業建立軟件的過程管理文件,定義軟件開發過程的基本要求,對生存周期各個階段的工作產品提出要求,文檔便是其中一種重要的工作產品。
在從2級向3級升級過程中,必須要提出生存周期各階段編寫的文檔的要求。這也提出了需求,要求企業結合自身的和產品的特點,對開發過程中產生的軟件開發文檔給出剪裁的準則。
在雷達系統中,軟件與硬件的關系緊密,軟件與硬件往往共同協作完成某個特定功能,而不會界限清楚地劃分為純軟件和純硬件的子系統。這就造成適用于純計算機軟件系統的軟件文檔可能不適用于雷達系統軟件的開發。
在第1章中,將軟件開發文檔分為7類,所有類的軟件文檔都適用于雷達系統軟件的開發。但是,并非每個類別中的全部文檔都適用于雷達系統,如更適用于計算機軟件系統的文檔可能并不適用于雷達系統的軟件。
3.1 剪裁原則
一般情況下,需要根據雷達系統研制的具體情況不同針對生存周期特點加以剪裁。不適用于雷達系統軟件開發的文檔主要可以分為兩個方面:
(1) SIOM、COM、CPM。這3種文檔一般適用于計算機,而不適用于目前我國的軍用雷達系統軟件;
(2) STrP、SIP。通常,我國軍用雷達系統的保障工作也由研發單位負責,一般不需要移交到獨立保障單位,涉及到的軟件移交計劃(STrP)一般可以剪裁;一般雷達系統的軟件是隨硬件一同交付用戶的,開發人員在用戶交付現場進行最后的調試服務,涉及到的軟件安裝計劃(SIP)一般可以剪裁。
雷達系統軟件開發項目中,還有另一種情況,即SRS、SDD一般需要編寫多份,劃分為多個CSCI的軟件項目,往往需要編寫多份SRS和SDD。
3.2 剪裁矩陣
表1~表7建立了以雷達系統軟件開發中各類開發文檔的剪裁矩陣,每個矩陣提供了每類文檔下各個文檔的代碼、名稱和該文檔的剪裁準則。

表1 計劃類文檔剪裁矩陣

表2 需求類文檔剪裁矩陣

表3 設計類文檔剪裁矩陣

表4 軟件測試文檔剪裁矩陣

表5 手冊類文檔剪裁矩陣

表6 軟件清單剪裁矩陣

表7 總結類文檔剪裁矩陣
在雷達軟件開發中,應遵循GJB438B-2009標準來編制文檔。GJB438B-2009是軍用軟件開發的頂層標準之一,在2015年被評為“最具影響力通用國軍標”[6]之一,提供了軍用軟件開發文檔的全集,對軍用軟件的開發具有普適性。
根據本文提出的軟件開發文檔分類方法和每類文檔的剪裁原則,利用本文建立的簡潔的文檔剪裁矩陣,并根據雷達系統軟件的特點,可剪裁出適應項目特點的文檔子集,可用于軍用軟件研制能力成熟度模型(三級)對軟件開發文檔進行剪裁的要求。
[1] 中國人民解放軍總裝備部. GJB 438B-2009軍用軟件開發文檔通用要求[S]. 北京:總裝備部軍標出版發行部,2009.
[2] 中國人民解放軍總裝備部.GJB 9001B-2009質量管理體系要求[S]. 北京:總裝備部軍標出版發行部,2009.
[3] 中國人民解放軍總裝備部.GJB 2786A-2009軍用軟件開發通用要求[S]. 北京:總裝備部軍標出版發行部,2009.
[4] 中國人民共和國國家標準化指導性技術文件. GB/Z 31102-2014軟件工程知識體系指南[S]. 北京:中國標準出版社,2014.10.
[5] 中國人民解放軍總裝備部. GJB 5000A-2008軍用軟件研制能力成熟度模型[S]. 北京:總裝備部軍標出版發行部,2008.
[6] 工業與信息化標準網. 最具影響力通用國軍標“光榮榜”隆重出爐[EB/OL].(2014-03-04). www. cape. com.cn /wenzhang /zixun/2015/1102/ 1511535.html.
[7] 維基百科.美國軍用標準MIL-STD-498[EB/OL].(2015-06-09). https://en.wikipedia.org/wiki/MIL-STD-498.
[8] Kristóf Kovács. A forgotten military standard that saves weeks of work[EB/OL].(2014-07-09). http://kkovacs.eu/free-project-management-template-mil-std-498.
A document clipping method in software development of radar system based on GJB 5000A
WANG Xiao-ping1,3, LU Jun3, SU Yi-bo2,3, XU Tian-yu3
(1.College of Economics and Management of NUAA, Nanjing 211106;
2.PLA University of Science and Technology, Nanjing 210072;
3.No. 724 Research Institute of CSIC, Nanjing 211153)
A lot of documents need to be tailored in the development of military softwares. In order to reach maturity level 2, we promote the software engineering. The preparation of documents is the work of an organization concerned. GJB 438B provides 28 DIDs. Based on the needs of GJB 5000A, and complied with the characteristics of the RADAR system, the 28 DIDs are divided by the different purposes into 7 categories. The last section of this paper establishes the tailoring matrixes and the tailoring criteria.
GJB 5000A; tailoring documentation; GJB 438B; RADAR software; software engineering
2016-01-05;
2016-01-10
王小平(1982-),男,工程師,博士研究生,研究方向:軟件工程與軟件項目管理;陸峻(1976-),女,高級工程師,研究方向:計算機軟件工程化;蘇藝博(1991-),女,碩士研究生,研究方向:軟件工程;徐天宇(1989-),男,工程師,碩士,研究方向:軟件工程與軟件設計開發。
TP311.52
A
1009-0401(2016)04-0064-05