軟件生命周期涵蓋了從第一個(gè)產(chǎn)品創(chuàng)意到卸載的所有活動(dòng)。軟件生命周期過程包括但不限于:
-軟件開發(fā)
-軟件安裝和運(yùn)行
-軟件維護(hù)
-問題解決
-解除安裝/退役
2. 監(jiān)管要求
由于軟件測(cè)試不能證明軟件的正確性,所以必須從一開始就通過遵循軟件生命周期過程來避免軟件錯(cuò)誤(bug、可用性問題)。所有與軟件相關(guān)的法規(guī),如IEC 62304和FDA的軟件驗(yàn)證指導(dǎo)文件,都要求醫(yī)療器械制造商遵循這些生命周期過程。然而,他們并不強(qiáng)制執(zhí)行特定的生命周期模型,如瀑布模型、V型模型或敏捷開發(fā)流程。
a) IEC 62304
生命周期過程
IEC 62304要求實(shí)施以下流程:
-軟件開發(fā)
-軟件維護(hù)
-問題解決
-風(fēng)險(xiǎn)管理
-配置管理
開發(fā)過程
取決于軟件安全等級(jí),軟件開發(fā)過程必須包括以下活動(dòng):
-創(chuàng)建一個(gè)軟件開發(fā)計(jì)劃
-規(guī)范軟件需求
-開發(fā)軟件結(jié)構(gòu)和詳細(xì)設(shè)計(jì)
-代碼的實(shí)施,例如,遵循編碼準(zhǔn)則
-驗(yàn)證代碼,例如通過代碼審查和軟件測(cè)試,如單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。
-軟件的發(fā)布
b) 醫(yī)療器械法規(guī)(MDR)
醫(yī)療器械法規(guī)(MDR)要求軟件生命周期過程:“對(duì)于包含軟件的器械或本身就是器械的軟件,軟件的開發(fā)和制造應(yīng)符合當(dāng)前技術(shù)水平,并考慮到開發(fā)生命周期、風(fēng)險(xiǎn)管理(包括信息安全)、驗(yàn)證和確認(rèn)的原則。”制造商通過遵循IEC 62304證明符合這些要求。
c) 其他法規(guī)
所有相關(guān)的法規(guī)和標(biāo)準(zhǔn)都要求采取面向過程的方法:
-ISO 13485要求采用以過程為導(dǎo)向的方法,而不僅僅是在開發(fā)過程中。
-ISO 14971描述了一個(gè)風(fēng)險(xiǎn)管理過程。
-IEC 62366要求,使用“以可用性為導(dǎo)向的開發(fā)過程”的醫(yī)療器械的可用性得到遵循。
-IEC 60601-1規(guī)定,可編程序的電子醫(yī)療系統(tǒng)(PEMS)的制造商必須遵循一個(gè)生命周期過程。
不幸的是,IEC 60601的PEMS壽命模型相當(dāng)具有誤導(dǎo)性和不一致性。
開發(fā)過程和過程模型
a) 過程的定義是什么
開發(fā)過程與其他過程一樣描述:
-誰(哪個(gè)角色,如:需求工程師、程序員、軟件架構(gòu)師、測(cè)試人員等)?
-轉(zhuǎn)移:哪些輸入到哪些輸出(文件、產(chǎn)品、決策、組件)?
-以什么樣的順序(如平行、順序)?
-如何(即,使用哪些方法、程序和工具)?
b) 典型的生命周期活動(dòng)
整個(gè)軟件開發(fā)過程中的典型活動(dòng)包括:
-定義預(yù)期用途并提出商業(yè)案例;
-確定利益相關(guān)者的要求;
-指定系統(tǒng)和軟件的需求,并審查這個(gè)“SRS”;
-設(shè)計(jì)一個(gè)技術(shù)解決方案,例如,創(chuàng)建一個(gè)系統(tǒng)或軟件架構(gòu),包括審查;
-遵循最佳實(shí)踐(如編碼指南),實(shí)施、開發(fā)、編程系統(tǒng)和軟件組件;
-檢驗(yàn)組件,例如,使用單元測(cè)試或代碼審查;
-驗(yàn)證組件的集成,例如:集成測(cè)試;
-檢驗(yàn)整個(gè)系統(tǒng)和軟件,例如軟件測(cè)試;
-驗(yàn)證整個(gè)系統(tǒng)和軟件,例如:總結(jié)性的可用性評(píng)估或臨床評(píng)估。
為了證明這些活動(dòng)確實(shí)已經(jīng)執(zhí)行,制造商必須計(jì)劃、記錄和驗(yàn)證他們的工作。
c) 方法和程序
對(duì)于這些活動(dòng)中的每一項(xiàng),制造商都必須定義一套方法或程序(一套方法)。
|
活動(dòng) |
方法(舉例) |
|
確定利益相關(guān)者的要求 |
語境方法(如ISO 9241中所述) |
|
指定軟件要求 |
使用模擬屏幕進(jìn)行原型開發(fā) |
|
建立軟件架構(gòu)模型 |
UML建模,垂直原型的實(shí)施 |
|
軟件測(cè)試 |
黑盒測(cè)試方法,例如使用等價(jià)類 |
d) 過程模型
制造商需要確定這些活動(dòng)的順序,并確定這些活動(dòng)是以線性方式,還是以迭代和漸進(jìn)的方式進(jìn)行。因此,大多數(shù)醫(yī)療器械制造商遵循:
-瀑布式
-V型模式
-敏捷的流程模式
3、軟件開發(fā)過程與軟件開發(fā)計(jì)劃
制造商可以為他們的每個(gè)產(chǎn)品自由地定義生命周期過程。例如,他們可以選擇一個(gè)敏捷的開發(fā)過程來開發(fā)一個(gè)產(chǎn)品,而為另一個(gè)產(chǎn)品定義一個(gè)瀑布模型。
a) 開發(fā)計(jì)劃的內(nèi)容
在軟件開發(fā)計(jì)劃中,分別記錄了產(chǎn)品和項(xiàng)目的具體決定。在這個(gè)計(jì)劃中,他們可以確定:
-適用于特定項(xiàng)目的流程
-角色和對(duì)這些角色的具體人員分配
-方法和程序
-工具
-階段性目標(biāo)
b) 內(nèi)容的分布
如果開發(fā)團(tuán)隊(duì)必須始終遵循相同的要求,建議將這些要求盡可能多地轉(zhuǎn)移到開發(fā)過程描述(SOP)中,并保持開發(fā)計(jì)劃的簡潔明了。然而,如果開發(fā)團(tuán)隊(duì),例如軟件服務(wù)供應(yīng)商,有異質(zhì)的項(xiàng)目,那么SOP應(yīng)該是通用的,需要在具體項(xiàng)目的開發(fā)計(jì)劃中描述具體的要求。然而,這意味著沒有V型模型---即使它看起來像。這些活動(dòng)也可以通過互動(dòng)和漸進(jìn)的方式進(jìn)行。注意,你必須完成左邊的所有活動(dòng),并進(jìn)行驗(yàn)證。
