行话|入局「软件定义汽车」,你真的准备好了吗?

news2024/11/15 15:32:25

什么是行话?

「行话」,是极狐 GitLab 推出的全新内容系列,探讨 Git 与 DevOps 在不同行业的实践场景与解决方案,希望能够为不同行业的软件开发者带来一些全新的思考和输入。

说行业,讲行话。

这一期,我们选择了「汽车行业」,讲「汽车行话」。

以下,enjoy。

本文来自:

卢东晓  安波福(中国)科技研发有限公司软件质量高级经理

极狐(GitLab) 市场部内容团队

近年来,「软件定义汽车」兴起,但各方观点众说纷纭,直到最近才有了标准化组织的官方理解,即来自中国汽车工业协会下属的软件定义汽车工作组(以下简称SDV工作组)发布的《软件定义汽车产业生态创新白皮书(V1.0)》(以下简称白皮书)。

白皮书引用了 APTIV(安波福)和 BOSCH(博世)对于「软件定义汽车」的理解:

APTIV(安波福)

「软件定义汽车」是一个术语,描述的是一种主要通过软件实现特性和功能的汽车。这是汽车从主要基于硬件的产品向以软件为中心的车轮上电子设备不断转变的结果。

BOSCH(博世)

许多汽车驾驶员希望他们的汽车能完全融入他们的数字生活。此外,新的互联化、自动化和个性化功能在未来将越来越多地通过软件实现。过去,客户对汽车的体验主要由硬件决定,而现在软件正承担着更重要的角色。软件极大地影响了客户体验,在某些情况下甚至影响了硬件规格的这种趋势,被称为「软件定义汽车」(SWdV)。

头豹研究院《汽车软件行业概览:软件定义汽车》

目前行业普遍认为比较合理的描述是:“软件定义汽车就是软件深度参与到汽车的定义、架构、开发、验证、销售、服务等全生命周期的过程中,并不断改变和优化各环节,实现驾乘体验持续优化、汽车价值持续增值”。

这只是一个阶段性的概念理解,距离形成标准定义仍有一段路要走,但确实标志着,行业已经发展到了新的里程碑。受各种因素影响,汽车市场前景仍不明朗,但软件在汽车行业的重要度不断提升的趋势,已然不可逆转,相应的机会也越来越多。

在这样的背景下,越来越多的企业与个人源源不断地涌入,而市场竞争的大浪淘沙下,并非所有人都能生存下来。

入局「软件定义汽车」,你真的准备好了吗?

过去深耕传统汽车的整车厂,能适应快速迭代的敏捷开发吗?

软件外包团队,能应付数据激增算法架构高度复杂的系统吗?

互联网公司ICT 科技公司,入局汽车能符合汽车行业的各项合规要求吗?

我们正处在汽车行业历史的关键节点


1. 主流汽车软件架构路线图

上述 SDV 工作组引用的两家企业,对「软件定义汽车」这一转变,有各自的行业洞察:

APTIV(安波福)的前身是从通用汽车公司分离出的德尔福,总部曾从美国迁到伦敦,后至爱尔兰,在一定程度上代表了「英美法系」的技术见解。

在《安波福智能汽车架构白皮书》中,可以看到如下「汽车软件架构路线图」:

图 / 逐步全面实现 SVA

来源:《安波福智能汽车架构白皮书》

翻译如下:

简言之,根据安波福发布的这份白皮书,当下的汽车软件架构正处于域(Domain)和区域(Zone)架构的阶段,2025 年将真正进入「软件定义(Software Defined)」元年

BOSCH(博世)总部位于德国,长期居于 Tier1 榜首的公司,在一定程度上代表了欧洲「大陆法系」的行业洞察。

图源:The Wild West Of Automotive

翻译如下:

该时间表是博世于 2015 年提出,而当下的架构演化进程完全符合预测,正处在所有域控单元向「融合于一个集中式计算单元」发展的进程中。

