宋婷婷++劉志剛++柳俊成
摘 要:近幾年,GJB 5000A大力推行,很多軍工企業(yè)已經(jīng)完成了一定成熟度等級的體系認證工作,并在軟件項目中貫徹實施;而適航思想在軍用航空器中的引入,又使得DO-178B標準的應用成為今后軍用和民用航空器軟件開發(fā)的發(fā)展趨勢。該文將DO-178B標準和GJB 5000A進行對比分析,并給出對比分析結(jié)果總結(jié),為依據(jù)上述兩個標準進行軟件開發(fā)的企業(yè)提供一些參考和思路。
關(guān)鍵詞:DO-178B GJB 5000A 等級 過程域 軟件生命周期
中圖分類號:TP31 文獻標識碼:A 文章編號:1674-098X(2014)06(a)-0188-03
隨著現(xiàn)代武器裝備中計算機技術(shù)發(fā)展的日新月異,軟件在其中的比重越來越大。各種軍用產(chǎn)品中的很多重要功能不得不依靠軟件設計來完成,但傳統(tǒng)的過程管理模式已滿足不了日益增長的軟件研制要求。
為了更好地保證軟件產(chǎn)品的質(zhì)量,提升企業(yè)軟件研制能力,我國引入了在國際軟件行業(yè)中已經(jīng)非常成熟的軟件能力成熟度模型(CMM)思想。2008年,總裝備部依據(jù)CMM發(fā)布了GJB 5000A-2008《軍用軟件能力成熟度模型》,以評價軟件研制單位是否具有相應的軟件研制能力。通過GJB 5000A認證評價,已經(jīng)成為軍用軟件開發(fā)單位的基本要求。目前,我國已有許多單位取得了二級、三級體系認證,通過貫徹GJB 5000A的要求不斷改進軟件開發(fā)過程。
軍用航空裝備不同與其他武器裝備,它既要求實現(xiàn)既定的戰(zhàn)斗力,又要求實現(xiàn)既定戰(zhàn)斗力過程中的安全性。針對于這個特點,對軍用航空器安全的重視程度也日益提高?,F(xiàn)有的軟件開發(fā)水平難以滿足軟件高安全性、高可靠性的要求。我國軍機研發(fā)引入了適航概念,對軍用航空器提出了適航性要求,要求軍用航空器按照符合適航性要求進行研發(fā)。RTCA DO-178B是民用航空軟件研發(fā)的指導性標準,是衡量是否滿足適航性的重要依據(jù)。
DO-178B和GJB 5000A為不用的標準,因為不同的需要而用于軟件開發(fā)中。它們即具有一定的相似性,也有它們各自的典型特征。該文通過對DO-178B和GJB 5000A對比分析,來研究它們之間的差異,為依據(jù)上述兩個標準進行軟件開發(fā)的企業(yè)提供一些參考和思路。
1 DO-178B概述
DO-178B是由美國的航空無線電技術(shù)委員會(RTCA)所提出的一個航空工業(yè)的軟件標準,標準名為“Software Considerations in Airborne Systems and Equipment Certification”。它的第一個正式版本是RTCA于1982年發(fā)布的,到1992年,經(jīng)過多個行業(yè)聯(lián)合的綜合性更新發(fā)布了DO-178B(歐洲認可為ED-12B)。該標準也就是當前我國在航空業(yè)界所應用的版本,它是為了支持含有數(shù)字計算機的機載系統(tǒng)和設備的研制工作而開發(fā)的軟件開發(fā)過程中應遵循的準則,適用于民用飛機機載系統(tǒng)軟件的開發(fā)和合格審定。
1.1 軟件等級
按照DO-178B標準進行的機載系統(tǒng)軟件開發(fā)活動都是從系統(tǒng)安全評估開始的。系統(tǒng)安全評估對系統(tǒng)在整個飛行過程中失效的影響進行了研究,并分析了其影響。在此基礎(chǔ)上,被開發(fā)軟件分為A、B、C、D、E五個級別。表1給出軟件的五個級別的定義和其對應的失效狀態(tài)。不同級別的軟件,DO-178B對其要求也不同,該表還給出每類軟件必須滿足的過程目標總數(shù)。
1.2 軟件生命周期
DO-178B沒有規(guī)定任何特定的生命周期,但它提供了軟件開發(fā)的進程,它包括大部分的生命周期和它們之間的相互作用。DO-178B介紹以下三個過程:
(1)軟件計劃過程:計劃過程定義和協(xié)調(diào)一個項目的軟件開發(fā)和綜合過程的活動。
(2)軟件開發(fā)過程:這個過程定義生產(chǎn)軟件產(chǎn)品的過程,這些過程是軟件需求過程、軟件設計過程、軟件編碼過程和軟/硬件集成過程;
(3)支持過程:該過程是與貫穿整個軟件生命周期的軟件開發(fā)過程同時執(zhí)行的。它確保軟件生命周期過程及其輸出正確性、受控和可信。綜合過程是驗證和確認、配置管理、軟件質(zhì)量保證和審定聯(lián)絡。
根據(jù)DO-178B的描述仍然可以總結(jié)出它所建議使用的生命周期過程,如圖1所示。DO-178B中還定義了每個過程的輸入、目標、活動、輸出、轉(zhuǎn)換準則和滿足這些目標的一些考慮。對于不同等級的軟件,DO-178B要求的過程目標、輸入/輸出、活動也不同。DO-178B附表A中以表格的形式,總結(jié)了不同軟件等級在軟件過程中的目標和輸出。例如D級軟件在驗證過程中只需要對高級需求進行驗證,而A級軟件則需要對各級需求進行驗證并達到相應的覆蓋率。每一級軟件目標都是在其低一等級軟件目標的基礎(chǔ)上遞增的,圖2給出了每個軟件級別的目標。
2 GJB 5000A概述
2003年,總裝備部發(fā)布了GJB 5000-2003《軍用軟件能力成熟度模型》,2008年發(fā)布了以CMMIDEV1.2版為基礎(chǔ)制定的GJB 5000A-2008版。能力成熟度模型為軟件開發(fā)的組織提供了如何獲得軟件開發(fā)和維護流程控制的指南。
2.1 成熟度等級
GJB 5000A建議軟件開發(fā)過程的成熟度分為五個等級。一個組織的成熟度等級標志著組織軟件開發(fā)過程的有效性。下面簡要描述這五個層次:
第1級:初始等級:在這個等級上,該組織沒有任何定義的過程且開發(fā)活動是隨意、無序的。成功和可重復性依賴于個人/團隊,但有沒有來自組織的結(jié)構(gòu)性幫助。
第2級:已管理級:在已管理級,按照組織的方針建立了有效地項目管理體系,并確保項目已按照方針進行策劃并得到執(zhí)行。新的項目能重復以往項目的成功實踐。
第3級:已定義級:已定義級是建立在項目管理的基礎(chǔ)上,組織的標準過程集已建立,并隨著時間推移而不斷改進。endprint
第4級:已定量管理級:在這個等級上,組織和項目為質(zhì)量和過程績效建立了定量目標,并將其用作管理過程的準則。
第5級:優(yōu)化級:在這個等級上,整個組織是專注于持續(xù)的過程改進。根據(jù)對過程中固有變異的共因的定量的理解,進行過程優(yōu)化從而避免過程中問題的再次發(fā)生。
以上每個成熟度等級都是下一個成熟度等級的必要基礎(chǔ),因此過程的成熟度級別是不能跨域的,而是隨著組織達到一個等級的過程域的所有專用目標和共用目標,才能向下一個成熟度等級增進。
2.2 過程域
過程域是為了實現(xiàn)每一成熟度等級的目標,組織需要集中力量改進的軟件過程。從表2可以看出每一個成熟度等級都與若干過程域相關(guān)。每一級的過程域也描述出了軟件開發(fā)過程所需的活動。
3 比較與分析
通過以上對兩個標準的介紹,對兩個標準之間的差異性和相似性做一下對比分析。
3.1 關(guān)注點的異同
DO-178B和GJB5000A都是用于指導軟件開發(fā)的標準,但是它們的目的和范圍有很大的不同。DO-178B適用于民用飛機機載系統(tǒng)軟件的開發(fā)和合格審定。GJB 5000A則是一個通用的標準,在軟件范圍中廣泛使用,機載軟件只是其中的一部分。GJB 5000A用來評估軟件組織開發(fā)能力,專注于業(yè)務流程測量和改進。DO-178B則關(guān)注于軟件產(chǎn)品的完整性和安全性。
3.2 等級劃分的異同
兩個標準都在水平上進行等級的劃分,既DO-178B和GJB5000A都被分為五個等級,并圍繞等級進行說明的。DO-178B是基于安全性的,通過軟件對潛在失效狀態(tài)的影響來劃分,劃分的是軟件等級。對不同的軟件等級提出了不同的目標,并規(guī)定了不同的活動程度來滿足相應的目標。GJB5000A是基于組織開發(fā)能力來劃分的,劃分的是組織開發(fā)能力的成熟度。對不同級別的成熟度相關(guān)聯(lián)的過程域不同,通過規(guī)定不同的實踐來滿足對應過程域目標,以證明自己成熟度的達到。這兩個標準都提出了一個基于等級增量變化,在滿足了低級別的基礎(chǔ)上,向高級別演變的。在建立體系文件時,要將兩者很好的集合起來考慮。
3.3 過程域的異同
DO-178B和GJB5000A都對開發(fā)過程給予了一定的指導,定義了一些軟件生命周期過程。DO-178B標準,要求最高等級軟件滿足66的目標,其軟件生命周期包括九個過程。GJB 5000A包括22個過程領(lǐng)域?,F(xiàn)將DO-178B軟件生命周期過程和GJB 5000A的過程域進行映射,見表3。
經(jīng)過表3的對比分析,可以看出DO-178B和GJB5000A過程并不能完全映射,且類似過程的關(guān)注點也不同。GJB5000A雖然提供了比較完整的過程域,但是它并沒有規(guī)定如何做以及做到何種程度,而DO-178B在這方面具有非常重要的指導意義。DO-178B定義了每個過程的目標、活動指導、滿足目標所需的證據(jù)等。例如DO-178B給出了驗證過程的方法(評審、分析和測試),并提出了必須達到的驗證指標(語句覆蓋、MC/DC覆蓋等)。在建立體系文件時,可將此引入到GJB5000A中。
3.4 靈活性的異同
DO-178B和GJB 5000A都沒有對某個確定活動需要遵循的規(guī)程和模板進行規(guī)定。用戶必須形成自己的規(guī)程和模板,這也是用來證明自己滿足目標的責任。且在針對不同用戶時,可對自己的模板和規(guī)程進行調(diào)整。
DO-178B和GJB 5000A的另一個重要不同點是DO-178B不像GJB 5000A那樣具有可裁剪性。在實踐中應嚴格遵守DO-178B,或用替代的方法來滿足相應的目標。
4 結(jié)語
通過以上的討論,不難發(fā)現(xiàn)它們有各自的優(yōu)點,同時也存在著很大的差異。通過DO-178B能獲得更高品質(zhì)的軟件產(chǎn)品和審查認證的方法;通過GJB 5000A能獲得更高的效率和更成熟的軟件研制能力,二者不能相互替代,但可以同時使用。且隨著時代的發(fā)展、各種標準的推廣,軍用航空軟件的開發(fā)變得越來越規(guī)范。DO-178B和GJB 5000A兩個標準的集成,能讓它們在軟件開發(fā)中發(fā)揮各自的優(yōu)勢,對提高軍用航空軟件的開發(fā)能力和確保軟件的安全性具有重要的現(xiàn)實意義。
參考文獻
[1] GJB 5000A軍用軟件能力成熟度模型[S].中國人民解放軍總裝備部,2008.
[2] DO-178B,Software Considerations in Airborne Systems and Equipment Certification[S]. RTCA,1992.
[3] 陳紹宇,趙建軍.RTCA DO-178B標準與相關(guān)國軍標的對照分析[J].航空電子技術(shù),2009(5).endprint
第4級:已定量管理級:在這個等級上,組織和項目為質(zhì)量和過程績效建立了定量目標,并將其用作管理過程的準則。
第5級:優(yōu)化級:在這個等級上,整個組織是專注于持續(xù)的過程改進。根據(jù)對過程中固有變異的共因的定量的理解,進行過程優(yōu)化從而避免過程中問題的再次發(fā)生。
以上每個成熟度等級都是下一個成熟度等級的必要基礎(chǔ),因此過程的成熟度級別是不能跨域的,而是隨著組織達到一個等級的過程域的所有專用目標和共用目標,才能向下一個成熟度等級增進。
2.2 過程域
過程域是為了實現(xiàn)每一成熟度等級的目標,組織需要集中力量改進的軟件過程。從表2可以看出每一個成熟度等級都與若干過程域相關(guān)。每一級的過程域也描述出了軟件開發(fā)過程所需的活動。
3 比較與分析
通過以上對兩個標準的介紹,對兩個標準之間的差異性和相似性做一下對比分析。
3.1 關(guān)注點的異同
DO-178B和GJB5000A都是用于指導軟件開發(fā)的標準,但是它們的目的和范圍有很大的不同。DO-178B適用于民用飛機機載系統(tǒng)軟件的開發(fā)和合格審定。GJB 5000A則是一個通用的標準,在軟件范圍中廣泛使用,機載軟件只是其中的一部分。GJB 5000A用來評估軟件組織開發(fā)能力,專注于業(yè)務流程測量和改進。DO-178B則關(guān)注于軟件產(chǎn)品的完整性和安全性。
3.2 等級劃分的異同
兩個標準都在水平上進行等級的劃分,既DO-178B和GJB5000A都被分為五個等級,并圍繞等級進行說明的。DO-178B是基于安全性的,通過軟件對潛在失效狀態(tài)的影響來劃分,劃分的是軟件等級。對不同的軟件等級提出了不同的目標,并規(guī)定了不同的活動程度來滿足相應的目標。GJB5000A是基于組織開發(fā)能力來劃分的,劃分的是組織開發(fā)能力的成熟度。對不同級別的成熟度相關(guān)聯(lián)的過程域不同,通過規(guī)定不同的實踐來滿足對應過程域目標,以證明自己成熟度的達到。這兩個標準都提出了一個基于等級增量變化,在滿足了低級別的基礎(chǔ)上,向高級別演變的。在建立體系文件時,要將兩者很好的集合起來考慮。
3.3 過程域的異同
DO-178B和GJB5000A都對開發(fā)過程給予了一定的指導,定義了一些軟件生命周期過程。DO-178B標準,要求最高等級軟件滿足66的目標,其軟件生命周期包括九個過程。GJB 5000A包括22個過程領(lǐng)域?,F(xiàn)將DO-178B軟件生命周期過程和GJB 5000A的過程域進行映射,見表3。
經(jīng)過表3的對比分析,可以看出DO-178B和GJB5000A過程并不能完全映射,且類似過程的關(guān)注點也不同。GJB5000A雖然提供了比較完整的過程域,但是它并沒有規(guī)定如何做以及做到何種程度,而DO-178B在這方面具有非常重要的指導意義。DO-178B定義了每個過程的目標、活動指導、滿足目標所需的證據(jù)等。例如DO-178B給出了驗證過程的方法(評審、分析和測試),并提出了必須達到的驗證指標(語句覆蓋、MC/DC覆蓋等)。在建立體系文件時,可將此引入到GJB5000A中。
3.4 靈活性的異同
DO-178B和GJB 5000A都沒有對某個確定活動需要遵循的規(guī)程和模板進行規(guī)定。用戶必須形成自己的規(guī)程和模板,這也是用來證明自己滿足目標的責任。且在針對不同用戶時,可對自己的模板和規(guī)程進行調(diào)整。
DO-178B和GJB 5000A的另一個重要不同點是DO-178B不像GJB 5000A那樣具有可裁剪性。在實踐中應嚴格遵守DO-178B,或用替代的方法來滿足相應的目標。
4 結(jié)語
通過以上的討論,不難發(fā)現(xiàn)它們有各自的優(yōu)點,同時也存在著很大的差異。通過DO-178B能獲得更高品質(zhì)的軟件產(chǎn)品和審查認證的方法;通過GJB 5000A能獲得更高的效率和更成熟的軟件研制能力,二者不能相互替代,但可以同時使用。且隨著時代的發(fā)展、各種標準的推廣,軍用航空軟件的開發(fā)變得越來越規(guī)范。DO-178B和GJB 5000A兩個標準的集成,能讓它們在軟件開發(fā)中發(fā)揮各自的優(yōu)勢,對提高軍用航空軟件的開發(fā)能力和確保軟件的安全性具有重要的現(xiàn)實意義。
參考文獻
[1] GJB 5000A軍用軟件能力成熟度模型[S].中國人民解放軍總裝備部,2008.
[2] DO-178B,Software Considerations in Airborne Systems and Equipment Certification[S]. RTCA,1992.
[3] 陳紹宇,趙建軍.RTCA DO-178B標準與相關(guān)國軍標的對照分析[J].航空電子技術(shù),2009(5).endprint
第4級:已定量管理級:在這個等級上,組織和項目為質(zhì)量和過程績效建立了定量目標,并將其用作管理過程的準則。
第5級:優(yōu)化級:在這個等級上,整個組織是專注于持續(xù)的過程改進。根據(jù)對過程中固有變異的共因的定量的理解,進行過程優(yōu)化從而避免過程中問題的再次發(fā)生。
以上每個成熟度等級都是下一個成熟度等級的必要基礎(chǔ),因此過程的成熟度級別是不能跨域的,而是隨著組織達到一個等級的過程域的所有專用目標和共用目標,才能向下一個成熟度等級增進。
2.2 過程域
過程域是為了實現(xiàn)每一成熟度等級的目標,組織需要集中力量改進的軟件過程。從表2可以看出每一個成熟度等級都與若干過程域相關(guān)。每一級的過程域也描述出了軟件開發(fā)過程所需的活動。
3 比較與分析
通過以上對兩個標準的介紹,對兩個標準之間的差異性和相似性做一下對比分析。
3.1 關(guān)注點的異同
DO-178B和GJB5000A都是用于指導軟件開發(fā)的標準,但是它們的目的和范圍有很大的不同。DO-178B適用于民用飛機機載系統(tǒng)軟件的開發(fā)和合格審定。GJB 5000A則是一個通用的標準,在軟件范圍中廣泛使用,機載軟件只是其中的一部分。GJB 5000A用來評估軟件組織開發(fā)能力,專注于業(yè)務流程測量和改進。DO-178B則關(guān)注于軟件產(chǎn)品的完整性和安全性。
3.2 等級劃分的異同
兩個標準都在水平上進行等級的劃分,既DO-178B和GJB5000A都被分為五個等級,并圍繞等級進行說明的。DO-178B是基于安全性的,通過軟件對潛在失效狀態(tài)的影響來劃分,劃分的是軟件等級。對不同的軟件等級提出了不同的目標,并規(guī)定了不同的活動程度來滿足相應的目標。GJB5000A是基于組織開發(fā)能力來劃分的,劃分的是組織開發(fā)能力的成熟度。對不同級別的成熟度相關(guān)聯(lián)的過程域不同,通過規(guī)定不同的實踐來滿足對應過程域目標,以證明自己成熟度的達到。這兩個標準都提出了一個基于等級增量變化,在滿足了低級別的基礎(chǔ)上,向高級別演變的。在建立體系文件時,要將兩者很好的集合起來考慮。
3.3 過程域的異同
DO-178B和GJB5000A都對開發(fā)過程給予了一定的指導,定義了一些軟件生命周期過程。DO-178B標準,要求最高等級軟件滿足66的目標,其軟件生命周期包括九個過程。GJB 5000A包括22個過程領(lǐng)域?,F(xiàn)將DO-178B軟件生命周期過程和GJB 5000A的過程域進行映射,見表3。
經(jīng)過表3的對比分析,可以看出DO-178B和GJB5000A過程并不能完全映射,且類似過程的關(guān)注點也不同。GJB5000A雖然提供了比較完整的過程域,但是它并沒有規(guī)定如何做以及做到何種程度,而DO-178B在這方面具有非常重要的指導意義。DO-178B定義了每個過程的目標、活動指導、滿足目標所需的證據(jù)等。例如DO-178B給出了驗證過程的方法(評審、分析和測試),并提出了必須達到的驗證指標(語句覆蓋、MC/DC覆蓋等)。在建立體系文件時,可將此引入到GJB5000A中。
3.4 靈活性的異同
DO-178B和GJB 5000A都沒有對某個確定活動需要遵循的規(guī)程和模板進行規(guī)定。用戶必須形成自己的規(guī)程和模板,這也是用來證明自己滿足目標的責任。且在針對不同用戶時,可對自己的模板和規(guī)程進行調(diào)整。
DO-178B和GJB 5000A的另一個重要不同點是DO-178B不像GJB 5000A那樣具有可裁剪性。在實踐中應嚴格遵守DO-178B,或用替代的方法來滿足相應的目標。
4 結(jié)語
通過以上的討論,不難發(fā)現(xiàn)它們有各自的優(yōu)點,同時也存在著很大的差異。通過DO-178B能獲得更高品質(zhì)的軟件產(chǎn)品和審查認證的方法;通過GJB 5000A能獲得更高的效率和更成熟的軟件研制能力,二者不能相互替代,但可以同時使用。且隨著時代的發(fā)展、各種標準的推廣,軍用航空軟件的開發(fā)變得越來越規(guī)范。DO-178B和GJB 5000A兩個標準的集成,能讓它們在軟件開發(fā)中發(fā)揮各自的優(yōu)勢,對提高軍用航空軟件的開發(fā)能力和確保軟件的安全性具有重要的現(xiàn)實意義。
參考文獻
[1] GJB 5000A軍用軟件能力成熟度模型[S].中國人民解放軍總裝備部,2008.
[2] DO-178B,Software Considerations in Airborne Systems and Equipment Certification[S]. RTCA,1992.
[3] 陳紹宇,趙建軍.RTCA DO-178B標準與相關(guān)國軍標的對照分析[J].航空電子技術(shù),2009(5).endprint