V 模型或 V 周期是一种软件开发风格,它将流程分为三个部分:设计、实现、集成和测试。字母V是开发流程的象征性表示。
将 V 模型明确定义的步骤应用于软件开发的迭代增量,可以在流程的早期进行测试。 尽早发现错误或错误可以提高开发工作的速度、降低成本并提高整体质量。 该方法与持续集成和持续部署方法非常吻合。
V 模型的工作原理
在为复杂的汽车系统设计软件时,开发人员寻求灵活性、速度和迭代代码的能力。 沿着模型“V”的步骤,开发从左上端的设计开始,继续向下到“V”底点的实现,并以右上端的最终测试结束。
系统需求:工程师收集业务和系统需求。在此阶段,明确定义汽车功能或特性将实现的结果非常重要。
系统设计:工程师使用基于模型的开发环境设计所需的功能。模型在环测试可以在流程的早期发现缺陷和错误。
软件需求:工程师使用系统需求和最终的系统设计来定义软件需要实现的目标。
软件实现:工程师创建并编译构建软件的代码。 对于已编写的所有代码,测试阶段开始确认已满足要求(验证测试)并且结果非常适合应用程序(验证测试)。
软件集成和资格测试:软件实施通常按功能或按软件组件规模进行。 为了制作完整的软件解决方案,每个较小规模的实现都被集成到一个已编译的整体中,并作为单个实体进行测试。
系统集成和资格测试:系统是零件的组装。 所有的软件和硬件部件被组装成一个完整的系统进行测试。 测试人员使用软件在环、硬件在环和车辆在环来测试软件。
V 模型如何与 ISO 26262 和 ASPICE 相结合?
随着车辆变得更加软件定义,特别是在高级驾驶辅助系统和自动驾驶功能(例如紧急制动或车道修正)方面,整个行业需要一个可以在OEM、技术提供商和其他第三方之间共享的标准开发模型。
国际标准化组织是一个由国家标准机构组成的非政府组织,它制定了这样一个专注于车辆安全的标准。 ISO 26262 已成为事实上的汽车功能安全标准,并且基于 V 模型。
此外,欧洲汽车制造商还创建了一个同样基于V模型的软件质量标准,称为ASPICE(汽车软件性能改进和能力确定),它是ISO SPICE标准的演变。 使用 ASPICE 框架,OEM 可以评估提供给他们的软件的质量。 事实上,当一家优质 OEM 将使用 ASPICE 的供应商与未使用 ASPICE 的供应商进行比较时,它发现 ASPICE 供应商平均比非 ASPICE 供应商早九个月发现 90% 的软件缺陷。
由于 V 模型是这些标准的基础,因此它已成为汽车行业软件开发的主要风格,并将在可预见的未来继续发挥作用。