结合国情理解「软件定义汽车」这一转变给行业带来的影响,我们可以参考头豹研究院《汽车软件行业概览:软件定义汽车》报告:这是覆盖「汽车的定义、架构、开发、验证、销售、服务等全生命周期」的颠覆性变革。

2. 历史 vs 当下

事实上,随着「软件定义汽车」的演进,汽车软件产业链金字塔型结构,即「主机厂 - Tier1 - Tier2 - Tier3」,也已发生改变。

在过去传统汽车供应链中,Tier1 为汽车软硬件集成负全责,如电装之于丰田、德尔福之于通用、伟世通之于福特。

而当下,Tier1 不再是 OEM 软硬件的唯一来源,取而代之,OEM 可能会从第三方软件、OEM 本身软件、软件栈工程集成服务商、面向 OEM 的硬件提供商、硬件工程服务商、EMS 服务商等多个来源获取对应的软硬件组件进行集成

在这样一个新的产业链关系中,甲乙双方的合作模式如何?

理想的开发状态当然是甲方和乙方基于统一标准和工具链,如双方 PM、程序员、测试均在同一套软件平台进行需求管理、开发与评审。

但目前,甚至很少企业能做到甲乙双方 PM 针对 Jira 上的一个 story 跟踪状态;双方需求人员基于同一个 Polarion 里的工作项进行评审;双方程序员基于极狐GitLab 进行软件研发等,更遑论在同一个平台进行研发管理。

要实现理想状态,不可能一蹴而就。现阶段,「软件定义汽车」对汽车软件链条中的不同角色都提出了新要求:

  • 更快捷

对于项目的开发和管理人员而言,这或许意味着需要通过敏捷方法推动持续软件开发,比如采用目前在互联网大规模落地实践、并已证明有效的 DevOps 方法,使汽车制造商能够在车辆出厂后持续将软件高效地部署到车辆上。

  • 更可控

对于定义业务功能的产品经理和搭建架构的架构师而言,车辆软件和电气电子架构转向更模块化的面向服务架构(SOA)模型,使软件组件更易以构建块格式重用。随着软件复杂度提升,对于代码追溯和版本管理的可控性要求也进一步提升。

  • 更安全

对于网络安全专家测试验证团队而言,为了避免、检测和防御网络攻击,安全策略变得更加关键。相较于事后补救,更需要防患于未然,提前实施安全测试,软件安全左移,在早期将安全要素融入到设计、开发、测试和部署的每个阶段。

汽车行业软件研发三大挑战


面对「更快捷」、「更可控」、「更安全」的行业要求,汽车行业软件研发链条上下游面临着诸多挑战,聚焦软件研发方面包括:

1. 缺乏研发运维一体化标准平台

软件研发过程中,需求管理、源代码托管、CI/CD、安全扫描等,都有对应的工具平台,若缺乏有效整合,研发团队面对的将是许多复杂的工具研发流程节点之间难以流转;且工具之间数据结构不同API 丰富程度不一集成难度大,团队需要花更多时间和精力在工具细节上,难以实现敏捷。

2. 缺乏确保标准合规的手段和机制

尽管软件架构方面有了 AUTOSAR(汽车开放系统架构)、代码质量方面有了 MISRA(汽车工业软件可靠性联会)、开发流程方面有了 ASPICE(汽车产业软件流程改进和能力测定标准)和规模化敏捷等标准,但具体落地中,仍然没有形成有效的机制强制标准合规。例如:只有评审通过的代码才能上传、不合规问题及时检出报告、支持版本控制、确保可追溯性等,这些机制的缺失,可能最终导致整个项目失控。

3. 复杂度和性能要求进一步提升

涉及更多兼容、安全要素的行业标准正在制定或刚刚发布,但在落地层面仍然存在很多不确定性。例如 2021 年 8 月发布了 ISO21434,但实际上的产品架构设计、代码实现、验证检测方面都还处于初级阶段,缺少安全保障很可能酿成严重事故。

应运而生的DevOps


