IEC 62304在医械软件开发中的实施
扫描二维码
随时随地手机看文章
需求跟踪与SOUP
需求跟踪矩阵是一种用于管理和跟踪需求的习惯做法,在管理软件需求和系统所用SOUP项目方面起着重要作用。RTM能够通过医疗器械应用的架构设计在与SOUP有关的高级需求之间实现可追踪性(图2)。
图2
图2 需求跟踪矩阵(RTM)在开发生命周期模型中起着重要作用,即使是在SOUP项目是系统的一部分的时候。各个阶段的典型产物都直接与需求矩阵相连,各个阶段的变更都会自动更新RTM。
为了确保SOUP能够满足IEC 62304规定的系统级要求,医疗器械制造商需要规定:
? 预期用途所需的SOUP项目的功能和性能要求
? 让SOUP项目正常运行所需的系统硬件和软件的生产规范
? 证明医疗器械架构能够让任意SOUP项目正常运行所需的详情
大多数情况下,SOUP项目是作为源代码提供的,但是不带设计文件,这样就很难分析它们。使用现代测试工具有助于实现早期代码设计可视化。
不论它是否应用于语句模块、进程(或类)、应用和/或系统,现代测试工具提供的系统可视化设施功能都非常强大。应用和系统实体的分层示意图如图3a内的静态调用图所示;图3b内的静态流程图展示了整个程序模块的控制流程。利用彩色编码图对于了解SOUP极有好处。这类调用图和流程图只是综合分析代码内使用的所有参数和数据对象的一部分优势。
图3
图3 静态调用图(a)和流程图(b)以图形的形式分别说明了代码的结构和逻辑。
需求管理和跟踪已经证明了它们在软件开发生命周期内的优势,能够确保实现所有需求和所有开发成果都可以追溯到一个或多个需求。同样的,需求管理与跟踪可以保证根据系统要求添加和验证SOUP项目。
RTM在架构设计和SOUP项目之间实现了可追踪性。由于这些项目都包含在源代码内并且现在需要按照IEC 62304的要求进行系统级合规性测试,所以代码验证就成了制造商的责任。
大多数SOUP项目都不严谨,从而为系统集成商提高了严格验证与风险分析要求。由于SOUP验证非常耗时,所以开发人员一开始通常需要满足一系列编码标准,再逐渐采用其他规则。虽然测试工具只辨别而不纠正代码内存在的违规之处和本征误差,但是它们确实通过指出问题所在而加快了代码纠正速度。
IEC 62304希望医疗器械制造商评估SOUP项目供应商提供的软件异常列表,以便确定已知异常是否会引发事件,进而导致出现危险情形。
测试工具的静态分析能力能够确定异常及其对软件系统的影响。如果确定了SOUP供应商提供的列表以外的任何其他异常,则应告知相应供应商以解决问题。
静态分析和异常纠正完成后,进行动态分析(包括系统、集成度和单元测试)以便验证SOUP项目的功能和结构覆盖率。虽然全系统功能测试提供了SOUP项目的功能简介,但是它不测试所有代码路径。测试工具确定使用过的软件部分,并且重点突出需要注意的区域,要对这些区域进行单元测试以便保证各个单元都能够独立运行。
进行功能测试与结构覆盖率分析能够确保使用了所有代码路径和验证了多个单元之间的接口。它还有助于确保系统能够按照设计要求运行,即使集成了SOUP项目。值得注意的是,IEC 62304要求SOUP项目验证遵循软件规划期间制定的集成计划,再一次表明IEC 62304强调的重点在于确保医疗软件升级不会引入误码。
根据先前制定的测试计划,RTM在对SOUP项目进行的各种分析之间实现了可追踪性。该测试计划包括有待执行的测试用例以及基于系统要求的预期结果。利用RTM,项目经理可以评估整合的SOUP项目的影响以及它们如何影响系统安全。
SOUP项目维护
医疗器械行业的很多意外都与医疗器械系统的服务或维护有关,包括软件更新和升级不当。在这里,SOUP项目还起着重要作用,因为这些项目由不同的供应商提供并且需要验证。
在IEC 62304中,软件维护过程和软件开发过程一样重要。强调维护旨在抑制产品发布以后(如软件维护期间)引入的高医疗器械软件缺陷率。
维护过程要求,制造商监控组织内部和用户提供的已发布产品相关的反馈信息。必须记录和分析该反馈信息,以便确定是否存在问题。发现问题时,应编写和分析问题报告,以便确定SOUP项目是否增加了问题的严重性。如果SOUP就是问题所在,则必须将该问题传达给相应的供应商,以便通过升级或补丁来解决问题。
IEC 62304要求制造商制定规程,以便评估和实现SOUP项目升级、漏洞修复、补丁和报废。必须分析和验证每个升级、漏洞修复和补丁,以便确定这些升级是否引入了其它潜在的、可能导致出现危险情形的因素。一如往常,必须确定是否需要采取其它软件风险控制措施。
维护期间,要求制造商分析SOUP项目变更,以便确定软件修订是否会干扰现有的风险控制措施。制造商必须制定独特的配置项目和版本识别机制。对于使用的各种SOUP配置项目,制造商需要记录标题、SOUP制造商名称和独特的SOUP标志符。该标识符可以确定医疗器械软件内包含的软件配置项目及其版本。
通过采用IEC 62304的高级软件过程,公司能够更好地开发安全的产品,避免代价高昂的召回,确保相同的开发过程能够巩固维护和升级过程。