陳 茹 張 偉*
(北京青云航空儀表有限公司,北京 100000)
航空軟件具有高復(fù)雜性、高可靠性、高安全性的特點(diǎn)和需求。 隨著現(xiàn)代化武器裝備日趨復(fù)雜,軟件規(guī)模越來越大, 軟件在飛機(jī)系統(tǒng)中的應(yīng)用越來越廣泛,由軟件失效引起的系統(tǒng)故障比重也越來越大。737Max飛機(jī)機(jī)動增強(qiáng)系統(tǒng)MCAS 故障,接連導(dǎo)致了印尼獅航“10·29”客機(jī)墜海事故和埃塞俄比亞航空302 航班墜機(jī),共造成 500 余人死亡[1,2]。
為了提高軟件研制的安全性、可靠性、穩(wěn)定性和效率,必須建立符合相關(guān)要求的軟件工程化研制文件體系和基本的應(yīng)用流程,以實(shí)現(xiàn)對人員素質(zhì)、組織管理、開發(fā)過程、技術(shù)保障等影響軟件質(zhì)量的要素的管控。 目前,航空軍工企業(yè)的軟件體系主要依據(jù)標(biāo)準(zhǔn)為CMMI,對應(yīng)的國內(nèi)標(biāo)準(zhǔn)為GJB 5000A《軍用軟件能力成熟度模型》,而民用航空軟件商為滿足適航要求,其軟件研制通常需要符合DO-178C《機(jī)載系統(tǒng)和設(shè)備合格審定中的軟件考慮》。 從管理成本和企業(yè)競爭力考慮,應(yīng)建立一套同時符合兩個標(biāo)準(zhǔn)的軟件研制體系[3]。
美國軍方為評估軟件供應(yīng)商的能力,委托卡內(nèi)基梅隆大學(xué)軟件工程研究所(SEI)建立CMM 模型;2000年,集成包括軟件、系統(tǒng)工程、集成產(chǎn)品和過程開發(fā)等多學(xué)科,發(fā)展成CMMI。 2003 年,我國原總裝備部根據(jù)CMM《軟件能力成熟度模型》標(biāo)準(zhǔn),制定了GJB 5000;2008 年以CMMI 為主要參考藍(lán)本,對GJB 5000 進(jìn)行了修訂,發(fā)布了GJB 5000A。 詳細(xì)發(fā)展歷程如圖1 所示。
圖1 GJB 5000A 及CMMI 標(biāo)準(zhǔn)發(fā)布?xì)v程
GJB 5000A 是從過程的視角描述組織的開發(fā)能力的模型,是通過實(shí)施改進(jìn)過程以實(shí)現(xiàn)質(zhì)量改進(jìn)的過程改進(jìn)模型,共4 類22 個過程域。某一細(xì)分領(lǐng)域內(nèi)相關(guān)實(shí)踐得到了有效實(shí)施(提供證據(jù)),代表在這個領(lǐng)域內(nèi)組織達(dá)到了一定的能力水平。 GJB 5000A 將組織的軟件研制能力成熟度分為5 個等級,如表1 所示。
表1 CMMI 模型成熟度和過程域劃分[3]
DO-178 系列標(biāo)準(zhǔn)是由美國無線電技術(shù)委員會RTCA 牽頭研究和發(fā)布的,用以支持以軟件為基礎(chǔ)的設(shè)備和系統(tǒng)的合格審定。 為了滿足機(jī)載軟件的迅猛發(fā)展,DO-178 系列也進(jìn)行了幾次版本的更新,如表2 所示。
表2 RTCA DO-178 標(biāo)準(zhǔn)發(fā)展歷程
1.3.1 基于軟件過程控制的思想
DO-178C 和GJB5000A 都是基于軟件自身的特點(diǎn),從過程管控的角度出發(fā),定義并描述了機(jī)載軟件的標(biāo)準(zhǔn)化開發(fā)過程或階段,就軟件開發(fā)過程的具體活動和目標(biāo)給出了要求和評價標(biāo)準(zhǔn)。
1.3.2 研制過程的相似性
DO-178C 和GJB5000A 對過程的劃分以及過程活動和目標(biāo)的定義均是從軟件工程的角度出發(fā),在需求管理、需求分析、軟件設(shè)計(jì)、軟件驗(yàn)證、配置管理、質(zhì)量保證等方面,兩份標(biāo)準(zhǔn)具有一定的基礎(chǔ)共通性。
(1)關(guān)注目標(biāo)和對象:DO-178C 關(guān)注的對象是具體的特定產(chǎn)品上,需滿足其安全性目標(biāo);而GJB5000A面向通用的工程方法、項(xiàng)目管理及過程改進(jìn),關(guān)注的是軟件組織的能力,而不是單個軟件項(xiàng)目。
(2)應(yīng)用領(lǐng)域:DO-178C 應(yīng)用領(lǐng)域?yàn)闄C(jī)載系統(tǒng)/設(shè)備軟件,GJB5000A 對應(yīng)用領(lǐng)域沒有限定。
(3)審查方和適航要求:DO-178C 是軟件適航審定過程中的推薦標(biāo)準(zhǔn);GJB5000A 對適航并無要求,是軍方對軍用軟件承制單位提出的要求, 在GJB 8000中要求承擔(dān)不同等級軟件必須具備GJB 5000A 相應(yīng)等級的研制能力。
(4)研制保證等級DAL 和安全性目標(biāo)的關(guān)注:DO-178C注重研制保證等級DAL 的觀念, 針對不同的DAL 和安全性目標(biāo)有特定的要求,而GJB5000A 無明確區(qū)分。
(5)覆蓋率要求:DO-178C 對不同級別軟件提出的覆蓋率要求(語句覆蓋、判定覆蓋、MC/DC 覆蓋),而GJB5000A 未針對軟件測試提出具體目標(biāo)。
(6)數(shù)據(jù)分類管理:DO-178C 配置管理對不同DAL軟件及不同數(shù)據(jù)進(jìn)行了分類管理 (CC1 和CC2),而GJB5000A 未做分類管理[4]。
在未建立基于DO-178C 的軟件研制體系的情況下,某個產(chǎn)品滿足DO-178C 的適航要求,可能依賴項(xiàng)目團(tuán)隊(duì), 無法代表組織的能力達(dá)到特定的成熟度水平。但組織建立基于GJB5000A 的軟件研制體系,則代表組織在軟件研制方面具有一定的成熟度能力,根據(jù)GJB8000 的規(guī)定和一些以往的適航案例,可認(rèn)為組織具備按照DO-178C 標(biāo)準(zhǔn)實(shí)施相應(yīng)研制保證等級的基礎(chǔ)和條件。因此,可將組織完成GJB5000A 二級或三級認(rèn)證作為基礎(chǔ), 通過項(xiàng)目中的軟件適航審定工作,在GJB5000A 軟件體系中融入DO-178C 的新增要求和特殊規(guī)定。
通過GJB5000A 認(rèn)證需建立軟件研制體系文件結(jié)構(gòu),體系中需遵循相關(guān)的軟件標(biāo)準(zhǔn),常見標(biāo)準(zhǔn)包括:
(1)GJB 8000-2013 《軍用軟件研制能力等級要求》
(2)GJB/Z 141-2004 《軍用軟件測試指南》
(3)GJB 2786A-2009 《軍用軟件開發(fā)通用要求》
(4)GJB/Z 102A-2012 《軍用軟件安全性設(shè)計(jì)指南》
(5)GJB 438B-2009 《軍用軟件開發(fā)文檔通用要求》
(6)GJB 5235-2004 《軍用軟件配置管理》
融合上述標(biāo)準(zhǔn)后建立的軟件研制體系,一定程度上增加了與DO-178 的一致性,如對研制保證等級、安全性設(shè)計(jì)和目標(biāo)、軟件覆蓋率、軟件研制階段等方面。 軟件研制體系需結(jié)合自身組織機(jī)構(gòu)特點(diǎn),以實(shí)現(xiàn)對軟件工程化的全過程進(jìn)行系統(tǒng)的、條理清晰的、易操作的管理和指導(dǎo),典型的軟件研制體系文件結(jié)構(gòu)如圖2 所示。
圖2 軟件研制體系文件結(jié)構(gòu)
為了將DO-178C 和GJB5000A 的具體要求進(jìn)行顯性化對比,根據(jù)DO-178C 要求的軟件生存周期,用基于GJB5000A 的軟件研制文件體系進(jìn)行對比, 各組織的體系文件不同可能存在一些差異,典型映射關(guān)系如表3。 由表3 可以看出,DO-178C 所要求的軟件生存周期數(shù)據(jù),除《軟件合格審定計(jì)劃》《軟件完結(jié)綜述》外,其他數(shù)據(jù),GJB5000A 大體上可作出對應(yīng)。
表3 僅僅是基于GJB5000A 的軟件研制文件體系對DO-178C 的單向簡單粗糙映射。 為了在軟件研制體系中融入DO-178C 的要求, 使其能夠滿足軟件適航要求, 還需進(jìn)行仔細(xì)分析后, 針對識別出的差異,對軟件研制體系進(jìn)行修改,包括新增或調(diào)整人員崗位、文件及模板、應(yīng)用流程、工具方法。 已識別的差異點(diǎn)包括:
(1)適航工作方面的缺失,應(yīng)增加適航流程和軟件合格審定相關(guān)的文件規(guī)定,并設(shè)置相應(yīng)的人員進(jìn)行適航工作;
(2)配置管理方面的數(shù)據(jù)分類管理(CC1 和 CC2),除修訂體系文件外,必要時需對適用的軟件工具進(jìn)行升級或替換。
表3 軟件生存周期數(shù)據(jù)的簡化映射關(guān)系
GJB5000A 和DO-178C 對軟件研制過程的描述沒有沖突的地方,僅是關(guān)注點(diǎn)不同。 可基于GJB5000A建立軟件研制體系, 提升組織的軟件研制成熟度,在此基礎(chǔ)上, 對體系與DO-178C 之間的差異進(jìn)行逐項(xiàng)分析, 然后在軟件研制體系中融入DO-178C 的特殊要求,最終應(yīng)建立一套同時符合兩個標(biāo)準(zhǔn)的軟件研制體系。