更复杂的系统、更严格的标准、更紧迫的交付时间、更剧烈的竞争……一切都在层层「做加法」。

DevOps 应运而生:旨在让软件研发链条上的所有人紧密协作,加速软件交付。

近年来,DevOps 被各大行业所追捧和实践,尤其在互联网领域,已获得巨大成功。

但对于车企而言,关于 DevOps 的落地实践仍存在误区:

1. 过分关注工具链建设

工具是 DevOps 落地实践的有效支撑。因为 DevOps 涉及多阶段,每个阶段都会用到很多开源或闭源工具。企业往往陷入各种工具链的建设,然而每个阶段使用一种工具,最后将耗费大量的时间和精力在工具运维上(采购、安装、补丁升级等),而无力投入到汽车软件研发和团队创新的核心工作上。

因此,切记一点:工具只是手段,不是目的。理想状态下,好的研发平台应当屏蔽所有工具底层细节,车企直接使用开箱即用的能力。

2. 忽略规范化、标准化流程的构建与沉淀

规范化、标准化流程是研发效率提升的重要手段之一,能够让研发团队遵循同样的流程进行研发,减少无序和混乱;也能够让团队新成员快速熟悉团队工作、进入状态,最终提高团队端到端交付能力。

同时,规范化、标准化流程可以沉淀为最佳实践,在团队、组织间大规模推广,有效提升生产力。

3. 忽略「数据孤岛」的治理

工具、流程的背后,其实是数据。数据为研发、测试、运维、决策者等角色,提供诸如变更代码质量如何、安全如何等的直观感受。

但软件研发流程的每个阶段都有很多数据产生,如果不能够被有效整合,就容易形成 “数据孤岛”,让 “数据驱动决策” 成为口号。

另外更为重要的是,所有数据应该 “左移”,让研发、测试、安全等第一责任人在第一时间掌握现状,对于有问题的代码进行及时修复,降低修复成本

4. 安全「扫而不修」,无法「安全闭环」

为确保汽车软件安全交付,常规的思路是选择安全工具进行扫描,但往往只扫描,不修复,因为缺少完整的机制来落地「安全扫描 → 漏洞管理 → 安全修复」的闭环。

汽车行业DevOps的最优解


因此,一个适合汽车行业使用场景、满足汽车软件需求,且能帮助车企快速完成「软件定义汽车」转变的 DevOps 平台,应该满足:

  • 一体化:方便所有人员在同一个平台上协作、所有信息公开透明,有效消灭「数据孤岛」;

  • 体系化:能够屏蔽工具细节,直接为用户提供开箱即用的 DevOps 能力,构建体系化、标准化的 DevOps 流程;

  • 安全可控:确保软件安全左移,及时修复,落地「安全闭环」。

极狐GitLab ,安全的企业级一体化 DevOps 平台。

从 2011 年面世之初的源代码托管工具,已经演变成为集项目管理、源代码托管、CI/CD、DevSecOps、GitOps 等能力于一身的一体化平台,实现高质量软件创新落地。

1. 极狐GitLab workflow,标准化敏捷研发流程,提升研发效率

极狐GitLab workflow 将需求管理、代码变更与托管、CI/CD、安全扫描、代码准入融合在一起,在一个流程上完成代码变更到上线,兼顾效率和质量。

这种 workflow 让研发流程规范化、标准化,减少了软件研发的无序和混乱,节约了不同角色之间的沟通、协作成本,可极大提升研发效率。

2. 版本控制,实现变更可追溯、可审计

极狐GitLab 版本控制功能,能够实现对文件、代码的版本控制,记录每次变更的时间、范围、变更人员等信息。在后续的故障回溯、安全审计中,可以快速查阅对应信息。

3. 极狐GitLab CI/CD,为软件研发提速

极狐GitLab CI/CD 无需安装第三方工具即可使用:

  • 只需要通过创建 .gitlab-ci.yml 文件,并且使用内置的关键字完成 YAML 文件的编写即可使能 CI/CD Pipeline;

  • 内置的 include 语法能够减少 CI/CD Pipeline 的冗余,便于 CI/CD Pipeline 的维护与快速构建;

  • 多种流水线类型,注入父子流水线、多项目流水线、合并请求/结果流水线等,方便不同规模团队、不同应用场景的使用。

