a) 欧洲
MDR, IVDR
欧盟的法规,如MDR和IVDR,没有对软件组件(software components)提出明确要求。但他们确实需要一个软件架构。根据定义,软件架构是将一个软件系统(software system)分解为不同的软件组件(software components)。
IEC 62304
协调标准IEC 62304也要求分解为软件项目(software items)。它对SOUPs提出了进一步的要求。此外,该标准要求制造商必须:
-将软件项目(software items)分解为软件单元(software units)(第5.4章);
-指定这些软件项目(software items)的接口;
-审查软件项目(software items)的活动是否符合规定;
-将软件项目(software items)逐个集成,并测试它们的相互作用(第5.7章;集成测试)。
b) 美国
FDA主要在其“General Principles of Software Validation ”中制定了对软件的要求。它没有区分单元unit、组件component和模块module这些术语。然而,它确实要求制造商:
-具有“模块化结构(modular structure)”的软件架构;
-“单元(模块或组件)级测试”和;
-对现成的组件进行特殊处理。它已就这一问题发布了进一步的指导意见。
指导文件“Content of the Premarket Submission”规定了制造商必须提交哪些文件。在其中,FDA还规定了软件架构(例如,“模块的详细图表”)。