如何才能让更好的软件嵌入到你的产品中?(下)(AMT研究院 肖迪 编译)

2006-4-25 9:53:28【作者】 畅享网 【进入论坛】
本文关键字 待发文章 主页
广告

采用一个成熟的软件架构

好的软件架构——模式或者是框架能够为软件开发提供坚实的基础,它应该是被很好地组织起来的标准组件,并且拥有让开发者复用组件的代码库。但是在实践中,很多嵌入式的软件开发者依赖的是不断增加的而且经常是随意组织起来的软件架构,这有时会导致我们称作“spaghetti”的代码(无头绪代码)的出现。事实上,我们的研究发现,嵌入式软件的架构是它的开发中最弱的一个环节,与传统的软件开发相比,它的开发要滞后半个等级3。

这个缺点一定要被改正才行,因为软件架构的成熟度已经变成了影响生产率的重要因素。一个软件架构越是标准化和模块化,越能够进行组件的复用,点对点的接口越少,那么它就越成熟。我们的研究发现,从一个成熟度等级发展到下一个成熟度等级能够使得生产率提高2.5倍。在大多数案例中,改进来自于放弃现存的平台并且再采用一个更加先进的架构作为公司的标准。要想进一步地提升,就要对标准的操作系统、硬件以及集成的平台进行取舍。嵌入式软件的开发者期望能够达到目前传统软件开发者所能获得的生产率。一个电信设备公司已经从它自有的系统切换到了一个嵌入式的Linux架构,并且发现它开发一个新特性比以前快六倍。一个发动机控制器的供应商投资建设了一个柔性的分层软件架构,将产品投放市场的时间从四个月缩短到了三周。

要了解何种方式更经济

成本的压力能够迫使供应商和汽车制造商试着通过选择更便宜的投入品来节约成本,但是这个解决方案经常提高了保修成本。在硬件方面,更加便宜的组件可能磨损得更快。在嵌入式系统中,错误通常会隐藏在差劲的设计或者不完善的测试中。当供应商和原始设备制造商采取了按费用设计(design-to-cost)的计划后,他们必须学着考虑一个范围更加宽的标准,这包括复杂软件的生命周期成本以及更加便宜的硬件成本。一个汽车制造商要想降低它的零部件的成本就必须分析它是否能够使用更加便宜的硬件,而这个选择可能需要更多的软件的开发并且可能导致更多的缺陷。这种额外的复杂性可能导致更高的维修成本。公司通过计算知道,要达到盈亏平衡点需要生产260,000个单位。通过使用更昂贵的硬件,它能将盈亏平衡点降低到120,000个单位。

改进开发过程

很多使用嵌入式软件的公司,无论是汽车生产商还是电信设备制造商或者是耐用电器生产商都有工程化的思维传统。结果,他们经常会采用硬件驱动的解决方案,并且经常机械地看是不是组件能够很好地配合。这样的公司需要改进他们开发以及集成软件系统的技巧。

在过去的20年中,软件工业已经通过采用全球通用的质量检测手段例如GMM(Capability Maturity Model)或者那些基于功能点的方法来使得它的开发方法变得专业化。但是嵌入式系统的软件开发滞后于整个行业的发展。几乎没有适合嵌入式开发的软件开发工具,并且那些现有的工具都专注于整个开发周期的一部分而不是全部。因为嵌入式开发需要软件以及硬件工程的专门技术,最好的方法包括使用由专家组成的交叉功能团队(基于特性的开发),适用于通用模型的开发方法论,仿真工具,以及“时间盒”(给开发者设定提交的截至日期)。通过组建交叉功能团队以及时间盒开发,一个导航系统公司的生产率比行业平均水平提高了近两倍。

实施改进措施

随着很多行业的产品日益依赖软件,汽车供应商需要从硬件开发的思维模式转换到软件迭代开发的思维模式上来。和许多别的软件开发者相比,那些创建了汽车行业嵌入式软件的公司认为自己是正宗,更加不可能遵从那些提高了劳动生产率的别的公司的标准——举例来说,测量两个开发流程的劳动生产率(比方说,通过每人每月完成的功能点)以及软件的质量(每个功能点的缺陷的数量)。这些开发者依然在硬件开发的模式下进行复杂的工作,所以,以硬件为导向的生产率的测量依然控制者他们的思想。直到公司学着按照软件为导向的标准来衡量开发过程的生产率以后,他们才能努力改善他们的绩效并且获得正确的平衡。例如提高他们最开始在架构上的投资来提高软件的质量。

管理人员要改变已经建立起来的思维模式也是一项非常艰难的工作。在公司内部,他们必须说服工程师采用接近监控生产率的标准,有时几乎没有雇员会喜欢这样做。他们也将必须进行财务上的争吵,最后还要为了更高的内部的生产率标准而把已经建立好的架构和开发流程卖出去。别的行业的案例能够帮助管理人员进行这样的改变,而且这项工作随着更多的汽车供应商的加入会不可避免地变得更加容易。在汽车供应网络中,个体的厂商必须变得更加熟悉他们的系统怎样与别的供应商的系统进行互操作。私有的技术是重要的,但是他们再也不能是一个黑盒子,因为汽车制造商需要进行必要的连接。在强大的行业标准不存在的时候,系统集成商会有很多新的机会。

汽车制造业虽然只是一个特殊的案例,但正是在这个行业,嵌入式软件的潜能正在被浪费,而且目前开发模式的弱点被暴露无疑。如果汽车制造商和其它制造商要为它们质量的名誉而战的话,他们以及他们的供应商必须提高嵌入式软件的质量并且使开发更加有效率以缩短投放到市场的时间。

注释:

1举例来说,空中客车A380就采用了整合式模组化航电架构(IMA:Integrated Modular Avionics),这是一个已经勾践好的使用通用的标准化软件组件的开放式的架构。

2 Autosar使一个由35家汽车制造杀过和供应商提出的标准,目标是为汽车行业的电子系统建立通用的开放的标准。Jaspar也是一个由日本汽车制造商和供应商组建的类似的标准化组织。

3 麦肯锡的成熟度评估模型将等级进行了划分,从一级到五级,五级是最高级。

相关链接:

如何才能让更好的软件嵌入到你的产品中?(上)(AMT研究院 肖迪 编译)

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系
帮办式咨询外部环境不确定性加剧 企业更应..

这是一个变化的时代。不确定性的持续增长,也已经成为当代商业世界的基本特征。企业开展预算的时候,会听到……

云顶山涧——吴勇毅金融危机,国内IT业如何过冬?

面对种种困难、挑战与危机,如今是IT企业未雨绸缪深谋远虑的时候,必须及早对未来持久战战略作出正确抉择……

农民锅微软ERP文集[原创]微软ERP的行业环境

微软ERP市场尚处在开发期,经过5年的市场培育,在未来3年内可能出现市场井喷。 

Acxiom谈数据库营销Acxiom数据库营销15—电话营销

电话营销是一种使用电话销售产品和服务、告知顾客公司新进展、调查活动有效性或者更新已有顾客信息的数据库……