随心所欲

做个幸福的人
posts - 152, comments - 1472, trackbacks - 28, articles - 0
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

模型驱动开发

Posted on 2005-04-14 21:19 随心所欲 阅读(237) 评论(0)  编辑 收藏 网摘 所属分类: 其他技术
看了一些介绍性的文档,用简单地方式介绍一下模型驱动的软件开发的涵义。

概念:

围绕着“模型”的软件开发过程,如用UML,XML文件来描述等等。
个人观点:

1.直接把人的思路转化成模型构造器(生成模型实例的)可识别的语言

2.需要强大的工具支持;

3.需要预先投入大量精力研究开发

4.自动生成代码;

5.能快速的应对需求的变动,如果需求变动,更改模型,生成代码...

6:软件的质量依赖于 建模 的能力。然后代码基本自动生成。


优点:

检少不同人员的交流误解

自动生成代码。

效率高



常见的可用工具:

Eclipse的EMF、AndroMDA和Middlegen.
EMF 究竟是什么?
Eclipse Modeling Framework(EMF)是一个开放源代码的框架,它的目标是实现模型驱动架构(Model-Driven Architecture)的开

发。如果我们当中的少数人有幸得到了某个 UML 模型,那么这个框架就可以帮助我们将文档变成代码。至于其他人,这个工具也使您

又有一次机会向老板证实,把时间花在为解决方案建模上是值得的。除了可以生成令人赞叹的 Java 代码之外,EMF 还可以生成

Eclipse 插件,以及图形化的可定制编辑器。当您改变模型时(这种情况真的会出现),EMF 可以通过单击一个按钮,就使代码和模型保持同步。


如何应用,借鉴这种思路

程序:数据+使用数据的逻辑。
模型就是解释逻辑和执行逻辑的框架。
框架依靠数据来建立。
数据包含两种
1:程序使用的数据。我们叫它feedData
2:程序的逻辑数据。称之为spritData

如果可以把spritData抽象出来,那是最好。


实例化一个ws,让ws运转,需要提供ws的数据类型,用以构造ws。然后根据描述构造ws的其他功能,比如产生ui显示的逻辑等
同样,对每一个功能都是这样的:由另外一个地方传递过来数据,根据数据构建模型,模型运转,然后就可以处理相应的数据。

所以问题的关键就是,怎么根据这些数据构建一个模型。

mda中使用uml和相关标准来构建模型。根据设计者的uml描述,构建一系列的类和数据表,完全是由机器生成源代码的过程。
mda使用的uml和其他标准就是数据驱动中的“sprite data”。

这可能是一种比较大的课题。

退而求其次,只能是由设计者抽象这个模型,手工制作,或者部分自动生成。


如果可以把这个spritData数据描述清楚,并且有相应的工具根据描述构造出具体的实例,那么这将是一个很大的进步。

这个spritData包括:
1:数据结构。
  比如有哪些属性,类型如何
2:方法逻辑。
  如何使用自身的属性、数据来操作feedData。完全是逻辑。
3:对外关系。
  建立和其他模型的关系。

难点是:用图形化(最接近人的思维)来描述逻辑思路;用xml语言(目前最具威力的描述语言)来记录和刻画这些逻辑;然后翻译这些逻辑,生成一个应用实例。



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 207989 9LyBI1jASf0=



相关文章:

相关链接:

Google