首页 > 汽车技术 > 正文

智能汽车车用基础软件平台关联技术

2022-09-25 17:59:10·  来源:汽车测试网  
 

场景一:用户需求初始模糊,随着开发的演进,需求变更频繁。


场景二:该产品由具有相同重要性的硬件和软件组件组成(两者都不占主导地位)。


场景三:该产品是一款涉及复杂后端和前端技术的软件(在这种情况下,后端将使用瀑布模型开发)。


场景四:可能不是基于项目本身的特征。在通常情况下,客户不会干扰项目的执行方式,因此可以使用敏捷与瀑布融合的开发模型。例如,瀑布方法可用于应用产品规划、需求定义和设计,而敏捷可用于开发和测试。


如上所述,由于没有一刀切的解决方案,实施双态敏捷开发模型方法需要因地制宜,根据项目本身特性进行灵活部署,同时在其他人的失败案列中吸取教训,作为最佳实践指导。根据我们在实际项目中的推进经验,以下建议可供参考:


·  制定计划,需求分析与设计阶段可以通过瀑布模型完成,开发与测试阶段采用敏捷开发以迭代或增量开发的方式通过短期的冲刺来完成;


·  产品负责人和客户定期进行沟通,确保所有干系人都深度参与本产品的整个开发生命周期;


·  从设计阶段开始融合标准、法律法规等要求。可以通过功能强大的工作流管理工具保证整个生命周期执行已定义的合规流程以达到加快产品开发的目的;


·  使用协作软件作为支持数据共享、通信和可追溯性的解决方案,同时也需要根据新的协作工具同步更新交流方式。


(3) 汽车行业应用解决方案


如上所述,通常认为使用瀑布进行整体项目开发是一种可靠的模型,但敏捷模型却可以赋予软件开 发可受益的灵活性。软件生命周期管理工具、自动集成 CI/CD 和自动化测试系统的打通,能大大减少时间成本,提升软件产品品质。利用工具自动化生成符合功能安全或 ASPICE  要求的各种检查记录及文档, 使得在敏捷的产品管理中也不会忽视瀑布模型的要求。


在汽车基础软件领域,有很多软件具备可复用的特点。汽车软件服务商要建立企业软件产品库,针 对不同客户的不同需求可很快拿出相似产品的原型版本进行功能展示。这样,不仅能提升开发的效率, 而且也符合敏捷思想。在后面的项目开发实际开始时,可基于该原型版本,采用敏捷迭代开发模式,运 用用户故事、故事点和燃尽图等敏捷开发工具可助力项目的正常进行。当开发开始后,同时开展测试相关流程,可及时发现问题,最终确保将优质产品交付给客户。


借助软件生命周期管理工具,可根据项目范围、质量要求、功能要求对开发流程做适当的适配。此外, 该工具还可以提升问题管理、变更管理和文档记录管理等流程的效率。同时使用软件生命周期管理工具也能促进工程开发活动的效率提升,如自动集成、自动测试、伪代码和代码框架的生成等。


(4) 意义与展望


无论是瀑布模型还是敏捷模型,都无法在当今的软件定义汽车趋势中完美的满足需求。汽车行业的要求不同于一般互联网行业的开发要求,需既要考虑进度,也要同时兼顾质量和安全。


瀑布模型和敏捷模型有各自的适用场景。在传统汽车软件范围,瀑布模型之所以能得到很好的应用, 是因为传统的汽车 ECU 功能分配趋于完善,各种功能需求已经很明确,并且硬件平台趋于大同,传统的软件功能不会有太多变化,因此瀑布模型很适合于传统的 ECU 开发。


但是在 “软件定义汽车”  的时代背景下,会遇到很多需求不明确的场景,项目范围的频繁变更更是让传统的瀑布模型无法应对。因此引入敏捷模型的思想,借鉴它可以很好的适应需求变化,快速打造产品原型,以及可灵活的在需求的变化中进行不断迭代的特点,将其融入到传统的瀑布模型中,形成了现在的双态开发模型。可以让汽车软件开发在适应需求变化的同时重拾对质量追溯文档记录的重视。


“瀑布式计划,敏捷执行,并加快整个过程。” 双态敏捷开发模型以敏捷思想的框架,在每一个迭代中融入瀑布模型,既解决了单一的瀑布模型不能适应需求不明确的情况,也解决了单纯敏捷模型带来的文档化不足的问题,让项目风险可更早的被监控到,可用的工作产品能更早地展示给客户。


4.4.2  自动化编译框架


1.  问题与挑战


随着 E/E 架构从基于多 MCU 的分布式架构发展至基于高性能计算中心的集中式架构,对于软件开发人员而言,将已有硬件平台上的应用进行复用或迁移是一项庞大的工作。在进行开发时,开发团队经常遇到的棘手问题就是如何将已有的软件算法快速编译和部署到不同的硬件环境或平台上。

此外,由于全球疫情以及政治问题的影响,芯片出现产能不足或面临断供的问题。因此芯片的反复变更在所难免,由此导致集成开发环境反复切换,这极大的分散了企业聚焦新功能开发的精力。

如何提供自动化编译框架用于解决硬件平台的切换以及屏蔽硬件差异,更好地实现应用的快速开发和部署成为一个重要的课题。下文会给出通用自动化编译框架的解决方案以供参考,并对提供自动化编译框架的意义进行展望。

2.  解决方案


自动化编译框架采用基于模型的方式进行,通过模型屏蔽不同层级的细节,从而实现解耦以及快速复用。自动化编译框架的组成如下图 4.4-1:


图片

图4.4-1 自动化编译框架一般组成

自动化编译框架由 4 部分组成(即硬件层之上的部分):

·  模型层

·  实时框架抽象层

·  目标平台抽象层

·  第三方或遗留代码

接下来对自动化编译框架的组成及运行原理进行详细介绍。

(1)自动化编译框架组成介绍

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号