汽车软件开发流程改进与能力确定(AutomotiveSPICE®或ASPICE)是一个流程评估模型,它帮助汽车原始设备制造商(OEM)和供应商评估当前企业软件开发流程的性能和成熟度水平。
遵守这一标准,有助于汽车供应商确保其软件质量符合关键的客户需求。
本篇文章将带您了解ASPICE,并为您提供有关汽车软件企业的性能质量合规建议。
什么是Automotive SPICE®?
现如今,车辆凭借智能集成技术而飞速发展。它们配备了传感器、信息娱乐和高级驾驶辅助系统(ADAS),提高了驾驶员和乘客的安全性。
汽车的制造工艺也在不断发展中,复杂的技术和零部件在全球各地不断涌现。这就意味着OEM如果想要有效地参与市场竞争,就必须确保其供应商满足他们对产品质量的要求。
通过在开发的每个阶段评估软件,ASPICE标准可以解决质量问题。它是在Automotive SPICE计划下,由汽车特别兴趣小组(AUTOSIG)中的汽车制造商开发。这个汽车特别兴趣小组由汽车 OEM、采购论坛和SPICE用户组的共同组成。ASPICE与SPICE有着类似的原则,但它主要针对汽车行业,定义了汽车行业嵌入式软件开发的最佳实践标准。
ASPICE是一项强大的标准,能够在组织、项目和系统级别来评估公司的流程,以便汽车供应商和OEM能够持续监控并改进工作方式。
对于OEM来说,遵循ASPICE标准意味着他们能对供应商的流程质量水平进行评估,进而轻松选出能够满足其需求的供应商。对于供应商来说,遵循ASPICE标准能够保证他们满足客户需求,同时提高流程质量。这能够提升产品的整体质量,也有可能缩短上市时间、降低开发成本。
ASPICE标准的目标是帮助企业在各个阶段定义和整合汽车软件开发的最佳实践,包括设计、审查、开发、测试和验证。在根据ASPICE指南来指定每个流程的最佳实践,并展示您如何实施这些实践后,您就可以准备进行ASPICE评估了。
ASPICE对现有的安全和质量管理标准和指南进行了补充,例如侧重于功能安全的ISO 26262、侧重于网络安全工程的ISO 21434等。另外,还有一个针对网络安全的 AutomotiveSPICE版本,用于指导汽车制造商识别和管理供应链中的网络安全风险。
ASPICE框架和静态分析
ASPICE会分为很多个流程组,包括基于V模型的软件工程过程组(SWE)。SWE可以进一步地分解到开发生命周期的各个阶段:
SWE.1-软件需求分析 SWE.2-软件架构设计 SWE.3-软件详细设计和单元构建 SWE.4-软件单元验证 SWE.5-软件集成和集成测试 SWE.6-软件资格测试
举个例子,在SWE.4-软件单元验证中,提到了静态分析和MISRA C/MISRA ® C++编码标准:
SWE.4.BP2:制定单元验证标准。单元验证标准可能包括:单元测试用例、静态验证、覆盖目标和编码标准(如MISRA®规则);
SWE.4.BP3:执行软件单元的静态验证。静态验证可能包括:静态分析、代码审查、针对编码标准和指南的检查。附录D第6小节显示:MISRA是编码标准和指南的示例,以“评估”、“验证标准”以及“确保合规性”。
由于ASPICE是一个流程标准,企业可以使用静态分析工具来满足流程要求。因此,对于SWE.4,您可以通过使用静态代码分析器执行编码标准来实现静态验证。
一旦您的流程到位,就会开始对ASPICE级别进行外部评估,并根据流程属性(PA)分配能力级别(CL)。每个过程都会单独评估,整体成熟度等级则会从最低级别开始评估。
ASPICE标准的评分级别
流程属性(PA)由5级评分量表组成,该评分量表决定了项目的成熟度:
级别0-基本满足/不完整:在某种程度上满足ASPICE的要求; 级别1-可执行:几乎或完全满足ASPICE要求,但可能在流程中缺少组成部分; 级别2-可管理:可靠地交付工作产品,并且除了工作产品外,几乎或完全达到ASPICE标准; 级别3-可证实:为组织建立并设定绩效标准,并持续监控以实现改进; 级别4-可预测:除了建立绩效标准之外,还要分析结果并产生可预测的结果; 级别5-创新:流程是一致、可预测并持续改进的。
一般来说,为了满足客户的需求,2级和3级被认为是优秀的水平,4级和5级则是超常的水平。
采用ASPICE框架为供应商和OEM都带来了许多好处。通过遵循ASPICE指南来实施最佳实践,组织能够更好地在汽车上市之前发现问题,提高汽车嵌入式系统质量和安全性的透明度,同时在适当的流程评估下推动产品创新。
遵循ASPICE标准的好处有很多,而且,一旦您的组织制定了符合ASPICE要求的流程,就等于您建立了一个可以帮助您获得其他标准认证的框架。例如,尽管存在差异,但遵循ASPICE也可以帮助您遵循如ISO 26262等的其他安全标准。
像Perforce Helix QAC这样强大的静态分析工具能够支持ASPICE的流程组——SWE.4(该标准要求进行静态验证过程,以符合编码标准)。Helix QAC还使开发人员能够通过以下方式更轻松地遵守汽车行业的编码标准:
在开发早期检测合规性问题; 实施编码标准并检测规则冲突; 加速代码审查和手动测试工作; 报告不同时间段和跨产品版本的合规性问题。