4. 安全可控,为车企软件构建安全生命线

极狐GitLab 的安全表现在多个方面:

  • 私有化部署,保护代码安全

极狐GitLab 支持私有化部署,方便用户在数分钟之内快速构建起可用的极狐GitLab 实例,同时,所有数据都在用户侧,确保数据安全可控。

  • 安全审计,防止核心资产外泄

极狐GitLab 内置安全审计功能,对于代码的相关操作会都会有对应的审计事件。通过对审计事件的监控,可防止代码核心资产的外泄。

  • DevSecOps,构建应用纵深防御体系

DevSecOps 是 Security 与 DevOps 的结合,意味着在软件研发的每个阶段,都嵌入对应的安全防护手段,构建纵深防御体系。

极狐GitLab DevSecOps 提供敏感信息扫描、依赖项扫描、SAST、DAST、容器镜像扫描、License 合规以及模糊测试等安全防护手段,提供从静态到动态的安全防护能力,同时所有的扫描报告会统一展示,并且嵌入到对应的 MR 下,实现真正的安全 “左移”。


软件定义汽车的征途刚刚开始,产业链条正在日趋完善,相信支撑软件定义汽车的研发团队通过实践 DevOps,将推动汽车产业加速驶入“软件定义汽车”时代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MMPose 实践笔记

1. 配置环境 参考:https://mmpose.readthedocs.io/zh_CN/latest/install.html 第 1 步 使用 MIM 安装 MMCV pip install -U openmim -i https://pypi.tuna.tsinghua.edu.cn/simple mim install mmcv-full第 2 步 安装 MMPose 我选择 从源码安装 git clone http…

Vector-常用CAN工具 - CANoe入门到精通_00

今天在梳理的时候突然发现写的CANoe工具入门到精通系列缺少了CANoe安装,实际对于CANoe的安装并不难,在“Vector-常用CAN工具 - CANoe入门到精通_01”中我有提过我们常说的CANoe主要由VN1640或者VN1640以及CANpiggy等硬件加上CANoe软件组成了我们工作中常…

Python3,9行批量提取PDF文件的指定内容,这种操作,保证人见人爱....

批量提取PDF文件指定内容1、引言2、代码实战2.1 介绍2.2 安装2.3 实例3、总结1、引言 小屌丝:鱼哥, 你有没有什么办法,提取PDF文档的内容。 小鱼:这个还问我?? 小屌丝:哎呀,这个不是…

leetcode题17电话号码的字母组合-java题解-回溯篇

说明:问题描述来源leetcode: 一、问题描述: 17. 电话号码的字母组合 难度中等2219 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注…

【踩坑专栏】关于实现异步多线程的一些踩坑

在实现基于redis的分布式锁的时候,有一项功能,就是通过开启异步线程,对还没有unlock的key进行定时刷新,延长时间。 初始版本是New一个线程start。我们知道New一个线程,用了没多久又抛弃,这种方法非常消耗资…

【浅学Java】SpringBoot 日志文件

SpringBoot 日志文件1. 认识日志文件1.1. 日志文件有什么用?1.2 日志文件的格式2. 自定义日志文件的打印3. 日志的持久化3.0 什么时日志持久化3.1 设置日志名称3.2 设置日志目录3.3 持久化日志的特点4. 日志的级别5. 设置“日志级别”来筛选日志6. 简化日志打印——…

量子计算(十二):量子线路与测量操作

文章目录 量子线路与测量操作​​​​​​​ 量子线路与测量操作​​​​​​​ 量子线路是由代表量子比特演化的路线和作用在量子比特上的量子逻辑门组成的。量子线路产生的效果,等同于每一个量子逻辑门依次作用在量子比特上。在真实的量子计算机上,最…

