一種綜合計(jì)算軟件驗(yàn)證與確認(rèn)功效的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于核電技術(shù)領(lǐng)域,涉及用于核電站確保高可靠性的軟件驗(yàn)證與確認(rèn)的方 法。
【背景技術(shù)】
[0002] 核電站儀控系統(tǒng)是核電站的中樞神經(jīng),肩負(fù)著控制核電站正常運(yùn)行和事故處理的 重大使命,確保在任何工況下核電站的安全可靠運(yùn)行。隨著計(jì)算機(jī)系統(tǒng)在核電站的應(yīng)用日 益廣泛,它們對于核電站安全的重要性也不斷增加。在數(shù)字化儀控系統(tǒng)用于核電站過程中, 為保證核電站安全性,人們在操作過程中尋找和糾正在設(shè)計(jì)和執(zhí)行階段所發(fā)生的軟件錯(cuò)誤 并加以改進(jìn)的努力要進(jìn)行多次??紤]到為確保安全有關(guān)的計(jì)算機(jī)應(yīng)用所要求的高質(zhì)量軟 件,必須要進(jìn)行軟件的驗(yàn)證Verification與確認(rèn)Validation (V&V) 〇
[0003] V&V技術(shù)作為暴露軟件缺陷,提高軟件質(zhì)量的最有效手段之一,其作用是驗(yàn)證系 統(tǒng)生命周期內(nèi)每一個(gè)階段的產(chǎn)品能夠滿足前一階段提出的需求,確認(rèn)集成后的計(jì)算機(jī)系統(tǒng) (硬件和軟件)符合用戶提出的功能、性能和接口需求。
[0004] 計(jì)算軟件V&V功效用于量化評(píng)價(jià)V&V任務(wù)結(jié)果,度量V&V任務(wù)質(zhì)量,為V&V項(xiàng)目資 源的調(diào)配和改進(jìn)提供指導(dǎo)和依據(jù)。
[0005] IEEE std. 1012-2004附錄E中推薦了計(jì)算軟件V&V功效的方法:從軟件開發(fā)生命 周期各階段V&V活動(dòng)的有效性和效率兩個(gè)方面對軟件V&V功效進(jìn)行評(píng)價(jià),計(jì)算公式如下:
[0014] V&V功效可通過計(jì)算軟件V&V的效率Vrff和有效性K 進(jìn)行評(píng)價(jià)?,F(xiàn)有軟件v&v 功效的方法,除了可以在軟件V&V各階段活動(dòng)全部完成后對軟件V&V功效進(jìn)行評(píng)價(jià)外,還具 有如下缺點(diǎn):
[0015] a).該方法僅計(jì)算軟件V&V的功效,未量化軟件V&V功效高低對于提高軟件可靠性 的影響;
[0016] b).該方法只能在軟件V&V各階段活動(dòng)全部完成后,才能計(jì)算軟件V&V功效,無法 實(shí)時(shí)評(píng)估,對于軟件V&V活動(dòng)改進(jìn)的指導(dǎo)意義有限;
[0017] c).該方法需收集除軟件V&V外其他活動(dòng)(例如軟件設(shè)計(jì)審查、軟件測試、軟件調(diào) 試等)的缺陷數(shù)據(jù)才能評(píng)估軟件V&V的有效性,而這些數(shù)據(jù)由于涉及其他專業(yè)或公司通常 很難獲得;
[0018] d).該方法只能對軟件V&V活動(dòng)整體進(jìn)行評(píng)估,無法評(píng)估具體每個(gè)執(zhí)行人的功效;
[0019] e).該方法的評(píng)估結(jié)果只能說明軟件V&V活動(dòng)最終整體的功效高低,無法實(shí)時(shí)分 析軟件V&V當(dāng)前功效,也無法提供軟件V&V活動(dòng)的改進(jìn)方向。
【發(fā)明內(nèi)容】
[0020] 本發(fā)明提供一種綜合計(jì)算軟件驗(yàn)證與確認(rèn)功效的方法,在完成基本評(píng)估功能的基 礎(chǔ)上,使評(píng)估更具有實(shí)時(shí)性,評(píng)估所用數(shù)據(jù)量更少,評(píng)估結(jié)果能夠更為有效的指導(dǎo)軟件V&V 活動(dòng)改進(jìn)。
[0021] 為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明公開一種綜合計(jì)算軟件驗(yàn)證與確認(rèn)功效的方法, 其特征在于,方法具體包括以下步驟:
[0022] 步驟1,數(shù)據(jù)收集,在軟件驗(yàn)證與確認(rèn)V&V執(zhí)行過程中,收集和匯總V&V相關(guān)的數(shù) 據(jù),生成V&V缺陷數(shù)據(jù)匯總表,所述V&V缺陷數(shù)據(jù)匯總表包括階段、天數(shù)、執(zhí)行人、工作時(shí)間, 缺陷數(shù)以及影響級(jí)別;
[0023] 步驟2,數(shù)據(jù)分析,對所述缺陷數(shù)據(jù)匯總表中的數(shù)據(jù)進(jìn)行分類統(tǒng)計(jì),生成V&V功效 計(jì)算數(shù)據(jù)統(tǒng)計(jì)表,所述V&V功效計(jì)算數(shù)據(jù)統(tǒng)計(jì)表包括天數(shù)D,工作時(shí)間H,累計(jì)時(shí)間T,標(biāo)準(zhǔn)化 缺陷數(shù)E,累計(jì)缺陷數(shù)N,失效率Λ ;
[0024] 步驟3,功效計(jì)算,利用泊松模型(LP)建立已發(fā)現(xiàn)缺陷與軟件失效率的數(shù)學(xué)模型, 根據(jù)所述功效計(jì)算數(shù)據(jù)統(tǒng)計(jì)表中數(shù)據(jù)進(jìn)行數(shù)據(jù)擬合獲取LP曲線,獲取失效率衰減參數(shù)和 初始失效率,計(jì)算所得V&V團(tuán)隊(duì)、個(gè)人的整體及各階段V&V功效量化數(shù)據(jù),生成V&V功效計(jì) 算結(jié)果統(tǒng)計(jì)表;
[0025] 步驟4,結(jié)果分析,將量化數(shù)據(jù)與標(biāo)準(zhǔn)模型對比分析,對當(dāng)前V&V活動(dòng)給出定性評(píng) 價(jià),并對后續(xù)V&V工作提供具有針對性的改進(jìn)指導(dǎo)。
[0026] 采用本發(fā)明的一種綜合計(jì)算軟件驗(yàn)證與確認(rèn)功效的方法,在V&V活動(dòng)開展過程 中,即可通過數(shù)據(jù)統(tǒng)計(jì)和曲線擬合,建立軟件可靠性(失效率)與已發(fā)現(xiàn)缺陷的數(shù)學(xué)模型, 利用模型預(yù)測軟件可靠性變化趨勢,之后使用缺陷的預(yù)測數(shù)據(jù)對比實(shí)際數(shù)據(jù),得出軟件V&V 功效,即軟件V&V的效率Vrff和有效性K rff。通過將量化數(shù)據(jù)與標(biāo)準(zhǔn)模型對比分析,可對當(dāng) 前V&V活動(dòng)給出評(píng)價(jià),并為后續(xù)V&V工作的開展提供具有針對性的改進(jìn)指導(dǎo),而且還主要解 決了如下問題:
[0027] a).建立了軟件V&V功效與軟件可靠性的數(shù)學(xué)模型,量化軟件V&V功效高低對于提 高軟件可靠性的影響;
[0028] b).本方法可在軟件V&V執(zhí)行過程中,實(shí)時(shí)地量化評(píng)估軟件V&V功效,以便及時(shí)對 軟件V&V活動(dòng)進(jìn)行調(diào)整,提高軟件V&V活動(dòng)質(zhì)量,無需等待軟件V&V活動(dòng)全部完成后才能進(jìn) tx功效評(píng)估;
[0029] c).只需統(tǒng)計(jì)軟件V&V所發(fā)現(xiàn)的缺陷數(shù)據(jù)即可評(píng)估軟件V&V的有效性,無需收集軟 件V&V以外其他活動(dòng)的缺陷數(shù)據(jù);
[0030] d).可對參與軟件V&V的每一個(gè)人的功效進(jìn)行評(píng)估;
[0031 ] e).結(jié)合本方法可建立軟件V&V功效標(biāo)準(zhǔn)模型,將具體項(xiàng)目的軟件V&V功效評(píng)估結(jié) 果與標(biāo)準(zhǔn)模型對比,實(shí)時(shí)分析功效數(shù)據(jù),提供軟件V&V活動(dòng)改進(jìn)方向。
[0032] 說明書附圖
[0033] 圖1軟件驗(yàn)證與確認(rèn)功效計(jì)算過程
[0034] 圖2軟件失效率與已發(fā)現(xiàn)缺陷的關(guān)系
[0035] 圖3需求及設(shè)計(jì)V&V軟件失效率與已發(fā)現(xiàn)缺陷的關(guān)系 具體實(shí)施例
[0036] 為了使本發(fā)明的發(fā)明目的、技術(shù)方案及其技術(shù)效果更加清晰,以下結(jié)合附圖和具 體實(shí)施方式,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解的是,本說明書中描述的具體實(shí)施方 式僅僅是為了解釋本發(fā)明,并非為了限定本發(fā)明。
[0037] 如圖1所示,軟件驗(yàn)證與確認(rèn)功效計(jì)算過程包括4個(gè)步驟:
[0038] 步驟1,數(shù)據(jù)收集;
[0039] 在V&V執(zhí)行過程中,收集和匯總V&V發(fā)現(xiàn)的缺陷數(shù)據(jù),并填寫下表1。其中,
[0040] "階段"根據(jù)軟件V&V的過程模型分為"需求V&V"、"設(shè)計(jì)V&V"、"代碼(實(shí)現(xiàn))V&V"、 "測試V&V" ;
[0041] "天數(shù)"記錄該項(xiàng)目執(zhí)行的第幾工作日;
[0042] "執(zhí)行人"為V&V工作執(zhí)行人員姓名;
[0043] "工作時(shí)間"記錄在該工作日工作人員實(shí)際執(zhí)行多少小時(shí)的V&V任務(wù);
[0044] "缺陷數(shù)"記錄當(dāng)天發(fā)現(xiàn)的缺陷數(shù)量;
[0045] "影響級(jí)別X"根據(jù)缺陷的影響程度進(jìn)行分級(jí),本例中分為4個(gè)級(jí)別。
[0046] 以表1的數(shù)據(jù)為例,需求V&V第2天共有兩名人員分別執(zhí)行了 6小時(shí)和8小時(shí),發(fā) 現(xiàn)缺陷3個(gè)和2個(gè)。
[0047]
[0048] 表1 V&V缺陷數(shù)據(jù)匯總表
[0049] 步驟2,數(shù)據(jù)分析;
[0050] 對缺陷數(shù)據(jù)(表1)進(jìn)行分類統(tǒng)計(jì),生成功效計(jì)算數(shù)據(jù)統(tǒng)計(jì)表(表2)。其中,
[0051] "天數(shù)":記錄該項(xiàng)目/階段執(zhí)行的第幾工作日,計(jì)算單階段V&V功效時(shí)從1開始計(jì) 算單階段的執(zhí)行天數(shù),計(jì)算全周期V&V功效時(shí)從1開始連續(xù)計(jì)算執(zhí)行天數(shù),不分階段;
[0052] "工作時(shí)間":計(jì)算單日對該軟件V&V的執(zhí)行時(shí)間H ;計(jì)算公式見式1,p表示當(dāng)日執(zhí) 行V&V的人數(shù),Ill表示第i個(gè)人的當(dāng)日執(zhí)行時(shí)間。
[0054] "累計(jì)時(shí)間":計(jì)算截至到第d天軟件V&V累計(jì)的執(zhí)行總時(shí)長T ;計(jì)算公式見式2。
[0056] "標(biāo)準(zhǔn)化缺陷數(shù)":計(jì)算單日發(fā)現(xiàn)的標(biāo)準(zhǔn)化缺陷數(shù)量E ;計(jì)算公式見式3, p表示當(dāng)日 執(zhí)行V&V的人數(shù),q表示缺陷影響分級(jí)數(shù),表示級(jí)別j的缺陷影響標(biāo)準(zhǔn)化系數(shù),e U表示 第i個(gè)人當(dāng)日發(fā)現(xiàn)的影響級(jí)別為j的問題。
[0058] "累計(jì)缺陷數(shù)":計(jì)算截至到第d天軟件V&V累計(jì)發(fā)現(xiàn)的標(biāo)準(zhǔn)化缺陷數(shù)N ;計(jì)算公式 見式4。
[0060] "失效率":計(jì)算當(dāng)日的軟件失效率Λ ;計(jì)算公式見式5。
[0063] 表2 V&V功效計(jì)算數(shù)據(jù)統(tǒng)計(jì)表
[0064] 步驟3,功效計(jì)算;
[0065] 本方法選擇當(dāng)前技術(shù)比較成熟的泊松(LP)模型建立已發(fā)現(xiàn)缺陷與軟件可靠性 (失效率)的數(shù)學(xué)模型。
[0066] LP模型的軟件失效率λ與已發(fā)現(xiàn)缺陷n。的關(guān)系如公式7所示,已發(fā)現(xiàn)缺陷η。與 執(zhí)行時(shí)間τ的關(guān)系如公式8所示。其中,Θ為失效率衰減參數(shù),λ。為初始失效率。
[0069] 以表2中的累計(jì)缺陷數(shù)N為橫軸,失效率Λ為縱軸,繪制折線圖如圖2所示",并 根據(jù)式7采用數(shù)據(jù)擬合將實(shí)際數(shù)據(jù)擬合成為圖2中的"LP曲線",揭示了 LP模型中軟件失 效率隨已發(fā)現(xiàn)缺陷增加而減少的趨勢,根據(jù)擬合后的曲線可求得Θ值和λ。值。
[0070] 假設(shè),某項(xiàng)目已執(zhí)行S個(gè)階段(輪次)軟件V&V活動(dòng),共耗時(shí)T,發(fā)現(xiàn)缺陷N ;其 中,第s階段耗時(shí)Ts發(fā)現(xiàn)缺陷n s,該階段共有ρ個(gè)人參與,第i個(gè)人執(zhí)行時(shí)長為Ts i發(fā)現(xiàn) 缺陷nSil,該項(xiàng)目缺陷數(shù)據(jù)經(jīng)曲線擬合后,軟件失效率與已發(fā)現(xiàn)缺陷的關(guān)系為公式7。
[0071] 因此,該項(xiàng)目第s階段軟件V&V的效率1如公式9,其中ns'為預(yù)測第s階段耗時(shí) τ s應(yīng)發(fā)現(xiàn)的缺陷數(shù)量:
[0073] 若該項(xiàng)目第s階段除軟件V&V外,還投入其他缺陷檢查資源耗時(shí)τ s',則該項(xiàng)目第 s階段軟件V&V的有效性KJn公式10,其中n s"為預(yù)測第s階段所有缺陷檢查資源發(fā)現(xiàn)的 缺陷數(shù)量:
[0075] 該項(xiàng)目第s階