正像E/E/PE安全相關(guān)系統(tǒng)的開發(fā)有總體安全生命周期一樣,軟件也遵循有效的生命周期發(fā)展過(guò)程。圖8.1展示了軟件系統(tǒng)性能力和開發(fā)生命周期,即V模型。它是很多不同的軟件開發(fā)模型之一。可以根據(jù)項(xiàng)目的安全完整性要求和復(fù)雜性對(duì)V模型進(jìn)行步驟合并。V模型描述了一種自上而下的軟件設(shè)計(jì)和測(cè)試程序。V模型中的每一方框的內(nèi)容都需要確認(rèn)和驗(yàn)證。下面簡(jiǎn)述V模型中各個(gè)程序框的工作內(nèi)容。
軟件安全要求規(guī)范:對(duì)軟件的全部要求,包括系統(tǒng)啟動(dòng)、操作、維護(hù)、關(guān)閉、報(bào)警、旁路等,都需要清晰地整理成文檔。軟件安全要求規(guī)范的基本內(nèi)容詳見。如果沒(méi)有軟件安全要求規(guī)范或軟件安全要求規(guī)范不完全,則有效的軟件開發(fā)是很困難的。
軟件架構(gòu):規(guī)定軟件的整體結(jié)構(gòu),包括語(yǔ)言、主程序結(jié)構(gòu)、子程序、主程序和子程序的相互作用、標(biāo)準(zhǔn)函數(shù)塊、附加的或自定義的功能等,特別是安全完整性等級(jí)。
軟件系統(tǒng)設(shè)計(jì)/模塊設(shè)計(jì):指軟件的詳細(xì)設(shè)計(jì)和開發(fā)。架構(gòu)中的主要組件劃分為個(gè)軟件模塊系統(tǒng);各自的軟件模塊設(shè)計(jì);編碼。在小型軟件開發(fā)項(xiàng)目中,軟件系統(tǒng)設(shè)計(jì)和架構(gòu)設(shè)計(jì)可整合在一起。
編碼:軟件的編碼或者實(shí)際編制軟件基于的語(yǔ)言和體系結(jié)構(gòu)。根據(jù)要求,可能會(huì)有一個(gè)或多個(gè)程序。
模塊測(cè)試:包括代碼復(fù)審和軟件模塊測(cè)試,即測(cè)試并驗(yàn)證軟件模塊正確地滿足其相關(guān)規(guī)范,是否能夠執(zhí)行預(yù)定功能且不執(zhí)行非預(yù)定功能。
模塊(軟件)集成測(cè)試:根據(jù)軟件系統(tǒng)集成測(cè)試規(guī)范中的要求,測(cè)試并驗(yàn)證所有軟件模塊和軟件組件/子系統(tǒng)是否正確交互以執(zhí)行其預(yù)定的功能而不執(zhí)行非預(yù)定功能。
可編程電子集成測(cè)試:測(cè)試并驗(yàn)證軟件是否正確集成到可編程電子硬件中,并能夠兼容且實(shí)現(xiàn)安全完整性等級(jí)的要求。該步驟可以與軟件集成測(cè)試合并。
確認(rèn):確認(rèn)測(cè)試是為驗(yàn)證集成的系統(tǒng)滿足所需的安全完整性等級(jí),符合軟件安全要求規(guī)范。
另外需要指出的是,軟件驗(yàn)證是針對(duì)安全完整性等級(jí)要求的程度,測(cè)試和評(píng)估軟件安全生命周期在給定的各個(gè)階段的輸出與輸入的正確性和一致性。軟件驗(yàn)證不對(duì)軟件模塊測(cè)試、軟件集成測(cè)試、可編程電子集成和軟件確認(rèn)中的驗(yàn)證測(cè)試提出額外要求,但機(jī)械手控制系統(tǒng)軟件部分尚須對(duì)下列內(nèi)容進(jìn)行驗(yàn)證:
① 軟件安全要求;
② 軟件架構(gòu);
③ 系統(tǒng)設(shè)計(jì);
④ 模塊設(shè)計(jì);
⑤ 代碼;
⑥ 數(shù)據(jù);
⑦ 時(shí)間性能。