Rhapsody在汽车电子软件开发中的优势
付宽(汉中职业技术学院 陕西汉中 723000)
摘 要:随着汽车智能化程度的发展,汽车软件复杂程度越来越高,传统的开发方法给开发者和管理者带来了不少的局限,本文阐述了Rhapsody在软件的开发和维护方面所具有的优势,并举例说明了Rhapsody在软件更新时期的优势。
关键词:Rhapsody;模型;代码;迭代
嵌入式软件开发是汽车电子开发的重要组成部分,科技的发展使得嵌入式软件的复杂程度越来越高,这不仅对开发者还是管理者来说,都是不小的挑战。传统的开发方法面对复杂的软件会暴露出很多不好解决的问题,Rhapsody能解决了传统开发方法的诸多问题。
一、传统的软件开发过程
传统的软件开发过程是文档驱动的,汽车产品的任一软件功能都会产生各种文档,比如需求文档,设计文档等。软件工程师们会反复钻研和推敲需求文档里面严谨而难懂的语言,编写出符合要求的软件代码。这样的开发过程已经帮助汽车电子产品已经完成了数十年的开发,世界各个汽车电子供应商也形成了各自的基于文档的技术体系。但基于文档的开发流程在面对复杂代码时,就显露出了自身的一些弊端,比如需求和文档与开发脱节、需要大量手工编写代码、多种软件开发工具无法无缝连接使用、开发流程迭代和维护不易等。而面对这些问题,传统的方法是增加开发人员、迭代过程经常重写模块、工程延期、尝试使用各种配置管理工具等。
二、Rhapsody的优势
为了解决这些问题,软件开发人员迫切需要一种可视化的开发方法,可以脱离手写代码,能直观的表述需求,易于理解,减轻开发人员的工作量,从而减少开发人员的数量,且迭代方便易于维护。UML作为完整生命周期的第三代建模语言,通过状态图、顺序图、活动图、流程图等可视化的方法代替了手写代码。而IBM Rational Rhapsody(后面简称Rhapsody)是一系列基于UML+MDA的可视化的软件开发环境的总称,为基于模型驱动的嵌入式软件开发提供了良好的解决方案。
1.开发的优势
Rhapsody能通过UML的各种图形建立可视化的模型,使开发人员能直观的通过各种图形来诠释软件需求,而不是编写冗长难懂的代码;并能通过建立好的模型生成可执行的代码,使软件工程师脱离手写代码,大大降低软件工程师的工作量。有资料显示,Rhapsody可缩短开发周期30%以上。
传统的建模生成代码的工具在使用过程中,图形和代码大多都是单向关联的,也就是说如果需求变更,必须重新绘制图形,再生成新的代码,由新的代码覆盖旧的代码,完成一轮迭代。而Rhapsody更加先进,能够做到模型代码双向关联,不仅模型的每一个符号都能找到相应的代码,代码的任一行也能反向对应图形的相应符号。而且这种关联是动态的,修改模型代码就能自动修改,软件工程师可以把全部精力放在模型的开发上。
2.管理的优势
为了对软件产品及软件的生命周期进行有效的控制和规范的管理,很多汽车电子公司都会使用配置管理工具。此工具可以记录软件产品的迭代过程,包括需求和软件的更新和版本记录等,就是为了确保软件生命周期中各个阶段都能得到精确的产品配置。传统的软件迭代过程必须是软件工程师在线下完成更新,再上传新版软件给配置管理工具完成迭代。这种操作必须是熟悉代码的工程师才能完成,因为只有熟悉代码的工程师才能找到需要修改的代码位置。这样使得公司对于有经验的员工依赖度过大,老员工一旦离职会影响项目进展。一般公司会招聘更多工程师,提前熟悉其他工程师写的代码来应对这种风险。而Rhapsody会完美的解决这一问题,使不熟悉代码的工程师很快接手软件生命周期的管理。
举例说明,某公司使用IBM Rational DOORS来管理技术需求,Rhapsody的Gateway可以识别DOORS中的技术需求,开发者开发时就会将模型和需求在Gateway中关联。在软件迭代阶段,DOORS中若有需求改变,Gateway可以直接识别到,并且能引导跳转到对应的模型。这时开发者直接根据需求修改模型就可以了(如图1所示)。这就大大方便了对项目不了解的新手来,他们只需要会简单的Rhapsody操作,就可以轻松接管项目。对于公司来说,大大降低了管理成本和项目风险。
图1 软件迭代过程中的执行流程
三、结论
汽车电子软件不同于其他民用电子产品,需要更高的可靠性,对软件全生命周期的精确管理可以大幅提高可靠性。Rhapsody作为一种可视化开发环境,打破了传统开发方法的局限,具有高效率,易开发,易读,易维护的特点,是当今软件开发方法的发展趋势。
参考文献:
[1]IBM Rational Rhapsody系统架构设计解决方案[EB/OL].http://www.hirain.com/sts/41/295
[2]洪洋.用Rhapsody开发嵌入式实时系统[J].光电技术应用, 2003年第4期:39
作者简介:
付宽(1986--)男,汉族,陕西省汉中市人,汉中职业技术学院助教,研究生;研究方向:汽车电子。
|