2307|0

1万

帖子

203

TA的资源

管理员

楼主
 

BMS开发流程---V流程详解 [复制链接]

作者:BMS田间小路

 

随着新能源行业的不断发展,目前新能源汽车上的电气化越来越重要,实现的功能日趋复杂。汽车整体从以前的数十个ECU到目前域控制器开发,随之,从机械定义汽车也转换到目前软件定义汽车,汽车控制器中的软件发挥越来越重要的作用。汽车控制器开发过程包含开发的各个步骤,从用户需求分析到最终的电子系统的验收测试。控制器开发的核心流程包括一系列不同的开发步骤。目前比较受众认可的,叫做“V开发流程”。

V开发流程定义:

      V开发流程,即V模型,是在快速应用开发 (RAD,Rap Application Development)模型基础上演变而来,由于将整个开发过程构造成一个V字形而得名。V模型强调软件开发的协作和速度,将软件实现和验证有机地结合起来,在保证较高的软件质量情况下缩短开发周期。

 

 

上图是整个V流程的示意图,我们从左到右进行看一下具体是什么。左边是设计和分析,软件设计实现的过程,同时有审核的过程,保证质量,可以理解为静态的测试过程;右边是对设计输出结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。整个过程中很多工作因联系密切,是可以提前准备的,这样会提高效率。

1、需求分析和功能设计对应验收测试,说明在做需求分析、产品功能设计的同时,测试人员就可以阅读、审查需求分析的结果,从而了解产品的设计特性、用户的真正需求,确定测试目标,可以准备用例并策划测试活动。

2、当系统设计人员在做系统设计时,测试人员可以了解系统是如何实现的,基于什么样的平台,这样可以设计系统的测试方案和测试计划,并事先准备系统的测试环境,包括硬件和第三方软件的采购。因为这些准备工作,实际上是要花去很多时间。

3、当设计人员在做在做详细设计时,测试人员可以参与设计,对设计进行评审,找出设计的缺陷,同时设计功能、新特性等各方面的测试用例,完善测试计划,并基于这些测试用例以开发测试脚本。

4、在编程的同时,进行单元测试,是一种很有效的办法,可以尽快找出程序中的错误,充分的单元测试可以大幅度提高程序质量、减少成本。

流程各流程步骤具体分析:

1.系统需求分析及系统架构设计

这部分工作主要需要系统工程师完成,同时需要项目工程师提供相关输入。基于项目输入对整个系统功能的需求,结合软硬件整体定义,对系统逻辑架构进行设计,工作内容主要包括:硬件功能及接口的定义,本控制器与其他控制单元的通信协议的制定,控制软件具体功能整体规划并制定技术协议,系统整体架构的设计等。

在这个阶段,主要是从系统级定义整个项目的相关事宜,并不会对具体的技术逻辑等做具体规划和定义。

2.软件需求分析

这部分工作主要需要系统工程师完成。系统工程师根据系统相关方需求说明书、软硬件接口文件、电气设计图纸等输入,梳理定义软件研发需求文档,包括分配给软件要素的软件需求及其接口、更新了软件需求等功能需求和非功能需求。

根据项目规划,制定软件开发计划,将软件需求映射到系统需求,确保软件要实现的系统需求全部覆盖。

3.软件架构设计

这部分工作主要需要架构工程师完成。统一分配软件需求,建立清晰、结构化的软件设计,完成软件架构设计。根据系统相关需求、软硬件接口和软件需求来具体确定软件开发的整体架构,内容主要包括:将每条软件需求合理分配到软件模块中,定义每个软件模块的输入输出接口、动态行为、资源消耗目标等,评估多种软件架构的优缺点等。

架构工程师需要最终输出控制器软件静态设计和动态设计的详细文档。

4.软件单元设计和软件实现

这部分工作主要需要软件开发工程师完成。在此阶段,需要确定每个组件内部详细的算法逻辑。组件功能的详细设计需要与软件需求建立有效的一一对应关系,确保无遗漏。软件实现工作,内容包括:软件单元的接口设计、软件通讯协议设计、软件DBC设计、软件单元的详细设计等。

软件实现形式具体看怎样定义使用什么开发工具:如果是模型搭建,那么就是使用simulink;如果是使用代码编写,一般就是使用C代码相关的编译器。

6.软件单元测试

这部分工作一般需要软件开发工程师完成,也可以让测试工程师完成。单元测试是根据软件单元设计,进行代码级别上进行的测试。单元测试一般可以通过Matlab等工具进行。

7.软件集成及集成测试

这部分工作主要需要集成工程师和测试工程师共同完成。集成测试与软件需求对应。集成测试将各个组成部分整合入一个软件系统中之后,最后进行软件的集成测试。根据定义的需求,测试相应的功能是否满足软件需求。

8.软件功能测试

这部分工作需要测试工程师完成。软件功能测试与系统需求对应。目前有专业的设备可以完成相关操作,比如Hil设备。将程序烧录到Hil设备当中,加上配套的上位机和传感器,组成一个完整的模拟系统,测试软件的基本功能。

9.系统集成和系统确认测试

这部分工作需要系统集成和测试工程师去完成。将单个控制器按照设计需求设计,装入整个成品系统,测试整个系统联调的准确性。

总结:

       对于一个开发工程师来说,很多时候不会完全根据V流程进行全套开发,我们开发项目的过程中,经常会更具具体的成员配备,去整合相关工作步骤,只要是适合我们团队开发的整体节奏,才是最好的。不过V流程当中的内容最好不要缺失,这样才能更好的保证我们开发的效率和完整性。

软件定义汽车,欢迎进入BMS世界!

 

来源:BMS田间小路公众号

原文:https://mp.weixin.qq.com/s/fDbqHxIJdc76P0d9KJAMGw

此帖出自汽车电子论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
点赞 关注
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表