肖安洪,楊大為,曾 輝,蔣 亮,陳曉凡
(中國(guó)核動(dòng)力研究設(shè)計(jì)院核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610041)
核反應(yīng)堆儀控系統(tǒng)軟件驗(yàn)證與確認(rèn)過程研究
肖安洪,楊大為,曾 輝,蔣 亮,陳曉凡
(中國(guó)核動(dòng)力研究設(shè)計(jì)院核反應(yīng)堆系統(tǒng)設(shè)計(jì)技術(shù)重點(diǎn)實(shí)驗(yàn)室,四川 成都 610041)
儀控系統(tǒng)通過軟件程序和硬件設(shè)備對(duì)核反應(yīng)堆進(jìn)行監(jiān)測(cè)、運(yùn)行以及安全保護(hù),對(duì)核安全具有重要作用。為保證儀控系統(tǒng)中軟件的安全性、可靠性,需要在軟件生命周期過程中,開展驗(yàn)證與確認(rèn)工作。論述了在核反應(yīng)堆儀控系統(tǒng)軟件開發(fā)過程中需要定義的驗(yàn)證與確認(rèn)階段,對(duì)每個(gè)階段驗(yàn)證與確認(rèn)的活動(dòng)、輸入、輸出進(jìn)行定義,以指導(dǎo)軟件驗(yàn)證與確認(rèn)工作的有效實(shí)施。
反應(yīng)堆;儀控系統(tǒng);軟件;驗(yàn)證與確認(rèn)
隨著數(shù)字化的發(fā)展,軟件的應(yīng)用領(lǐng)域不斷擴(kuò)展,模擬儀控系統(tǒng)被數(shù)字化儀控系統(tǒng)取代是普遍趨勢(shì),因?yàn)閿?shù)字化儀控系統(tǒng)具有如下優(yōu)點(diǎn):1)系統(tǒng)靈活,易維護(hù),具有冗余、容錯(cuò)、故障安全等功能;2)使用通訊網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,提供數(shù)據(jù)傳輸?shù)陌踩院涂煽啃裕?)系統(tǒng)邏輯運(yùn)算能力強(qiáng)大,計(jì)算效率和精度高;4)成本低,安全性高。國(guó)外儀控系統(tǒng)的數(shù)字化研究較早,并推出了成熟的商業(yè)化產(chǎn)品,如西門子公司的TELEPERM XP、TELEPERM XS等,廣泛應(yīng)用于核電廠儀控系統(tǒng)。國(guó)內(nèi)數(shù)字化儀控系統(tǒng)數(shù)字化研發(fā)進(jìn)展相對(duì)緩慢,直到現(xiàn)在還未推出成熟的、具有自主知識(shí)產(chǎn)權(quán)的數(shù)字化儀控系統(tǒng)產(chǎn)品,嚴(yán)重制約了我國(guó)核行業(yè)的發(fā)展,對(duì)國(guó)家“核電走出去”戰(zhàn)略也帶來不利影響。造成這種困境的原因有兩個(gè)方面:一方面是由于儀控系統(tǒng)是核反應(yīng)堆的關(guān)鍵系統(tǒng),國(guó)外對(duì)相關(guān)技術(shù)一直進(jìn)行嚴(yán)密封鎖;另一方面也是由于核反應(yīng)堆安全的極端重要性,難以對(duì)數(shù)字化儀控系統(tǒng)中軟件的安全性、可靠性提供值得信賴的保障,從而導(dǎo)致受制于人的現(xiàn)狀。
為解決國(guó)內(nèi)核反應(yīng)堆儀控系統(tǒng)面臨的困境,國(guó)內(nèi)各大核電集團(tuán)都開展了基于軟件的數(shù)字化儀控系統(tǒng)產(chǎn)品的研發(fā),中國(guó)廣核集團(tuán)已經(jīng)在數(shù)字化儀控系統(tǒng)研發(fā)方面開展了大量工作,并已取得良好進(jìn)展。中國(guó)核工業(yè)集團(tuán)公司利用科研創(chuàng)新項(xiàng)目,也在開展數(shù)字化儀控系統(tǒng)的研發(fā)工作。數(shù)字化儀控系統(tǒng)研發(fā)能否成功的一大關(guān)鍵點(diǎn)便是儀控系統(tǒng)中的軟件驗(yàn)證和確認(rèn)工作,它關(guān)系到儀控系統(tǒng)是否滿足核安全法規(guī)的要求[1]。本文闡述了在核反應(yīng)堆儀控系統(tǒng)研發(fā)過程中需要開展的軟件驗(yàn)證與確認(rèn)工作階段,明確每個(gè)階段的任務(wù)、輸入和輸出,為提高軟件的安全性、可靠性,滿足核安全法規(guī)要求提供技術(shù)支持。
軟件驗(yàn)證與確認(rèn)作為軟件工程中的重要環(huán)節(jié),需要按照軟件工程規(guī)范開展工作。因此,參考CMMI和GJB5000A體系建立軟件驗(yàn)證與確認(rèn)體系文件框架,指導(dǎo)軟件驗(yàn)證和確認(rèn)工作的開展,如圖1所示。
體系文件框架由3個(gè)層次的文件組成,第一層次是過程文件,即軟件驗(yàn)證與確認(rèn)工作的頂層文件,包含驗(yàn)證和確認(rèn),以及相關(guān)的其他軟件工程過程文件。第二層次是作業(yè)文件,即指導(dǎo)開展可追蹤性分析、安全保密分析、軟件測(cè)試等驗(yàn)證與確認(rèn)活動(dòng)的文件。第三層次是操作文件,即實(shí)施驗(yàn)證與確認(rèn)活動(dòng)所需要的驗(yàn)證工具操作指南、各類檢查單以及異常(缺陷)報(bào)告單。
根據(jù)IEEE1012-2004標(biāo)準(zhǔn)要求,軟件驗(yàn)證與確認(rèn)可以在軟件全生命周期過程中實(shí)施,也可以選取合適的過程實(shí)施[2]。在核反應(yīng)堆儀控系統(tǒng)軟件研發(fā)項(xiàng)目中,軟件開發(fā)過程是保證系統(tǒng)安全性、可靠性的關(guān)鍵所在,因此針對(duì)軟件開發(fā)過程實(shí)施軟件驗(yàn)證與確認(rèn),既能滿足軟件安全性要求,也可以減少工作量。在軟件開發(fā)過程中,軟件驗(yàn)證與確認(rèn)可以劃分為如下階段(過程管理貫穿整個(gè)過程),如圖2所示。
2.1過程管理
管理活動(dòng)應(yīng)按照項(xiàng)目進(jìn)度建立或更新軟件驗(yàn)證與確認(rèn)計(jì)劃,以適應(yīng)軟件開發(fā)狀態(tài);持續(xù)地對(duì)驗(yàn)證與確認(rèn)工作進(jìn)行審查,對(duì)輸出產(chǎn)品進(jìn)行監(jiān)督、控制和評(píng)價(jià),詳細(xì)要求在體系文件《項(xiàng)目監(jiān)督與控制》中定義;定義并規(guī)范開發(fā)團(tuán)隊(duì)和驗(yàn)證與確認(rèn)團(tuán)隊(duì)之間的工作接口,詳細(xì)要求見體系文件《驗(yàn)證與確認(rèn)團(tuán)隊(duì)和開發(fā)團(tuán)隊(duì)接口管理》;對(duì)驗(yàn)證與確認(rèn)工作的配置管理進(jìn)行計(jì)劃,建立并維護(hù)基線,對(duì)配置項(xiàng)的出庫(kù)、入庫(kù)、變更進(jìn)行評(píng)審和狀態(tài)審核,詳細(xì)要求在體系文件《配置管理》中定義;按照質(zhì)量保證要求對(duì)驗(yàn)證與確認(rèn)工作的管理過程、工作產(chǎn)品進(jìn)行審核,發(fā)現(xiàn)不符合項(xiàng)時(shí)及時(shí)與相關(guān)人員進(jìn)行溝通并督促解決,對(duì)于無法解決的不符合項(xiàng)要上報(bào)并跟蹤其狀態(tài),詳細(xì)要求在體系文件《過程與產(chǎn)品質(zhì)量保證》中定義;對(duì)開展的驗(yàn)證與確認(rèn)工作進(jìn)行總結(jié)。
2.2軟件驗(yàn)證與確認(rèn)策劃階段
在軟件驗(yàn)證與確認(rèn)策劃階段,應(yīng)根據(jù)核反應(yīng)堆儀控系統(tǒng)的總體要求、開發(fā)計(jì)劃等,編制軟件驗(yàn)證與確認(rèn)計(jì)劃,其內(nèi)容應(yīng)與體系文件《軟件驗(yàn)證與確認(rèn)過程》中定義內(nèi)容一致。
軟件驗(yàn)證與確認(rèn)計(jì)劃需要通過評(píng)審,并在整個(gè)軟件驗(yàn)證與確認(rèn)工作過程中進(jìn)行維護(hù)。
2.3系統(tǒng)需求評(píng)價(jià)階段
儀控系統(tǒng)是軟件、硬件結(jié)合的系統(tǒng),結(jié)構(gòu)和邏輯都十分復(fù)雜。為實(shí)現(xiàn)系統(tǒng)開發(fā)任務(wù),需要將系統(tǒng)需求進(jìn)行分解,在此階段驗(yàn)證與確認(rèn)活動(dòng)的任務(wù)就是對(duì)系統(tǒng)需求分解的正確性、準(zhǔn)確性和完整性進(jìn)行評(píng)價(jià)。
2.3.1任務(wù)
1)關(guān)鍵性分析。
根據(jù)儀控系統(tǒng)的安全等級(jí),確定其中的軟件完整性等級(jí),再確定采取的驗(yàn)證與確認(rèn)活動(dòng)。對(duì)于安全等級(jí)為1E級(jí)的系統(tǒng),對(duì)應(yīng)的軟件完整性等級(jí)為4,因此應(yīng)采取最嚴(yán)格的驗(yàn)證和確認(rèn)活動(dòng)。
2)可追蹤性分析。
識(shí)別出所有需要由軟件完整實(shí)現(xiàn)或部分實(shí)現(xiàn)的系統(tǒng)需求,驗(yàn)證這些系統(tǒng)需求可以追蹤到系統(tǒng)需求規(guī)格書中的相應(yīng)條目或核安全法規(guī)、導(dǎo)則、設(shè)計(jì)標(biāo)準(zhǔn)/規(guī)范、運(yùn)行規(guī)定、業(yè)務(wù)規(guī)則等,建立需求跟蹤矩陣中的系統(tǒng)需求條目和系統(tǒng)軟件需求條目??勺粉櫺苑治鼍唧w方法定義在體系文件《可追蹤性分析作業(yè)指導(dǎo)書》中。
3)安全保密性分析。
評(píng)價(jià)系統(tǒng)軟件需求規(guī)格書的安全保密性的需求,是否符合系統(tǒng)需求規(guī)格書的要求,是否符合法規(guī)和標(biāo)準(zhǔn),是否具有可操作性和可測(cè)試性。
4)評(píng)審系統(tǒng)軟件需求規(guī)格書。
組織評(píng)審系統(tǒng)軟件需求規(guī)格書,以確認(rèn)滿足系統(tǒng)要求;確認(rèn)系統(tǒng)接口間的約束條件、所提議方法的約束條件或限制條件[3]。
2.3.2輸入
系統(tǒng)需求規(guī)格書;系統(tǒng)軟件需求規(guī)格書;系統(tǒng)需求分析活動(dòng)記錄(需求追蹤矩陣、需求評(píng)審記錄)。
2.3.3輸出
系統(tǒng)需求評(píng)價(jià)階段工作報(bào)告;異常報(bào)告;需求追蹤矩陣(系統(tǒng)需求與系統(tǒng)軟件需求的映射)。
2.4軟件需求評(píng)價(jià)階段
軟件需求來源于系統(tǒng)需求,確定了軟件的功能、性能、外部接口等信息。在此階段驗(yàn)證與確認(rèn)的目標(biāo)是確保軟件需求的完備性、正確性、一致性和可測(cè)試性。
2.4.1任務(wù)
1)可追蹤性分析。
檢查軟件需求與系統(tǒng)軟件需求條目間的雙向關(guān)系,以確定其雙向追蹤關(guān)系的正確性、一致性、完備性、準(zhǔn)確性,更新需求跟蹤矩陣。
2)審查軟件需求。
審查軟件需求的正確性、一致性、完備性、準(zhǔn)確性、可讀性、可測(cè)試性。可采用同行評(píng)審的方法對(duì)軟件需求規(guī)格說明進(jìn)行審查。
3)審查接口需求。
審查軟件接口需求,以確認(rèn)軟件與硬件、用戶、操作人員、其他系統(tǒng)間接口需求的正確性、一致性、準(zhǔn)確性、可測(cè)試性??刹捎猛性u(píng)審的方法對(duì)軟件接口需求進(jìn)行審查。
4)配置管理評(píng)估。
依據(jù)開發(fā)配置管理計(jì)劃和體系文件《配置管理》檢查開發(fā)配置管理過程的完整性、充分性。
5)編寫軟件系統(tǒng)測(cè)試計(jì)劃。
對(duì)軟件系統(tǒng)測(cè)試過程進(jìn)行策劃,編制測(cè)試計(jì)劃并通過評(píng)審。
2.4.2輸入
軟件需求規(guī)格說明;軟件開發(fā)計(jì)劃(含配置管理、質(zhì)量保證計(jì)劃)、軟件需求分析活動(dòng)記錄;變更申請(qǐng)及變更記錄;上一階段工作報(bào)告及異常報(bào)告。
2.4.3輸出
軟件需求評(píng)價(jià)階段工作報(bào)告;異常報(bào)告;需求追蹤矩陣(系統(tǒng)軟件需求與軟件需求之間的映射),軟件系統(tǒng)測(cè)試計(jì)劃。
2.5軟件設(shè)計(jì)評(píng)價(jià)階段
此階段對(duì)軟件需求轉(zhuǎn)化的部件及其詳細(xì)設(shè)計(jì)進(jìn)行驗(yàn)證,確保軟件需求與設(shè)計(jì)的一致性。
2.5.1任務(wù)
1)可追蹤性分析。
審查軟件設(shè)計(jì)與軟件需求條目間的雙向關(guān)系,以確定其雙向追蹤關(guān)系的正確性、一致性、完備性、準(zhǔn)確性。
2)軟件設(shè)計(jì)審查。
審查軟件設(shè)計(jì)的正確性、一致性、完備性、準(zhǔn)確性、可讀性、可測(cè)試性??刹捎猛性u(píng)審的方法對(duì)軟件設(shè)計(jì)說明進(jìn)行審查。
3)接口設(shè)計(jì)審查。
審查軟件接口設(shè)計(jì),以確認(rèn)軟件設(shè)計(jì)與硬件、用戶、操作人員、軟件、其他系統(tǒng)接口的正確性、一致性、完備性、準(zhǔn)確性、可測(cè)試性。可采用同行評(píng)審的方法對(duì)軟件接口設(shè)計(jì)進(jìn)行審查。
4)編寫軟件集成測(cè)試計(jì)劃。
編寫集成測(cè)試計(jì)劃,明確對(duì)軟件部件的集成測(cè)試策略以及測(cè)試的通過準(zhǔn)則,并通過評(píng)審。
2.5.2輸入
軟件設(shè)計(jì)說明;軟件設(shè)計(jì)活動(dòng)記錄;變更申請(qǐng)及變更記錄,上一階段工作報(bào)告及異常報(bào)告。
2.5.3輸出
軟件設(shè)計(jì)評(píng)價(jià)階段工作報(bào)告;異常報(bào)告;需求追蹤矩陣(軟件需求與軟件設(shè)計(jì)之間的映射),集成測(cè)試計(jì)劃。
2.6軟件代碼審查與部件測(cè)試階段
本階段工作是對(duì)軟件代碼進(jìn)行審查,設(shè)計(jì)測(cè)試用例,開展軟件部件測(cè)試。
2.6.1任務(wù)
1)可追蹤性分析。
組織檢查源代碼部件與軟件設(shè)計(jì)條目間的雙向關(guān)系,以確定其雙向追蹤關(guān)系的正確性、一致性、完備性、準(zhǔn)確性。
2)審查源代碼、文檔。
審查軟件源代碼、文檔的正確性、一致性、完備性、準(zhǔn)確性、可讀性、可測(cè)試性??刹捎么a審查、同行評(píng)審的方法對(duì)軟件源代碼、文檔進(jìn)行審查。
3)開展部件測(cè)試。
根據(jù)軟件設(shè)計(jì)說明開展部件測(cè)試用例和測(cè)試流程設(shè)計(jì),并通過評(píng)審,按測(cè)試流程執(zhí)行部件測(cè)試用例,記錄測(cè)試用例運(yùn)行結(jié)果,發(fā)現(xiàn)缺陷并上報(bào),并對(duì)缺陷處理情況進(jìn)行跟蹤。缺陷、異常處理流程如圖3所示。
2.6.2輸入
軟件源代碼;軟件設(shè)計(jì)說明;軟件需求規(guī)格說明;軟件開發(fā)活動(dòng)記錄,變更申請(qǐng)及變更記錄;上一階段工作報(bào)告及異常報(bào)告。
2.6.3輸出
軟件部件測(cè)試說明,軟件缺陷報(bào)告;需求追蹤矩陣(軟件設(shè)計(jì)—部件代碼,部件代碼—部件測(cè)試說明)。
2.7軟件集成與系統(tǒng)測(cè)試階段
本階段按照集成測(cè)試計(jì)劃、系統(tǒng)測(cè)試計(jì)劃開展軟件系統(tǒng)的集成測(cè)試和系統(tǒng)測(cè)試工作。
2.7.1任務(wù)
1)可追蹤性分析。
分析集成測(cè)試用例與軟件需求、系統(tǒng)測(cè)試用例與系統(tǒng)需求間的關(guān)系,以確定其雙向追蹤關(guān)系的正確性、完備性。
2)開展軟件集成測(cè)試。
根據(jù)軟件需求規(guī)格書設(shè)計(jì)集成測(cè)試用例和測(cè)試流程,并通過評(píng)審,執(zhí)行集成測(cè)試,報(bào)告缺陷并進(jìn)行跟蹤處理。
3)開展軟件系統(tǒng)測(cè)試。
根據(jù)系統(tǒng)軟件需求規(guī)格書設(shè)計(jì)系統(tǒng)測(cè)試用例和測(cè)試流程,并通過評(píng)審,執(zhí)行測(cè)試,報(bào)告缺陷并進(jìn)行跟蹤處理。
2.7.2輸入
通過部件測(cè)試的軟件代碼;系統(tǒng)軟件需求規(guī)格書;軟件需求規(guī)格說明;軟件設(shè)計(jì)說明;變更申請(qǐng)及記錄。
2.7.3輸出
集成測(cè)試說明;系統(tǒng)測(cè)試說明;軟件缺陷報(bào)告;軟件測(cè)試報(bào)告。
2.8軟件交付確認(rèn)階段
軟件交付確認(rèn)是軟件驗(yàn)證與確認(rèn)工作在軟件開發(fā)過程的最后一個(gè)階段,該階段應(yīng)按照用戶需求對(duì)軟件系統(tǒng)進(jìn)行最終確認(rèn),一般可采用工廠接受測(cè)試方法或現(xiàn)場(chǎng)接受測(cè)試方法。
在該階段需要完成軟件驗(yàn)證和確認(rèn)報(bào)告,對(duì)整個(gè)工作過程進(jìn)行總結(jié)。
本文通過對(duì)核反應(yīng)堆儀控系統(tǒng)軟件開展驗(yàn)證與確認(rèn)過程的研究,形成軟件驗(yàn)證與確認(rèn)的體系流程,并運(yùn)用在核電廠DCS平臺(tái)軟件的研制項(xiàng)目中,對(duì)提升軟件質(zhì)量,滿足核安全法規(guī)、導(dǎo)則以及核行業(yè)相關(guān)標(biāo)準(zhǔn)對(duì)儀控軟件的功能安全要求,發(fā)揮了不可忽視的作用。當(dāng)然,該流程還有可以改進(jìn)的空間,應(yīng)當(dāng)在項(xiàng)目具體實(shí)施的過程中,根據(jù)軟件開發(fā)實(shí)際情況,針對(duì)不同領(lǐng)域軟件的特性,對(duì)本文闡述的軟件驗(yàn)證與確認(rèn)過程進(jìn)行適應(yīng)性調(diào)整,然后實(shí)施。
[1] 國(guó)家核安全局. HAD12/16-2004 核動(dòng)力廠基于計(jì)算機(jī)的安全重要系統(tǒng)軟件[S]. 北京: 國(guó)家核安全局,2004.
[2] IEEE Computer Society. IEEE Std 1012-2004 IEEE Standard for Software Verification and Validation[S]. New York: IEEE,2004.
[3] IEC. IEC 60880: 2006 nuclear power plants-Instrumentation and control systems important to safety-Software aspects for computer-based systems performing category a functions[S]. GENEV: IEC,2006.
Research on software verification and validation process of reactor instrument and control system
XIAO Anhong, YANG Dawei, ZENG Hui, JIANG Liang, CHEN Xiaofan
(State Key Laboratory of Reactor System Design Technology,Nuclear Power Institute of China, Sichuan Chengdu, 610041, China)
The instrument and control system is important for nuclear security operation such as monitoring and operating and protecting the reactor in software and hardware. The safety and reliability of software need to verify and valid in the lifecycle of software. This paper expounds the defined phases of software verification and validation such as the activities, inputs and outputs within the development of instrument and control system software. This can instruct the verification and validation actions.
reactor, Instrument and control system; software; verification and validation
10.3969/j.issn.2095-509X.2015.05.017
2015-04-10
肖安洪(1981—),男,重慶人,中國(guó)核動(dòng)力研究設(shè)計(jì)院工程師,主要從事核動(dòng)力裝置軟件研發(fā)及高性能計(jì)算機(jī)技術(shù)應(yīng)用工作。
TP311
A
2095-509X(2015)05-0073-05