“模型驱动开发”有效主导软件开发流程
随着软件市场的不断发展,软件产品的不断成熟,在保证软件产品质量的同时,人们开始越来越关注软件产品的开发周期和过程。
随着软件市场的不断发展,软件产品的不断成熟,在保证软件产品质量的同时,人们开始越来越关注软件产品的开发周期和过程。近几年,围绕着软件产品的开发周期和过程如何改进,提高,行业中的人们也做了很多的努力,并且提出了许多方案,而IBM/Telelogic公司更是这个领域里的佼佼者。2008年7月28日,IBM/Telelogic公司就新发布的Rhapsody7.3的新版本特性,以及模型驱动开发(MDD)的技术,首次接受了国内IT媒体的采访。
本次采访的对象是IBM/Telelogic公司系统方法论专家Hans- Peter Hoffmann 博士,Hans- Peter Hoffmann 博士是在基于模型的实时系统设计领域,享有盛誉的专家,拥有二十五年设计和开发复杂系统的丰富经验。

Peter Hoffmann博士
在将近3个小时的采访过程中,Hans-Peter Hoffmann博士针对Rpapsody7.3的新版本特性以及模型驱动开发(MDD)的技术给大家做了详细的介绍,并耐心的解答了大家提出的各类相关问题。最后就系统工程在软件开发流程中所起到的作用也给大家做了介绍。本文,笔者通过总结对Hans-Peter Hoffmann博士的采访,为大家介绍“模型驱动开发”在软件产品的开发周期和过程中起到了怎样的作用。
模型驱动开发的概念
模型驱动开发就是围绕着“模型”的软件开发过程,这个模型可以是很多的格式,如UML,XML文件等等,只要能准确地描述你的应用即可。它出现的主要目的就是想让实现和模型完美的统一起来;但是它并不能帮我们解决一切问题,它仅仅是提供给我们一个“骨架“而已,具体的内容还是要我们自己去填充完整的。
模型驱动开发的优势
1. 模型本身就是文档,而且模型驱动的开发方式是以模型为起点,因此项目一开始就有完善的文档。
2. 能快速的应对需求的变动,如果需求变动,更改模型,即可生成代码。
3. 由于代码是生成的,所以要比手写的来的准确,能准确地表达设计意图。
4. 由模型描述出的类,多而且繁杂,手写很费时间,生成就省事多了,也不容易出错。
总之,模型驱动开发,可以使开发过程具有一致性,提高开发人员的效率,并且能确保我们的设计模型在代码阶段能被准确的实现。
模型驱动开发的流程图
与模型驱动开发相比,传统的软件开发,基本上有两种方式,其一是系统工程师或者软件架构师花很多时间去阅读大量的文件,通过对这些文件分析整理,把具体的工作交给软件的开发工程师,但是他可能并不清楚这个过程中做的东西有多大;其二是在很多时候,软件开发人员已经开始代码编写(code)工作了,而另一方面他们的领导人物还要去发掘他们到底在code什么,即你们先做code,我帮你们确定你们要做什么东西。这是一个很典型的问题,在传统的软件开发过程中是普遍存在的。而传统的开发流程,是从需求开始的设计过程,我们从一个需求的分析,进一步到系统的分析和设计,再进一步到软件的分析,最后到软件的开发过程,是从系统一步一步到软件这样的一个步骤。
而我们今天要谈的设计流程(如图1所示),左边我们看到一个从上而下的设计流程,而在右边我们看到一个特制的流程。从最基本的软件开发,先开始测试的是个别的模块,然后从这个模块再进而扩展到子系统,然后扩展到系统,最后到整个系统接收的设计。这个流程一般来讲不会像是徒步式的作业,即这个流程不会从一个阶段不停的延展到下一个阶段。在持续的开发过程中,我们发觉中间会有一些反馈,可能会不停的反复。而且特别要注意的是,因为在系统开发的时候,系统很可能会受到外界的影响,会有改动,所以很多时候就需要再去反馈到最开始的需求管理,经过整理融合再继续开发。

(图1)
实际上,因为流程的改动可以看到整个开发的过程不是一个简单的“V”字,而是会不停地去反馈。而在整个过程中,我们会强调一个流程作业。主要有两个部分,一个部分是包括了刚才说的在V 模型和系统工程,那个部分我们说这是系统工程的部分,叫Harmony。Harmony主要是从上而下的设计流程,就是说从需求的分析,然后进一步到系统的管理,这个是Harmony系统工程的一个主要流程。当然,中间可能也需要去反馈,去把你的设计反馈到你的要求。而剩下的四个部分,加起来主要是针对软件的开发,同样有一个Harmony软件的流程,叫Harmony/ESW,ESW是指软件开发,嵌入式的软件开发。在Harmony/ESW的流程里,我们看到它的流程并不是一个简单的Test ,它会是一个循环,就是我们会开发然后做一些简单的测试,这个测试的结果会反馈到初始的地方,让我们完成一个又一个功能,直到整个软件的开发都完成。
- 本文关键词:

