
敏捷开发实现无缝智能手机集成
高速开发 应用程序
智能手机的软件开发和更新周期比汽车更短。为了确保两个系统在新车辆应用功能上深度融合,保时捷工程集团采用了敏捷软件开发方法。这确保了各式各样的智能手机在各种条件下都能与车辆兼容。
智能手机和汽车电子系统之间的互联互通,能够实现更加丰富的车辆功能,有助于进一步改善客户的驾驶体验。例如,使用智能手机摄像头透过挡风玻璃录制视频,并将其与车辆实时信息相关联。“我们在智能手机系统与车辆系统互联的基础上开发新的应用功能,在开发过程中需要并行开发多条链路,这是我们面临的重要挑战之一。”保时捷工程集团信息娱乐、连接和 E /E 架构主管托马斯·普雷奇(Thomas Pretsch)解释说。
为了实现功能的最大化,这些应用程序通常需要借助车辆信息娱乐系统的无线网络连接访问和读取 ECU 信息,例如车辆位置、速度、转速、制动力、转向角以及纵向和横向加速度等。由于车机两套系统的产品生命周期各不相同,要想在软件层面上实现所需应用程序与车辆电子系统之间的无缝对接,并非易事。开发团队必须将日新月异的智能手机技术,整合到开发间隔更长的车辆中。同时,还必须确保应用程序在任何条件下,都能在不同的智能手机上可靠运行,而且还要与旧的车辆系统相兼容。

牌面朝下
“计划扑克”(Planning Poker)用于独立估算软件开发中开发目标的工作量。
时时保持最新状态
在开发车辆应用程序时,保时捷工程集团采用了敏捷软件开发的方法,如此就可以让应用程序时刻保持最新状态。为了对软件进行优化,会先确定可以在两周内实施的单个工作包。这样一来,开发人员将不再受到车辆模型维护周期的约束,而是可以随时创建新的软件版本,并通过应用程序商店推送给客户。
在敏捷软件开发的帮助下,保时捷工程集团可以为苹果和安卓智能手机完整地开发一项应用程序,包括从编程和测试到为终端客户制作发布版本软件。“保时捷工程集团能够将先进的软件技术和车辆技术领域的综合知识结合起来,形成无与伦比的研发优势。此外,我们还掌握车辆动力学开发方面的核心科技,这使我们能够准确预测所需的车辆参数来实现特定的功能。”普雷奇介绍说。和软件开发一样,按照新的要求或条件对开发方法进行调整同样迅捷无比。与其他应用程序的使用场景相比,车辆中的应用更加重视软件的测试。对于保时捷工程集团而言,这些测试是在开发过程中进行的,因此,在发生错误的情况下可以迅速修正软件代码:在确定冲刺阶段时,开发团队会为编程划定若干个迭代周期。一旦达到相应的时间节点,专业的测试工程师就会测试软件的成熟度。

“ 在开发过程中进行额外的测试, 的确需要花费一些时间, 但是越早发现错误,为调试进行必 要修改所付出的代价就越小。”
约翰内斯·休伯特
保时捷工程集团信息娱乐与连接部门开发工程师
保时捷工程集团正在陆续扩大应用程序测试项目的范围,以便能在未来更有效地落实对功能安全的严苛要求。“在开发过程中进行额外的测试,的确需要花费一些时间,但是越早发现错误,为调试进行必要修改所付出的代价就越小。”保时捷工程集团信息娱乐与连接部门的开发工程师约翰内斯·休伯特(Johannes Hubert)解释道。由于更新范围广,如今通过仿真和在车内进行的功能测试已经成为开发过程的环节之一。“这里的仿真是由软件内部例程执行的。”休伯特说。保时捷信息娱乐与连接部门的专家项目工程师法比安·布雷西格(Fabian Breisig)补充道:“这些测试能够生成有关应用程序基本功能的信息,而车内测试则涵盖了驾驶时与信息娱乐系统的互联互通以及应用程序的功能。”未来,硬件在环(HiL)测试台上更深度的仿真和测试将补充甚至部分取代现有的驾驶测试。在进行仿真试验时,人们将智能手机融入赛车仿真中。“对应用程序来说,我们打造了一个类似于车辆中的情景。这使我们更加接近真实场景,并使我们能在没有车辆的情况下大量复制功能测试。”布雷西格说。

“对于需要持续优化的软件开发, 敏捷方法是理想之选。”
托马斯·普雷奇
保时捷工程集团信息娱乐、连接和 E/E 架构主管
仿真让灵活性迈上新台阶
硬件在环测试台能够在没有测试车辆的情况下,将应用程序整合到车辆系统中。测试过程中不需要整车,只需要车辆的信息娱乐模块作为硬件,其他控制单元的输入和输出的数据流则由测试系统进行仿真。这就为应用程序的开发带来了难以想象的灵活性。例如,新车型系列的功能可以在早期阶段集成到应用程序中,以便在车辆推出时准时上线,确保客户的正常使用。
敏捷软件开发方法不仅适用于应用程序,保时捷工程集团还会在例如电动汽车的电池系统和操作策略的开发中运用这些方法,而且它们对其他领域同样具有强大的吸引力。“对于需要持续优化的软件开发,敏捷方法是理想之选。”普雷奇解释说,“由于互联互通和软件在车辆中发挥着越来越重要的作用,我预计这种方法的应用范围将很快推广到车辆的方方面面。”
敏捷软件开发
敏捷软件开发是一种广泛应用于消费电子领域的项目管理方法,其特点是在频繁的迭代周期(冲刺)中分阶段开发软件。敏捷工作方式的其中一个优势在于,开发人员可以对变化做出迅速响应,因为可以灵活适应不断变化的要求。由于软件开发设置了阶段性目标,因此开发的最终目标就显得无足轻重了。在冲刺过程中要完成的工作量(任务单)是经过所有团队成员投票后确定的。为此,他们会采用一种被称为计划扑克的方法(见术语表)。
冲刺(Sprint)
冲刺(Sprint)
敏捷开发的周期较短(通常为两周),目的是确保快速反馈。一个迭代周期也被称为“冲刺”。
日常站会(Daily Standup)
日常站会(Daily Standup)
日常站会是一种短会,开发人员在会上就其冲刺状态进行交流和沟通。
任务单(Ticket)
任务单(Ticket)
任务单记录的是软件开发的任务(漏洞、用户故事、过程性任务),在故事细化中被转化为一个或多个冲刺阶段。
任务列表(Backlog)
任务列表(Backlog)
任务列表是所有积压任务单的列表。
故事细化(Story Refinement)
故事细化(Story Refinement)
对任务列表的维护被称为故事细化。任务单被接连不断地生成出来,以供完成一轮又一轮的冲刺。
计划扑克(Planning Poker)
计划扑克(Planning Poker)
计划扑克是一种敏捷方法,用于估算任务单的工作量。在这个过程中,每个开发者都用面朝下的扑克牌进行预测。如果评估之间存在差异,则表明存在模糊之处,例如任务单的表述不够精确。计划扑克的目的是让所有开发人员对每个任务单的工作量做出相同的预测,即对任务本身有一个共同的理解。
信息
本文首次发表于《保时捷工程杂志》2023年第2期。
作者:Richard Backhaus
插图:Pia Bublies
版权:本文中发布的所有图片、视频和音频文件均版权保护。未经保时捷工程书面许可,不得部分或全部复制。欲了解更多信息,请联系我们。
联系方式
您有问题或想了解更多信息吗?请联系我们:info@porsche-engineering.de