在《研讨|监视和测量的计算机软件如何验证和确认》一文发布后,一位朋友说到了试验软件、生产和服务软件的验证确认问题,突然感觉自己有点狭隘了,赶紧回去学习工具软件验证和确认的内容,今天把学习感受给大家做个汇报。
在《研讨|监视和测量的计算机软件如何验证和确认》一文发布后,一位朋友说到了试验软件、生产和服务软件的验证确认问题,突然感觉自己有点狭隘了,赶紧回去学习工具软件验证和确认的内容,今天把学习感受给大家做个汇报。
在GJB 9001C-2017《质量管理体系要求》中,小编把软件分为两大类:产品软件和工具软件。产品软件是产品组成的一部分,具体要求在GJB5000《军用软件能力成熟度模型》、GJB2786《军用软件开发通用要求》等标准中都有详细规定,本文不再赘述。工具软件则是在产品实现过程中,帮助完成产品设计、生产、检验工作的软件,不属于产品的组成部分。在整个GJB9001C-2017标准中,共有5个条款提出了对工具软件的要求,分别是:
1):组织应确定、提供和维护所需的基础设施,以运行过程,并获得合格产品和服务。注:基础设施可包括:b)设备,包括硬件和软件,以及工艺设备;
2)7.1.5.2测量溯源:d)用于监视和测量的计算机软件,初次使用前应经过验证和确认合格,需要时验证和确认合格,并保留记录;
3):在创建和更新成文信息时,组织应确保适当的:b) 形式(如语言、软件版本、图表)和载体(如纸质的、电子的);
4)8.3.8设计和开发的试验控制:组织应对试验过程实施控制,确保试验结果的有效性。组织应:g)对用于试验的计算机软件进行验证和确认,并实施软件配置控制;
5)8.5.1生产和服务提供:适用时,受控条件应包括:k) 确认和审批生产和服务使用的计算机软件。
在这五个条款中,7.5.2成文信息的创建和更新是针对所有软件(包括产品软件和工具软件)的,要求在编制文件和形成记录时,涉及到的计算机软件都要明确软件版本,很多单位还有差距,需要引起各位朋友的关注。其他四个条款都是针对工具软件的,以下小编逐一进行说明。
7.1.3基础设施
7.1.3基础设施条款规定,组织应确定、提供和维护所需的基础设施,以运行过程,并获得合格产品和服务。注:基础设施可包括:b)设备,包括硬件和软件,以及工艺设备。
这个条款是对所有基础设施(包含工具软件)的要求,起来六个字:确定、提供、维护。
确定就是明确出来,把公司所需的基础设施(含工具软件)逐项明确出来,隐含的要求就是建立台账并实施动态管理。
提供是指通过购买、租赁、借用、自研等方式,在公司科研生产需要时能获取这些基础设施(含工具软件),为什么重点关注科研生产需要呢?在GJB9001C中明确规定,基础设施(含工具软件)管理的目的是“运行过程,并获得合格产品和服务”,言简意赅。
维护是指为了保证基础设施(含工具软件)适用而开展的清洁、保养等工作,针对工具软件就是修正错误、提升性能或其他属性的修改升级工作,隐含的要求是能够提供相关修改升级的文件记录等。
综上,简单的六个字,明确了对基础设施(含工具软件)的管理要求,当然,工具软件属于基础设施的一部分,其管理要求同样适用于工具软件。
7.1.5监视和测量资源
7.1.5.2测量溯源d)条款规定:用于监视和测量的计算机软件,初次使用前应经过验证和确认合格,需要时验证和确认合格,并保留记录。
这个条款是对监视和测量类工具软件(通常包括自动化测试软件、自制检测设备软件等)的要求,起来四个字:验证和确认。
敲黑板,标准的说法是“用于监视和测量的计算机软件”,包括两点内涵:一是说它是个计算机软件,它属于基础设施范畴,应满足7.1.3基础设施规定的要求;二是说它的目的是用于监视和测量,它应该在满足7.1.3基础设施要求的基础上,还应该满足7.1.5监视和测量资源的特定要求。
先说验证,验证是对满足规定要求的证实,针对不同的软件验证的方式不同,小编把它分为三类:①对于采购类的软件,主要依据厂家的说明书进行验证;②对于外包类的软件,主要依据外包厂家或单位自己编制的软件验收依据文件进行验证;③对于自研类的软件,主要依据单位编制的软件验收依据文件进行验证,对于要求高的软件也可包括单元测试、集成测试、配置项测试等内容。这些软件验收依据文件的内容包括但不限于功能性检查、安全性检查、可靠性检查、采集的准确性、数据处理的正确性、其他等内容。
确认,确认是对满足预期用途的证实,就是能否满足监视和测量的要求,包括两方面内容:①能否满足监视和测量的功能要求,通俗地讲就是把软件放在真实(或模拟真实)的环境中验证其是否满足要求,如果验证依据的说明书/验收细则已经包括这些内容,此处可不再考虑;②计量特性是否满足监视和测量需要,这就需要通过“校准/检定+计量确认”的方式进行确认了,对于不影响监视和测量精度的软件可不考虑计量特性确认的部分。
8.3.8设计和开发试验
8.3.8设计和开发的试验控制条款规定:组织应对试验过程实施控制,确保试验结果的有效性。组织应:g)对用于试验的计算机软件进行验证和确认,并实施软件配置控制。
这个条款是对设计和开发试验中计算机软件的要求,起来八个字:验证、确认、配置控制。
当然,设计和开发试验用的计算机软件也属于基础设施,同样需要满足7.1.3基础设施和8.3.8设计和开发试验的要求。
验证的方式和监视测量软件类似,不再赘述;确认的工作比监视和测量软件少,只需要考虑满足设计和开发试验的要求(把软件放在试验/模拟试验环境中考核是否满足试验要求),而不再需要考虑计量特性的影响。
配置控制,在GJB 9001C-2017标准的工具软件要求中,只在该条款提到了配置控制,为什么呢?
没错,8.3.8是设计和开发试验(和生产试验不同),既然是设计和开发试验,工具软件修改的概率就比较高的,怎么办呢?必须实施配置管理才能保证软件的有效性。
如何实施配置管理呢?GJB5235A-2021《军用软件配置管理》给出了明确的要求,主要内容包括:配置标识、配置控制、软件配置状态记实、软件配置审核、软件的发行管理和交付等内容,具体内容在本公众号《另眼看质量| 用GJB 3206B的方式理解软件配置管理》有说明,感兴趣的朋友请点击阅读。
敲黑板,这里的试验指的是设计和开发过程中的试验,不包括生产过程中的各类试验,生产过程中的试验按照8.5.1条款进行控制,这一点不可混淆。
8.5.1生产和服务的提供
8.5.1生产和服务提供的控制条款规定:适用时,受控条件应包括:k) 确认和审批生产和服务使用的计算机软件。
这个条款是对生产和服务提供过程中计算机软件(数控加工、整机操作、调校软件等)的要求,起来四个字:确认、审批。
同样的道理,生产和服务提供的计算机软件也属于基础设施,需要满足7.1.3基础设施和8.5.1生产和服务提供的要求。
确认的工作和设计开发试验的类似,只需要考虑满足生产和服务的要求,不需要考虑计量特性的影响。注意,此处没有提出验证的要求,但大多数情况下确认也隐含了验证的要求(有一种理论上的例外情况,软件是其他不合格软件降级来的)。
审批,在工具软件中也只有8.5.1条款有这个要求,其他条款没有,又是为什么呢?原因在于8.5.1条款适用于生产和服务的提供,就是产品和服务的批量生产,软件出现问题可能会导致大量的不合格输出,增加了审批环节有利于生产和服务过程的稳定性。