• 854查看
  • 0回复

[应用层软件] 汽车软件需求是如何变成用户功能?

[复制链接]


该用户从未签到

发表于 29-8-2023 14:20:05 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


车上现在五花八门的功能应接不暇,这些功能是如何从文字版需求变成用户可以感受到的功能呢?趁疫情在家,闲来无事聊聊软件需求话题。首先是需求的来源,对于车载控制器而言,需求的来源通常有两个大途径,一个是供应商内部,比如内部各模块log的存储方案、任务调度策略、参数管理等;另一个是主机厂,这是需求的大头,有来自法规对车辆的要求,也有来自于为了满足用户的驾驶需求,还有来自于各试验场测试反馈问题的变更需求。
主机厂的兄弟通过与系统工程师(需求工程师)反复开会澄清需求,并以正式的方式输入。然后需求工程师从中提取真正的软件需求,并且将需求输入到需求管理系统,比如常用的西门子的Polarion、IBM的Doors等。为了减少系统工程师与软件开发工程师、测试工程师之间的反复扯皮,一份合格的需求必须具备以下特性:1、软件需求只包含必要描述性、定义性的信息,而不能包含解释性的内容。2、每条需求都必须是组成某个功能的最基本单元,不能够再继续分解。3、每条软件需求都必须具备可测试性,意味着有明确的输入输出。一份清晰而又准确的需求文档是一个项目是否优秀的基石。系统工程师需求写好之后,开始召集相关的软件开发工程师、测试工程师,进行需求的宣导,并且对齐各方对需求的理解偏差。这样需求就交接给他们了。软件工程师在收到需求后,开始编码进行功能实现,为了使编码符合编码规范,一方面团队会有一份编码规范文档,在入职会进行宣贯,以及考试验收,第二通常会在IDE中集成静态代码检查工具来执行MISRA C/C++静态代码检查,保证代码的质量。另外在开发过程中,难免还需要与系统工程师反复地确认需求。当开发工程师完成开发后,就开始反复地测试、优化过程了。首先开发工程师会进行自测,如果是模型开发,会有模型在环MIL、软件在环SIL等仿真测试。然后会在单板离线环境进行功能的自测。
这些测试OK之后,团队内有个内部的测试小组,会对每条需求进行硬件在环HIL测试,以及老化测试,测试后会将结果反馈给开发工程师,工程师对FAIL项进行确认和修复,然后继续测试,直到所有的需求都测试通过。团队内部测试OK之后,会出具测试报告,然后将测试报告和软件包交给独立的测试部门,进行测试。这里又会有一个反复的过程,比如测试部测完之后,如果有测试FAIL项,会将测试结果反馈给开发团队,团队的开发和测试小组会进行FAIL项的确认、分析和修复。团队内部测试OK之后,再次提交给测试部测试。当测试部测试完成之后,会整理测试报告和测试结果,将软件释放给主机厂。这其实就是汽车行业传统的V模型开发模式。
汽车软件需求是如何变成用户功能?w1.jpg

(图片来源网络)
主机厂收到软件包之后,会进行简单的验收测试,验收OK之后,将软件功能描述、供应商测试报告、验收报告汇总成一份汇报PPT,在部门会议上进行汇报,主要目的是申请将测试软件释放到测试车辆和测试台架上。会议同意释放之后,软件包和测试报告以及会议记录会发布至主机厂内部的测试团队,他们会将软件更新到各个测试车辆进行测试。在车型开发过程中,都会有大量的测试车辆在全国各地跑功能、耐久、道路适应性测试。另外还有大量的测试件在环境仓、测试台架进行持续的测试。除此之外,还有每年夏季和冬季的标定测试,比如夏季去温度最高的吐鲁番以及海南、进行为期几个月的测试,同时还会其青海、昆仑山等进行高原测试,冬季则去大东北,漠河或者内蒙,进行为期几个月的冬季测试。
当功能在这些大量的测试下测试OK之后,才会真正的将功能释放给用户车辆。
这种长期的测试和验收流程,保证了车辆软件以及功能的可靠性,也是软件bug少的原因,另外这也是为什么汽车软件更新很慢的原因,不像手机软件,一周给你推送一个版本,甚至还会推送开发者版本给客户提前尝鲜,这种对车辆上核心的驾驶功能控制器来说,这是不可能的。



该用户从未签到

发表于 18-3-2025 02:22:05 | 显示全部楼层
针对您关于汽车软件需求如何转化为用户功能的问题,大致流程如下:

需求的来源广泛,主要分内部和外部两大途径。需求经过主机厂的与系统工程师的反复沟通、澄清,正式输入。随后,需求工程师会细致分析并提取真实的软件需求,再将这些需求录入到需求管理系统中。接下来,软件工程师会依据这些需求进行软件设计,编程实现功能。通过严谨的测试验证后,这些功能最终体现在车辆上,转化为用户可以直观感受到的使用体验。如导航、语音控制等。

此过程涉及多方合作、多次沟通,确保最终呈现的功能既满足用户需求,又确保车辆性能与安全。疫情在家期间,正是沉淀思考的好时机,希望以上信息能对您有所助益。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 18-3-2025 02:22:05 | 显示全部楼层
针对您关于汽车软件需求如何转化为用户功能的问题,简要回复如下:

汽车软件需求从文字版需求转化为用户可感知的功能,需经历多个阶段。首先,需求来源多样化,包括内部和主机厂的反馈。需求经过系统工程师的梳理和澄清后,被正式输入至需求管理系统。随后,软件工程师理解并分析这些需求,进行软件设计和编程。通过严谨的测试验证后,这些功能最终集成到车载控制器中。控制器与车辆硬件结合,形成完整的用户体验。此过程涉及跨部门的紧密合作和专业的软件工程技术,确保功能的安全、高效、便捷地满足用户需求。如主机厂有更多特定需求,还需进行专项讨论并定制解决方案。在疫情居家期间,正是我们进行技术交流和探讨的好时机。
回复 支持 反对

使用道具 举报

快速发帖

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

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 02:20 , Processed in 0.371579 second(s), 36 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.