模型驱动架构(DMA)

简介
    模型驱动架构是指一种用于应用系统开发的软件设计方法(信息系统开发的重点是应用软件的设计),它提供了一套软件设计的指导规范,这套指导规范是用模型来表示的。模型驱动架构是由一个名叫OMG(Object Management Group,即对象管理组织)的国际联盟于2001年颁布的。
建模方法
    MDA基于三种建模方法。
    第一种建模方法就是著名的统一建模语言(Unified ModelingLanguage,UML),它包括各种软件建模所需的子语言。UML主要的子语言用于表达类图、活动图与状态图。
    第二种建模方法是元对象工具(Meta Object Facility,MOF)    ,它是作为UML构造的一个子集而建立的,具有足够的表达能力来表达重要的模型。
    第三种建模技术是公共仓库元模型(Common Warehouse Metamodel,CWM),它标准化了数据仓库应用程序的生命周期(例如,设计、构建和管理)。
优势    
    可移植性
        在MDA中,包括PIM(平台无关模型)、PSM(平台相关模型)和代码。PIM是具有高抽象层次、独立任何实现技术的模型。PIM被转换为一个或多个PSM。PSM是为某种特定实践技术量身定做。软件一直只是需要转换PSM接口。所以一致性强。
    平台互操作性
        在MDA中,整个开发过程是模型驱动的,标准化程度很高。卫平台的互操作性带来非常大的帮助。
    文档和代码的一致性
        在MDA中,代码是有模型生成的,所以具有天然的一致性。
MDA的四个阶段
     对于使用MDA进行开发的过程,根据邱郁惠在其著作中的建议,可以分为四个阶段:

CIM(Computation Independent Model)- 聚焦于系统环境及需求,但不涉及系统内部的结构与运作细节。
PIM(Platform Independent Model)- 聚焦于系统内部细节,但不涉及实现系统得具体平台。
PSM(Platform Specific Model)- 聚焦于系统落实于特定具体平台的细节,如EJB,J2EE或.NET都是一种具体平台。
Coding – 最后程序员依据PSM的UML模型内容,按图施工,编写出适用于特定具体平台的代码。

总结
    MDA的出现,为提高软件开发效率,增强软件的可移植性、协同工作能力和可维护性,以及文档编制的便利性指明了解决之道。MDA被面向对象技术界预言为未来两年里最重要的方法学。当今建模的主要问题在于,对于很多企业来说它只是纸面上的练习。这就造成了模型和代码不同步的问题,代码会被不断修改,而模型不会被更新,这样模型就失去了意义。弥补建模和开发之间的鸿沟的关键就在于将建模变为开发的一个必不可少的部分。MDA 是模型驱动开发的框架,MDA 的愿景是定义一种描述和创建系统的新的途径。MDA 使得UML 的用途走得更远,而不仅仅是美丽的图画。很多专家预言MDA 有可能会带领我们进入软件开发的另一个黄金时代。

你可能感兴趣的:(模型驱动架构(DMA))