周長(zhǎng)榮
摘 要:針對(duì)重大專(zhuān)項(xiàng)消化吸收課題數(shù)字化核電站控制系統(tǒng)平臺(tái)原理樣機(jī)研制項(xiàng)目過(guò)程總結(jié),結(jié)合軟件驗(yàn)證和確認(rèn)的基本要素,旨在概述基于軟件的分散控制系統(tǒng)工程應(yīng)用開(kāi)發(fā)階段的質(zhì)量管理策略。對(duì)核電站在出廠(chǎng)前控制軟件開(kāi)發(fā)的質(zhì)量提供基本的活動(dòng)支持,從而提高軟件生命周期內(nèi)的質(zhì)量,以滿(mǎn)足系統(tǒng)開(kāi)發(fā)需求。
關(guān)鍵詞:DCIS 軟件 V&V 質(zhì)量控制 管理
中圖分類(lèi)號(hào):HL362.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-3973(2013)009-122-03
1 引言
隨著科技的發(fā)展,數(shù)字化儀控系統(tǒng)設(shè)備在核電領(lǐng)域的應(yīng)用范圍逐漸擴(kuò)大。越來(lái)越多的儀控設(shè)備開(kāi)發(fā)涉及硬件的開(kāi)發(fā)、軟件的開(kāi)發(fā)及軟/硬件的集成。為滿(mǎn)足國(guó)內(nèi)外法規(guī)/標(biāo)準(zhǔn)的要求,軟件及基于軟件的系統(tǒng)均采用驗(yàn)證與確認(rèn)(Verification and Validation,V&V)的策略以確保開(kāi)發(fā)過(guò)程受控、檢驗(yàn)及證明產(chǎn)品的性能、保證相應(yīng)的需求已正確實(shí)現(xiàn)以保證軟件或系統(tǒng)(基于軟件)的置信度。
V&V是軟件開(kāi)發(fā)過(guò)程的一部分,它包括一系列系統(tǒng)化的評(píng)審與測(cè)試活動(dòng),其貫穿于軟件開(kāi)發(fā)或基于軟件的系統(tǒng)開(kāi)發(fā)生命周期全過(guò)程。
2 軟件V&V概述
因?yàn)檐浖幸恍┨赜械姆矫嫘枰豢紤],不同于以往設(shè)備(硬件)的質(zhì)量保證(QA)及質(zhì)量控制(QC),在軟件開(kāi)發(fā)時(shí)往往關(guān)注軟件V&V,確切地說(shuō),軟件V&V是系統(tǒng)V&V的一部分。系統(tǒng)一般由硬件作支撐運(yùn)行,硬件部分與生產(chǎn)、制造等相關(guān)特有活動(dòng),通常由QA、QC確保其產(chǎn)品質(zhì)量。對(duì)于系統(tǒng)分配至硬件的需求及設(shè)計(jì)、涉及與軟件相關(guān)的硬件產(chǎn)品、硬件設(shè)計(jì)的過(guò)程文件、活動(dòng)記錄文件等,軟件及系統(tǒng)V&V的技術(shù)方法均適用。
V&V過(guò)程需要文件控制、需求管理、配置管理等輔助活動(dòng)支持,用以提高V&V的執(zhí)行效率。V&V過(guò)程涉及與軟件開(kāi)發(fā)一樣的控制與管理問(wèn)題。其結(jié)果同樣可用于第三方或公司內(nèi)部專(zhuān)業(yè)質(zhì)保人員評(píng)審。
2.1 V&V與QA的基本關(guān)系
V&V是質(zhì)量保證(QA)的一部分。V&V既注重產(chǎn)品質(zhì)量,同樣也注重產(chǎn)品開(kāi)發(fā)過(guò)程。V&V的“驗(yàn)證”關(guān)注過(guò)程的實(shí)施。這點(diǎn)基本與QA思路一致。
當(dāng)討論核電站基于軟件的數(shù)字系統(tǒng)時(shí),V&V與QA的關(guān)系可能被混淆。在上世紀(jì)末,軟件QA計(jì)劃一般遵循IEEE Std 730,其將軟件分類(lèi)為關(guān)鍵軟件和非關(guān)鍵軟件。軟件QA包含軟件開(kāi)發(fā)生命周期、編碼標(biāo)準(zhǔn)、管理控制與V&V。為澄清術(shù)語(yǔ)及應(yīng)用,EPRI的報(bào)告重新定義了核電QA與軟件QA的概念:
(1)核電QA——10 CFR 50附錄B中規(guī)定安全相關(guān)核電系統(tǒng)必須執(zhí)行的QA活動(dòng)。
(2)軟件QA——IEEE 730描述的對(duì)于關(guān)鍵軟件和非關(guān)鍵軟件的QA活動(dòng)。
所以,V&V可以被認(rèn)為是QA的活動(dòng)子集。若一套數(shù)字控制或保護(hù)系統(tǒng)在核電QA大綱下執(zhí)行,那么必然包含完整的V&V活動(dòng)。反之,V&V的執(zhí)行并不意味著執(zhí)行了核電QA。V&V適用于確?;谲浖臄?shù)字控制系統(tǒng)的質(zhì)量。
QA應(yīng)包含軟件V&V計(jì)劃及相應(yīng)等級(jí)的V&V活動(dòng)需求。隨著系統(tǒng)工程的發(fā)展,IEEE Std. 1012- 2004逐漸取代軟件QA的概念,更注重對(duì)過(guò)程的管理、執(zhí)行與產(chǎn)品的質(zhì)量控制。4個(gè)軟件完整度等級(jí)的定義量化了軟件關(guān)鍵的數(shù)量,有效地協(xié)助項(xiàng)目組織對(duì)于資源的合理分配,以達(dá)到全面、有效地保證軟件質(zhì)量。
項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)正式、清晰地記錄V&V活動(dòng)數(shù)據(jù),供項(xiàng)目QA專(zhuān)業(yè)執(zhí)行人員審查。
2.2 V&V與CM的基本關(guān)系
配置管理(CM)必須滿(mǎn)足項(xiàng)目QA計(jì)劃的要求。CM必須確保:
(1)項(xiàng)目開(kāi)發(fā)期間,每一個(gè)文檔版本的使用是正確的。
(2)在測(cè)試執(zhí)行期間,硬件、軟件、或系統(tǒng)參數(shù)的使用是正確的。
CM與V&V是并行的活動(dòng)。CM的結(jié)果可用于V&V評(píng)審活動(dòng)的輸入。若CM要求嚴(yán)格地執(zhí)行,V&V在某些方面的活動(dòng)可能顯得低效。當(dāng)項(xiàng)目組織使用螺旋型生命周期模型(迭代開(kāi)發(fā))時(shí),CM是尤其重要的。
項(xiàng)目開(kāi)發(fā)組織必須謹(jǐn)慎地控制涉及軟件功能執(zhí)行的元素,保持其一致性,從而確保V&V的結(jié)果可以支持現(xiàn)行的配置。在開(kāi)發(fā)期間,如果不能確定被安裝的配置是否與已存在的配置數(shù)據(jù)一致,即使這個(gè)系統(tǒng)被成功地開(kāi)發(fā)(伴隨相適應(yīng)的V&V活動(dòng)),那么其意義也是毫無(wú)價(jià)值的。
3 V&V過(guò)程
控制系統(tǒng)工程應(yīng)用開(kāi)發(fā)過(guò)程中的V&V可遵循IEEE Std. 1012-2004標(biāo)準(zhǔn)或國(guó)際行業(yè)協(xié)會(huì)各報(bào)告中的指導(dǎo)內(nèi)容開(kāi)展相關(guān)質(zhì)量控制與管理活動(dòng)。
控制系統(tǒng)開(kāi)發(fā)生命周期及相關(guān)V&V過(guò)程與活動(dòng),如圖1所示。
圖1 數(shù)字化控制系統(tǒng)開(kāi)發(fā)過(guò)程V模型
通常,V&V輸出由V&V團(tuán)隊(duì)生成。對(duì)于安全級(jí)系統(tǒng),V&V團(tuán)隊(duì)必須與設(shè)計(jì)團(tuán)隊(duì)相互獨(dú)立,保持充分的獨(dú)立性,確保V&V流程不受設(shè)計(jì)流程中的進(jìn)度和資源的影響。本項(xiàng)目中涉及的系統(tǒng)屬于非安全系統(tǒng),因此保持項(xiàng)目組內(nèi)部的V&V技術(shù)的獨(dú)立性即可,來(lái)自設(shè)計(jì)團(tuán)隊(duì)的工程師可以進(jìn)入V&V團(tuán)隊(duì)執(zhí)行驗(yàn)證團(tuán)隊(duì)的任務(wù),但注意執(zhí)行此任務(wù)的產(chǎn)品項(xiàng)必須不是本人開(kāi)發(fā)的。基于不同的完整度等級(jí),驗(yàn)證任務(wù)也可以由開(kāi)發(fā)團(tuán)隊(duì)來(lái)生成,但這個(gè)過(guò)程及結(jié)果應(yīng)由V&V團(tuán)隊(duì)來(lái)審查或見(jiàn)證。
為檢查軟件生命周期內(nèi)所定義的階段之間傳遞信息的正確性,應(yīng)通過(guò)驗(yàn)證來(lái)控制、保證。驗(yàn)證過(guò)程覆蓋了從系統(tǒng)需求規(guī)格書(shū)階段到設(shè)計(jì)、運(yùn)行調(diào)試、維護(hù)和修改階段的全過(guò)程。
每個(gè)階段驗(yàn)證的目的是為了確認(rèn)本階段開(kāi)發(fā)的產(chǎn)品(輸出)正確地實(shí)施了本階段的輸入要求。每個(gè)階段的驗(yàn)證過(guò)程包括對(duì)要求驗(yàn)證的輸入文件、編碼和數(shù)據(jù)的審查,產(chǎn)生驗(yàn)證結(jié)果文件。
確認(rèn)的目的是為了證明軟件和硬件集成的系統(tǒng)正確地執(zhí)行了系統(tǒng)需求規(guī)格書(shū)定義的功能。要求通過(guò)集成的系統(tǒng)全面測(cè)試來(lái)判定該系統(tǒng)是否能完全地、正確地、一致地和精確地執(zhí)行所有特定的功能。在確認(rèn)過(guò)程中,該系統(tǒng)與其他系統(tǒng)及用戶(hù)接口的完整性、正確性、一致性和精確性得到評(píng)估。確認(rèn)必須評(píng)估關(guān)鍵性能參數(shù)、重要的功能和其他的系統(tǒng)要求已滿(mǎn)足,必須證明控制系統(tǒng)完成其需求規(guī)格書(shū)的要求。
確認(rèn)是基于系統(tǒng)需求規(guī)格書(shū)的基礎(chǔ)上。通常確認(rèn)活動(dòng)通過(guò)FTs(工廠(chǎng)試驗(yàn)),F(xiàn)ATs(工廠(chǎng)驗(yàn)收試驗(yàn))和SATs(現(xiàn)場(chǎng)驗(yàn)收試驗(yàn))實(shí)施。
4 過(guò)程管理
4.1 組織需求
根據(jù)RG 1.168-2004,“用于核電站安全系統(tǒng)的數(shù)字計(jì)算機(jī)項(xiàng)目的驗(yàn)證、確認(rèn)、審核、和審計(jì)”,IV&V(獨(dú)立驗(yàn)證與確認(rèn))活動(dòng)對(duì)于評(píng)審人員有特定的獨(dú)立等級(jí)需求。IV&V評(píng)審的深度基于安全等級(jí)分類(lèi)。
對(duì)于安全級(jí)系統(tǒng)而言,NRC與NNSA均要求驗(yàn)證人員應(yīng)該不同于那些執(zhí)行初始設(shè)計(jì)的人員,應(yīng)該由負(fù)責(zé)V&V的組織為V&V的充分性承擔(dān)責(zé)任。負(fù)責(zé)V&V的人員必須與負(fù)責(zé)設(shè)計(jì)的人員相互獨(dú)立。必須要有充分的獨(dú)立性,以確保V&V流程不受設(shè)計(jì)流程中的進(jìn)度和資源的影響。對(duì)于非安全級(jí)的控制系統(tǒng)項(xiàng)目而言,V&V活動(dòng)的深度與獨(dú)立性可適當(dāng)降低要求,但必須滿(mǎn)足最基本的技術(shù)獨(dú)立需求。
V&V活動(dòng)期間,管理控制關(guān)注以下幾個(gè)方面:
(1)文件/軟件/測(cè)試項(xiàng)的傳遞;(2)文件/測(cè)試事件報(bào)告和日志;(3)文件/測(cè)試總結(jié)報(bào)告;(4)V&V狀態(tài)管理;(5)驗(yàn)證工程師所執(zhí)行的活動(dòng)內(nèi)容;(6)可審查的配置管理執(zhí)行。
4.2 傳遞控制
V&V與開(kāi)發(fā)過(guò)程在許多項(xiàng)目的執(zhí)行中存在一定的瓶頸。尤其是雙方在過(guò)程產(chǎn)物傳遞的控制過(guò)程。無(wú)論是設(shè)計(jì)中間產(chǎn)品提交給V&V團(tuán)隊(duì),還是V&V團(tuán)隊(duì)將評(píng)審結(jié)果反饋至開(kāi)發(fā)小組,其中設(shè)計(jì)團(tuán)隊(duì)和V&V團(tuán)隊(duì)的關(guān)系在第3章進(jìn)行了描述。文件和項(xiàng)目文檔的維護(hù)是設(shè)計(jì)和V&V流程中的一個(gè)關(guān)鍵元素。在設(shè)計(jì)團(tuán)隊(duì)和V&V團(tuán)隊(duì)之間傳遞的可驗(yàn)證材料、交流信息可通過(guò)項(xiàng)目文控工程師進(jìn)行傳遞。該工程師必須具備良好的CM執(zhí)行意識(shí),確認(rèn)工程輸出符合過(guò)程程序要求,保留當(dāng)前和過(guò)往歷史版本,并且保留發(fā)布的記錄和已驗(yàn)證輸出的記錄。
4.3 問(wèn)題跟蹤
在執(zhí)行V&V任務(wù)期間檢測(cè)到的任何差異都必須進(jìn)行記錄。產(chǎn)品相關(guān)負(fù)責(zé)人需控制每一份差異報(bào)告,并且在需要時(shí)通知技術(shù)經(jīng)理,如未及時(shí)匯報(bào),差異報(bào)告至少應(yīng)包含在V&V階段總結(jié)報(bào)告中。
所有的差異經(jīng)分析后會(huì)引申出一定的問(wèn)題,而問(wèn)題跟蹤確保V&V活動(dòng)中發(fā)現(xiàn)的問(wèn)題得以被記錄、追蹤并最終落實(shí)到具體的人員解決。典型的需要記錄的信息包括:
(1)問(wèn)題發(fā)生的時(shí)間;(2)問(wèn)題發(fā)生的位置;(3)問(wèn)題發(fā)生前系統(tǒng)的狀態(tài);(4)發(fā)生問(wèn)題的證據(jù);(5)導(dǎo)致問(wèn)題發(fā)生的條件/輸入;(6)描述系統(tǒng)理想狀態(tài)的運(yùn)行情況,以及相關(guān)的需求;(7)解決問(wèn)題的優(yōu)先級(jí)。
4.4 軟件相關(guān)的信息安全控制與管理
信息安全是保證項(xiàng)目產(chǎn)品質(zhì)量與V&V活動(dòng)正確展開(kāi)的重要環(huán)節(jié),其活動(dòng)主要包括防止外部人員惡意竊取或篡改軟件產(chǎn)品、資料或驗(yàn)證記錄,以及內(nèi)部人員非故意的信息泄漏、意外修改。
5 控制及執(zhí)行策略
本章節(jié)提供了軟件質(zhì)量控制及執(zhí)行V&V任務(wù)時(shí)要遵循的通用技術(shù)和方法。單獨(dú)技術(shù)或集成技術(shù)可用于執(zhí)行一項(xiàng)驗(yàn)證/確認(rèn)任務(wù),以控制軟件及其產(chǎn)品的質(zhì)量。
5.1 清單核查
清單用于協(xié)助產(chǎn)品的驗(yàn)證和確認(rèn)。清單中的內(nèi)容提供了執(zhí)行驗(yàn)證的工程師在評(píng)審過(guò)程中應(yīng)考慮到的基本事項(xiàng)集,可應(yīng)用于各階段、各種的設(shè)計(jì)產(chǎn)品。核查清單提供了一種可量化的評(píng)審方式。
5.2 檢查/分析
檢查/分析包含了研究被驗(yàn)證的產(chǎn)品。需要確認(rèn)設(shè)計(jì)的某些方面,可以是正式記錄的評(píng)估和計(jì)算,但不限于正式證明、圖表分析方法和相關(guān)技術(shù)。分析包括完整性和正確性的評(píng)估。分析應(yīng)重點(diǎn)關(guān)注以下幾個(gè)方面:
(1)危害和風(fēng)險(xiǎn)分析;(2)可跟蹤性分析;(3)數(shù)據(jù)分析;(4)COTS和質(zhì)量鑒定審核前的產(chǎn)品分析;(5)V&V回歸(變更)分析;(6)工具分析。這些方法適用于整個(gè)系統(tǒng)/軟件開(kāi)發(fā)的生命周期。
5.3 測(cè)試策略
測(cè)試適用于開(kāi)發(fā)的各個(gè)方面。測(cè)試由系統(tǒng)或設(shè)備在具體條件下的操作、結(jié)果記錄、和基于結(jié)果做出正確性評(píng)價(jià)組成。測(cè)試應(yīng)該自下而上地執(zhí)行,低等級(jí)目標(biāo)測(cè)試的執(zhí)行先于高等級(jí)組合。
測(cè)試可以分為兩類(lèi):功能測(cè)試和結(jié)構(gòu)測(cè)試。功能測(cè)試(黑盒測(cè)試)用于確定模塊或系統(tǒng)的執(zhí)行符合具體的需求。功能測(cè)試的測(cè)試用例直接由需求規(guī)范驅(qū)動(dòng),并且以模塊或系統(tǒng)輸入和輸出為基礎(chǔ)。該方法對(duì)于檢查模塊接口非常有用。結(jié)構(gòu)測(cè)試(白盒測(cè)試)評(píng)估軟件的內(nèi)部結(jié)構(gòu)。結(jié)構(gòu)測(cè)試應(yīng)該通過(guò)分支和路徑測(cè)試的結(jié)合來(lái)完成。分支測(cè)試涉及生成測(cè)試用例,以提供充分的可信度,認(rèn)為模塊中所有的分支都可以到達(dá)。在路徑測(cè)試中,開(kāi)發(fā)測(cè)試用例以提供充分的可信度,認(rèn)為所有的路徑(所有模塊中可行的分支結(jié)合)都被測(cè)試到。功能測(cè)試和結(jié)構(gòu)測(cè)試的結(jié)合確保應(yīng)用中沒(méi)有意想不到的功能存在。
對(duì)于待執(zhí)行的各測(cè)試,應(yīng)提供測(cè)試規(guī)范、測(cè)試程序、測(cè)試結(jié)果報(bào)告、和任何差異報(bào)告。測(cè)試設(shè)備必須控制和記錄。測(cè)試工具必須校準(zhǔn)、控制、和記錄。
測(cè)試方法采用低層級(jí)到高層級(jí)的方案。但是,為了確認(rèn)合適的集成或低等級(jí)實(shí)體組合(元素、處理器模塊、或通道)的執(zhí)行功能,有必要采取重疊的功能測(cè)試。由于硬件組裝,軟件設(shè)計(jì)和與硬件集成,應(yīng)執(zhí)行一系列硬件和軟件測(cè)試?,F(xiàn)場(chǎng)驗(yàn)收測(cè)試(SAT)作為安裝流程的一部分執(zhí)行?,F(xiàn)場(chǎng)驗(yàn)收測(cè)試在執(zhí)行以完成安全系統(tǒng)開(kāi)發(fā)的V&V范圍之外。主要測(cè)試活動(dòng)有:
(1)機(jī)柜硬件測(cè)試;(2)單元軟件測(cè)試;(3)軟件集成測(cè)試;(4)系統(tǒng)集成測(cè)試;(5)驗(yàn)收測(cè)試;(6)設(shè)備質(zhì)量鑒定測(cè)試;(7)回歸測(cè)試。
6 記錄與度量
在控制系統(tǒng)開(kāi)發(fā)過(guò)程的質(zhì)量控制和管理過(guò)程中,記錄的控制和管理將是重要的一環(huán)。在法規(guī)和標(biāo)準(zhǔn)中,對(duì)于記錄的控制和管理有著強(qiáng)制的要求。10 CFR 50附錄A中要求在核電廠(chǎng)的整個(gè)生命周期期間,安全重要系統(tǒng)和設(shè)備的設(shè)計(jì)、制造、安裝的記錄必須由核電廠(chǎng)執(zhí)照持有者進(jìn)行控制和管理。同時(shí)ASME NQA-1要求,記錄必須提供描述滿(mǎn)足質(zhì)量需求的相關(guān)活動(dòng)的證明文件。在記錄的控制和管理過(guò)程中,考慮將圖紙、技術(shù)規(guī)格書(shū),采購(gòu)文件,測(cè)試設(shè)備檢定程序和檢定報(bào)告,不符合項(xiàng)報(bào)告和糾正措施報(bào)告,審查、檢查、監(jiān)查、監(jiān)督工作執(zhí)行報(bào)告,試驗(yàn)和材料分析的結(jié)果都將作為記錄的一部分。
6.1 驗(yàn)證與確認(rèn)記錄
質(zhì)量保證記錄中包括了驗(yàn)證和確認(rèn)過(guò)程中產(chǎn)生的驗(yàn)證記錄和測(cè)試記錄,并且在項(xiàng)目的開(kāi)展過(guò)程中合理地控制和管理這些記錄。根據(jù)消化吸收原理樣機(jī)研制項(xiàng)目實(shí)踐經(jīng)驗(yàn),對(duì)于生命周期的不同階段,驗(yàn)證的記錄可以采用審查清單的方式,選擇合適的審查內(nèi)容,編制不同的審查記錄清單。
而測(cè)試的記錄則重點(diǎn)要求測(cè)試配置記錄,測(cè)試執(zhí)行記錄,測(cè)試數(shù)據(jù)記錄,不符合項(xiàng)記錄與糾正措施記錄的完整性、一致性。以確保在某些分析活動(dòng)下,可以再次復(fù)現(xiàn)測(cè)試活動(dòng)。
6.2 度量探索
度量活動(dòng)適用于整個(gè)V&V流程中,以幫助分析、預(yù)測(cè)、確定有疑問(wèn)的傾向。這些信息將盡快反饋到設(shè)計(jì)和V&V流程中,以糾正管理缺陷和減少返工。
7 結(jié)束語(yǔ)
本文對(duì)基于重大專(zhuān)項(xiàng)消化吸收課題數(shù)字化核電站控制系統(tǒng)原理樣機(jī)研制項(xiàng)目V&V活動(dòng)進(jìn)行概述,其過(guò)程滿(mǎn)足國(guó)內(nèi)外法律、法規(guī)要求,并適用于核電站其它非安全相關(guān)的儀控子系統(tǒng)生命周期內(nèi)軟件的V&V活動(dòng)。
參考文獻(xiàn):
[1] 龔益.核電廠(chǎng)安全系統(tǒng)軟件驗(yàn)證和確認(rèn)方法探索[J].低壓電器,2004(5):27.
[2] RG 1.153-2011:Criteria for Use of Computers in Safety Systems of Nuclear Power Plants.
[3] TR-103291-CD,1998:Handbook for Verification and Validation of Digital Systems.
[4] IEEE Std 730-1998:Software Quality Assurance Plans.
[5] ASME NQA-1-2004,Quality Assurance Requirements for Nuclear Facility Applications.
[6] IEEE Std 1012-2004:Standard for Software Verification and Validation.
[7] IEEE Std 828-1998:Software Configuration Management Plan.
[8] IAEA TRS No.384,1999:Verification and Validation of Software Related to Nuclear Power Plant Instrumentation and Control.
[9] RG 1.168-2004:Verification, Validation, Reviews, and Audits for Digital Computer Software Used in Safety Systems of Nuclear Power Plants.
[10] SEI-CM-13-1.1,1988,Introduction to Software Verification and Validation.
[11] HAD 106-2004:核電廠(chǎng)基于計(jì)算機(jī)的安全重要系統(tǒng)軟件.
[12] IEEE Std 1028-2008:Standard for Software Reviews and Audits.