您当前的位置:检测资讯 > 科研开发

医疗器械软件的生命周期过程

嘉峪检测网        2023-06-19 09:07

1. 软件生命周期过程概述
 
软件生命周期涵盖了从第一个产品创意到卸载的所有活动。软件生命周期过程包括但不限于:
-软件开发
-软件安装和运行
-软件维护
-问题解决
-解除安装/退役
 
2. 监管要求
 
由于软件测试不能证明软件的正确性,所以必须从一开始就通过遵循软件生命周期过程来避免软件错误(bug、可用性问题)。所有与软件相关的法规,如IEC 62304和FDA的软件验证指导文件,都要求医疗器械制造商遵循这些生命周期过程。然而,他们并不强制执行特定的生命周期模型,如瀑布模型、V型模型或敏捷开发流程。
 
a) IEC 62304
生命周期过程
IEC 62304要求实施以下流程:
-软件开发
-软件维护
-问题解决
-风险管理
-配置管理
 
开发过程
取决于软件安全等级,软件开发过程必须包括以下活动:
-创建一个软件开发计划
-规范软件需求
-开发软件结构和详细设计
-代码的实施,例如,遵循编码准则
-验证代码,例如通过代码审查和软件测试,如单元测试、集成测试和系统测试。
-软件的发布
 
b) 医疗器械法规(MDR)
医疗器械法规(MDR)要求软件生命周期过程:“对于包含软件的器械或本身就是器械的软件,软件的开发和制造应符合当前技术水平,并考虑到开发生命周期、风险管理(包括信息安全)、验证和确认的原则。”制造商通过遵循IEC 62304证明符合这些要求。
 
c) 其他法规
所有相关的法规和标准都要求采取面向过程的方法:
-ISO 13485要求采用以过程为导向的方法,而不仅仅是在开发过程中。
-ISO 14971描述了一个风险管理过程。
-IEC 62366要求,使用“以可用性为导向的开发过程”的医疗器械的可用性得到遵循。
-IEC 60601-1规定,可编程序的电子医疗系统(PEMS)的制造商必须遵循一个生命周期过程。
不幸的是,IEC 60601的PEMS寿命模型相当具有误导性和不一致性。
 
开发过程和过程模型
a) 过程的定义是什么
开发过程与其他过程一样描述:
-谁(哪个角色,如:需求工程师、程序员、软件架构师、测试人员等)?
-转移:哪些输入到哪些输出(文件、产品、决策、组件)?
-以什么样的顺序(如平行、顺序)?
-如何(即,使用哪些方法、程序和工具)?
 
b) 典型的生命周期活动
整个软件开发过程中的典型活动包括:
-定义预期用途并提出商业案例;
-确定利益相关者的要求;
-指定系统和软件的需求,并审查这个“SRS”;
-设计一个技术解决方案,例如,创建一个系统或软件架构,包括审查;
-遵循最佳实践(如编码指南),实施、开发、编程系统和软件组件;
-检验组件,例如,使用单元测试或代码审查;
-验证组件的集成,例如:集成测试;
-检验整个系统和软件,例如软件测试;
-验证整个系统和软件,例如:总结性的可用性评估或临床评估。
为了证明这些活动确实已经执行,制造商必须计划、记录和验证他们的工作。
 
c) 方法和程序
对于这些活动中的每一项,制造商都必须定义一套方法或程序(一套方法)。
活动 方法(举例)
确定利益相关者的要求 语境方法(如ISO 9241中所述)
指定软件要求 使用模拟屏幕进行原型开发
建立软件架构模型 UML建模,垂直原型的实施
软件测试 黑盒测试方法,例如使用等价类
 
d) 过程模型
制造商需要确定这些活动的顺序,并确定这些活动是以线性方式,还是以迭代和渐进的方式进行。因此,大多数医疗器械制造商遵循:
-瀑布式
-V型模式
-敏捷的流程模式
 
3、软件开发过程与软件开发计划
 
制造商可以为他们的每个产品自由地定义生命周期过程。例如,他们可以选择一个敏捷的开发过程来开发一个产品,而为另一个产品定义一个瀑布模型。
 
a) 开发计划的内容
在软件开发计划中,分别记录了产品和项目的具体决定。在这个计划中,他们可以确定:
-适用于特定项目的流程
-角色和对这些角色的具体人员分配
-方法和程序
-工具
-阶段性目标
 
b) 内容的分布
如果开发团队必须始终遵循相同的要求,建议将这些要求尽可能多地转移到开发过程描述(SOP)中,并保持开发计划的简洁明了。然而,如果开发团队,例如软件服务供应商,有异质的项目,那么SOP应该是通用的,需要在具体项目的开发计划中描述具体的要求。然而,这意味着没有V型模型---即使它看起来像。这些活动也可以通过互动和渐进的方式进行。注意,你必须完成左边的所有活动,并进行验证。
 

分享到:

来源:MDR小能手