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