APP下载

关于嵌入式软件开发管理与软件项目管理的研究

2023-04-26陶华胜芦翔宇王文祥

汽车电器 2023年4期

陶华胜 芦翔宇 王文祥

【摘  要】随着汽车电子控制器数量的增多,车载嵌入式系统逐渐成为车用系统中的主流。由于传统的嵌入式软件及系统开发往往被归类于硬件开发之中,而软件项目管理则通常被用于PC系统的大型软件开发中。为了探讨车载嵌入式系统的开發管理问题,本文将对嵌入式软件开发管理与软件项目管理进行分析,对嵌入式软件开发流程与软件项目管理的思维相结合并进行详细探讨。

【关键词】车载嵌入式系统;嵌入式软件开发;软件项目管理

中图分类号:U463.633    文献标志码:A    文章编号:1003-8639( 2023 )04-0050-02

【Abstract】With the increase of the number of automotive electronic controllers,the embedded system has gradually become the mainstream of automotive systems. Because the traditional embedded software and system development is often classified as hardware development,and software project management is usually used in the large-scale software development of PC system. In order to discuss the development and management of vehicle embedded system,this paper will analyze the embedded software development management and software project management,and combine the embedded software development process with the thinking of software project management and discuss in detail.

【Key words】vehicle embedded system;embedded software development;software project management

随着科技的不断发展,汽车从开始的出行工具不断迭代升级,变得科技化、智能化,逐渐向车主的第2个“家”发展。汽车智能化带来的是软件的不断开发和升级,与此同时也面临解决软件品质、业务需求增加、行业趋势和公司战略要求等相关问题。将软件项目管理思维与嵌入式软件开发管理相结合是必要的,是刻不容缓的。

1  软件项目管理

1.1  软件项目管理对象

在软件产品的生命周期内,软件产品的管理人员所完成的项目叫做软件产品项目,它受用于软件项目管理。软件项目是指为了确保在特定时期或预设区域内,能够更有效地运用现有的资源与信息技术等手段,从而可以按照时间和内容要求及时进行的项目。要确保软件项目工作能够顺利开展和实现,它所需要的内容应该包括了整个软件流程,要求人们了解软件项目的工作范围、所面临的风险、被要求的工作时间、硬件或软件项目的资源以及必须进行的任务、经历的里程碑、成本、时间安排等内容。人们对于软件管理方面的教学和研究,不仅仅是为了在已有的成果和失败的例子中总结能够指导在今后发展过程中可以采取的通用准则或办法,同时也是为了避免先前的失败再次出现。

1.2  软件项目管理范围

在软件工程项目管理所能涵盖的所有范畴中,最有效的软件工程项目管理方法全部集中在人员、产品、流程和项目管理4个方面。人员作为软件工程项目管理中的基本要素和关键因素,在项目管理方面需要考虑参加软件过程的人员类型。相对于产品,在项目计划开始之前,首先必须对软件产品进行界定以确定相应的概念,如使用软件产品的范围或者目的、为应用选择的解决方案、技术标准和管理条件等。在软件领域,强调的是对流程的管理,人员会按照软件的步骤,把项目分解成任务、子目标等。

2  嵌入式软件开发与软件项目管理

2.1  嵌入式软件开发的变化

传统的嵌入式软件及系统开发往往被归类于硬件开发之中,而软件项目管理则通常被用于PC系统的大型软件开发中。软件项目管理带来的好处不言而喻,那么软件项目管理的方法是否能运用于嵌入式软件的开发过程中便需要考虑。

传统的嵌入式系统开发属于硬件开发,使用汇编语言来对硬件CPU进行控制的方式则被进行了严格区分,分为面向过程的PC平台软件开发和面向对象的PC平台软件开发。控制器和嵌入式实时操作系统等软件技术在不断地发展和提升,而高级程序设计语言也慢慢开始在嵌入式操作系统中的软件开发工作上被广泛应用,而汇编语言也仅在一些要求更高效率的小模块之中,被内嵌到了高级程序设计语言之中。在不断发展的今天,面向嵌入式的CPU软件编译器特性,也逐渐开始向纯PC的软件编译器环境中靠拢。

