What"s MDA?(专贴)

05-05-04 mythmoon
    

What"s MDA?

2004年4月30日 作者:base Matrix-与Java共舞

----It is just Model Driven Architecture, 即模型驱动架构,是偶一不小心在QQ群里遇到了一堆广州的此道高手才知道的,于是便记了下来,准备有时间研究一下,直觉与原来自己的一些想法差不多,从我自己的角度认为,MDA是什么呐,就是将需求抽象成模型,然后由模型建立系统,然后生成相关代码,这里是代码无关的,不由的想起ITPUB的yining兄曾提的一个开发建议,就是借助于电路思想开发一个建模工具,根据粒度不同,便如电路中的元件或是集成电路,然后通过耦合,便可生成系统,在这个过程中也是代码无关的,然后由通过这个工具建立的通路生成相关代码,我想也便如此,或所谓异曲同工吧。

----以上为胡思乱想,因为还没有看过MDA相关的任何资料,只是一眼过去看到了许多新的缩写,大约就是AA,BB,CC的标准了吧,那么,到底什么才是MDA呐?

----下面抄点资料,是从David S.Frankel写的鲍志云翻译的《应用MDA》里面找的:“Model Driven Architecture(MDA)是OMG提出的新的方法学。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出机器可读和高度抽象的模型,这些模型以独立于实现的技术开发,以标准化的方式储存。因此,这些模型可以被重复访问,并被自动转化为纲要(schema)、代码框架(code skeleton)、测试工具(test harnesse)、集成化代码以及各种平台的部署描述。MDA把建模语言用作一种编程语言而不仅仅是设计语言。MDA以一种全新的方式将IT技术的一系列新的趋势性技术整合到一起。这些技术包括基于组件的开发(Component-Based Development)、设计模式(Design Pattern)、中间件(middleware)、说明性规约(Declarative Specification)、抽象(abstraction)、多层系统(multi-tiered system)企业应用整合(Enterprise Application Integration)以及契约式设计(Design by Contract)。MDA的出现,为提高软件开发效率,增强软件的可移植性、协同工作能力和可维护性,以及文档编制的便利性指明了解决之道。MDA被面向对象技术界预言为未来两年里最重要的方法学。”

----简言之,就是将软件系统开发相关的东东都用UML表示出来,然后生成代码。而根据粒度,生成的代码可能是将某种架构或实现包括在里面,也就是说根据系统开发的需求,套用现成的东东,如果能的话,这样一来MDA其实就是长得这种样子了:

----根据从系统开发抽象出来的理论建模,用UML方式实现,然后在MDA工具里面挂接当然的可能用来实现系统的N多技术,包括架构或一行代码,如此由模型变成你想要的应用系统。

----这实际上是个复杂的实现过程。

    

mythmoon
2005-05-04 17:41

有没有高手讲下撒!

banq
2005-05-04 17:59

试用一下realMethods就直观知道什么是MDA:

http://realmethods.com/

mythmoon
2005-05-04 20:10

谢谢!指引

mythmoon
2005-05-05 09:50

Bang老师我英文不大好!可以讲讲您的见解吗?

就根据从系统开发抽象出来的理论建模,用UML方式实现,然后在MDA工具里面挂接当然的可能用来实现系统的N多技术,包括架构或一行代码,如此由模型变成你想要的应用系统。