10.16638/ki.1671-7988.2019.20.042车载信息娱乐系统软件开发流程研究与应用李兵,赵磊,林方圆(安徽江淮汽车集团股份有限公司,安徽合肥230601)摘要:文章论述了软件开发在车载信息娱乐系统开发中的重要性,通过调研,结合整车开发流程,制定了车载信息娱乐系统软件开发流程。
该流程已在实际项目开发中进行了应用,并对流程的应用情况和方法进行了说明。
关键词:软件开发流程;车载信息娱乐系统;流程研究;流程应用中图分类号:U463.8 文献标识码:A 文章编号:1671-7988(2019)20-121-03Research and application of software development process of vehicleinformation entertainment systemLi Bing, Zhao Lei, Lin Fangyuan( Anhui Jianghuai Automobile Group Co., Ltd., Anhui Hefei 230601 )Abstract:This paper presents the importance of software development in automotive infotainment system development, Through the software development process research, combined with vehicle development process, studied software development process of in vehicle infotainment system.The process has been applied in the actual project development, and the application and methods of the process have been explained.Keywords: Software development process; In vehicle infotainment system; Process research; Process application CLC NO.: U463.8 Document Code: A Article ID: 1671-7988(2019)20-121-031 前言1.1 车载信息娱乐系统发展历程1.1.1 功能进化早期的车辆只具备基本的驾驶功能,没有娱乐功能,随着用户需求的提高,车内信息娱乐功能不断升级,从FM/AM 收音机到CD机,再到大屏多媒体终端。
近年来进一步新增出在线音乐、网络电台、听书、天气、新闻等服务。
1.1.2 技术发展从未止步的功能进化需要通过技术发展来实现,车载信息娱乐系统终端硬件上从单片机应用发展到单核、双核、四核的SOC应用,软件上从基本的单片机嵌入式系统应用发展到WinCE、QNX、Linux、Android等高级操作系统应用,软件代码量指数级增长,开发难度也显著提升。
1.2 软件开发挑战1.2.1 复杂度增长功能的不断增加必然带来软件复杂度成倍提高,代码量增多,以包含收音机、蓝牙电话、蓝牙音乐、USB音视频、倒车影像、车辆设置等功能的车载信息娱乐系统终端开发为例,代码量达到73万行,软件开发投入达到16人*24个月,软件开发费用至少900万。
1.2.2 交付质量问题车载信息娱乐系统软件复杂度增加后,在试制试验阶段会暴露出大量软件问题,小批量生产阶段后仍会存在体验类问题,造成用户抱怨。
主要原因为车载应用环境更为复杂、软件代码逻辑不合理、缺少系统性的过程管控和测试验证。
1.2.3 交付进度问题新车型的开发迭代周期越来越短,目前在8个月左右,每次车型迭代车载信息娱乐系统必定升级,软件功能又是主要升级的部分。
从前期项目开发来看,80%项目存在软件交付作者简介:李兵,就职于安徽江淮汽车集团股份有限公司。
121汽车实用技术122 延期的情况。
综上所述,软件开发工作已成为车载信息娱乐系统开发过程中的重点和难点,如何有效管控软件开发过程是项目管控上亟需解决的问题,基于项目开发实践,本文就软件开发流程的研究过程与应用情况进行说明。
2 软件开发流程调研2.1 V 开发流程简介软件开发V 字模型是一种软件生存期模型,由Paul Rook 在1980年率先提出的,在1990年出现在英国国家计算中心的出版物中,旨在提高软件开发的效率和有效性。
V 模型强调软件开发的协作和速将软件实现和验证有机地结合起来,V 形左边是设计和分析,是软件设计实现的过程,同时伴随着质量保证活动--审核的过程,也就是静态的测试过程。
V 形右边是对左边结果的验证,是动态测试的过程,即对设计和分析的结果进行测试,以确认是否满足用户的需求。
2.2 Automotive SPICE 简介Automotive SPICE 是由欧洲的主要汽车制造商共同制定的“面向汽车行业的流程评估模型”,目的是改善搭载于汽车上的电子控制单元(ECU )/车载电脑的质量。
Automotive SPICE 主要包括7大流程群31种有关软件开发的流程,其中工程流程群里包含10项,定义了软件开发流程,具体内容包括ENG .1 需求导出、ENG .2 系统需求分析、ENG .3 系统架构设计、ENG .4 软件需求分析、ENG .5 软件设计、ENG .6 软件建构、ENG .7 软件集成测试、ENG .8 软件测试、ENG .9 系统集成测试、ENG .10 系统测试。
2016年TS16949换版为IATF16949,IATF 16949:2016中对嵌入式软件提出了明确要求,提供嵌入式软件的供应商必须基于Automotive SPICE (或同等标准)进行软件开发以保证软件质量,并提供基于Automotive SPICE (或同等标准)的评估报告。
3 软件开发流程研究车载信息娱乐系统开发是整车开发的重要组成部分,产品开发上需要与整车开发同步,软件开发流程的制定要与整车开发流程相结合,这样软件开发流程能够符合整车开发流程要求,与整车项目相关方实现协同。
3.1 NAM 开发流程整车开发方面制定了NAM (Now And Me )开发流程,所有项目均按照该流程要求执行,该流程将整车的开发过程划分为7个阶段(产品规划、产品策划、造型开发、设计开发、设计验证、量产准备、量产评价)、13个节点门(G1—G13),详细定义了每个阶段的工作内容和每个节点门的审核通过条件,只有完成阶段工作并达成节点门指标审核通过方可进入下一阶段,确保了开发过程的分阶段可控。
3.2 软件开发流程研究3.2.1 结合NAM 流程确定版本节点对标NAM 流程的思路,针对如何约束车载信息娱乐系统软件开发流程开展研究,将车载信息娱乐系统软件开发过程划分为4个大版本,分别为V1.0、V2.0、V3.0、V4.0版本,并分别对应到整车NAM 流程的G6(技术文件下发)、G7(试制确认)、G8(设计确认)、G10(P2下发)关键节点门上,确保软件开发进度与整车进度同步。
3.2.2 软件开发任务划分定义上述软件开发关键版本节点和要求后,接下来明确每个阶段需要完成的开发任务,车载信息娱乐系统软件开发有其独特性,部分功能必须与整车结合才能实现构成完整的系统,也必须有整车环境下的测试,开发过程遵循V 开发模型、ASPICE 流程的同时需要与整车开发相结合。
图1 软件开发流程及任务(1)V1.0版本前除了解决软件功能开发问题,还需进行模型验证,及早发现显示问题,对显示屏布置进行调整或UI 界面进行优化。
表1 V1.0版本任务(2)V2.0版本需要达成全功能软件开发,完成代码测试、单元测试和集成测试,以及单机的性能测试。
表2 V2.0版本任务李兵 等:车载信息娱乐系统软件开发流程研究与应用123(3)V3.0版本对V2.0版本测试项目进行1轮或多轮回归测试,重点进行实车环境下的功能测试、性能标定和测试,V3.0版本需要同步完成OTS 认可,验收发布后可用于生产线小批量生产,交付内部用户体验评测。
表3 V3.0版本任务(4)V4.0版本主要针对V3.0版本发布后生产线验证和用户评测问题进行改进优化,完成遗留问题点的闭环,V4.0版本可用于批量生产。
表4 V4.0版本任务针对以上每一项测试,都制定了测试方法和用例,使得验证过程标准统一,就具体测试方法和用例本文不再逐一展开阐述,同时,测试方法和用例在实际项目实践中也在不断完善和优化。
3.2.3 软件版本审核要求针对每个软件版本设定关键评价指标,只有达成指标才能评定通过该版本软件的发布,具体定义如下:表5 软件版本评价指标问题严重度分类说明:S 类问题:影响到行车安全;死机,需断主机B+才可恢复;主要功能缺失;黑屏、白屏、花屏、严重闪屏、严重色差;触摸屏或按键失效;A 类问题:主要功能失效,影响视听、交互操作,不影响行车安全;B 类问题:部分功能偶发性错误,不影响使用,重新上电后可恢复;C 类问题:个别用户体验类问题(存在主观性)、HMI 细节问题。
4 软件开发流程应用情况车载信息娱乐系统开发流程2015年下半年完成制定并开始应用,2016年应用过程中补充了测试项目、优化了测试用例和标准,截至2019年6月总计完成96个软件版本的签发或发布,项目管控上通过软件开发版本矩阵表进行管控,检查是否按期完成软件版本发布,及时发现风险予以对应,通过软件开发流程分阶段验收管控有效加强了对软件开发过程的管控。
5 结论本论文对车载信息娱乐系统软件开发流程的研究与制定过程、流程说明、应用情况进行了阐述,该流程的制定和应用符合当前软件开发复杂度提高对开发流程的需求,在实际应用中确实也发挥了应有的作用,保障了车载信息娱乐系统项目的开发质量和进度,对其它系统的软件开发管控具备参考意义。
参考文献[1] 张友生,李雄.软件开发模型研究综述[J].计算机工程与应用,2006.42(3):p109-115.[2] 高禹,毕振波.软件开发过程模型的发展[J]计算机技术与发展,2008(7):p83-86.[3] 周扬.软件开发过程模型的应用与发展[J].电子制作,2014,0(19):p54-55.[4] 车载信息娱乐技术的发展趋势[J].汽车实用技术,2015(5).。