2.2  二者结合的可能性

嵌入式操作系统的构建基于外围电路设计、嵌入式系统CPU选型、PCB电路板制造以及系统功能模块设计等关键的硬件研发平台,因此对于整个系统来说,嵌入式系统研发工作的完成是必不可少。不管从算法的设计、代码实现、项目过程管理还是代码的复用性、可靠性等,嵌入式软件的设计已经类似于PC系统的软件设计。二者在发展的进程中也是有共同之处的,嵌入式软件设计与PC平台软件设计都可以通过软件工程的手段来对开发品质加以优化,都可以通过对整个设计流程中采用软件项目管理的方法加以合理管理,使整个工作都可以有序、高效并优质地按时进行。所以,在整个嵌入式软件系统的发展进程中,应当也能够按照软件项目管理的方法对整个工作加以合理的设计与管理。

2.3  软件项目管理方法引入嵌入式软件系统开发的思考

以嵌入式USB主机为例,通过针对嵌入式USB主机的项目分解框架,通过网络地图方式对项目的核心路径进行分解,并科学合理地规划了嵌入式USB主机项目的设计时间,对项目的时间进行了安排。

对嵌入式USB主机功能说明主要涉及6大模块:MC68HC912D60A模块、CAN总线模块、SL811HS模块、LCD显示器模块、键盘输入模块和SCI通信模块。创建工作分解结构WBS,制定项目的活动时间计划(利用关键路径法CPM以及计划评审技术PERT)的流程是:首先制定项目的活动表和绘制前导图表,接着往前计算路线上活动的首先启动时间TES和首先结束时间TEF,然后再往后计算路线活动的延后开始时间TLS和延后终止时间TLF,最后制定项目的重要活动计划和关键路线。

项目进行时,要求工作人员必须对项目进行严格控制,并且必须根据项目所设定的工作日期完成任务,不然会使任务工期延长,甚至耽误项目而无法及时完工。因为MS设备的协议软件设计和FAT文件系统软件设计都是非关键的功能,且存在着相应的浮动时间,所以即使在技术资料和人力不足的状况下,也可以相应地对这些工作加以调节,而不至于对实际施工结果产生负面影响。

3  车载嵌入式软件开发管理

3.1  嵌入式软件开发管理现状

除了软件产生的问题急需解决、软件业务的需求逐年增多、行业趋势及公司战略要求这3个重点问题之外,其他问题同样是需要面对的。如:软件定义汽车带来了技术上的变革;通信方式开始由CAN总线向以太网发展;整车电子电气架构由分布式向集中式发展;汽车软件架构由面向数据向面向服务发展;汽车电子控制器由MUC向AI仿真芯片发展;汽车传感器向着融合智能的方向发展等。

现阶段汽车行业ALM平台主要采用“成熟商业套件+客制化发展”的模式進行建设,进行对比后可以发现:我方现阶段业务关联性差,成熟商业套件功能相对固化,未形成软件全生命周期管理的闭环。在进行量产之后,汽车软件出现的问题日益增多,特别是因为软件开发体系的缺失而导致问题日益突出,落后于行业,且现阶段系统建设尚未开展平台规划,导致每个场景都有着一个或多个独立的系统或工具,场景边界不清晰,且信息与数据未能互联互通,无法形成业务流程。

经过分析,汽车软件化的价值不断增加,同时规模不断扩大,未来将面对的品质挑战也会越来越大,对嵌入式软件开发管理体系的改良提升显得尤为重要。

3.2  嵌入式软件开发管理系统的思考

