汽车软件开发流程(汽车软件开发流程图)

软件开发 3254
今天给各位分享汽车软件开发流程的知识,其中也会对汽车软件开发流程图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!怎么样开发一个软件 1、软件开发的第一个流程是项目开发目的分析与确定,主要是在软件开发商将开发项目确定下来之后,需要与需求方进行讨论,确定需求方对于软件开发的需要实现目标及其具体需要的功能等等,并确定是否可达成;2、接下来就是需求分析,这个步骤也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发生,保证软件开发流程的顺畅进行;

今天给各位分享汽车软件开发流程的知识,其中也会对汽车软件开发流程图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

怎么样开发一个软件

1、软件开发的第一个流程是项目开发目的分析与确定,主要是在软件开发商将开发项目确定下来之后,需要与需求方进行讨论,确定需求方对于软件开发的需要实现目标及其具体需要的功能等等,并确定是否可达成;

2、接下来就是需求分析,这个步骤也是为软件开发的正常进行确定具体思路的阶段。在确定软件开发可进行后,必须要对客户需要实现的软件功能需求进行具体详细的分析。同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发生,保证软件开发流程的顺畅进行;

3、接下来就是软件设计。软件设计要根据上一阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。它主要分为总体设计和详细设计两个部分;

4、接下来就是编程实施步骤。编程也是根据对软件设计,将软件设计的各部分需求通计算机程序代码来实现运行,编程有统一、规范的程序编写规则,保证软件程序的易懂性、易维护性;

5、接下来就是软件测试步骤。也就是在根据设计将客户软件需用编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进行单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满足的充分性,以此来确定软件是否达到开发要求,同时也是一个发现问题、纠正问题的过程;

6、通过以上核心环节完成了软件开发,接下来就是在软件开发达到客户需求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《用户安装手册》、《用户使用指南》、需求报告、设计报告、测试报告等产物交付给客户,同时指导客户进行软件安装、以及安装技巧,提醒客户注意软件运行状况、环境、服务器及相关中间件的检测与注意事项,知道客户软件的实际操作方法、使用流程等等问题,实现合同规定任务;

7、用户在接受开发商交付的软件开发结果,并进行实际操作、测试运行,实现满意结果之后,对开发出来的软件进行验收;

8、定制开发的软件通常都需要提供售后服务,定期对软件进行维护,或者根据用户出现的新需求,进行应用软件程序的修改,使之不断满足客户实际需求。

如何检测汽车零部件?

以动力电池为例介绍一下新能源汽车动力系统部件的测试,欢迎开发测试工程师一起交流、指正:

动力电池系统作为硬件本体和控制系统结合极为紧密的系统,其测试大致可以划分为两大部分:电池包本体(Pack)测试、电池管理系统(BMS)测试,下面分别介绍这两部分的测试情况;

1. 电池包本体(Pack)测试

电池包本体测试一般在DV/PV(设计验证/生产验证)阶段进行,目的是为了验证电池包的设计/生产是否符合设计要求。其中包含温度测试、机械测试、外部环境模拟测试、低压电气测试、电磁兼容测试、电气安全测试、电池性能测试、滥用试验测试等等。因为大伙都比较关心电池安全问题,在这里主要介绍一下电池包滥用试验的测试方法:

1) 针刺测试

模拟电池遭到尖锐物体刺穿时的场景,因为异物刺入有可能导致内部短路,试验要求不起火不爆炸

2) 盐水浸泡

5%盐水长时间浸没测试,电池功能正常

目前新能源汽车电池包防水防尘等级推荐是IP67(即1米深的水浸泡半小时无损坏,上汽、蔚来的电池包都是IP67)。汽车的使用环境恶劣,再怎么做防水防尘保护也不过分(上海有一年暴雨导致车库积水,传统车都淹挂了,而电动车完好无损)。

3) 外部火烧:

590摄氏度火烧持续130秒电池无爆炸、起火、燃烧并且无火苗残留。

4) 跌落:

1m高度自由落体在钢板上电池壳体完整功能正常

5)振动测试

高频振动模拟测试,要求电池包功能正常。做电池包的同事应该知道,这个也很难通过。

2. 电池管理系统(BMS)测试

电池管理系统的测试更多侧重软件测试,一般在软件功能开发过程中进行。

与尚未量产的自动驾驶系统偏向于使用C语言实现软件设计不同,现今成熟的电动汽车控制系统(如整车控制器、电机控制器、电池管理系统)软件都是以模型为基础的软件开发(Model-Based-Design)。MBD开发相比C的优点是能够以图形化的方式表达复杂的逻辑、代码可读性、可移植性、开发调试便利程度都大大增强,同时利用成熟的代码生成工具链,也避免了手工代码容易产生的低级错误。在基于模型的软件开发环节中规定了MIL/SIL/HIL等多项测试:

1) MIL(Model-In-Loops)既模型在环测试,就是验证软件模型是否可以实现软件功能,测试依据是由系统需求分解而来的软件需求。

2) SIL(Software-In-Loops)软件在环测试,对比模型自动生成的C代码和模型本身实现的功能是否一致,使用Simulink自身工具就可以进行Sil测试。

