2023年12月1日,中国消费品质量安全促进会(以下简称促进会)发布了全球首个汽车软件质量管理体系《汽车软件质量管理体系(Automotive Software Quality Management System,ASQMS)要求》团体标准(以下简称《ASQMS标准》),该标准于2024 年1月1日实施,成为中国汽车软件质量管理领域一个重要里程碑。
《ASQMS标准》由促进会汽车工作委员会联合国内主要汽车制造商(OEM)、汽车技术及工程研究院等,并邀请认证、检测和咨询领域的汽车专家共同参与,历时两年半完成编制工作。编制组专家指出,在新能源和智能汽车时代,IATF(International Automotive Task Force,国际汽车工作组)的传统质量管理体系无法覆盖软件质量,本次编制的《ASQMS标准》有效填补了汽车软件质量领域的空白。该标准强化了中国汽车行业在全球汽车智能化和网联化发展中的领导地位,展示了中国在汽车软件质量管理领域的创新能力和国际视野。
作为一名在整车制造企业负责软件项目的工作人员,我从开始便参与了《ASQMS标准》的起草工作,本文从标准设计角度,结合行业普遍遇到的软件质量问题,对标准特点进行归纳总结,并围绕标准内容进行要点解读。
标准特点总结
《ASQMS标准》是组织层面的体系认证标准,适用于对汽车行业软件组织进行评价。与行业流行的ASPICE (Automotive SPICE,汽车软件过程改进及能力评定标准)针对项目(除非达到三级)进行评价不同,《ASQMS标准》确定了可以给汽车行业提供软件的组织的准入要求,保证了整车制造商内部软件部门或外部软件供应商应具有基本的质量方针、目标和规范流程。事实上,《ASQMS标准》既适用于纯软件组织,也适用于软硬件一体化的系统型生产组织。
《ASQMS标准》的适用范围涵盖了汽车产业生态内多种类型的软件,不仅包括车载软件,还包括了部署在云端(如车联网)、路端(如V2X)、场端(如充换电设施)及客户端的软件,同时,也纳入对软件开发运维工具的评价。这充分体现了智能汽车软件交互性需要全网协同保障的特点,与评价车载硬件的IATF传统质量体系形成鲜明对比。
《ASQMS标准》覆盖了软件产品从需求、设计、开发、集成、测试、发布、部署、升级、运维、终止的完整生命周期,评价了其全过程的实践。这更加符合目前汽车软件的特点,因为软件发布后需要持续改进和升级迭代,很多软件需要不断运维,有些软件还需以服务方式交付。而ASPICE只针对软件开发过程进行评价,无法满足行业发展要求。
为保障功能和网络安全,《ASQMS 标准》把软件分为一类软件和二类软件。智能汽车不只需要嵌入式软件,也需要车载和非车载的各种应用软件,这些不同功能的软件的复杂程度及安全需求有很大的不同,如果套用同一个标准要求可能会造成对汽车软件的过度管理,增加成本、浪费资源、拖延时间。基于此考虑,《ASQMS标准》把既无功能安全风险也无网络安全风险的软件归为一类软件,评价软件时,只需其过程实践支持软件功能与性能的实现即可。除此之外的软件都被归为二类软件,对于二类软件,《ASQMS标准》要求在满足一类软件过程实践基础上,还要满足额外的过程实现功能和网络安全保障。从分类结构和实践来看,将来《ASQMS标准》还可以对软件进一步细分类别,以满足智能驾驶发展的更高级需求。《ASQMS标准》旨在帮助业内解决软件质量问题,提高汽车软件的整体质量水平,应用此标准时,一个组织可以根据自身需要来决定实施一类软件还是二类软件的要求。
行业专家认为,《ASQMS标准》着眼关键过程,标准要求简洁、灵活、便于实施。相对于ASPICE在实施中的过程复杂、输出物繁琐等问题,《ASQMS标准》的要求都是与直接影响软件质量的过程关联,且不对每个过程的输出物做具体要求。此外,《ASQMS标准》还具有支持瀑布式开发模式和敏捷开发模式的灵活性,很好地适应了汽车软件需求变化快、开发周期短的行业现状。
标准内容解读
《ASQMS标准》的核心内容分布在标准的第四章至第六章,分别是“体系管理”“支持过程”和“运行过程”,体现了软件组织的体系管理和过程要求的结合。
“体系管理”规范了软件组织的基本管理体系。这一要求是基于“质量是过程管理”的结果,但过程管理需要与组织的整体质量原则、方针和目标对齐,否则其过程结果就不一定是组织想要的结果。如果一个企业已经满足了国际通用的ISO 9001标准要求,这部分就完全符合。事实上,《ASQMS标准》参考了ISO 9001的内容,精简并保留了核心要素,体现了以PDCA循环(P代表计划,D代表执行,C代表检查,A代表处理)为框架体系持续改进要求,同时突出了对软件企业而言很关键的人员管理要求。《ASQMS标准》全面涵盖了汽车生态系统企业的各种过程实践。该标准提出,如果标准某些要求对一个企业不适用,可以进行删减使用。当然,“只有当所删减的要求不影响组织确保其产品和服务合格的能力或责任,对增强顾客满意度也不会产生影响时,方可声称符合本标准的要求”。
“支持过程”要求了一个组织的软件活动的所有支持过程,定义了10个支持过程。为了方便实施,很多过程都通过备注给出了尽量详细的例子。例如,软件工具链管理中注明以下12类软件工具都备注在列:需求开发及管理工具、软件代码管理工具、软件质量管理工具、项目管理工具、变更管理工具、配置项管理工具、测试与故障诊断工具、软件代码编码工具、软件仿真工具、软件代码扫描工具、软件集成及编译工具和问题管理工具。
供应商管理对软件质量十分重要。《ASQMS标准》把对供应商的管理按照过程属性分成两部分:一部分是供应商的准入与绩效管理;另一部分是供应商在具体项目的对接合作过程中的执行管理。《ASQMS标准》融入了对趋势明确或者已发生的创新技术及实践的过程管理。例如,软件物料清单(Software Bill of Materials,SBOM)是近年来提出的对应硬件BOM的概念,指“构成软件产品的模块或组件和所有上游组件的清单,清单中包含这些组件之间的依赖关系、层级关系以及这些组件各自的来源供应商信息等”。汽车软件越来越复杂,协同开发的组织越来越多,各组织使用第三方组件和模块来构建更是普遍,通过供应链引入的软件代码的安全漏洞隐患与控制难度陡增。提出软件物料清单信息的目的是管理软件代码层面的可追溯性。为顺应行业需求,《ASQMS标准》明确了软件物料清单文档要求。
此外,开源软件越来越多被用在汽车软件里,但开源软件可能没有明确的提供主体,其使用还可能有特定的流程要求,甚至可能要求企业研发的软件也对应开源,因此,《ASQMS标准》提出要加强开源软件的管理,保证软件系统安全。
“运行过程”要求了一个组织的软件活动的所有运行过程。软件开发的典型V模型贯穿运行过程,《ASQMS标准》合并了系统过程与软件过程。其中,需求定义既包括系统需求也包括软件需求,架构设计既包括系统架构也包括软件架构,软件详细设计及实现既包括软件设计也包括单元设计,集成和集成测试既包括软件集成和软件集成测试也包括系统集成和系统集成测试,验证测试则是针对项目需求的系统与软件的合格性验证。该标准起草专家认为,组织应在项目准备阶段确定项目开发模式,包括瀑布、螺旋、迭代、增量、敏捷等模式。这个方式有助于参与软件开发的各方对适用过程实践达成一致,提高协同效率。另外,该标准允许新项目在重用旧项目代码时裁剪某些过程以提高效率。
用户应用生态在智能汽车时代越来越重要,因此用户信息管理也是《ASQMS标准》要求的过程,包括用户信息收集与使用、软件终止时用户信息的处置等。该标准要求,用户信息管理应围绕信息安全做好保护,且遵守软件部署的管辖国家的相关法规对过程进行要求。
总体而言,《ASQMS标准》范围覆盖广,涉及全生命周期及全过程实践,简洁且通用性强,基本可以满足现阶段及未来可预见时期内的汽车软件质量管理要求。值得指出的是,《ASQMS标准》的要求贴近消费者市场,这对整车制造商在智能网联时代提升消费者感知质量和使用体验有积极意义。
作者系中国消费品质量安全促进会汽车工作委员会技术顾问、“汽车软件质量管理体系”团体标准起草组组长