基于嵌入式软件开发流程,结合软件项目管理的思维,建立软件管理业务体系和系统平台,为了实现企业级嵌入式软件开发过程、软件发布、软件变更以及软件刷写的一体化闭环管理,并建立软件开发管理体系规范及标准进行思考,可以将思考过程分为5大模块。

1)软件开发流程管控:实现对软件开发流程的全面控制,以完成对软件需求、架构、代码设计、测试、问题、产品更新等流程的闭环管理。

2)零件基础数据管理:软件编码的管理,电子电气架构基础数据等实现基础数据的标准化管理。

3)电子电气系统数据管理:基于整车的结构化程序存储管理,管理相关的实体数据及车型的电子电气ECAD-BOM数据,严控关系与实体之间的一致性。

4)发布与变更:通过工作流引擎驱动电子电气系统数据的发布与变更,结合整车开发过程,构建与整车开发过程相匹配的精细化状态管理。

5)系统集成:通过电子电气数据在MES、ECOS、FOTA、CDMS、PDM、CGBOM、CGERS、OA系统之间的集成交互实现软件实体数据和软件关系数据从研发到生产及售后的全生命周期管理与应用。

对于企业级嵌入式软件开发能力需要逐步进行提升,将软件开发过程(需求、缺陷、测试、发布)、基础数据管理(编码申请和电气架构)、结构化实体数据管理、电子电气BOM管理、数据发布和变更管理、数据仓库和系统集成进行统一规划,做到能够快速导入所需数据。将上述工作进行优化,将管理项目进行重组和升级并进行逐步推广,达到全面覆盖。在推广应用的同时深化应用,持续创新,建立健全企业电子电气架构研发管理,实现架构设计的信息化管理,建立科学的模型,挖掘数据价值,通过与工具软件的集成,实现协同设计,在线设计。

3.3  嵌入式软件开发管理系统的改革

对于嵌入式软件开发管理系统,需要通过研发-生产-售后等关键业务系统的改造集成,统一数据源,实现软件数据发布、变更和应用的一体化管理。先建立软件数据发布变更的基础平台,以此来解决当前需求最为迫切的软件发布变更、生产装车、终端客户应用等问题;统一数据源,实现上下游数据集成互通,再进一步实现软件业务全价值链的一体化管理,实现软件开发技术能力的拓展,搭建软件开发过程管理平台,实现软件全生命周期的管理。

通过研发端ECU控制器软件开发过程的管理以及对整车电子电气系统的开发过程管理,构建ECAD-BOM数据,并通过CGERS系统完成数据的发布与变更管理,将合规数据发布至生产及售后环境,建立整车电子电气全生命周期可追溯的数据链。软件开发过程的管理需要搭建相应的软件开发过程及软件数据管理平台,在完成实现软件开发过程的流程标准规范管理的同时,进行支撑软件开发全过程线上管理以及机电一体化研发管理平台的构建,从而提升软件开发效率以及软件品质。不仅是软件开发过程,软件数据、数据仓库,数据流等都需要建立规范的管理方式,建立起企业软件开发标准规范。

4  结语

综上所述,随着软件定义汽车的开始,汽车在不断地向着更加科技化、功能化的方向发展,传统的汽车结构也不断改变。将软件项目的开发管理方式与嵌入式软件及系统开发相结合,发展全新的模式才能够更好面对以后的问题。因此,建立完备及统一的企业级软件全生命周期管理流程、方法和系统是必要的,也是需要努力的方向。

参考文献:

[1] 于芳. 汽车嵌入式软件过程的质量管理[J]. 汽车与配件,2019(11):72-73.

[2] 邹智荣,唐鹏辉,罗源. 嵌入式软件开发模式与软件架构研究[J]. 电子技术与软件工程,2021(15):29-30.

[3] 王飞飞,史家涛,王梦,等. 基于ALM系统的嵌入式软件平台管理方案[J]. 电子技术与软件工程,2022(14):59-62.

(编辑  凌  波)