3) PIL(Processer-In-Loops)处理器在环测试,目的是测试自动生成的代码写入控制器后,功能实现上是否与模型有偏差。PIL看似无关紧要,但不做重视也会引起一些不良后果(如调度问题、CPU Load,堆栈溢出等)

4) HIL(Hardware-In-Loops)硬件在环测试,测试控制器完整系统功能,一般会搭建控制器所在系统的测试台架,使用电气元件模拟传感器(如温度)和执行器(如风扇负载)的电气特性,验证完整的系统功能。

这些测试环节的用例来源于系统需求。在汽车软件开发流程中,开发和测试成V字型进行,俗称软件开发V模型,感兴趣的同学可以查看汽车软件开发流程ASPICE。

统开发流程中非常强调测试软件环节的。要知道手机软件出问题最多也就是秒退而已,车辆软件出问题影响的是人命。

当年丰田刹车门事件,美国政府就派了嵌入式软件专家和卡耐基梅隆的计算机教授详细审查了发动机控制系统的软件代码,丰田对全局变量的滥用(上万个)以及软件安全机制的混乱就遭到了巨额处罚。如果丰田重视软件测试工作的话,这件事也许不会发生。

最后再聊下零部件在整车极限环境下的测试情况:整车耐久测试这部分工作一般是整车厂的测试标定工程师负责。整车耐久试验的花销很大,造工程样车(每辆100万左右)、租用测试场地、工程师团队花销,很考验厂家的资金实力,没有强大的资金池根本无法运行起来。但在极寒、高温、高湿度等各种极限环境下的测试进行的越多,越能充分的验证零部件的功能、性能以及耐久表现,越早发现问题,解决修复所耗费的成本越低。

1. 低温耐久测试,主要测试冷起动性能,一般在黑河/牙克石进行。电池包的低温充放电能力、低温保护策略、电池包加热功能在该项测试中都会进行考核。

2. 高温耐久测试,一般在格尔木进行。主要测试电池包在高温下充放电能力、电池包冷却功能和过热保护策略。下图是蔚来在澳大利亚墨尔本进行高温测试,为了整车开发整车厂都是不惜成本。

3. 高温+高湿环境耐久测试,一般在海南进行,海水环境会加速部件腐蚀,零部件的耐久会经受严格考验。(Ps:传统车还有重要的高原测试,主要测试在低气压下发动机的性能表现。电动车一般不需要进行此项测试。)

电池包做的比较好的都会承诺使用寿命内的电池衰减,比如蔚来ES8就承诺10年30万公里电池容量衰减不超过20%,做电池开发的都知道做到这个水平是非常不容易的。敢公开承诺也说明他们的电池包耐久测试做到了非常优秀的水平。

汽车软件客户端的安全防护措施有哪些?

我认为,汽车软件客户端的安全防护措施主要有以下几点:

1.客户端安全防护

移动应用往往基于通用架构进行开发设计,安全逆向技术成熟,常成为攻击者进行协议分析和发起网络攻击的突破口。在应用正式发布之前,对主配文件Android Manifest.xml进行合理地配置,关闭Debuggable、allowBackup属性,同时关闭不需要与外界进行数据交互组件的exported属性,防止因为不合理地配置,造成移动应用安全风险。

同时,与国内外专业安全公司开展合作,通过代码混淆、字符串加密、变量名数字化、反调试等方式对车联网移动APP进行安全加固,防止移动应用被恶意破解、二次打包、逆向分析等。此外,在应用发布之前,邀请安全团队对车联网移动APP开展安全渗透测试,寻找漏洞并进行修复,借助安全厂商的力量提升车联网移动APP的安全。

2.通信安全防护

车联网环境中的车辆不再是一个独立的机械个体,而是借助各种通信手段和对外接口实现与外部终端进行数据交互。因此保证车联网移动APP自身安全以及提供安全可靠的对外通信策略对车辆与外部终端的连接和通信安全至关重要。

在车联网移动APP与TSP服务平台通信的过程中,使用HTTPS的安全通信协议,增加攻击者窃听破解的难度,同时使用基于公钥架构(Public Key Infrastructure,PKI)[5]的身份认证机制在每次通信时对车联网移动APP与TSP服务平台进行双向认证,保证通信双方的合法性。此外,在通信的过程中对关键数据流量进行加密处理,防止中间人攻击和重放攻击。

3. 数据安全防护

车联网移动APP在使用的过程中,会在本地手机端存储部分用户敏感信息,例如手机号、登录密码、车辆Vin码等。采用加密的方式对移动端的文件、数据库等多种格式数据内容进行安全存储,以免数据在移动终端存储不当造成数据泄露。同时,防止密钥被泄露,避免将密钥硬编码到代码中,采用密钥分散技术和白盒密钥加密技术,提高密钥的安全性。

4.业务安全防护

开发者应遵循移动应用的安全开发流程以及安全开发规范,将安全意识融入到软件开发生命周期的每个阶段。同时,开发人员应积极参加软件安全开发生命周期(S-SDLC)[6-7]培训,强化开发者的安全开发意识,严格按照安全开发规范进行开发。

关于汽车软件开发流程和汽车软件开发流程图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码