IEC 62304在醫械軟件開(kāi)發(fā)中的實(shí)施
歐洲軟件和系統提案之“利用經(jīng)驗驅動(dòng)測試(PET)檢驗誤碼性能計劃調查了這種現象,并且同意采用的代碼通常帶有很多誤碼的觀(guān)點(diǎn)。PET旨在將發(fā)布后報告的漏洞數量減少50%和將每找出一個(gè)漏洞所耗費的測試工作時(shí)間縮短40%。有意思的是,PET超過(guò)了該標準,將報告的漏洞數減少了75%,將測試效率提高了46%。PET的發(fā)現表明可以利用較新的測試方法(如靜態(tài)和動(dòng)態(tài)分析)找出大量漏洞,即使代碼已經(jīng)通過(guò)了功能系統測試并于隨后發(fā)布。
那么,可以采用先前通過(guò)功能測試的SOUP做進(jìn)一步測試。即使它運行良好,代碼的某些部分也可能未曾使用過(guò),即使是產(chǎn)品正在現場(chǎng)使用的時(shí)候。如果 SOUP代碼需要作進(jìn)一步開(kāi)發(fā)以便于后來(lái)的修訂或新應用,那么先前從未碰到的數據組合也可能會(huì )使用先前未使用的代碼路徑,從而產(chǎn)生意料之外的結果。圖1中的綠點(diǎn)曲線(xiàn)表示對SOUP代碼進(jìn)行增強時(shí)使用的代碼。
為了克服這種潛在弱點(diǎn),需要進(jìn)行詳細的結構覆蓋率分析,以確保早期軟件內不存在未使用的代碼。IEC62304要求測試早期軟件的功能覆蓋率和結構覆蓋率,還要詳細分析增加這類(lèi)軟件可能引入的風(fēng)險。功能覆蓋率確保軟件能夠按照系統設計要求運行,而結構覆蓋率則確保使用了所有代碼并且能夠正常運行。
IEC62304要求整合到醫療器械設計中的所有SOUP項目均符合功能和性能要求規范。醫療器械制造商需要確保任意SOUP項目的正常運行,還要保證它們符合功能和性能要求。
IEC62304軟件開(kāi)發(fā)過(guò)程始于軟件開(kāi)發(fā)規劃,包括所用SOUP項目的詳細計劃。這些細節介紹了如何將SOUP項目整合到現有系統中、如何管理SOUP相關(guān)風(fēng)險和軟件配置、以及變更管理如何影響系統。
緊接著(zhù)是軟件需求管理、架構設計、集成測試、系統測試、風(fēng)險管理、維護和變更管理階段。在軟件開(kāi)發(fā)生命周期的各個(gè)階段,都需要保持所有階段之間的可追蹤性。
傳統的軟件開(kāi)發(fā)觀(guān)點(diǎn)表明了各個(gè)階段如何進(jìn)入下一個(gè)階段,可能還帶有前幾個(gè)階段的反饋信息,以及配置管理與過(guò)程的周邊架構??勺粉櫺员灰暈楦鱾€(gè)階段間關(guān)系的一部分。然而,很少規定記錄跟蹤鏈路的機制。
實(shí)際上,雖然由于先進(jìn)工具技術(shù)投資,各個(gè)階段都能夠有效實(shí)施,但是這些工具很少能夠自動(dòng)提高階段間可追蹤性。因此,在整個(gè)項目進(jìn)行的過(guò)程中,其間鏈路的維護就變得越來(lái)越差。最終的結果就是需求與設計之間的交叉檢驗缺失或者流于表面,以及最終系統的機能不全。為了獲得真正的自動(dòng)可追蹤性,則需要需求跟蹤矩陣(RTM)。RTM是各個(gè)項目的核心,是很多開(kāi)發(fā)標準(包括IEC62304)的關(guān)鍵所在。
需求跟蹤與SOUP
需求跟蹤矩陣是一種用于管理和跟蹤需求的習慣做法,在管理軟件需求和系統所用SOUP項目方面起著(zhù)重要作用。RTM能夠通過(guò)醫療器械應用的架構設計在與SOUP有關(guān)的高級需求之間實(shí)現可追蹤性(圖2)。
圖2
圖2 需求跟蹤矩陣(RTM)在開(kāi)發(fā)生命周期模型中起著(zhù)重要作用,即使是在SOUP項目是系統的一部分的時(shí)候。各個(gè)階段的典型產(chǎn)物都直接與需求矩陣相連,各個(gè)階段的變更都會(huì )自動(dòng)更新RTM。
為了確保SOUP能夠滿(mǎn)足IEC 62304規定的系統級要求,醫療器械制造商需要規定:
評論