V流程是一种按照ISO26262标准(功能安全标准,侧重于汽车电子系统的安全性)进行的系统开发方法,被用于对嵌入式系统进行功能安全分析、需求定义、软件设计和产品验证。

如图1所示在V流程中,左边的线代表需求分析和系统级别设计阶段,右边的线代表集成和验证阶段,整个开发过程从系统级别开始,逐渐向下深入到组件级别,然后再逐渐向上集成和验证。

通常ASPICE标准中也包含了对V流程的描述如图2所示,并提供了一组过程框架和指南,以确保在整个开发生命周期中的质量和效率。

一. 软件需求分析

将系统需求中与软件相关的部分转化为软件需求。

1.定义系统中分配给软件要素的软件需求及其接口;

2.将软件需求进行分类并分析其正确性和可验证性;

3.分析软件需求对运行环境的影响;

4.定义软件需求实现的优先级;

5.根据需要更新软件需求;

6.在系统需求与软件需求之间、在系统架构设计与软件需求之间建立一致性和双向可追溯性;

7.从成本、进度和技术影响来评估软件需求;

8.约定了软件需求并与所有受影响方沟通。

二. 软件架构设计

识别将哪些软件需求分配给软件的哪些要素,并依照定义的准则来评估软件架构设计

1.定义识别软件要素的软件架构设计;

2.将软件需求分配给软件的要素;

3.定义每个软件要素的接口;

4.定义软件要素的动态行为和资源消耗目标;

5.建立软件需求与软件架构设计之间的一致性和双向可追溯性;

6.约定软件架构设计,并与所有受影响方沟通。

三. 软件详细设计和单元构建

如图3为软件组件提供经过评估的详细设计,并定义和生成软件单元

四. 软件单元验证

如图4验证软件单元,以提供软件单元符合软件详细设计和非功能性软件需求的证据

静态验证

–数据溢出和死逻辑

–形式化验证,确保模型满足特定的设计规范和要求

动态验证

▪ 软件在环(SIL)测试(SIL Manage)

– 验证代码与模型的等效性

▪ 模型在环(MIL)测试 (Test Manager, Test Harness)

– 进行测试用例设计、测试执行和测试管理等

五. 软件集成和集成测试

将软件单元集成到更大的软件项,直至与软件架构设计相一致的完整的集成软件,并确保集成的软件项得到测试,以提供集成的软件符合软件架构设计的证据。

六. 软件合格性测试

确保集成软件得到测试,以提供符合软件需求的证据。

总结:汽车软件设计只有经过V流程管理才能认为是相对可靠的,这也是汽车功能安全领域基于模型代码生成的前提条件。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