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