分享几篇有关DO-178和GJB5000对比的论文
文章目錄
- 《DO-178B與GJB5000A對比分析研究》
- 《DO-178C與軍用軟件體系融合探索》
- 《GJB5000A與DO-178B_C的綜合應用研究》
- 《GJB5000A與DO-178B的結合實施方案》
- 《對比DO-178C與GJB5000A淺析軟件適航關注點》
- 《航空機載軟件適航性審定標準DO-178C與軟件管理標準GJB5000A的比較分析》
- 《滿足GJB5000A認證和DO-178C要求的航空軟件研制體系建設》
- 《淺析DO-178B與GJB5000A標準對航空軟件研制要求的差異》
這幾篇論文分別是:
《DO-178B與GJB5000A對比分析研究》
《DO-178C與軍用軟件體系融合探索》
《GJB5000A與DO-178B_C的綜合應用研究》
《GJB5000A與DO-178B的結合實施方案》
《對比DO-178C與GJB5000A淺析軟件適航關注點》
《航空機載軟件適航性審定標準DO-178C與軟件管理標準GJB5000A的比較分析》
《滿足GJB5000A認證和DO-178C要求的航空軟件研制體系建設》
《淺析DO-178B與GJB5000A標準對航空軟件研制要求的差異》
之前簡單介紹過一下DO178和GJB5000,文章鏈接:GJB5000A與DO178B/C簡介及對比
《DO-178B與GJB5000A對比分析研究》
摘要:近幾年,GJB5000A大力推行,很多軍工企業已經完成了一定成熟度等級的體系認證工作,并在軟件項目中貫徹實施;而適航思想在軍用航空器中的引入,又使得DO-178B標準的應用成為今后軍用和民用航空器軟件開發的發展趨勢。該文將DO-178B標準和GJB5000A進行對比分析,并給出對比分析結果總結,為依據上述兩個標準進行軟件開發的企業提供一些參考和思路。
隨著現代武器裝備中計算機技術發展的日新月異,軟件在其中的比重越來越大。
各種軍用產品中的很多重要功能不得不依靠軟件設計來完成,但傳統的過程管理模式已滿足不了日益增長的軟件研制要求。
為了更好地保證軟件產品的質量,提升企業軟件研制能力,我國引入了在國際軟件行業中已經非常成熟的軟件能力成熟度模型(CMM)思想。2008年,總裝備部依據CMM發布了GJB5000A-2008《軍用軟件能力成熟度模型》,以評價軟件研制單位是否具有相應的軟件研制能力。通過GJB5000A認證評價,已經成為軍用軟件開發單位的基本要求。目前,我國已有許多單位取得了二級、三級體系認證,通過貫徹GJB5000A的要求不斷改進軟件開發過程。
軍用航空裝備不同與其他武器裝備,它既要求實現既定的戰斗力,又要求實現既定戰斗力過程中的安全性。針對于這個特點,對軍用航空器安全的重視程度也日益提高。
現有的軟件開發水平難以滿足軟件高安全性、高可靠性的要求。我國軍機研發引入了適航概念,對軍用航空器提出了適航性要求,要求軍用航空器按照符合適航性要求進行研發。RTCADO-178B是民用航空軟件研發的指導性標準,是衡量是否滿足適航性的重要依據。
DO-178B和GJB5000A為不用的標準,因為不同的需要而用于軟件開發中。它們即具有一定的相似性,也有它們各自的典型特征。該文通過對DO-178B和GJB5000A對比分析,來研究它們之間的差異,為依據上述兩個標準進行軟件開發的企業提供一些參考和思路。
1DO-178B概述
DO-178B是由美國的航空無線電技術委員會(RTCA)所提出的一個航空工業的軟件標準,標準名為“Software Considerations in Airborne Systems andEquipmentCertification”。它的第一個正式版本是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給出了每個軟件級別的目標。
2GJB5000A概述
2003年,總裝備部發布了GJB5000-2003《軍用軟件能力成熟度模型》,2008年發布了以CMMIDEV1.2版為基礎制定的GJB5000A-2008版。能力成熟度模型為軟件開發的組織提供了如何獲得軟件開發和維護流程控制的指南。
2.1成熟度等級
GJB5000A建議軟件開發過程的成熟度分為五個等級。一個組織的成熟度等級標志著組織軟件開發過程的有效性。下面簡要描述這五個層次:
第1級:初始等級:在這個等級上,該組織沒有任何定義的過程且開發活動是隨意、無序的。成功和可重復性依賴于個人/團隊,但有沒有來自組織的結構性幫助。
第2級:已管理級:在已管理級,按照組織的方針建立了有效地項目管理體系,并確保項目已按照方針進行策劃并得到執行。新的項目能重復以往項目的成功實踐。
第3級:已定義級:已定義級是建立在項目管理的基礎上,組織的標準過程集已建立,并隨著時間推移而不斷改進。
第4級:已定量管理級:在這個等級上,組織和項目為質量和過程績效建立了定量目標,并將其用作管理過程的準則。
第5級:優化級:在這個等級上,整個組織是專注于持續的過程改進。根據對過程中固有變異的共因的定量的理解,進行過程優化從而避免過程中問題的再次發生。
以上每個成熟度等級都是下一個成熟度等級的必要基礎,因此過程的成熟度級別是不能跨域的,而是隨著組織達到一個等級的過程域的所有專用目標和共用目標才能向下一個成熟度等級增進。
2.2過程域
過程域是為了實現每一成熟度等級的目標,組織需要集中力量改進的軟件過程。
從表2可以看出每一個成熟度等級都與若干過程域相關。每一級的過程域也描述出了軟件開發過程所需的活動。
3比較與分析
通過以上對兩個標準的介紹,對兩個標準之間的差異性和相似性做一下對比分析。
3.1關注點的異同
DO-178B和GJB5000A都是用于指導軟件開發的標準,但是它們的目的和范圍有很大的不同。DO-178B適用于民用飛機機載系統軟件的開發和合格審定。GJB5000A則是一個通用的標準,在軟件范圍中廣泛使用,機載軟件只是其中的一部分。GJB5000A用來評估軟件組織開發能力專注于業務流程測量和改進。DO-178B則關注于軟件產品的完整性和安全性。
3.2等級劃分的異后
兩個標準都在水平上進行等級的劃分,既DO-178B和GJB5000A都被分為五個等級,并圍繞等級進行說明的。DO-178B是基于安全性的,通過軟件對潛在失效狀態的影響來劃分,劃分的是軟件等級。對不同的軟件等級提出了不同的目標,并規定了不同的活動程度來滿足相應的目標。GJB5000A是基于組織開發能力來劃分的,劃分的是組織開發能力的成熟度。對不同級別的成熟度相關聯的過程域不同,通過規定不同的實踐來滿足對應過程域目標,以證明自己成熟度的達到。這兩個標準都提出了一個基于等級增量變化,在滿足了低級別的基礎上,向高級別演變的。在建立體系文件時,要將兩者很好的集合起來考慮。
3.3過程域的異同
D0-178B和GJB5000A都對開發過程給予了一定的指導,定義了一些軟件生命周期過程。DO-178B標準,要求最高等級軟件滿足66的目標,其軟件生命周期包括九個過程。GJB5000A包括22個過程領域。
現將DO-178B軟件生命周期過程和GJB5000A的過程域進行映射,見表3。
經過表3的對比分析,可以看出DO178B和GJB5000A過程并不能完全映射,且類似過程的關注點也不同。GJB5000A雖然提供了比較完整的過程域,但是它并沒有規定如何做以及做到何種程度,而DO-178B在這方面具有非常重要的指導意義。
DO-178B定義了每個過程的目標、活動指導、滿足目標所需的證據等。例如DO-178B給出了驗證過程的方法(評審、分析和測試),并提出了必須達到的驗證指標(語句覆蓋、MC/DC覆蓋等)。在建立體系文件時,可將此引入到GJB5000A中。
3.4靈活性的異同
DO-178B和GJB5000A都沒有對某個確定活動需要遵循的規程和模板進行規定。用戶必須形成自己的規程和模板,這也是用來證明自己滿足目標的責任。且在針對不同用戶時,可對自己的模板和規程進行調整。
DO-178B和GJB5000A的另一個重要不同點是DO-178B不像GJB5000A那樣具有可裁剪性。在實踐中應嚴格遵守DO-178B,或用替代的方法來滿足相應的目標。
4結語
通過以上的討論,不難發現它們有各自的優點,同時也存在著很大的差異。通過DO-178B能獲得更高品質的軟件產品和審查認證的方法;通過GJB5000A能獲得更高的效率和更成熟的軟件研制能力,二者不能相互替代,但可以同時使用。且隨著時代的發展、各種標準的推廣,軍用航空軟件的開發變得越來越規范。DO-178B和GJB5000A兩個標準的集成,能讓它們在軟件開發中發揮各自的優勢,對提高軍用航空軟件的開發能力和確保軟件的安全性具有重要的現實意義。
《DO-178C與軍用軟件體系融合探索》
摘要:
本文通過對比D0-178C與基于GJB5000A建立的軍用軟件體系,分析兩者的共性和差異,探索將D0-178C融入軍用軟件體系的方法和途徑。對比結果表明,D0-178C與軍用軟件體系相輔相成,在GJB5000A軟件體系基礎上進行適航軟件開發更為方便有效,D0-178C中軟件分級管理、軟件測試等要求可以補充完善軍用軟件體系,促進軟件過程改進。兩者的融合可以使機載軟件承制單位軟件研發過程既能滿足軍用軟件要求又能滿足適航需要。
引言
近10年來,對GJB5000A《軍用軟件研制能力成熟度模型》持續推進,很多軍工單位已經完成軍用軟件研制能力成熟度二級評價,部分單位持續改進、完成三級或四級評價。基于GJB5000A建立的軟件體系在軍用軟件項目中得到貫徹和實施。而民用航空領域,D0-I78 C Software Considerations in Airborne Systems and Equipment Certification是各國民航局機載軟件適航審查公認標準。當前,隨著民用航空市場的開放和軍機適航要求的提出,按D0-178C適航要求進行機載軟件開發成為軍用軟件承制單位的新任務,如何同時實施D0-178C和GJB5000A成為亟需解決的問題。本文對比D0-178C與基于GB5000A二級所建的軟件體系,分析它們之間的差異,研究兩者融合的可能性和方法,為航空機載軟件開發單位提供參考和思路。
1GJB5000A概述
GJB5000A–2008《軍用軟件研制能力成熟度模型》參照CMMI1.2(CapabilityMahurityModel Integration)制定。CMM/CMMI是美國國防部委托卡內基梅隆大學軟件研究所(SEI)開發,用于改善軟件研制過程和提升軟件產品質量的標準。自1991年,SEI先后發布了CMM(SW-CMM)1.0、CMMI12及CMMI1.3,2016年發布了CMMI2.0.原總裝備部為了提升軍用軟件研制質量,2005年參照CMM1.0制定
GJB5000A規定了軟件研制和維護活動中主要軟件管理過程和工程過程實踐!1,為軟件研制過程提供了一系列規范動作和過程改進方法,從制度和管理上保證軍用軟件開發過程質量。
2DO-178C概述
1982年,由美國航空無線電技術委員會(RTCA)與歐洲民航設備組織(EUROCAE)發布在民用航空機載軟件安全保證方面具有里程碑意義的D0-178.之后發布了D0-178A、D0-178B【31,較之于DO-178A面向軟件開發技術和開發方法的特點,1992年發布的DO-178B則貫徹“面向目標”和“面向過程”的原則,盡量少地涉及具體軟件技術和開發方法,因此DO-178B成為一個較為穩定的版本。直到2011年RTCA發布了DO-178C,該版本完全繼承了DO-178B,但糾正了DO-178B中的錯誤,澄清了嗨澀和描述不清的章節,采用了更加嚴謹的措辭,編制了一系列補充文檔應對新的軟件技術和方法,并強調文檔的完整性。
3異同分析
3.1標準差異對比D0-178C與GJB5000A兩份標準推出的目的是一致的:通過規范流程、約束開發過程保障軟件產品質量,但也存在如下差別。
(1)應用對象不同GJB5000A是軍用軟件研制單位過程評估和改進的依據,主要是為了評判一一個組織或企業軟件研制能力,以組織為審查對象,明確組織的目標、實踐,通過提升整個組織的軟件研制能力來確保該組織研制的軟件產品質量。而D0-178C作為民航局軟件適航審查依據,評判的是機載軟件產品是否合格【4,并且民用航空器上的所有機載軟件均須通過適航審定才能使用。
(2)著重點不同GJB5000A著重于通過規定的模型框架建立制度化和規范化的軟件體系以提高組織的軟件研制能力。
沒有強制特定做法,具有較強的靈活性。而D0-178C著重從系統安全的角度,描述航空機載軟件研制過程應實現的目標、遵循的原則和具體的要求,具有較強的實踐性、操作性,也體現了高安全領域對產品近似“刻板”的要求,無額外“發揮”空間〔4。
(3)覆蓋范圍不同
DO-178C聚焦于工程及其直接相關的管理活動,而GJB5000A將軟件工程、系統工程、采購三個學科集成到一個框架下,涵蓋了工程活動以及項目管理、過程管理等支持活動。從表1對比可見,軟件需求管理、軟件質量保證、配置管理和軟件計劃過程等是兩者均要求的,適航聯絡過程是DO-178C特有的,對于有適航要求的項目可在組織軟件體系中增加適航聯絡過程。
(4)分級管理差異
GJB5000A核心思想是把軟件開發視為一個過程,通過如圖1所示的5個成熟度等級,衡量軟件開發管理能力。初始級沒有對應的過程域,已管理級(二級)對應7個過程域,已定義級(三級)在二級的基礎上增加11個過程域,達到優化級(五級)時則要求執行全部的22個過程域。
D0-178C根據軟件失效對飛機安全性的影響程度,將軟件等級劃分為A、B、C、D和E5個等級,A級最高,E級最低。A級軟件要應用D0-178C的全部目標,E級軟件沒有安全性影響,不要求任何D0-178C目標4.隨著軟件級別的上升,D0-178C對應的目標隨之增加,需要執行的驗證活動增多,其中要求獨立性的驗證活動也隨之增加。此外,D0-178C配置管理為實現嚴格管理與管理成本的均衡,采用CC1和CC2兩類管理,對不同級別軟件文檔,采取不同的控制類。GJB5000A沒有涉及這樣具體的要求,因此,D0-178C軟件分級管理思想可以融合到軍用軟件體系中。
3.2車軟件生命周期過程對比分析
GJB5000A與DO-178C均要求覆蓋整個軟件生命周期。依據GJB5000A二級對7個過程域的要求,建立的典型漾布模型軟件生命周期過程如圖2所示,軟件生命周期的各個過程均有對應國軍標指導,如GJB2786《軍用軟件開發通用要求》指導軟件開發過程:GIB5235《軍用軟件配置管理》指導配置管理過程。基于GJB5000A二級建立體系過程主要是將各個過程域的目標和實踐制度化,形成體系文件,指導軟件項目的開發和管理。
DO-178C定義的機載軟件生命周期過程,如圖3所示,主要包括軟件計劃過程、軟件開發過程和軟件綜合過程。
軟件的開發過程包括軟件需求過程、設計過程、編碼過程和集成過程,軟件綜合過程則包括軟件驗證過程、軟件配置過程、軟件質量保證過程和審定聯絡過程。
表3將基于GJB5000A二級建立的軟件體系中典型軟件生命周期模型與DO-178C要求的軟件生命周期模型進行對比,不難發現,絕大部分工作是重合的,差別較大的主要集中在軟件測試過程。
基于GJB5000A二級建立的軟件體系,軟件測試工作一般依據GJB/Z141《軍用軟件測試指南》,大而DO-178C強調軟件驗證不是簡單的測試,而是評審、分析和測試相互結合。DO-178C對軟件測試要求具體詳細,如D0-178C對不同級別軟件提出語句覆蓋、判定覆蓋、MCDC覆蓋要求,同時明確軟件測試層級【s】:基于需求的低層測試、基于需求的集成測試、基于需求的軟/硬件測試,并特別注明“如果基于需求的軟/硬件測試能夠滿足基于需求的覆蓋和結構覆蓋要求,則不必進行低層測試”。對于承擔機載軟件研制單位,D0-178C中詳細的軟件測試要求可以指導單位軟件測試標準的制定,通過制度化融入到軟件體系中。
3.3軟件生命周期數據對比分析
軍用軟件生命周期中產生的數據主要依據GJB438B《軍用軟件開發文檔通用要求》,但可以根據項目對文檔靈活剪裁。D0-178C則嚴格規定適航審查時所需要的軟件生命周期數據。由表4可見,軍用軟件體系所要求的大部分生命周期數據包含D0-178C所要求的生命周期數據,此外,D0-178C對軟件需求標準、軟件設計標準和軟件編碼標準的要求可以加入到現有的軟件體系中,促進組織的軟件過程改進。
《GJB5000A與DO-178B_C的綜合應用研究》
摘要:
針對軟件研制單位目前存在的型號軟件研制必須同時滿足GJB5000A與適航軟件研制標準的要求,通過對GJB5000A與DO-178B/C的對比分析,提出一種將GJB5000A與DO-178B/C相互融合的方法,并對方法實際工程實踐時應注意的問題進行了說明。
引言
近些年來,我國軍機研制正處于由三代向新一代快速過渡發展階段,武器裝備處于更新換代的關鍵時期,嵌入式軟件的應用需求日趨增多,軟件的規模、應用范圍、功能和性能都呈指數級增長,軟件逐步成為武器裝備的靈魂與核心。“軍工產品,質量第一”始終是武器裝備研制的指導思想,大量事例說明,軟件已逐步成為制約裝備質量與可靠性的瓶頸。
為保證軟件質量,各級機關和型號均展開了深入探索。如在某些型號軟件研制過程中,通過采用“借鑒思想、引入方法而”的指導思想,將適航軟件標準D0-
178C《機載系統和設備合格審定中的軟件考慮》引入型號研制,取得突出成果。近幾年,GJB5000A《軍用軟件研制能力成熟度模型》也在武器裝備研制一線全面推廣,通過GJB5000A標準認證逐步成為承擔武器裝備軟件研制必備的入口條件。推進軍機軟件適航及GJB5000A成為解決機載軟件研制面臨問題的主流思想。
對機載軟件研制單位而言,一方面為承擔軟件研制任務而全面提升軟件研制能力,必須推行GJB5000A;另一方面,所產生的軟件必須通過軍用適航符合性審查,因此軟件研制必須同時滿足兩個標準的要求。為降低管理成本,建立一套同時符合兩個標準的研制體系是一條必由之路。在工程實踐中,研制單位始終面臨以下問題:第一,GJB5000A究競能否成為DO-178B/C的替代方法;第二,如何在GJB5000A的基礎上推進適航;第三,如何解決DO-178C中提出的新一代軟件研制技術的應用。
1 GJB5000A與D0-178B/C對比分析
GJB5000A源自SEI于2006年8月發布的能力成熟度模型集成(CMMI)1.2版,采用分級表示法,按預先確定的過程域集來定義組織的改進路徑并用成熟度等級進行表示,將組織的軟件研制能力成熟度分為5個等級,包含22個過程域,如圖1所示。
DO-178C標準面向機載軟件的適航問題,在DO-178B的基礎上,針對22年以來機載軟件研制的技術和管理變化,增加了模型開發、工具鑒定、面向對象方法等技術,其核心思想是開發保證等級(DAL),通過對軟件開發需達到目標的考核,證明系統對軟件的功能分配與軟件需求、軟件實現高度一致,保證不可接受的失效已被消除,即“軟件能夠可靠地完成設計者所期望的工作”。根據軟件失效對飛機安全性的影響程度,將軟件劃分為A~E五個等級,A級最高(導致災難性事故,如發動機控制器軟件),E級最低(對安全沒有影響,如乘客娛樂系統軟件)。對A級軟件提出了應實現71個目標。
美國聯邦航空管理局(FAA)進行過D0-178B/C與CMMI的對比分析,產生的結果如下:
1)D0-178B/C更關注軟件策劃過程,包括工程策劃和管理策劃;
2)D0-178B/C更關注軟件標準,包括軟件需求標準、設計標準及編碼標準;
3)D0-178B/C更關注過程需達到的日標2,而CMMI關注過程的改進;
4)D0-178B/C更關注軟件在目標機的集成情況,軟/硬件集成測試是D0-178B/C強制要求;
5)D0-178B/C為保證設備安全性而采用了分區保護機制、多版本非相似軟件等措施,而CMMI對安全關鍵軟件與非安全關鍵軟件的研制無明確區分;
6)CMMI在測試過程域中不強調正常范圍與魯棒性測試用例,而DO-178B/C中正常范圍與魯棒性測試用例是測試用例編制的依據;
7)語句覆蓋、判定覆蓋、MC/DC覆蓋是DO-178/C對不同級別軟件提出的覆蓋率要求,而CMMI對此無要求:
8)CMMI無軟件合格審定的概念,也無相關審定文檔要求;
9)DO-178/C配置管理為實現嚴格管理與管理成本的均衡,而采用CC1和CC2類管理,及對不同的文檔及不同的軟件級別,可靈活采用配置管理方法,而CMMI無此考慮;
10)CMMI無顯式轉段準則要求。
通過對比,FAA認為,D0-178/C面向的是特定產品上駐留的安全關鍵軟件,按照軟件關鍵程度劃分軟件應達到的目標;而CMMI面向通用的工程方法、項目管理及過程改進,通過過程域劃分及對各過程域工程實踐的考察,表明軟件研制單位具有的能力水平。因此CMMI不能成為D0-178/C的替代實踐,但存在一定共性,可進行相互融合。
2在適航項目中推進GJB5000A的方法
在美國某些FAA委任工程代表(DER)認為,實施D0-178/C標準的基礎是CMMI2級或3級。因此,首先必須明確推進適航軟件研制的基礎是GJB5000A2級及2級以上單位。
通過對標準的研究及大量工程實踐的總結,建立一套同時滿足軍用適航及GJB5000A要求的體系文件的方法需要經過5個步驟,過程模型如圖3。
5個步驟實施的關鍵包括:
1)對現有過程的評估。如果軟件研制單位存在已定義的軟件過程,首先需要對現有過程進行檢查,標識其與D0-178B/C標準的差距,需考慮:
a)對指定的軟件開發保證等級,現有過程產生結果與D0-178B/C目標要求是否存在差距; b)現有過程在不同項目或產品線之間是否一致; c)項目過程是否經過GJB5000A內部評估; d)項目過程是否經過GJB5000A現場評估; e)項目能力成熟度要求是否滿足客戶要求。
如果以上任何問題未滿足,那么需要對過程進行修訂,在修訂時,需同時考慮D0-178/C和GJB5000A的要求。
2)建立GJB5000A和D0-178/C的映射關系。從D0-178/C開始,將每一個目標映射至GJB5000A的過程及輸出,由此,可得到已滿足D0-178C目標的過程及產品及存在的偏離。此映射分析的執行由公司選定的專家隊伍執行,或聘請外部專家執行,專家隊伍應至少包含GJB5000A及D0-178/C領域的專家。
3)尋求合格審定機構的介入。如果試圖引入GB5000A,那么在過程建立初期就最好尋求軟件合格審定機構的介入并認可,以確保建立的過程滿足適航規章的要求。近些年來,隨著航空電子系統的發展,軟件開發方法不斷推陳出新,軟件研制單位經常是直到合格審定執行前,才與合格審定機構協商軟件開發方法,因而軟件合格審定容易遭到否決。軟件研制過程引入GJB5000A是研制單位與合格審定方協商的結果劇,過程提供的證據如果不足以支撐過程需達到的目標,那么過程便無效,盡早協商,可降低過程的風險。
4)尋求產品線之間的一致性。許多軟件研制單位在某些特定工程領域軟件研制能力極強,如自動駕駛儀、飛控等,而在其他產品線,如綜顯就能力較差,管理混亂。適航項目最好保證不同產品線之間過程的一致性,當使用新技術、新過程時,應召集各生產線人員協商解決,這樣可以保證人員在不同生產線之間的流動性,并極大降低合格審定的成本。
5)尋求適航專業力量的幫助。GJB5000A過程的建立,需要與專業的適航軟件人員溝通,保證建立過程的實效。
6)維護及改進過程。GJB5000A過程一旦建立,維護和持續改進是十分重要④,要求軟件開發方按照GJB50O0A的IDEAL模型持續過程改進。否則,一旦發生人員流動或研發技術變更,過程就難以維系。
3新一代軟件研制技術的應用
2012年DO-178C發布時,同時以附件形式發布了以模型開發、形式化驗證、面向對象、工具鑒定等為代表的新一代軟件研制技術。推進GJB5000A與適航軟件研制的融合,必須解決如何在型號軟件研制中運用這些技術。以模型開發為例,模型開發的主要特征是:第一,通過圖形化需求,消除需求二意性,解決需求傳遞的脆弱性問題;第二,通過早期仿真解決需求問題,縮短開發周期,減少軟件的缺陷和錯誤;第三,通過自動代碼生成,解決編碼問題,提高開發效率。將模型開發同型號軟件研制相結合的方法如圖4所示。
4結束語
隨著型號質量要求的不斷提高,GJB9001B、GJB5000A、適航標準、型號規范等的實施,軍用型號研制的工程化水平與管理水平得到了極大的提升。但同時,由于型號研制工程化體系不統一,也確實造成研制單位必須同時需要滿足眾多型號不同的工程化要求而疲于奔命的情況。GJB5000A發展的主題是本地化、實效化,促進體系融合,建立一套符合單位實情、滿足軍方要求的統一的工程化體系,以統一的流程和產品滿足眾多型號的質量要求,可有效地解放生產力,提高研發效率。
本文提出的將GJB500A與DO-178B/C標準相互融合的方法在型號研制一線進行了應用,取得了一些初步成效,目前仍在持續改進,具有一定的推廣價值。
《GJB5000A與DO-178B的結合實施方案》
摘要:在機載軟件研制過程中將GJB5000A與D0-178B進行結合實施對提高軟件安全性和可靠性有著重要意義。首先對CJB5000A和D0-178B進行了介紹,然后將D0-178B中的所有目標逐條與GJB5000A進行對比,并給出了對比結果。結果表明D0-178B中沒有與GJB5000A相沖突的目標,因此二者完全可以在軟件研制過程中進行結合實施。最后,基于對標準特,點的分析,給出了GJB5000A與D0-178B結合實施的方案。
0引言
GJB5000A《軍用軟件研制能力成熟度模型》是由中國人民解放軍總裝備部批準發布的標準。該標準定義了軍用軟件研制能力成熟度的模型,并規定了軟件研制和維護活動中的主要軟件管理過程和工程過程的實踐。很多軍工企業都在著手建立和實施CJB5000A過程體系,因為這不僅能提高企業自身的軟件研制能力,滿足自身發展需要,而且是企業獲取某些軍用軟件研制合同的必備資質條件。為此,國內已有許多相關單位的研究人員對CJB5000A標準的內容和實施方法進行了研究3-71
DO-178B《機載系統和設備合格審定中的軟件考慮》是由美國航空無線電技術委員會(RadioTechnicalCommissionfor Aeronautics,RTCA)于1992年正式發布的標準,是一套民用航空機載軟件研制和審定的指南*-10.隨著我國航空工業DO-178B主要用于民用航空機載軟件的適航認證,但是為了提高軍用飛機機載軟件的安全性,在軍用飛機機載軟件的研國家的軍用項目也逐漸開始走DO-178B路線。與民機不同的是,軍機不需要做嚴格意義上的適航認證,一般是根據DO178B標準做一個符合性審查。
的符合性審查。此時,企業將面臨需要將GJB5000A與D0-
178B結合起來實施的問題。Kong等16】將GJB5000A和D0-
178B進行了對比,并通過舉例說明了二者在軟件過程控制中的綜合方式。但是,Kog等僅從過程(域)的層面對兩個標準進行了對比,沒有給出一個具體的結合實施方案。本文將從更具體、更本質的目標層面對CJB5000A和D0-178B進行對比分析,并在此基礎上給出兩個標準的結合實施方案。
1CJB5000A標準
GJB5000A將組織的軟件研制能力成熟度由低到高分為五個等級,分別是初始級、已管理級、已定義級、已定量管理級和優化級!。除初始級之外,每個成熟度等級都包括若千個過程域(ProcessArea)。其中:
1)已管理級包括:配置管理、測量與分析、項目監控、項目策劃、過程和產品質量保證、需求管理、供方協議管理;
2)已定義級包括:決策分析和決定、集成項目管理、組織過程定義、組織過程焦點、組織培訓、產品集成、需求開發、風險管理、技術解決方案、確認、驗證;
3)已定量管理級包括:組織過程績效、定量項目管理;
4)優化級包括:原因分析和決定、組織創新和部署。
GJB5000A對初始級組織的軟件研制過程無任何要求。組織要達到除初始級之外的某個成熟度等級,除了需要實施該成熟度等級包含的過程域之外,還需實施比該成熟度等級低的所有等級所包含的過程域。每個過程域包含若干專用目標和公用日標,當一個過程域包含的所有目標均被實現時,則認為該過程域已被實現。為了對目標的實現進行指導,GJB5000A還為每個專用目標制定了若干專用實踐,為每個公用目標制定了若干公用實踐。為了達到某個目標,組織必須執行該目標包含的實踐或者可接受的替代實踐
CJB5000A中只有專用目標和公用目標是必需的部件。在評估中,滿足目標是確定過程域是否已實現且已滿足的基礎。對于軟件企業而言,可以參考GJB5000A標準中給出的專用實踐和公用實踐,并結合企業自身的實際情況,制定出滿足GJB5000A中各過程域目標的軟件過程體系。
2DO-178B標準
DO-178B標準將軟件研制活動劃分為軟件計劃過程、軟件開發過程(包括軟件需求過程、軟件設計過程、軟件編碼過程和集成過程)和軟件綜合過程(包括軟件驗證過程、軟件配置管理過程、軟件質量保證過程和審定聯絡過程)。為了保證標準的相對穩定性,DO-178B標準采用面向自標的策略。針對每個過程,DO-178B都給出了實施該過程時應該達到的目標。標準中盡可能不涉及特定的技術或手段,這是因為目標可以是相對穩定的,而具體的技術或手段則可能隨著軟件技術的發展而變得不再適用。
一個項目的軟件研制過程是否滿足DO-178B中的目標,需要通過軟件研制過程中的各種輸出來進行證明,這些輸出稱為軟件生存周期數據。按照配置管理控制要求,可將軟件生存周期數據分為以下兩類:控制類1(ControlCategory1,周期數據進行配置管理時,屬于CC1的軟件生存周期數據必須滿足DO-178B中的軟件配置管理過程的所有目標,而屬于CC2的軟件生存周期數據則只需要滿足部分目標。
DO-178B標準將航空器的失效狀態分為災難性的、嚴重的、較重的、較輕的和無影響的五類。按照可能引起航空器的失效狀態,DO-178B將機載軟件劃分為A、B、C、D、E五個等級,分別對應上述五類失效狀態。DO-178B標準中共規定了66個目標,在研制過程中,機載軟件根據其軟件等級來確定需要滿足的目標、目標的獨立性要求以及相關數據的控制類別,詳細說明可參見DO-178B的附件A中的表A-1到A-1091.
3GJB5000A與D0-178B對比分析
3.1對比說明對于適航認證而言,只要軟件研制過程的輸出(即軟件生存周期數據)能夠證明D0-178B中的相關目標己被滿足,則認為該軟件產品能夠滿足適航認證的要求。至于滿足目標所用的具體方法或技術,D0-178B則不作要求。鑒于此,本文將把D0-178B中的66個目標逐條與GJB5000A的相關內容進行對比。對比結果采用表格的形式描述,對于D0-178B中的每個目標,在表格中給出GJB5000A中與之對應的過程域、專用/共用目標、專用/共用實踐和典型工作產品,如果GJB5000A中不存在與之直接對應的相關內容,則注明“不直接對應”。
3.2對比結果限于篇幅,這里只給出部分對比結果,見表1~表3。
3.3對比結果分析
通過對比結果(含未給出的部分)可以看出:
1)DO-178B中,除了審定聯絡過程,其余過程的大部分目標都能在CJB5000A中找出與之對應的過程域(包括專用共用自標、專用/共用實踐)。
2)DO-178B中審定聯絡過程的三項目標完全是為了滿足軟件合格審定機構的審查要求而提出的,因此CJB5000A中沒有與之對應的目標和實踐,需要新增相關內容。
3)DO-178B中沒有與GJB5000A相沖突的目標,這給二者的結合實施帶來可能。
4GIB5000A與DO-178B結合實施方案
基于對標準的分析可以看出,DO-178B以系統安全性評估為依據,著重從適航的角度,描述航空機載軟件研制過程應該遵循的原則、方法和具體要求,這些要求在某些方面如驗證過程表現得更嚴格、細致。而GJB5000A著眼于通過規范軟件開發過程來提高組織的軟件研制能力,針對的是所有軍用軟件研制過程,具有很強的靈活性和適應性。GJB5000A是一個框架和行動指南,能容納很多特定領域標準的具體要求,包括DO-178B。對于已經按照GJB5000A建立組織軟件過程改進體系的單位,如要兼容DO-178B,只需將DO-178B中一些特定、細致的要求補充進本組織軟件過程改進體系,而不需要另起爐灶。
一般而言,組織的GJB5000A軟件過程改進體系通常包括三個層次的文件:第一層為過程方針或總則,闡述過程改進方針,是進行軟件過程改進的基本法規。第二層為過程文件,是對某一過程涉及的所有活動以及活動之間的依賴關系和次序的綜合描述。第三層為指導性文件、模板及檢查表:指導性文件是對某一具體作業任務的操作要求和步驟進行詳細描述的文件,如規程、指南與方法等;模板是開展各活動時需使用的文檔或表格的格式;檢查表用于檢查過程及工作產品的符合性,如過程檢查表、工作產品檢查表及評審要素檢查表等。
假定企業已經按照GJB5000A建立了軟件過程改進體系,為兼容D0-178B,重點需要對組織軟件過程改進體系中第三層文件進行修改和補充,主要包括以下方面:
1)在關于項目策劃方面的過程文件中增加如下要求:需對軟件和系統進行安全性評估,并確定軟件安全性等級。相應地在指導性文件中增加一份指南文件專門闡述如何對軟件進行安全性評估,以及如何確定軟件的安全性等級,同時制定相應的模板文件。
2)在關于項目策劃方面的過程文件中增加如下要求:與軟件開發計劃同步制定軟件合格審定計劃;在項目開發開始之前制定軟件需求標準、設計標準及編碼標準等開發標準。
與此相應的,在指導性文件中給出如何制定軟件合格審定計劃的指南,同時配以相應的模板文件,制定組織的軟件需求標準、設計標準及編碼標準指南,以供項目團隊選用。
3)依據D0-178B軟件驗證過程各項目標要求,對工作產品檢查表和評審要素檢查表進行補充修改,如增加與目標機兼容、可執行目標代碼的健壯性等要求;同時在指導性文件中修改或補充對測試和驗證的詳細要求,如測試覆蓋(語句覆蓋、分支覆蓋、MC/DC覆蓋)、對可執行目標代碼的驗證等,以指導測試和驗證活動的開展。
4)在關于配置管理的過程文件中,增加描述基線和配置項追蹤關系管理要求;在指導性文件中補充對軟件加載過程控制和軟件工具的配置管理要求,同時配以相應的軟件配置管理計劃文檔模板。
5)依據D0-178B審定聯絡過程各項目標要求,在指導性
文件中增加關于審定聯絡的規程文件,在提供符合性證明時,規定應同時提交所用軟件工具的符合性證明材料,即進行所謂的工具鑒定。
6)在指導性文件中增加一份裁剪指南,內容包括:依據軟件類別(航空機載軟件)、軟件安全性等級(AVB/C/D/E)對相關活動進行裁剪,同時明確相關活動的獨立性要求。
5結語
GJB5000A標準可用于改進和評估軍工企業軟件研制能力,而D0-178B標準則為民用航空機載軟件的研制和審定提供了指南。當企業承擔軍用飛機機載軟件的研制任務時,軍方用戶可能要求企業將上述兩個標準結合實施。本文首先介紹了GJB5000A和D0-178B標準,然后對兩個標準進行了對比分析。對比結果表明:D0-178B中,除了審定聯絡過程,其余過程的大部分自標都能在GJB5000A中找出與之對應的過程域(包括專用/共用目標、專用/共用實踐),而且D0-178B中沒有與GJB5000A相沖突的目標,因此完全可以在軟件研制過程中將二者結合實施。最后,本文給出了GJB5000A和D0-178B結合實施的方案,該方案能夠用于指導相關企業建立同時實施GJB5000A和D0-178B的軟件過程改進體系。
《對比DO-178C與GJB5000A淺析軟件適航關注點》
摘要:深刻理解DO-178C和GB5000A標準對于提升機載軟件開發能力具有重要意義。從軟件生命周期、標準分級模式分析兩者的共同點;從標準實現的目標、著眼點,對軟件生命周期各過程的要求分析兩者的不同,點。根據對比,從軟件計劃階段、需求階段、測試階段、配置管理過程等分析軟件適航關注點,并給出總結,為軟件適航提供一些參考。
一、DO-178C標準簡介
DO-178C《機載系統和設備合格審查中軟件方面的考慮》是美國航空無線電技術委員會為支持含有數字計算機的機載系統和設備的研制工作而提出的、在航空機載軟件研制過程中推薦遵循的準則。DO-178C標準是在DO-178B的基礎上修訂的,并于2011年正式發布。可供機載系統和設備(含軟件)供應商使用,也可供合格審查機構審查使用。
目前,DO-178B/C標準是國際民用航空行業內及局方遵循的標準。一架民用飛機如果沒有通過“民航標準體系”的適航認證,是不可以飛行的。當然,該標準對于軍用飛機同樣也有重要意義。局方對航空機載軟件進行適航審查時主要依據此標準開展,因此研制單位在軟件研制過程中應充分遵循該標準進行研制活動。由此可見DO-178B/C標準在航空機載軟件研制過程中的重要性。
二、GJB5000A標準簡介
GJB5000A-2008《軍用軟件研制能力成熟度模型》CCapability Maturity Model for Military Software Development)由總裝電子信息基礎部提出,多部門、院校合作起草,并于2008年6月1日起正式實施。標準規定了軍用軟件研制能力成熟度的模型,并規定了軟件研制和維護活動中的主要軟件管理過程和工程過程的實踐,適用于對組織的軟件研制能力進行評價,也適用于組織本身對軟件過程進行評估和改進。
GJB5000A是一個產品開發模型,它關注整個組織體系車用軟件研制能力的問題,也是一個組織過程改進的參考模型,描述的是一組有效過程的特征,并提供了一套最佳實踐方法,通過項目實踐積累軟件研制過程經驗,不斷改進組織的軟件研制過程;它更加關注的是對組織生產率的影響、產品性能的提高、項目成本的節約、相關方滿意度的提高等等。
三、兩者共同點分析
GJB5000A和DO-178C一樣,都是軟件保證標準,并目都覆蓋了整個軟件生命周期,因此能夠直接用于指導軟件的研制,以及軟件產品的評估與重審。
兩個標準均采用了一種基于分級模式的遞增式劃分。
DO-178C以適航性要求為出發點,強調軟件的安全性,以目標的遞增為特點,直接對軟件級別進行劃分;在滿足某一級別所有目標的前提下,才能考慮采用更高級別的目標對軟件進行評估。
GJB5000A則采用CMMI階段表示方法,將組織的軟件研發能力劃分為五個成熟度等級,每一級都是基于前一級別的改進,級別間的遞增顯示出軟件開發組織逐步發展、完善的過程。
四、兩者不同點分析但是,兩個標準的基本著眼點是有所差異的。
D0-178C作為廣泛適用各種類型與安全性相關的機載軟件產品研制指南,著重規定不同級別軟件需要實現的“目標”,而并不約束實現目標的方式。這與適航審定實踐中,局方通常規定型號或產品的“審定基礎”而不限制滿足這些“審定基礎”的“符合性方法”非常類似。
而GJB5000A除了關注軟件開發過程,還在軟件組織、管理和精化方面做出了相應的規定。從普適性的角度來看, GJB5000A相較于D0-178C其適用范圍要廣泛的多,可用于各類型系統的軟件開發、評估和改進,還可用于評估開發者自身的軟件研發能力。
GJB5000A的普適性也決定了它對細節的說明和要求不會太過具體、明確。D0-178C在細節方面則顯得更加“專業”,更加具體明確,主要表現如下:
D0-178C要求安全性相關的需求作為系統需求的一部分,輸入軟件生命周期過程;
DO-178C在規定各過程目標和活動時,要求結合目標計算機的情況,而GJB5000A并無類似說法;
GJB5000A沒有明確提及軟件生命周期中各過程間的轉換準則;
在軟件計劃階段,DO-178C對于需求和標準的定義更為明確和具體;
在軟件需求階段,DO-178C規定,對于軟件中有關系統功能和接口要求存在含糊不清、矛盾或未定義的情況,必須予以分析:而GJB5000A中僅要求標記出需求、計劃、產品三者間的含糊不清、矛盾或未定義的地方,并未要求做任何處理;
在測試階段,DO-178C對于具體的軟件需求,給出了相應的常規和魯棒性測試說明,并且對于不同級別的軟件,規定了不同的測試覆蓋率,如語句覆蓋、判定覆蓋等:GJB5000A對應部分的說明較為概括和籠統,沒有涉及具體的方法名稱;
在配置管理過程中,DO-178C提出數據控制類型的概念并將軟件生命周期數據劃分為兩種控制類型,在GJB5000A中沒有類似內容;
在配置管理過程中,DO-178C提出了對于規定數據的更新和非授權變更的保護問題,GJB5000A沒有類似的內容;
GJB5000A沒有涉及審定聯絡過程的內容。
五、結束語
機載軟件系統是機載計算機的大腦,它的適航審定是一個復雜的問題,是綜合性的、難度較大的工程乃至研究課題DO-178C是為機載軟件的符合性證明和審定活動提供指導的一套標準,其目的是指導航空機載軟件研制,并確保航空機載軟件不僅滿足飛機和機載系統對其功能和性能的要求,還要具備其航空器預期的運行環境和條件下所要求的安全水平。本文希望對DO-178C標準的理解提供有益的參考。H
《航空機載軟件適航性審定標準DO-178C與軟件管理標準GJB5000A的比較分析》
摘要
航空機載軟件適航性審定是驗證軟件安全性是否滿足飛行要求的重要手段,審定依據的標準D0-178C是航空企業軟件設計必須遵循的規范要求,但在軟件管理領域,還存在著重要的能力成熟度集成模型標準GJB5000A。比較分析了D0-178C與GJB5000A的異同,得出機載軟件適航性審定在對軟件開發過程的管理方面存在不足,提出需要加強企業在項目監控、過程測量與分析和風險管理方面的要求,并按照D0-178C標準的形式要求,給出了參考的改進方案。
自20世紀60年代爆發“軟件危機”以來,人們在不斷尋找著能夠解決軟件危機的“銀彈”。1968年,“軟件工程”概念的提出是軟件開發史上一次大的飛躍,使軟件開發開始了從“藝術”“技巧”和“個國轉。工回建,。副工,。馬y程。在軟件工程的發展歷程中,國際航空無線電技術委員會(RadioTechnicalCommissionforAero-nautics,RTCA)的DO-178C標準占有非常重要的地位,該標準稱作“機載系統和設備合格審定中的軟件考慮”。為了規范機載軟件研制過程中的安全性設計與驗證過程,1982年,美國航空無線電委員會(RTCA)組織了SC-145特殊委員會,即“數字航空軟件”委員會,開發和編制了一個面向民航領域的軟件研制與驗證的標準,即DO-178標準P,并分別于1985年、1992年和2011年對該標準進行了修訂,目前中國廣泛采用的是1992年頒布的DO-178C版本,而2011年發布的最新版DO-178C°除了繼承DO-178B的核心內容外,還增加了基于模型的開發和驗證、面向對象編程和形式化方法的支持,是對軟件開發技術發展的與時俱進的適應性改進。
D0-178C標準借鑒了制造業中通過控制和改進工藝流程來提高產品質量的思想,通過規范的開發過程來提高軟件開發的質量,通過對過程目標的驗證來檢驗軟件的質量。這與產生于同一時期的另一個系統設計領域的標準CMMI有異曲同工之處。CMMI標準最早產生于軟件領域,稱作SW-
CMM(software capability maturity model)標準,即軟件能力成熟度模型,最早在1987年由美國軟件工程研究所(SEI)提出,隨著SW-CMM的成功,在其他領域也相繼推出了類似的模型,如系統工程能力成熟度模型(SE-CMM)、集成產品和過程開發能力成熟度模型(IPPD-CMM)和人員能力成熟度模型
(P-CMM)等。SEI整合了SW-CMM、IPPD-CMM與SE-CMM,開發出了集成能力成熟度模型CMMI4,應用于整個系統的設計,不僅適用于軟件,目前已發展到1.3版本。為提升中國軍用軟件的研發質量,在CMMI1.2版本的基礎上,結合中國軍用軟件研制過程特點,中國發布了GJB5000A《軍用軟件能力成熟度模型》標準,用于規范軍用軟件承研單位的軟件研制過程。
DO-178C標準與CMMI標準在規范軟件研制過程、提高軟件研制質量方面都發揮了重要作用。二者具有一致的核心思想,但又各有特色。其中DO-178C標準主要面向民用機載軟件領域,側重于軟件安全性設計與驗證,因此它在驗證和確認方面有詳細的嚴格的要求。另外DO-178C也并不是一個孤立的標準,它是一個標準族,與ARP4754、ARP4761、DO-254一起構成了現代航空機載系統(特別是高度綜合和復雜系統)安全性設計與評估的一組指導材料。而GJB5000A標準是面向所有軟件領域的通用標準,它適合所有類型的軟件開發組織的軟件研制過程。GJB5000A最根本上是一個過程改進模型,致力于促進組織的軟件研制過程的能力不斷提升。組織建立自身的質量管理體系文件趨向于綜合不同標準間形成“onebook”,因此關于不同質量標準之間的比較分析也是質量管理領域的研究方向”1.通過對2個適航審定標準的要點進行對比,分析各自的適用范圍和優缺點,以期對機載軟件審定過程提出完善建議,并按照DO-178C標準中審定要求的形式給出修改的參考方案,實現DO-178C和CJB5000A的融合。軟件的質量既是設計出來的,也是管理出來的。鑒于此,本文提出機載軟件審定過程的修改建議,給出參考的修改方案,體現DO-178C與GJB5000A的融合。
1DO-178C與GJB5000A要點分析
1.1DO-178C標準要點
DO-178C標準規范了軟件開發生命周期模型,為軟件工程中經典的澡布模型,即將開發過程分為軟件需求過程、軟件設計過程、軟件編碼過程、軟件集成過程和軟件驗證過程。并提出了每個過程需要達成的目標,共66項。該標準按照軟件失效影響的嚴重程度,將軟件分為致命(A)、危險(B)重要(C)一般(D)和無影響(E)5個等級,軟件等級從低到高,對于過程目標有增量的要求,其中A級軟件需達成完整的66項目標。在審定時,對于目標的驗證要求又分為一般驗證與獨立驗證,其中獨立驗證是指不由被審方自己提供證據,而由審核方獨立進行驗證。基于上述特點,DO-1780的審核要求就構成了以不同軟件等級、不同過程目標和不同驗證要求組成的矩陣表。
D0-178C是一個側重于軟件安全性設計與驗證的標準。一方面,本標準的上一級指導為ARP4761標準,全稱為《民用機載系統和設備安全性評估過程的指南和方法》,用于指導系統安全性分析的指導,分析的結果將分配到軟件的安全性要求中,作為軟件安全性需求的來源;另一方面,在本標準軟件需求過程的目標要求中,也是側重系統向軟件分配的安全性需求的追蹤與落實。特別是標準的6.4在軟件測試過程中要求對代碼結構的覆蓋分析,不僅是對軟件代碼本身,還需要對軟件代碼編譯后形成的目標代碼進行結構覆蓋分析。這是一項特別底層、特別基礎的工作,對編程語言和編譯環境有非常嚴格的要求,一些高級編程語言在編譯目標碼時會引入很多外部庫文件內容,會給目標代碼的結構覆蓋分析帶來很大的技術難題,因此一般不建議使用。
D0-178C標準在軟件管理方面是較弱的,主要由軟件計劃過程、軟件配置管理過程和軟件質量保證過程3個過程組成。雖然在軟件質量保證過程的要求描述中提到了對軟件計劃的偏離的記錄與監督,但并未如GJB5000A中要求的那樣,軟件計劃、過程測量和過程監控之間形成過程控制的反饋回路,在標準附件1中的具體審定要求中也未明確提出審核要求。另外對于項目執行過程中的風險管理D0-178C標準也未提及。以上幾,點分析顯示出D0-178C在軟件過程管理方面存在重視不夠的問題。作為航空機載軟件的適航性審定來說,除了目的導向,確保軟件安全性之外,也應該通過審定過程,查找被審單位的軟件開發過程管理是否規范,是否能對軟件安全性有持續性的保障。
1.2GJB5000A標準要點
GJB5000A標準其實質是一個軟件開發過程改進模型,致力于軟件開發組織的過程改進。它把軟件開發組織的軟件開發能力分為5個等級:初始級、已管理級、已定義級、已定量管理級和優化級,并為軟件開發組織提供了一個不斷提高自身管理水平,提升組織能力成熟度層級的路線圖。首先,在已管理級,通過建立基本的軟件過程管理反饋循環來提升組織對軟件開發過程的控制能力,如圖1所示。通過項目策劃、測量分析與項目監控3個過程域,構建一個及時的反饋控制閉環,來不斷修正軟件開發過程,通過過程控制來提高軟件開發質量。然后,在已定義級通過規范軟件工程過程,加入了需求開發、技術解決方案、產品集成、驗證與確認等工程過程域構建了軟件開發組織完整的軟件開發與管理過程。同時已定義級也增加了組織級過程域,包括組織過程焦點與組織過程定義,配合過程改進組(EPC)來開展組織過程改進活動。在已定量管理級通過定量項日管理與組織過程性能2個過程域,強調全面的定量化管理,以支持組織過程改進,以致到優化級建立完善的組織內部過程改進機制,不斷發動提升組織過程達到優化能力等級。GJB5000A標準的核心思想體現為2點,一是通過規范的過程來提升產品質量,二是通過組織內部不斷的過程改進行為來提升過程的質量。這2點都體現了過程管理的重要性,產品質量是設計出來的,同時也是管理出來的。
2DO-178C與GJB5000A的比較
對GJB5000A的分析可知,達到GJB5000A已定義級便構建好了組織內完整的軟件設計與管理流程,已定量管理級和優化級主要用于組織內過程管理能力提升。因此將DO-178C標準的條款要求與GJB5000A已定義級要求中與軟件研制相關的工程與管理過程域要求進行了比較,結果如表1所示。
通過比較分析可得,DO-178C是一個以確保軟件安全性為目標的軟件設計標準,側重于軟件安全性需求的追蹤與驗證,但與GJB5000A相比,在軟件開發過程管理上存在較大不足,該標準只涉及軟件開發計劃一個管理活動,而計劃中也未涉及風險管理計劃與利益相關方參與計劃等影響軟件開發過程的重要活動計劃。對于軟件研制過程與軟件計劃之間的符合性監控,標準中雖有提及,但在附錄A的審查要求中并未強調,可以認為,相較于GJB5000A,DO-178C在過程管理上重視不夠。而只有讓軟件開發組織在軟件研制能力上提升了,才能從根本上確保軟件的質量與安全性,因此有必要在現有DO-178C中關于審定要求的基礎上,增加對被審單位軟件管理活動的審核,確保被審單位不僅有合格的產品,還有合格的管理過程。為此,對現有機載軟件適航性審定要求提出改進建議。
3對軟件適航性審定要求的改進建議
針對D0-178C標準缺少對項目監控、測量與分析以及風險管理過程域內容的要求,在軟件計劃過程的檢查項中增加相關內容(表2)。在軟件質量保障檢查項中增加對項目監控、項目測量與分析
及項目風險管理的內容(表3),以確保被審定組織的軟件設計與管理過程的規范性。通過增加測量分析過程(MA)與項目監控過程(PMC)的計劃和執行檢查,構建由項目計劃、測量與分析及項目監控形成的管理反饋閉環(圖1),同時將項目管理中必要的風險管理引入,以提升組織的項目管理能力。
4結論
分析了軟件質量管理領域重要的2個標準:DO-178C與GJB5000A的特點,并通過對二者要求的對比分析,指出了DO-178C標準在軟件開發過程管理上存在的不足之處,包括缺少由項目計劃、項目測量與分析以及項目監控過程構建的管理反饋閉環,缺少風險管理過程。為使軟件適航性審定工作既能達到授人魚又能達到授人以漁的日的,提出了改進方案,在軟件計劃過程與軟件質量保證過程審核條款中增加相應內容。為航空企業基于DO-178C編制的質量管理文件的改進提供了參考。
《滿足GJB5000A認證和DO-178C要求的航空軟件研制體系建設》
【摘要】
文章比較GJB5000A和DO-178C的特點后,提出了在GJB5000A軟件研制體系基礎上融入DO-178C的特定要求的實施方案,提取了基于GJB5000A的典型軟件研制文件體系,將其與DO-178C生命周期數據進行映射,得到在軟件研制體系中融入DO-178C需采取的措施,提供了滿足GJB5000A認證和DO-178C要求的航空軟件研制體系建設參考案例。
0引言航空軟件具有高復雜性、高可靠性、高安全性的特點和需求。隨著現代化武器裝備日趨復雜,軟件規模越來越大,軟件在飛機系統中的應用越來越廣泛,由軟件失效引起的系統故障比重也越來越大。737Max飛機機動增強系統MCAS故障,接連導致了印尼獅航
“10·29”客機墜海事故和埃塞俄比亞航空302航班墜機,共造成500余人死亡12。
為了提高軟件研制的安全性、可靠性、穩定性和效率,必須建立符合相關要求的軟件工程化研制文件體系和基本的應用流程,以實現對人員素質、組織管理、開發過程、技術保障等影響軟件質量的要素的管控。目前,航空軍工企業的軟件體系主要依據標準為CMMI,對應的國內標準為GJB5000A《軍用軟件能力成熟度模型》,而民用航空軟件商為滿足適航要求,其軟件研制通常需要符合D0-178C《機載系統和設備合格審定中的軟件考慮》。從管理成本和企業競爭力考慮,應建立一套同時符合兩個標準的軟件研制體系。
GJB5000A是從過程的視角描述組織的開發能力的模型,是通過實施改進過程以實現質量改進的過程改進模型,共4類22個過程域。某一細分領域內相關實踐得到了有效實施(提供證據),代表在這個領域內組織達到了一定的能力水平。GJB5000A將組織的軟件研制能力成熟度分為5個等級,如表1所示。
1.2DO-178C標準介紹
DO-178系列標準是由美國無線電技術委員會RTCA牽頭研究和發布的,用以支持以軟件為基礎的設備和系統的合格審定。為了滿足機載軟件的迅猛發展,DO-178系列也進行了幾次版本的更新,如表2所示。
1.3GJB5000A與DO-178C的相同點
1.3.1基于軟件過程控制的思想D0-178C和GJB5000A都是基于軟件自身的特點,從過程管控的角度出發,定義并描述了機載軟件的標準化開發過程或階段,就軟件開發過程的具體活動和目標給出了要求和評價標準。
1.3.2研制過程的相似性D0-178C和GJB5000A對過程的劃分以及過程活動和目標的定義均是從軟件工程的角度出發,在需求管理、需求分析、軟件設計、軟件驗證、配置管理、質量保證等方面,兩份標準具有一定的基礎共通性。
1.4GJB5000A與D0-178C的不同點
(1)關注日標和對象:D0-178C關注的對象是具體的特定產品上,需滿足其安全性日標:而GJB5000A面向通用的工程方法、項目管理及過程改進,關注的是軟件組織的能力,而不是單個軟件項目。
(2)應用領域:D0-178C應用領域為機載系統/設備軟件,GJB5000A對應用領域沒有限定。
(3)審查方和適航要求:D0-178C是軟件適航審定過程中的推薦標準:GJB5000A對適航并無要求,是軍方對軍用軟件承制單位提出的要求,在GJB8000中要求承擔不同等級軟件必須具備GJB5000A相應等級的研制能力。
(4)研制保證等級DAL和安全性目標的關注:DO-178C注重研制保證等級DAL的觀念,針對不同的DAL和安全性日標有特定的要求,而GJB5000A無明確區分。
(5)覆蓋率要求:D0-178C對不同級別軟件提出的覆蓋率要求(語句覆蓋、判定覆蓋、MC/DC覆蓋),而GJB5000A未針對軟件測試提出具體目標。
(6)數據分類管理:D0-178C配置管理對不同DAL軟件及不同數據進行了分類管理(CC1和CC2),而GJB5000A未做分類管理。
2建立滿足GJB5000A要求和DO-178C要求的軟件研制體系在未建立基于D0-178C的軟件研制體系的情況下,某個產品滿足D0-178C的適航要求,可能依賴項目團隊,無法代表組織的能力達到特定的成熟度水平。但組織建立基于GJB5000A的軟件研制體系,則代表組織在軟件研制方面具有一定的成熟度能力,根據GJB8000的規定和一些以往的適航案例,可認為組織具備按照D0-178C標準實施相應研制保證等級的基礎和條件。因此,可將組織完成GJB5000A二級或三級認證作為基礎,通過項目中的軟件適航審定工作,在GJB5000A軟件體系中融入D0-178C的新增要求和特殊規定。
2.1基于GJB5000A的軟件研制體系建立
通過GJB5000A認證需建立軟件研制體系文件結構,體系中需遵循相關的軟件標準,常見標準包括:
(1)GJB8000-20133《軍用軟件研制能力等級要求》
(2)GJB/Z141-2004《軍用軟件測試指南》
(3)GJB2786A-2009《軍用軟件開發通用要求》
(4)GJB/Z102A-2012《軍用軟件安全性設計指南》
(5)GJB 438B-2009《軍用軟件開發文檔通用要求》
(6)GJB5235-2004《軍用軟件配置管理》
融合上述標準后建立的軟件研制體系,一定程度上增加了與DO-178的一致性,如對研制保證等級、安全性設計和目標、軟件覆蓋率、軟件研制階段等方面。軟件研制體系需結合自身組織機構特點,以實現對軟件工程化的全過程進行系統的、條理清晰的、易操作的管理和指導,典型的軟件研制體系文件結構如圖2所示
2.2基于GJB5000A的軟件研制體系與DO-178C軟件生存周期數據的映射關系
為了將DO-178C和GJB5000A的具體要求進行顯性化對比,根據DO-178C要求的軟件生存周期,用基于GJB5000A的軟件研制文件體系進行對比,各組織的體系文件不同可能存在一些差異,典型映射關系如表3.由表3可以看出,DO-178C所要求的軟件生存周期數據,除《軟件合格審定計劃》《軟件完結綜述》外,其他數據,GJB5000A大體上可作出對應。
2.3將DO-178C融入軟件研制體系
表3僅僅是基于GJB5000A的軟件研制文件體系對DO-178C的單向簡單粗糙映射。為了在軟件研制體系中融入DO-178C的要求,使其能夠滿足軟件適航要求,還需進行仔細分析后,針對識別出的差異,對軟件研制體系進行修改,包括新增或調整人員崗位、文件及模板、應用流程、工具方法。已識別的差異點包括:
(1)適航工作方面的缺失,應增加適航流程和軟件合格審定相關的文件規定,并設置相應的人員進行適航工作:
2)配置管理方面的數據分類管理(CC1和CC2),除修訂體系文件外,必要時需對適用的軟件工具進行升級或替換。
3總結
GJB5000A和DO-178C對軟件研制過程的描述沒有沖突的地方,僅是關注點不同。可基于GJB5000A建立軟件研制體系,提升組織的軟件研制成熟度,在此基礎上,對體系與DO-178C之間的差異進行逐項分析,然后在軟件研制體系中融入DO-178C的特殊要求,最終應建立一套同時符合兩個標準的軟件研制體系。
《淺析DO-178B與GJB5000A標準對航空軟件研制要求的差異》
摘要:針對當前航空機載設備或系統研制單位普遍在實施航空軟件研制過程標準化工作的實際情況,分析探討了IDO-178B3標準及CJB5000A標準在實施過程中如何滿足其要求,簡要閘述了兩種標準在項目之間的差異性。
0引言
隨著信息技術的迅速發展,軟件在航空機載設備或系統研制過程中的地位越來越重要。國內外,已經認識到軟件對航空安全性的重要影響,為確保機載軟件研制的質量及其安全性,紛紛提出了一系列軟件研制標準來規范軟件
研制過程,提高軟件質量,保證軟件安全性,如:國際適航標準DO-178B;國軍標:GJB5000A、GJB2786A等。目前,國內民機研制方面逐步引入并強制執行DO-178B標準,軍機研制方面采用并強制執行GJB5000A、GJB438B、GJB2786A等標準。這兩個標準的共同目標都是為使研制的航空軟件質量更高,安全性更好等等。同時,這兩個標準在航空軟件研制單位具體實施落地的過程中,又存在著眾多的差異性,現從如下幾個方面進行簡要閘述。
1標準的制定差異
1.1DO-178B標準制定
《機載系統和設備合格審查中軟件方面的考慮》(以下簡稱DO-178B)是美國航空無線電技術委員會為支持含有數字計算機的機載系統和設備的研制工作而提出的、在航空機載軟件研制過程中推薦遵循的準則。基于1982年RTCA和EUROCAE正式發布了DO-178版本后,隨著軟件技術的發展對其進行不斷更新后的升級版。可供機載系統和設備(含軟件)供應商使用,也可供合格審查機構審查使用。
目前,DO-178B標準是國際民用航空行業內及局方遵循的標準。一架民用飛機如果沒有通過“民航標準體系的適航認證,是不可以飛行的。局方對航空機載軟件進行適航審查時主要依據此標準開展,因此研制單位在軟件研制過程中應充分遵循該標準進行研制活動。由此可見DO-178B標準在民用航空機載軟件研制過程中的重要性。
1.2GJB5000A標準制定
GJB5000A是指軍用軟件研制能力成熟度模型(本文專指航空機載軟件),由中國人民解放軍總裝備部批準發布,其根本來源于CMMI-DEVV1.2版本。軍方為確保各軍用軟件研制單位具有提供安全、可靠的軟件產品的能力,而由軍方制定的評估標準,專注于對軍用軟件研制的衡量。
GJB5000A是一個產品開發模型,它關注整個組織體系軍用軟件研制能力的問題,也是一個組織過程改進的參考模型,描述的是一組有效過程的特征,并提供了一套最佳實踐方法,通過項目實踐積累軟件研制過程經驗,不斷改進組織的軟件研制過程:它更加關注的是對組織生產率的影響、產品性能的提高、項目成本的節約、相關方滿意度的提高等等。
2標準的應用差異
從這些標準在實際軟件研制過程中所起的作用來看都具有的一個共同點:規范、約束軟件項目研制過程中,采取一定的積極措施來保障軟件產品的質量及安全性。
DO-178B既作為航空軟件項目開發過程中適航要求的指導意見,也作為局方進行軟件適航審查的依據;GJB5000A既可作為航空機載軟件研制單位過程進行評估和改進的依據,也可作為第三方評估機構對組織軟件研制能力成熟度進行評價的準則。
每個標準在具體應用過程中,DO-178B主要用于航空機載軟件的適航審定,而且是針對每個軟件項目的。每個型號的航空器包含若干個機載軟件審定項目,則要求其所包含的若干個機載軟件都必須要通過適航審定后,才允許裝載到相應的設備上。而CJB5000A是以組織為審查對象,明確組織的軟件研制能力等級,以及達到這些等級包含的目標、實踐;通過提升整個組織級的軟件研制能力、項目管理能力支持能力、過程管理能力等,從而確保該組織具備了承擔研制相應等級軍用安全軟件的開發管理能力,同時,根據軟件研制過程的實踐不斷優化,改進組織軟件研制過程,從而實現對軟件的質量、項目進度、項目成本等項的有效管控,也是一項長期的持續的不斷改進的過程。
3標準實踐差異
無論是D0-178B標準還是GJB5000A標準,實施的最終目標都是一致的,但在具體實施過程中,兩者存在較大的差異性。在D0-178B標準中,重點關注研制流程上的規范性,從工程的角度來闡明機載軟件的研制過程,通過嚴格的流程監管確保開發出高安全性的軟件。而在GJB5000A標準中,重點關注各個過程域的實現程度,不僅僅是從工程開發的角度來規范軟件項目研制過程,結合項目管理對項目質量、進度、成本等監控,根據項目的測量數據對組織過程進行改進。
3.1D0-178B標準實踐
在D0-178B標準中明確定義了系統生命周期過程和軟件生命周期過程之間的信息流動。在系統設計分析過程中定義出希望避免這些失效狀態的安全相關需求及系統對這些失效狀態的響應,將這部分與軟件相關的系統需求分配給軟件以消除或限制故障的影響,并提供故障檢測和故障容忍能力。同時,軟件生命周期過程則需向系統生命周期過程反饋滿足要求的軟件產品及其附屬數據,通過這些數據來驗證軟件產品是否滿足安全相關需求。
在系統安全性評估時,根據軟件對系統安全的重要性,給軟件確定一個安全性等級(A、B、C、D、E,那么針對每個等級軟件的目標及要求也不同,它反復強調過程、數據、目標這個幾個元素及其內在的聯系。
在DO-178B中要定義相應的軟件生命周期,由軟件計劃、開發、綜合等過程構成,在這些過程中,軟件綜合過程的活動是一個貫穿整個軟件生命周期的始終,軟件開發過程可依據項目情況澡布執行或N次送代執行,隨著綜合過程中的軟件集成過程活動和驗證過程活動的不斷深入而使其更加緊密聯系在一起。
局方在進行適航審查時,依據軟件審查目標、審查工作要求對供應商提供的適航數據進行審查,并給出審查結果、相關問題及行動計劃等。
由于DO-178B主要是關注軟件的安全性方面,對供應商具體如何開發軟件只從軟件過程方面提供了參考或指導性建議,只要軟件滿足了該等級軟件的目標要求,即是符合適航安全要求的軟件。
3.2GJB5000A標準實踐
在GJB5000A中明確說明是對軍用軟件研制能力的衡量,為軍用軟件研制單位提供了軍用軟件研制能力成熟度模型,及軟件管理和工程過程的實踐活動。那么,在GJB5000A標準的實施或審核過程中,組織要想達到軟件研制能力成熟度的某個等級,則必須實現該等級包含的過程域、目標、實踐。
組織在申請軍用軟件研制能力成熟度等級評估時,根據當前的實際情況,選定一個等級(2、3、4、5,由第三方評估機構進行評估認定。其最終的目標是通過提高軍用軟件研制單位的能為成熟度來提高組織的軟件質量安全性等,它反復強調過程域、目標、實踐這幾個元素間的內在聯系。
從目前國內軍用軟件研制單位的總體情況來看,建議從2級建立組織體系,逐步規范化、流程化軟件研制過程,提升組織軟件研制能力。在2級實施過程中,重點關注2級過程域目標實踐的實現,同時在實施過程中積累3級相關過程域的實踐經驗,為后續過程改進提供支持GJB5000A評估機構在進行成熟度等級評估時,評估申請者提供的數據,判斷是否達到該等級能力成熟度模型的要求由于GJB5000A不僅注重軟件的工程實踐、項目管理、支持過程、過程管理,還為組織提供了最佳實踐模型指明了組織過程改進的方向,并且強制要求做哪些實踐,實現相應目標,形成實踐經驗推廣至所有項目,提高整個組織的軟件研制能力
4兩種標準綜合實踐考慮
根據對DO-178B和GJB5000A的分析,前者更加關注是的機載軟件研制流程的規范性,強調過程、數據、目標之間的緊密關系,軟件產品的質量、安全性等,并以每個項目作為衡量的單位:而后者則更加關注各過程域的具體實現,以確保先前項目的成功經驗可以被組織其他項目復用,強調過程域、目標、實踐之間的緊密關系,研制軟件產品的質量、成本、進度、管理等,以組織過程改進為出發點不斷提高組織能力成熟度。
雖然兩者存在一定的差異,但不存在本質上的矛盾可綜合兩者的優勢,發揮各自的優勢,互補欠缺。通過制定一個統一的軟件項目研制流程,結合兩個標準的側重點,在工程方面,嚴格按照DO-178B的要求為主開展,而在項目管理方面,以GJB5000A的要求為主開展,由此來發揮各自的優勢,從而確保這樣的機載軟件研制流程是最佳流程。其有利于軟件研制單位統一和規范軟件研制流程,有利于提高組織生產效率、產品質量及節省成本等,還有利于滿足適航或GJB5000A等審查要求。
5小結
通過計算機輔助技術建立機載軟件研制流程及項目管理系統,將軟件研制單位積累的項目經驗、組織資產通過流程落地,形成符合本單位特定情況的軟件研制管理流程,通過切實執行規范的流程來降低軟件研制人員的工作門檻,降低了其對流程文件、標準等的學習、溝通及管理成本,同時可以有效地解決信息共享、溝通困難等問題,有助于機載軟件適航、組織過程改進等標準在相關單位的推廣和實施。
總結
以上是生活随笔為你收集整理的分享几篇有关DO-178和GJB5000对比的论文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STL中empty()函数的误用
- 下一篇: 螺旋模型、喷泉模型、增量模型的特点