欢迎来到天天文库
浏览记录
ID:21177120
大小:51.00 KB
页数:3页
时间:2018-10-20
《汽车行业:把软件嵌入到产品中去》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、汽车行业:把软件嵌入到产品中去
2、第1私有信息的优势在汽车工业中是至关重要的,因此一些现有的标准想升级为行业标准比较困难。例如汽车开放系统架构(Autosar:AutomotiveOpenSystemarchitecture)以及日本汽车软件平台与架构(Jaspar:JapanAutomotiveSoftandarchitecture)要想成为行业的标准都有困难2。但即使没有这些标准,个体的制造商和公司也能够为汽车制造商工作,并改进嵌入式软件的可靠性,并因此可以提高汽车自身的质量。构建更好的软件汽车制造商必须把改善软件的责任与零配件供应商共享,因为制造商的
3、很多零配件都要依赖这些供应商。麦肯锡正在从事一项嵌入式软件复杂性以及设计选择对汽车工业经济冲击的研究,并且鼓励行业中汽车制造商以及供应商的高级管理者参与到讨论中来。这项研究工作的初步结论认为,四项关键的领域通力合作就能够提高嵌入式系统的质量,并且能够提高开发的效率。减少特性的复杂性任何翻看过长达500页的新车的说明手册的人都知道,汽车制造商每年都会给新车加上许多新的特性。既然汽车的复杂性对质量等级以及保修成本有重大的影响,汽车行业就应该认真审视他们向产品添加的每一个新的特性的价值。我们的研究显示,小规模项目的生产率(大约300个特性点,按照我们描述复杂性
4、的标准)比包含3000个特性的大规模的项目的生产率要高3倍。汽车制造商应该分析消费者和评级组织评估特性的方式,然后设计满足这些标准但不会增加复杂性的车辆。举例来说,一个安全气袋的供应商认识到安全气袋是根据他们从新车评估计划(NeentProgram:一个全球安全和质量的标准)中获得的星级被评判的,所以公司将注意力放在了测试中能看得见的软件特性上。这种注意力的改变就减少了开发的范围,并且让公司能够采用新的设计来避免无用的复杂性,并因此打败市场上的竞争对手。采用一个成熟的软件架构好的软件架构——模式或者是框架能够为软件开发提供坚实的基础,它应该是被很好地组织
5、起来的标准组件,并且拥有让开发者复用组件的代码库。但是在实践中,很多嵌入式的软件开发者依赖的是不断增加的而且经常是随意组织起来的软件架构,这有时会导致我们称作“spaghetti”的代码(无头绪代码)的出现。事实上,我们的研究发现,嵌入式软件的架构是它的开发中最弱的一个环节,与传统的软件开发相比,它的开发要滞后半个等级3。这个缺点一定要被改正才行,因为软件架构的成熟度已经变成了影响生产率的重要因素。一个软件架构越是标准化和模块化,越能够进行组件的复用,点对点的接口越少,那么它就越成熟。我们的研究发现,从一个成熟度等级发展到下一个成熟度等级能够使得生产率提
6、高2.5倍。在大多数案例中,改进来自于放弃现存的平台并且再采用一个更加先进的架构作为公司的标准。要想进一步地提升,就要对标准的操作系统、硬件以及集成的平台进行取舍。嵌入式软件的开发者期望能够达到目前传统软件开发者所能获得的生产率。一个电信设备公司已经从它自有的系统切换到了一个嵌入式的Linux架构,并且发现它开发一个新特性比以前快六倍。一个发动机控制器的供应商投资建设了一个柔性的分层软件架构,将产品投放市场的时间从四个月缩短到了三周。要了解何种方式更经济成本的压力能够迫使供应商和汽车制造商试着通过选择更便宜的投入品来节约成本,但是这个解决方案经常提高了保
7、修成本。在硬件方面,更加便宜的组件可能磨损得更快。在嵌入式系统中,错误通常会隐藏在差劲的设计或者不完善的测试中。当供应商和原始设备制造商采取了按费用设计(design-to-cost)的计划后,他们必须学着考虑一个范围更加宽的标准,这包括复杂软件的生命周期成本以及更加便宜的硬件成本。一个汽车制造商要想降低它的零部件的成本就必须分析它是否能够使用更加便宜的硬件,而这个选择可能需要更多的软件的开发并且可能导致更多的缺陷。这种额外的复杂性可能导致更高的维修成本。公司通过计算知道,要达到盈亏平衡点需要生产260,000个单位。通过使用更昂贵的硬件,它能将盈亏平衡
8、点降低到120,000个单位。改进开发过程很多使用嵌入式软件的公司,无论是汽车生产商还是电信设备制造商或者是耐用电器生产商都有工程化的思维传统。结果,他们经常会采用硬件驱动的解决方案,并且经常机械地看是不是组件能够很好地配合。这样的公司需要改进他们开发以及集成软件系统的技巧。在过去的20年中,软件工业已经通过采用全球通用的质量检测手段例如GMM(CapabilityMaturityModel)或者那些基于功能点的方法来使得它的开发方法变得专业化。但是嵌入式系统的软件开发滞后于整个行业的发展。几乎没有适合嵌入式开发的软件开发工具,并且那些现有的工具都专注于
9、整个开发周期的一部分而不是全部。因为嵌入式开发需要软件以及硬件工程的专门技术,最
此文档下载收益归作者所有