軍用機(jī)載通信設(shè)備嵌入式軟件的適航管理
2.2.3 軟件配置管理
軟件配置管理(Software Configuration Management,SCM)非常重要,它關(guān)系到軟件研制工作的有效性、軟件產(chǎn)品的可用性和可信性。SCM是標(biāo)識(shí)和確定系統(tǒng)或設(shè)備中軟件配置項(xiàng)的過(guò)程,在整個(gè)軟件生命周期內(nèi)控制這些軟件配置項(xiàng)的發(fā)放和更改,記錄并報(bào)告配置的狀態(tài)和更改要求,驗(yàn)證配置項(xiàng)的完整性和正確性。其中,軟件配置項(xiàng)即軟件產(chǎn)品在不同時(shí)期的組合,包括在軟件生命周期各階段產(chǎn)生的各種形式和各種版本的文檔、程序和數(shù)據(jù)等。軟件配置項(xiàng)隨著開(kāi)發(fā)工作的進(jìn)展而不斷變化。
(1)制定軟件配置管理計(jì)劃
機(jī)載設(shè)備實(shí)施初期依據(jù)該設(shè)備的軟件開(kāi)發(fā)計(jì)劃進(jìn)行配置策劃,明確配置管理內(nèi)容,以便有計(jì)劃地開(kāi)展配置管理工作。同時(shí)根據(jù)軟件開(kāi)發(fā)計(jì)劃等頂層文件確定配置管理的詳細(xì)要求,由軟件配置管理員制定軟件配置管理計(jì)劃初稿,包含配置管理組織、標(biāo)識(shí)規(guī)定、軟件配置項(xiàng)、基線(xiàn)定義、更改控制、狀態(tài)報(bào)告和版本管理等。評(píng)審?fù)ㄟ^(guò)后,正式作為該設(shè)備配置管理活動(dòng)的依據(jù)。
(2)基線(xiàn)
基線(xiàn)(baseline)是軟件生命周期各階段末尾的特定點(diǎn),也稱(chēng)為里程碑?;€(xiàn)是經(jīng)過(guò)正式審核與同意的規(guī)格說(shuō)明或產(chǎn)品,可用作下一步開(kāi)發(fā)的基礎(chǔ)?;€(xiàn)確定后,只能通過(guò)正式的更改管理辦法變更。機(jī)載設(shè)備軟件生命周期各階段基線(xiàn)劃分如圖1所示。本文引用地址:http://m.butianyuan.cn/article/201610/306031.htm
(3)變更管理
滿(mǎn)足RTCA DO-178B要求的軟件研發(fā)過(guò)程中,所有基線(xiàn)變更都應(yīng)在有效的控制下進(jìn)行。
機(jī)載設(shè)備嵌入式軟件因?yàn)槠溟_(kāi)發(fā)難度和開(kāi)發(fā)周期,在軟件生命周期的各階段是很容易出問(wèn)題的。一旦發(fā)現(xiàn)問(wèn)題,不管是文檔還是代碼,均需要通過(guò)變更來(lái)滿(mǎn)足系統(tǒng)需求和相應(yīng)的適航要求。軟件變更前應(yīng)提出申請(qǐng),經(jīng)過(guò)嚴(yán)格審批后才能實(shí)施變更,防止隨意修改造成的失控和混亂,導(dǎo)致軟件工作的損傷。同時(shí)對(duì)軟件更改還建立了問(wèn)題報(bào)告單、更改申請(qǐng)、更改報(bào)告、問(wèn)題歸零、出/入庫(kù)的可追蹤管理制度。更改后的軟件產(chǎn)品經(jīng)過(guò)評(píng)審和審批后再納入配置管理。
2.2.4 質(zhì)量控制和監(jiān)督
滿(mǎn)足RTCA DO-178B要求的軟件研發(fā)過(guò)程中,軟件質(zhì)量保證活動(dòng)SQA是必不可少的。SQA通過(guò)保證研制過(guò)程中符合批準(zhǔn)的軟件計(jì)劃及標(biāo)準(zhǔn),確保軟件生命周期中的產(chǎn)品符合軟件需求提供的置信度。
機(jī)載設(shè)備依據(jù)軟件研制任務(wù)書(shū)及軟件需求開(kāi)展SQA。在設(shè)備啟動(dòng)初期,軟件質(zhì)量師依據(jù)系統(tǒng)下發(fā)的軟件質(zhì)量保證大綱編制SQA計(jì)劃,提出軟件生命周期各階段的質(zhì)量管理要求,以持續(xù)監(jiān)控整個(gè)軟件生命周期過(guò)程并評(píng)審軟件產(chǎn)品。
軟件生命周期各階段質(zhì)量保證活動(dòng)的輸出產(chǎn)物為SQA記錄,包括SQA評(píng)審或?qū)徍藞?bào)告、軟件符合性評(píng)審記錄等,跟蹤并確保評(píng)審問(wèn)題或不符合項(xiàng)的解決和閉環(huán)。
同時(shí),SQA還對(duì)各個(gè)階段的軟件配置管理活動(dòng)進(jìn)行監(jiān)督和檢查,形成配置審核記錄;對(duì)系統(tǒng)集成階段設(shè)備裝入分系統(tǒng)或系統(tǒng)聯(lián)試期間發(fā)現(xiàn)的軟件問(wèn)題的糾正情況進(jìn)行監(jiān)督和檢查,保證問(wèn)題歸零。
2.2.5 軟件文檔資料
軟件文檔是軟件的重要組成部分。文檔內(nèi)容是根據(jù)軟件開(kāi)發(fā)過(guò)程中各階段的工作任務(wù)而產(chǎn)生的,主要記載各階段的主要活動(dòng)信息和要求。
規(guī)范、細(xì)致地編制、管理和維護(hù)文檔,對(duì)軟件工程化管理具有非常重要的意義。
機(jī)載設(shè)備根據(jù)軟件文檔編制要求進(jìn)行軟件文檔的編寫(xiě),保證交付的文檔完全符合工程要求且準(zhǔn)確、完整和規(guī)范。交付的文檔同時(shí)作為軟件配置項(xiàng)納入配置管理,嚴(yán)格控制文檔的更改。
2.3 軟件設(shè)計(jì)和實(shí)現(xiàn)
2.3.1 軟件設(shè)計(jì)遵循原則
機(jī)載設(shè)備嵌入式軟件遵循以下設(shè)計(jì)原則:
(1)嚴(yán)格執(zhí)行數(shù)字式電子類(lèi)機(jī)械設(shè)備(軟件部分)的研制通用要求;
(2)軟件研制過(guò)程中,將可靠性和安全性放在首位;
(3)采取分層次、模塊化設(shè)計(jì),方便進(jìn)行裁減和升級(jí);
(4)減小應(yīng)用軟件與底層處理器硬件相關(guān)性,通過(guò)提供標(biāo)準(zhǔn)的接口規(guī)范,分離應(yīng)用軟件與特定硬件相關(guān)的代碼。
2.3.2 軟件設(shè)計(jì)和實(shí)現(xiàn)
(1)設(shè)計(jì)方法
軟件采用多處理器的分布式結(jié)構(gòu),以實(shí)時(shí)分布式方式并行運(yùn)行在各處理器上。軟件主要采用適合嵌人式軟件的結(jié)構(gòu)化方法,自頂向下按功能劃分成幾個(gè)能獨(dú)立工作的軟件模塊進(jìn)行開(kāi)發(fā)和管理。
(2)實(shí)現(xiàn)方案
各個(gè)功能模塊軟件駐留和運(yùn)行于相對(duì)獨(dú)立的CPU上。在各功能模塊中設(shè)計(jì)接口控制管理層,使應(yīng)用軟件獨(dú)立于硬件接口,既有利于隔離模塊故障,又可以屏蔽硬件差異,將硬件選型對(duì)軟件的影響降低到最小,靈活應(yīng)對(duì)硬件變化,最大限度保護(hù)軟件資源,有利于軟件維護(hù)、升級(jí)、測(cè)試和系統(tǒng)可靠性的提高。
(3)編程語(yǔ)言
現(xiàn)階段計(jì)算機(jī)軟件編程采用的語(yǔ)言主要是匯編語(yǔ)言和高級(jí)語(yǔ)言。目前,在航電系統(tǒng)上采用的高級(jí)語(yǔ)言主要為C,C++。
鑒于高級(jí)語(yǔ)言在應(yīng)用上的一系列問(wèn)題還有待解決,故常將匯編語(yǔ)言與高級(jí)語(yǔ)言混合使用。比如,結(jié)合機(jī)載設(shè)備軟件運(yùn)行的CPU器件特性,在對(duì)中斷及I/O口等寄存器進(jìn)行初始化或者對(duì)CMD文件進(jìn)行寄存器的配置時(shí)采用匯編語(yǔ)言,對(duì)設(shè)備功能處理方面采用C/C++。
2.4 軟件驗(yàn)證
2.4.1 定義
RTCA DO-178B對(duì)驗(yàn)證(Verification)的定義是:驗(yàn)證是軟件開(kāi)發(fā)過(guò)程和軟件驗(yàn)證過(guò)程兩者結(jié)果的技術(shù)評(píng)估。驗(yàn)證貫穿于軟件開(kāi)發(fā)過(guò)程中,包括了對(duì)需求的驗(yàn)證、對(duì)設(shè)計(jì)的驗(yàn)證、對(duì)代碼的驗(yàn)證、對(duì)集成的驗(yàn)證及對(duì)驗(yàn)證過(guò)程的驗(yàn)證,目的就是檢測(cè)和報(bào)告在開(kāi)發(fā)過(guò)程中形成的錯(cuò)誤。機(jī)載設(shè)備根據(jù)系統(tǒng)軟件驗(yàn)證和確認(rèn)要求及評(píng)審細(xì)則等首先形成軟件驗(yàn)證計(jì)劃,然后以軟件驗(yàn)證計(jì)劃、軟件需求、源代碼及可執(zhí)行目標(biāo)代碼等作為輸入/輸出軟件驗(yàn)證用例和規(guī)程、軟件驗(yàn)證結(jié)果。
2.4.2 方法
不同于以往國(guó)軍標(biāo)如GJB2786-1996等,GJB2786認(rèn)為測(cè)試的本身就是保障的手段,著重從測(cè)試的方法入手,而RTCA DO-178B是將測(cè)試定義為驗(yàn)證的一部分,驗(yàn)證的方法包括評(píng)審、分析和測(cè)試,偏重于對(duì)整個(gè)驗(yàn)證過(guò)程的本身與活動(dòng),且明確驗(yàn)證是保障的手段。
(1)軟件評(píng)審
軟件評(píng)審作為軟件驗(yàn)證的一項(xiàng)重要活動(dòng),是軟件質(zhì)量保證的重要一環(huán)。
為保證嵌入式軟件的研制質(zhì)量,機(jī)載設(shè)備遵循系統(tǒng)制定的軟件評(píng)審細(xì)則,規(guī)范軟件評(píng)審活動(dòng)。同時(shí)根據(jù)軟件等級(jí)要求,對(duì)軟件各階段的工作成果進(jìn)行符合該等級(jí)的評(píng)審要求和評(píng)審方式(外部評(píng)審或內(nèi)部評(píng)審)。
為保證嵌入式軟件的研制質(zhì)量,在機(jī)載設(shè)備軟件研制初期,在軟件研制任務(wù)書(shū)、軟件開(kāi)發(fā)計(jì)劃、軟件驗(yàn)證計(jì)劃中對(duì)各階段生產(chǎn)的軟件產(chǎn)品評(píng)審均進(jìn)行了明確規(guī)劃,按照質(zhì)量要求,所有外部評(píng)審均有型號(hào)總師單位和軍代表參加。
評(píng)審時(shí),提交評(píng)審的所有文檔必須已經(jīng)通過(guò)逐級(jí)審簽。每次評(píng)審后必須形成評(píng)審報(bào)告,評(píng)審?fù)ㄟ^(guò)后將其和相關(guān)軟件產(chǎn)品納入配置管理。階段產(chǎn)品必須進(jìn)行并通過(guò)評(píng)審。
機(jī)載設(shè)備在軟件生命周期中設(shè)立了一系列階段評(píng)審點(diǎn):設(shè)備分析和設(shè)計(jì)階段、軟件計(jì)劃階段、軟件需求分析階段、軟件設(shè)計(jì)階段、軟件實(shí)現(xiàn)(編碼與單元測(cè)試)階段、軟件集成階段(軟件集成測(cè)試、系統(tǒng)測(cè)試)、軟件驗(yàn)收與交付階段。
評(píng)審針對(duì)各階段的工作成果。在各階段工作成果評(píng)審?fù)ㄟ^(guò)后才允許建立相應(yīng)的基線(xiàn),才能進(jìn)行后續(xù)階段的開(kāi)發(fā)工作。
(2)軟件測(cè)試
軟件測(cè)試是保證軟件質(zhì)量的重要手段,完整的軟件測(cè)試工作貫穿整個(gè)軟件生命周期,它包括兩方面的含義:一是軟件開(kāi)發(fā)的不同階段都有軟件測(cè)試工作;二是軟件測(cè)試工作的各個(gè)步驟分布在整個(gè)軟件生命周期中。
為保證研制質(zhì)量,按照軟件測(cè)試流程,機(jī)載設(shè)備嵌入式軟件開(kāi)展了軟件測(cè)試活動(dòng)。在設(shè)備分析和設(shè)計(jì)階段,遵循系統(tǒng)制定的軟件測(cè)試細(xì)則,依據(jù)軟件研制任務(wù)書(shū)編寫(xiě)軟件測(cè)試計(jì)劃,確定軟件測(cè)試范圍、目的、測(cè)試指標(biāo)、進(jìn)度安排及最終形成產(chǎn)品等,根據(jù)軟件等級(jí)明確要求測(cè)試類(lèi)別和測(cè)試方法及測(cè)試技術(shù)要求。
軟件測(cè)試計(jì)劃通過(guò)評(píng)審后即刻開(kāi)展測(cè)試活動(dòng),在計(jì)劃階段、需求階段和設(shè)計(jì)階段主要執(zhí)行了測(cè)試策劃、測(cè)試設(shè)計(jì)和實(shí)現(xiàn);從編碼階段開(kāi)始進(jìn)入測(cè)試執(zhí)行,直到軟件集成階段系統(tǒng)測(cè)試結(jié)束進(jìn)行測(cè)試總結(jié)。在測(cè)試工作
中,機(jī)載設(shè)備根據(jù)測(cè)試執(zhí)行情況對(duì)上述四個(gè)過(guò)程反復(fù)迭代(包括軟件回歸測(cè)試),直至達(dá)到測(cè)試要求為止。
(3)一般測(cè)試要求
軟件測(cè)試類(lèi)別主要為單元測(cè)試、部件測(cè)試、配置項(xiàng)(集成)測(cè)試、系統(tǒng)測(cè)試。
軟件測(cè)試方法主要分為白盒測(cè)試和黑盒測(cè)試。
軟件單元測(cè)試時(shí),采用代碼審查、靜態(tài)分析方法和白盒測(cè)試的方法完成;軟件部件、軟件配置項(xiàng)測(cè)試和系統(tǒng)測(cè)試測(cè)試時(shí),均采用了黑盒測(cè)試方法輔助以白盒測(cè)試的方法完成。
(4)機(jī)載軟件測(cè)試的特點(diǎn)
機(jī)載設(shè)備軟件為機(jī)載嵌入式軟件,機(jī)載嵌入式軟件具有以下幾個(gè)顯著特點(diǎn):
①軟件和硬件結(jié)合緊密,軟件脫離特定運(yùn)行環(huán)境是肯定無(wú)法運(yùn)行的,軟件失效與硬件故障有時(shí)難以區(qū)分,甚至互相干擾;
②開(kāi)發(fā)環(huán)境和實(shí)際運(yùn)行環(huán)境不同;
③機(jī)載軟件實(shí)時(shí)性強(qiáng);
④機(jī)載軟件屬于安全關(guān)鍵軟件。
目前機(jī)載設(shè)備嵌入式軟件的測(cè)試工作也僅限于對(duì)純軟件的測(cè)試,但是,嵌入式軟件的前兩個(gè)特性給軟件測(cè)試提出了新問(wèn)題,比如軟硬件錯(cuò)誤的界定、硬件特性對(duì)軟件測(cè)試的影響等。
機(jī)載嵌入式軟件的第三個(gè)特性說(shuō)明了機(jī)載軟件是實(shí)時(shí)多任務(wù)處理軟件。如機(jī)載設(shè)備需要在同一時(shí)間段處理多個(gè)任務(wù),為了不漏掉任一任務(wù)的處理,軟件設(shè)計(jì)了中斷握手管理。軟件測(cè)試時(shí)就對(duì)中斷握手管理執(zhí)行的語(yǔ)句進(jìn)行了驗(yàn)證。
機(jī)載嵌入式軟件的第四個(gè)特性說(shuō)明了機(jī)載軟件若性能不可靠將帶來(lái)災(zāi)難性后果,因此對(duì)其可靠性和安全性要求很高。在機(jī)載軟件設(shè)計(jì)時(shí)均采用了一些提高可靠性、安全性的先進(jìn)技術(shù),比如容錯(cuò)技術(shù)、安全監(jiān)控等,在軟件測(cè)試中則充分考慮設(shè)計(jì)測(cè)試用例對(duì)這些軟件語(yǔ)句進(jìn)行了驗(yàn)證。
機(jī)載設(shè)備軟件的最后一項(xiàng)測(cè)試即飛行測(cè)試,也就是我們常說(shuō)的試飛階段。試飛測(cè)試是在飛機(jī)飛行中進(jìn)行的一些特殊測(cè)試,包括根據(jù)適航要求進(jìn)行的適航試飛。通過(guò)上述方式的軟件測(cè)試,將大大保證軍用航電系統(tǒng)機(jī)載通信設(shè)備軟件有較高的置信度。
(5)軟件測(cè)試結(jié)果
軟件測(cè)試過(guò)程中即軟件生命周期各階段的測(cè)試產(chǎn)物主要包括各級(jí)(單元級(jí)、部件級(jí)、配置項(xiàng)級(jí)、系統(tǒng)級(jí))軟件測(cè)試計(jì)劃、測(cè)試說(shuō)明、測(cè)試報(bào)告、測(cè)試問(wèn)題報(bào)告、測(cè)試總結(jié)報(bào)告及評(píng)審結(jié)果等。軟件測(cè)試結(jié)果在生命周期各階段均進(jìn)行了管理、跟蹤和控制,并將其納入了配置管理。
3 結(jié)語(yǔ)
軍機(jī)嵌入式軟件適航工作以提高軍機(jī)的安全水平為宗旨,不脫離現(xiàn)有軍機(jī)研制管理模式,不改變軍機(jī)研制流程,在技術(shù)上充分借鑒,在管理上大膽創(chuàng)新,在引入適航理念和方法的過(guò)程中不斷積累經(jīng)驗(yàn),探索形成規(guī)范的、有中國(guó)特色的軍機(jī)嵌入式軟件研制適航工作途徑,推動(dòng)軍機(jī)軟件研制質(zhì)量與安全水平的不斷提高。
評(píng)論