HTML CSS游戏官网网页模板 仿绝地求生吃鸡游戏网站 大学生游戏介绍网站毕业设计 DW游戏主题网页模板下载

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

[附源码]Python计算机毕业设计Django影院管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

使用yum info查看软件包信息与常用软件包

记录:357 场景:在CentOS 7.9操作系统上,使用yum info查看软件包信息,包括软件包名称、适用架构、版本号、发行版、软件大小、仓库名称、概要、URL、许可证、描述。 版本: 操作系统:CentOS 7.9 1.iptabl…

【现代机器人学】学习笔记三:前向运动学(Forward Kinematics)

这节的内容比较简单,主要配合习题来看。 在掌握方法以后,对常规的有许多移动副或转动副结构组成的机械臂,计算正向运动学则非常简单。 齐次变换法: 这种方法的特点是,只研究当前关节和上一个关节的旋转平移&#xf…

供应商关系管理与企业内容管理 (ECM) 相结合,帮助解决采购存在的五个关键挑战

供应商关系管理与企业内容管理 (ECM) 相结合,帮助解决采购存在的五个关键挑战 采购过程包括将制造需求转化为供应商需求、如何管理供应商关系、以及生产产品所需的商品和服务的订购。 领先的制造、制药、食品和自然资源组织正在意识到&#…

【性能优化】pc端与移动端图片性能优化

目录 优化方向 优化方式 1.域名收敛 2.使用CDN节点 3.设置缓存 4.图片懒加载 5.用户图片上传限制 6.使用OSS服务压缩 7.使用OSS缩放 8.合成雪碧图 9.使用svg图片 在前端项目中图片的性能优化也有不少可以提升的地方,那么有哪些性能优化的点呢&#xff1f…

[附源码]Python计算机毕业设计Django游戏交易平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

NEMUCOD病毒jse样本分析

该病毒使用微软的JScript编写,能够直接运行在Windows操作系统之上,采用了加密和混淆手段对抗监测,可检测是否运行在虚拟机中和系统中是否存在分析工具,可感染可移动存储介质,主要功能为下载器。CC服务器为185.159.82.1…

牛客网刷题【BC114\BC123\BC125\BC13\BC93\BC95】

目录 一、BC114 小乐乐排电梯 二、BC123 小乐乐找最大数 三、BC125 小乐乐转换成绩 四、BC13 ASCII码 五、BC93 统计数据正负个数 六、BC95 最高分与最低分之差 一、BC114 小乐乐排电梯 #include <stdio.h>int main() {int n0;scanf("%d",&n…

Aspose.Words 22.12.0 for NET cRACK

.NET API 来处理 Word 文件 无需使用外部软件即可创建、编辑、呈现 Word 文档并将其转换为多种格式。您还可以生成报告以可视化数据。 .NET 的 Aspose.Words Aspose.Words for .NET 是一种高级文档处理 API&#xff0c;可对各种文件格式执行广泛的管理和操作任务。API 支持…

(文章复现)5.基于BP神经网络的风电功率预测方法(MATLAB程序)

联系方式&#xff1a;2645521500 复现文章&#xff1a; 基于BP神经网络的风电功率预测方法——刘立群&#xff08;2021年&#xff09; 摘要&#xff1a; 风电功率预测结果的准确性&#xff0c;不仅关系到风力发电厂的综合运行效率&#xff0c;也与区域运行成本具备直接联系…

Java面试-MySQL事务专题

链接&#xff1a;https://pan.baidu.com/s/1mw4sej8BzdHNCkaib4ebeg 提取码&#xff1a;j2qu 1 事务的四个特点是什么&#xff1f;他们是如何实现的&#xff1f; ACID-原子性、一致性、隔离性和持久性。 ACID原理原子性undolog一致性通过其他三个特性来实现的隔离性锁MVCC持…

java计算机毕业设计ssm校园志愿者服务系统u7thd(附源码、数据库)

java计算机毕业设计ssm校园志愿者服务系统u7thd&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…