软件定义汽车带来的困境和DevOps:定义汽车软件新开发模式_车辆软件研发devops的建设目标

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文


DevOps:定义汽车软件新开发模式

已剪辑自: https://www.digiproto.com/news/236.html

当前,全球汽车产业正在经历从传统工业向数字化转型的大变革,智能化、数字化、信息化正在成为汽车电子行业转型发展的必由之路。“软件定义汽车”(Software Defined Vehicles,SDV)概念的提出,说明软件在汽车产品中承担的角色越来越重要。随着汽车软件的量级和复杂度不断提高,汽车厂商对嵌入式系统开发需求越来越高。汽车的系统开发以模型驱动开发为主(Model-based systems engineering,MBSE),快速迭代、持续集成、可靠性代码自动生成、测试自动化等改善开发流程的需求逐渐受到重视。

DevOps结合了软件开发(Develoment)和IT运营(Operations),旨在缩短系统开发生命周期,并提供更高质量的连续交付。本文将从软件开发模式的类别入手,结合当下汽车软件开发过程中面临的各类问题,通过分析DevOps和CI/CD的整合工作流在软件开发中的优势,探索汽车软件开发新模式。

软件开发是一项包括需求定义与分析、设计、编程、测试、交付和维护的系统工程。目前常见的软件开发模式有以下四种:

瀑布模式(Waterfall model):将软件开发过程分解成线性顺序的不同阶段,每个阶段依赖于前一个阶段的交付成果。瀑布模式的软件开发过程灵活性较小,因其开发过程基本单向进行。其最大风险在于,该模式只有在产品研发完成后才能确定结果与预期是否相符,如有差错,工程师就需要重新开发,甚至重新设计规划。

图片关键词

▲瀑布模式

迭代增量式开发(Iterative and incremental development):整个开发流程被划分和整合为一系列固定周期的短小项目,即一系列的迭代。每一次迭代都包含需求分析、设计、实现与测试。此模式下,开发工作可以在需求被完整确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作,再通过客户的反馈来细化需求,开始新一轮的迭代。迭代增量式开发弥补了传统瀑布式开发模式的一些弱点,提高了效率和开发成功率。

图片关键词

▲迭代增量式开发模式

螺旋模式(Spiral Model):是一种风险驱动的软件开发模式。基于给定项目的独特风险模式,螺旋模式指导开发团队往往采用不止一个的流程模型,如增量式、瀑布式或原型式。它提倡适应性规划、演化开发、尽早交付和持续改进。

图片关键词

▲螺旋模式

敏捷软件开发(Agile software development):包括需求发现和解决方案改进。该模式通过自组织和跨职能团队与用户协作,制定适应性计划,进行渐进开发、早期交付、持续改进,灵活应对需求、能力的变化以及对需要解决问题的理解的变化。这是一种以用户需求进化为核心的迭代、循序渐进的开发方法。工程师先将用户最关注的软件原型做出来进行交付,根据用户在实际场景中反馈的问题,快速修改弥补需求中的不足。上述过程不断迭代,直至用户满意。

图片关键词

▲敏捷软件开发

随着汽车软件复杂度和代码数量的不断提高,软件系统开发周期越来越快,传统的开发方式需要耗费大量人力和时间成本,无法紧跟市场越来越快的节奏。这就促使开发团队采用优于传统开发模式、更敏捷的方式——DevOps。

DevOps是一组过程、方法和系统的统称,集文化理念、实践、工具于一身,重视开发(Dev)和运维(Ops)和质量(QA)部门之间的沟通合作。

与传统软件开发模式系相比,DevOps打破了开发和运维之间的壁垒,通过自动化“软件交付”和“架构变更”的流程,使得软件的构建、测试和发布能更加快捷、频繁和可靠,从而帮助团队更快地发展和改进产品、服务客户、高效参与市场竞争。

图片关键词

▲DevOps

在汽车软件领域,敏捷开发为嵌入式DevOps提供了合适的路径,以便团队更快发布新版软件代码。随着软件快速迭代,DevOps方法的迭代也在快速演进。在每次迭代中采用卸载/重新安装的方式已变得不切实际,CI(Continuous Integration,持续集成)/CD(Continuous Deployment,持续部署)方法可以使软件系统在不停止运行的情况下进行迭代。

DevOps的核心是持续集成(点击此处查看“持续集成”相关文章)。团队只需通过每天一次或多次的集成,进行嵌入式软件的自动化构建和验证,就可实现持续集成,尽早发现集成错误。

图片关键词

03

DevOps在汽车嵌入式软件领域推行的解决方案

面临的挑战

目前,阻碍DevOps在汽车嵌入式领域推行的挑战主要有两方面:

1)车载软件大多数为嵌入式软件,难以脱离真实目标系统单独运行。然而绝大部分汽车厂商采用“研发驱动测试”的模式,软件测试部门没有独立的硬件目标系统用于软件测试;

2)在自动化测试实践中,硬件难以支持软件进行不同环境的设置。要想达成完全测试自动化,工程师需要对目标系统进行定制。

通用解决方案

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
uXhmAp-1713246641080)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值