張敏 曲萃萃
摘要:關(guān)鍵性分析是核電廠軟件驗(yàn)證與確認(rèn)過程最初始的環(huán)節(jié),也是其他V&V工作的基礎(chǔ)。該文針對(duì)核電廠安全相關(guān)級(jí)系統(tǒng)的軟件,結(jié)合IEEE Std 1012標(biāo)準(zhǔn),建立了一種適用于軟件開發(fā)各個(gè)階段的關(guān)鍵性分析的具體執(zhí)行方法,最大限度地對(duì)核電廠安全相關(guān)級(jí)軟件關(guān)鍵性分析工作進(jìn)行了標(biāo)準(zhǔn)化,從而有效提高了軟件驗(yàn)證與確認(rèn)工作的效力。
關(guān)鍵詞:軟件完整性等級(jí)(SIL);關(guān)鍵性分析(Criticality analysis);軟件驗(yàn)證與確認(rèn)fV&V);失效模式與影響分析(FMEA)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)05-0100-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 軟件關(guān)鍵性分析中的基本定義
定義1:關(guān)鍵性:依據(jù)IEEE Std 1012標(biāo)準(zhǔn)的描述,關(guān)鍵性是指一個(gè)需求(或模塊、錯(cuò)誤、故障、失效又或者其他方面)對(duì)系統(tǒng)的開發(fā)或運(yùn)行的影響程度。
定義2:軟件元素:軟件元素在文中是指代關(guān)鍵性分析中的各個(gè)獨(dú)立分析對(duì)象,其類型可以是需求、模塊、功能、子系統(tǒng)、或其他軟件劃分的依據(jù)。
IEEE Std 1012依據(jù)功能失效后果產(chǎn)生的影響,將軟件元素的關(guān)鍵性等級(jí)分成SIL1、SIL2、SIL3、SIL4四種等級(jí),如表1所示。通過關(guān)鍵性分析這個(gè)過程,可以充分了解、識(shí)別目標(biāo)系統(tǒng)中存在的關(guān)鍵軟件元素。
2 軟件關(guān)鍵性分析方法
核電廠軟件驗(yàn)證與確認(rèn)活動(dòng)依據(jù)IEEE Std 1012進(jìn)行,軟件開發(fā)過程的驗(yàn)證與確認(rèn)活動(dòng)分為六個(gè)階段:概念階段V&V、需求階段V&V、設(shè)計(jì)階段v&v、實(shí)現(xiàn)階段v&v、測(cè)試階段V&V、安裝和檢驗(yàn)階段V&V。而關(guān)鍵性分析將貫穿于軟件開發(fā)過程的概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段的V&V活動(dòng),是一項(xiàng)迭代更新的V&V活動(dòng),通過各個(gè)階段的關(guān)鍵性分析,最終得到一個(gè)系統(tǒng)的全過程的關(guān)鍵性分析結(jié)論。
2.1 概念階段的關(guān)鍵性分析
如圖1所示,概念階段的關(guān)鍵性分析是在系統(tǒng)概念文檔評(píng)估通過的基礎(chǔ)上,依據(jù)系統(tǒng)的軟硬件功能劃分,識(shí)別出系統(tǒng)需求中依賴軟件實(shí)現(xiàn)的功能,并作為概念階段關(guān)鍵性分析的對(duì)象(也稱為軟件元素),之后對(duì)這部分軟件元素進(jìn)行FMEA分析。參照表1,依據(jù)功能失效后果產(chǎn)生的影響,在軟件元素已經(jīng)指定了軟件完整性等級(jí)的情況下,驗(yàn)證該指定的軟件完整性等級(jí)是否正確,如果不正確則需要進(jìn)行修正;在軟件元素未被指定軟件完整性等級(jí)的情況下,則為軟件元素定義一個(gè)新的軟件完整性等級(jí),并依此確定目標(biāo)系統(tǒng)的軟件完整性等級(jí),最后將概念階段各個(gè)軟件元素的軟件完整性等級(jí)記錄下來,形成關(guān)鍵性分析報(bào)告。
需要注意的是,概念階段關(guān)鍵性分析的對(duì)象始終是系統(tǒng)需求中的軟件相關(guān)項(xiàng),非軟件相關(guān)項(xiàng)不在考慮范圍之內(nèi),因此系統(tǒng)的軟硬件功能劃分工作至關(guān)重要。
2. 2需求階段的關(guān)鍵性分析
需求階段的關(guān)鍵性分析是在軟件需求文檔評(píng)估通過的基礎(chǔ)上,列出每一項(xiàng)軟件需求及其追蹤到的系統(tǒng)需求的軟件完整性等級(jí),并根據(jù)對(duì)軟件需求的FMEA分析結(jié)果,檢查所有軟件需求的軟件完整性等級(jí)是否發(fā)生變化。軟件需求即是需求階段的軟件元素。當(dāng)發(fā)生軟件元素的SIL等級(jí)發(fā)生提升或下降時(shí),修改并記錄各個(gè)軟件元素的新的SIL等級(jí),同時(shí)驗(yàn)證沒有不一致或非預(yù)期的軟件完整性后果被引入,最后對(duì)概念階段生成的軟件關(guān)鍵性分析報(bào)告進(jìn)行更新。
需要注意的是,需求階段關(guān)鍵性分析的對(duì)象始終是軟件需求項(xiàng),而確定軟件需求項(xiàng)的軟件完整性等級(jí)的基礎(chǔ)是追蹤到系統(tǒng)需求中的軟件相關(guān)項(xiàng),因此可追蹤性分析的工作至關(guān)重要。可追蹤性分析在設(shè)計(jì)階段、實(shí)現(xiàn)階段的關(guān)鍵性分析活動(dòng)中的作用也同樣重要。
2.3 設(shè)計(jì)階段的關(guān)鍵性分析
設(shè)計(jì)階段的關(guān)鍵性分析是在軟件設(shè)計(jì)文檔評(píng)估通過的基礎(chǔ)上,依據(jù)軟件概要設(shè)計(jì)追蹤到系統(tǒng)需求、以及軟件詳細(xì)設(shè)計(jì)追蹤到概要設(shè)計(jì)的追蹤分析結(jié)果,列出每一項(xiàng)軟件概要設(shè)計(jì)及其對(duì)應(yīng)的軟件需求的軟件完整性等級(jí),以及每一項(xiàng)軟件詳細(xì)設(shè)計(jì)及其對(duì)應(yīng)的概要設(shè)計(jì)的軟件完整性等級(jí),并根據(jù)對(duì)軟件概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)分析的結(jié)果,檢查所有軟件元素的軟件完整性等級(jí)是否有變化。軟件概要設(shè)計(jì)和軟件詳細(xì)設(shè)計(jì)是設(shè)計(jì)階段的軟件元素。當(dāng)發(fā)生軟件元素的SIL等級(jí)發(fā)生提升或下降時(shí),修改并記錄各個(gè)軟件元素的新的SIL等級(jí),同時(shí)驗(yàn)證沒有不一致或非預(yù)期的軟件完整性后果被引入,最后對(duì)需求階段生成的軟件關(guān)鍵性分析報(bào)告進(jìn)行更新。
2.4 實(shí)現(xiàn)階段的關(guān)鍵性分析
實(shí)現(xiàn)階段的關(guān)鍵性分析是在軟件源代碼評(píng)估通過的基礎(chǔ)上,依據(jù)軟件源代碼到詳細(xì)設(shè)計(jì)的追蹤分析結(jié)果,列出每一個(gè)軟件函數(shù)及其對(duì)應(yīng)的軟件詳細(xì)設(shè)計(jì)的軟件完整性等級(jí),并根據(jù)對(duì)軟件源代碼分析的結(jié)果,檢查所有軟件函數(shù)的軟件完整性等級(jí)是否有變化。軟件函數(shù)是實(shí)現(xiàn)階段的軟件元素。當(dāng)軟件元素的SIL等級(jí)發(fā)生提升或下降時(shí),修改并記錄各個(gè)軟件元素的新的SIL等級(jí),同時(shí)驗(yàn)證沒有不一致或非預(yù)期的軟件完整性后果被引入,最后對(duì)設(shè)計(jì)階段生成的軟件關(guān)鍵性分析報(bào)告進(jìn)行更新。
3 關(guān)鍵性分析原則
原則1:在指定或驗(yàn)證軟件完整性級(jí)別的過程中,須檢查軟件元素是否對(duì)其他軟件元素有影響,當(dāng)一個(gè)低級(jí)別SIL等級(jí)的軟件元素影響到比它高級(jí)別SIL等級(jí)的軟件元素時(shí),則該低級(jí)別SIL等級(jí)軟件元素的軟件完整性等級(jí)須得到提升,與它能夠影響到的最高級(jí)別的軟件元素的SIL等級(jí)保持一致。且目標(biāo)系統(tǒng)的軟件完整性等級(jí)應(yīng)該與系統(tǒng)內(nèi)任何獨(dú)立軟件元素的最高軟件完整性級(jí)別一致。此原則適用于所有概念階段、需求階段、設(shè)計(jì)階段、實(shí)現(xiàn)階段的關(guān)鍵性分析。
原則2:在驗(yàn)證軟件完整性等級(jí)的過程中,如出現(xiàn)一條軟件需求可以追蹤到多條系統(tǒng)需求時(shí),則需要列出每一條系統(tǒng)需求的SIL等級(jí)后,依據(jù)軟件完整性等級(jí)取最高化的原則,該軟件需求項(xiàng)的SIL等級(jí)將與其所對(duì)應(yīng)的系統(tǒng)需求中軟件完整性等級(jí)最高的一項(xiàng)系統(tǒng)需求的SIL等級(jí)保持一致。此原則可以推廣應(yīng)用到設(shè)計(jì)階段、實(shí)現(xiàn)階段的關(guān)鍵性分析。
4 結(jié)論
軟件關(guān)鍵性分析在核電廠軟件與確認(rèn)活動(dòng)中的作用至關(guān)重要,是其他V&V活動(dòng)的基礎(chǔ),本文所述的軟件關(guān)鍵性分析的具體執(zhí)行方法目前已在核電廠安全級(jí)相關(guān)軟件項(xiàng)目中得到應(yīng)用實(shí)施,并取得了良好的效果。本方法同樣適用于非安全級(jí)軟件的關(guān)鍵性分析。
參考文獻(xiàn):
[1] IEEE Standard for Software Verification and Validation[Sl.IEEE Std 1012-2004.
【通聯(lián)編輯:梁書】
收稿日期:2019 -10 -19
作者簡(jiǎn)介:張敏(1985-),通信作者,女,內(nèi)蒙古通遼人,工程師,碩士,從事軟件驗(yàn)證與確認(rèn)研究。