薛楠
(工業(yè)和信息化部電子第五研究所華東分所,江蘇 蘇州 215129)
在應(yīng)用GJB 5000B 模式下,在軟件開發(fā)實(shí)踐中,編制大量的文件是一種非常復(fù)雜、困難的工作,因此,在軟件的發(fā)展中,要想實(shí)現(xiàn)文件的高效交流與分享,要從整體的生命周期出發(fā),運(yùn)用系統(tǒng)化的理論,對(duì)軟件的各部分進(jìn)行整體的計(jì)劃,理清在此過程中要編寫的文件的層次和要素。針對(duì)飛機(jī)上的軟件特性,將其生成的文件歸類為7 大類,在對(duì)各種類型文件進(jìn)行分類后,總結(jié)出適合于航空應(yīng)用軟件的文件剪切技術(shù),對(duì)于對(duì)其他領(lǐng)域中的軟件開發(fā)文件進(jìn)行剪輯具有一定的借鑒意義。
GJB 438C對(duì)軍用軟件的發(fā)展文件提出了通用的需求。GJB 438C 規(guī)范以瀑布模式為基礎(chǔ),列舉了20 種在軟件發(fā)展過程中會(huì)產(chǎn)生的文件[1]。
機(jī)載設(shè)備是軍用飛機(jī)上的重大設(shè)備,其研制中所需要的文檔必須符合GJB 438 C 規(guī)范。在GJB 5000B 的基礎(chǔ)上,按照GJB 438C 規(guī)范,將其劃分成7 個(gè)類別,以方便用戶對(duì)文件的了解和進(jìn)行剪輯。
GJB 9001C 《質(zhì)量管理體系要求》 在討論如何提高體系有效性時(shí)體現(xiàn)了PDCA 理論,強(qiáng)調(diào)了基于計(jì)劃、實(shí)施、檢查和處置的運(yùn)行模式可適用于所有過程和整個(gè)質(zhì)量管理體系。需求方應(yīng)根據(jù)項(xiàng)目目標(biāo),科學(xué)預(yù)測(cè)和確定項(xiàng)目生命周期行動(dòng)計(jì)劃。GJB 438C 中明確3 種計(jì)劃文件,包括:
a)軟件開發(fā)計(jì)劃(SDP),它主要提供整個(gè)軟件開發(fā)計(jì)劃的摘要,如軟件開發(fā)過程、使用的方法、每個(gè)活動(dòng)的方法、項(xiàng)目進(jìn)度、組織和資源的可見性,以及監(jiān)控工具;
b)軟件安裝計(jì)劃(SIP),主要描述軟件安裝準(zhǔn)備工作、用戶培訓(xùn)和系統(tǒng)轉(zhuǎn)換等;
c)軟件移交計(jì)劃(STrP),主要描述所需要的軟件、硬件和其他資源。
需求文檔不僅集成和記錄了用戶需求的不斷積累,而且還能在整個(gè)軟件過程中指導(dǎo)后續(xù)工作的方向和工作,對(duì)開發(fā)工作的穩(wěn)步開展起著至關(guān)重要的作用。GJB 438C 規(guī)范了4 個(gè)需求文檔,包括:
a)操作方案描述(OCD),向開發(fā)人員表達(dá)用戶需求,并向用戶需求方表達(dá)開發(fā)人員的想法,促進(jìn)軟件過程中所有相關(guān)利益方達(dá)成共識(shí);
b)系統(tǒng)/子系統(tǒng)規(guī)范(SSS),主要描述了系統(tǒng)/子系統(tǒng)的需求和為實(shí)現(xiàn)每條需求所采用的方法;
c)軟件要求規(guī)范(SRS),該規(guī)范描述計(jì)算機(jī)軟件配置項(xiàng)的要求和為確保滿足每項(xiàng)要求所采用的方法;
d)接口規(guī)格說明(IRS),主要描述了系統(tǒng)/子系統(tǒng)/HWCI/CSCI 或其他組件之間的接口需求。
GJB 438C 規(guī)定了4 種類型的設(shè)計(jì)文件,包括:
a)系統(tǒng)/子系統(tǒng)設(shè)計(jì)規(guī)范(SSDD),主要描述系統(tǒng)/子系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),相應(yīng)的要求是SSS;
b)軟件設(shè)計(jì)描述(SDD),主要描述CSCI 級(jí)別的設(shè)計(jì)決策、體系結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)軟件所需的具體設(shè)計(jì),相應(yīng)的要求為SRS;
c)接口設(shè)計(jì)描述(IDD),主要描述系統(tǒng)/子系統(tǒng)/HWCI/CSCI 或其他組件之間的接口特征和設(shè)計(jì),與IRS 的要求相對(duì)應(yīng);
d)數(shù)據(jù)庫(kù)設(shè)計(jì)描述(DBDD),給出了數(shù)據(jù)庫(kù)標(biāo)識(shí)的規(guī)范、邏輯結(jié)構(gòu)和物理結(jié)構(gòu)的具體設(shè)計(jì)。
為了驗(yàn)證需求是否符合標(biāo)準(zhǔn),GJB 438C 規(guī)范了3 種軟件測(cè)試文檔,包括:
a)軟件測(cè)試計(jì)劃(STP),主要描述如何進(jìn)行符合性測(cè)試,用來評(píng)估測(cè)試計(jì)劃的充分性;
b)軟件測(cè)試規(guī)范(STD),主要描述所需的測(cè)試準(zhǔn)備、用例和程序;
c)軟件測(cè)試報(bào)告(STR),主要描述測(cè)試的結(jié)果,是需方對(duì)測(cè)試及其結(jié)果進(jìn)行評(píng)價(jià)的依據(jù)。
GJB 438C 定義了3 種軟件手冊(cè),包括:
a)軟件用戶手冊(cè)(SUM),提供軟件安裝和使用指南,包括軟件概述、軟件介紹和用戶指南;
b)計(jì)算機(jī)編程手冊(cè)(CPM),主要描述軟件編程環(huán)境和編程信息;
c)固件支持手冊(cè)(FSM),主要描述編程/重編程系統(tǒng)固件設(shè)備所需的信息和步驟。
GJB 438C 定義了兩個(gè)清單文檔,包括:
a)軟件產(chǎn)品規(guī)范(SPS),主要描述可執(zhí)行文件和源文件;
b)軟件版本描述(SVD),主要描述標(biāo)識(shí)和軟件版本。
GJB 438C 針對(duì)軟件研制總結(jié)報(bào)告(SDSR),規(guī)范了其內(nèi)容及格式,用于概括軟件開發(fā)的進(jìn)度和質(zhì)量。
量身定制以適應(yīng)不同項(xiàng)目的不同情況是GJB 5000B 3 級(jí)的基本要求。GJB 5000B 用成熟度來判斷軟件研發(fā)組織能力,1 級(jí)(ML1)是初始水平,2 級(jí)(ML2)是規(guī)范水平,3 級(jí)(ML3)是綜合水平,4 級(jí)(ML4)是定量水平,5 級(jí)(ML5)是卓越水平。成熟度級(jí)別之間的關(guān)系如圖1 所示[2]。
圖1 GJB 5000B 成熟度模型的5 個(gè)等級(jí)
GJB 5000B 對(duì)于軟件開發(fā)企業(yè)的評(píng)估和持續(xù)過程改進(jìn)有極大的促進(jìn)。在GJB 5000B 模型中,每個(gè)級(jí)別均具備相應(yīng)的特點(diǎn):
a)ML1成熟度級(jí)別下,已通過基于GJB 9001的武器裝備質(zhì)量管理體系認(rèn)證,具有基本質(zhì)量定義和軟件生命周期特征;
b)ML2層次的特征是過程改進(jìn)組織和過程規(guī)范的建立,組織資產(chǎn)的逐漸積累;根據(jù)評(píng)估和項(xiàng)目特點(diǎn)制定和維護(hù)項(xiàng)目計(jì)劃,獲取、開發(fā)和管理項(xiàng)目需求,實(shí)施驗(yàn)證;監(jiān)督配置管理、質(zhì)量保證、測(cè)量和分析活動(dòng)的實(shí)施,以確保項(xiàng)目得到控制。這個(gè)級(jí)別的組織有能力在類似的項(xiàng)目中復(fù)制成功的經(jīng)驗(yàn);
c)ML3的特點(diǎn)是組織資產(chǎn)的全面建立和維護(hù);根據(jù)組織的標(biāo)準(zhǔn)過程,使用組織的資產(chǎn)進(jìn)行全生命周期的項(xiàng)目管理、工程和支持活動(dòng);這個(gè)級(jí)別的組織有能力在整個(gè)組織中復(fù)制成功的經(jīng)驗(yàn);
d)ML4層次的特點(diǎn)是根據(jù)組織業(yè)務(wù)發(fā)展的需要,建立高量化的質(zhì)量和過程績(jī)效目標(biāo);運(yùn)用量化分析管理技術(shù)建立和維護(hù)過程績(jī)效基線,對(duì)關(guān)鍵過程進(jìn)行量化管理和原因分析,并根據(jù)量化結(jié)果做出領(lǐng)導(dǎo)決策;該級(jí)別的組織有能力在組織內(nèi)部實(shí)施量化管理;
e)ML5水平的特點(diǎn)是定量評(píng)估經(jīng)營(yíng)目標(biāo)和分析績(jī)效數(shù)據(jù),識(shí)別組織內(nèi)部的關(guān)鍵問題和共性問題,主動(dòng)和預(yù)測(cè)性地優(yōu)化和改進(jìn)組織流程,不斷創(chuàng)新組織以實(shí)現(xiàn)高質(zhì)量的可持續(xù)發(fā)展,提高整體績(jī)效的能力[3]。
在機(jī)載軟件中,軟件和硬件之間有著密切的關(guān)系。軟件和硬件經(jīng)常合作完成一個(gè)特定的功能,但它們沒有明確劃分為純軟件和純硬件子系統(tǒng)。因此,適合純計(jì)算機(jī)軟件系統(tǒng)的軟件文檔可能不適合機(jī)載軟件開發(fā)。
軟件開發(fā)文檔分為7 類,但是并非每一類中的所有文檔都適合機(jī)載軟件,例如:適合純軟件的文檔可能并不適合機(jī)載軟件[4]。
一般情況下,需要根據(jù)機(jī)載軟件研制的具體情況針對(duì)生存周期特點(diǎn)加以剪裁。裁剪原則如下:
a)計(jì)算機(jī)編程手冊(cè)(CPM)一般適用于計(jì)算機(jī),而不適用于目前我國(guó)的軍用機(jī)載軟件;
b)通常,我國(guó)軍用機(jī)載軟件的保障工作也由研發(fā)單位負(fù)責(zé),一般不需要移交到獨(dú)立保障單位,涉及的軟件移交計(jì)劃(STrP)一般可以剪裁;通常機(jī)載軟件是隨硬件一同交付用戶的,開發(fā)人員在用戶交付現(xiàn)場(chǎng)進(jìn)行最后的調(diào)試服務(wù),涉及的軟件安裝計(jì)劃(SIP)一般可以剪裁;
c)機(jī)載軟件開發(fā)項(xiàng)目中,還有另一種情況,即軟件需求規(guī)格說明(SRS)、軟件設(shè)計(jì)說明(SDD)一般需要編寫多份,劃分為多個(gè)CSCI 的軟件項(xiàng)目,往往需要編寫多份SRS 和SDD[5]。
表1~7 建立了機(jī)載軟件開發(fā)過程中各類開發(fā)文檔的剪裁矩陣,將文檔代碼、名稱和剪裁準(zhǔn)則一一對(duì)應(yīng)。
表1 計(jì)劃類文檔的剪裁矩陣
表2 需求類文檔的剪裁矩陣
表3 設(shè)計(jì)類文檔的剪裁矩陣
表4 軟件測(cè)試文檔的剪裁矩陣
表5 手冊(cè)類文檔的剪裁矩陣
表6 清單類文檔的剪裁矩陣
表7 總結(jié)類文檔的剪裁矩陣
根據(jù)GJB 5000B 標(biāo)準(zhǔn)體系規(guī)定,結(jié)合GJB 438C 開發(fā)文檔要求,對(duì)機(jī)載軟件開發(fā)文檔裁剪方法進(jìn)行了研究,對(duì)于提升機(jī)載軟件的開發(fā)效率、加速產(chǎn)品設(shè)計(jì)定型具有一定的參考意義[6]。