您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页下一代面向对象的软件开发方法——MDA

下一代面向对象的软件开发方法——MDA

来源:智榕旅游
维普资讯 http://www.cqvip.com

山西科技SHANXI SCIENCE AND TECHNOLOGY 2O07年第1期1月20日出版 ●信息技术 下一代面向对象的软件开发方法 崔晓斐 (辽东学院计算中心) 摘MDA 要:MDA是OMG提出的用于解决中间件集成问题的软件开发框架。在该框架下,模型在 整个软件开发过程中起核心作用,模型之间的变换实现从模型到代码的自动变换。文 章主要阐述了MDA思想、MDA的框架、开发过程及相关标准,说明MDA是面向对象的 软件开发方法的又一次。 关键词:MDA;Pm;PSM;模型转换 中图分类号:TP311 文献标识码:A 文章编号:1004—6429(2007)0l一0059—02 义;编写这些定义的语言,这种语言能够被变换工具执行;能够 执行变换定义的工具;能够执行PSM到代码的变换工具。如 图1所示。 随着企业级分布式应用的普及,带来了对系统性能、可伸 缩性的严格要求,大量分布式系统的出现,大量异构平台的整 合需求,引发了中间件战争的爆发。随着越来越多中间件的出 现,基于不同的中间件平台之上的软件系统之间的集成(互操 作)成为一个很难解决的问题。针对这个问题,OMG(Objm Management Group,对象管理组织)提出了MDA技术。 1 MDA概述 MDA(Model Driven Architectttre,模型驱动架构)是OMG提 出的新的软件开发方法学,它改变了传统的以代码为中心软件 表述 使用 、., 表述 开发模式,使用建模语言来代替编程语言进行软件开发,使用 模型转换技术生产出代码。MDA是一种基于UML,MOF,XMI 和CWM以及OMG自己的CORBA工业标准的框架,支持软件 设计和模型的可视化、存储和交换。和UML相比,MDA能够创 建出机器可读和高度抽象的模型,这些模型以干实现的技 术开发,以标准化的方式存储。因此,这些模型可以被重复访 圈一_一圈 图1 MDA框架图 在MDA的框架中主要元素有模型、PIM、PSM、语言、变换、 变换定义、以及变换工具。MDA是一个开放的,中立于软件供 应商的架构,它广阔地支持不同的应用领域和技术平台,能够 成为应用领域和具体技术平台之间的桥梁。在MDA开发途径 中,PIM代表对需求的建模,PSM代表应用具体技术后的模型, 这使得MDA成为需求和技术之间的桥梁;它们各自的改变都 可以是相互的,不会造成商业逻辑和实现技术的紧密藕 合,同时MDA又可以通过转换来弥补它们之间的鸿沟。MDA 开发途径使得系统能够灵活地被实现、集成、维护和测试,系统 问,能从容地应对平台和需求的变化。MDA的出现,为提高软 件开发效率,增强软件的可移植性、协同工作能力和可维护性, 以及文档编制的便利性提供了可能。 2 MDA应用框架 MDA将软件开发过程中的模型分离为平台无关模型PIM (Platform Independent Model,平台无关模型)和特定平台模型 PSM(Platform speciifc Model,平台相关模型),同时又能通过转换 规则将它们统一起来,以这样的方式摆脱需求变更所带来的困 境。平台无关模型PIM是对系统高层次的抽象,提供了关于软 件系统的结构和功能的形式化规约,但是不涉及与具体平台相 关的技术细节;特定平台模型PSM是通过应用一些转换规则 从PIM中推导出的,并且PSM指定了PIM中规定的那些功能 如何在一个技术平台上被实现。在MDA框架中,首先使用平 台无关的建模语言来搭建平台无关的模型PIM,然后根据特定 平台和实现语言的映射规则,将PIM转换以生成平台相关的模 的轻便性、互操作性和可重用性都是可以长期保持的,能够应 对未来的变化。 MDA的实现主要集中在以下3个步骤: 1)用UML对应用领域进行高度抽象的建模,创建一个平 立的应用程序模型。这个模型和实现它的技术(或者底层 技术)完全没有关系。这个模型称之为平台无关模型(PIM)。 2)PIM将被转换为一个或多个平台相关模型(PSM)。这个 翻译的过程一般是自动实现的。PSM将用一个特定的实现技 术来描述系统。它将用到这种技术所提供的种种架构,比如 型PSM,最终生成应用程序代码和测试框架。 MDA框架包括:高层次模型;一种或多种标准、精确定义 的语言,用来编写高层次模型;如何把PIM变换到PSM的定 作者简介:崔晓斐,女,1972年l0月出生,1995年毕业于辽 宁工学院,讲师,硕士,118000,辽宁省丹东市振兴区振五街2l 号楼(鸿景园小区4号楼)2单元504室 收稿日期:2OO6—09—26 EJB、数据库模型、NET、COM组件等等。 3)PSM将被翻译成源代码。因为每个PSM已经完全依靠 某种特定的技术,这个步骤一般是比较简单的。对于组件环境 而言,系统必须生成多种类型的代码和配置文件,包括接口文 件、组件定义文件、程序代码文件、组件配置文件和装配配置文 件。特定平台的UML语言对实际平台坏境的反映越完整,在 特定平台的应用程序模型中能够包含的应用程序语义和运行 ・59・ 维普资讯 http://www.cqvip.com

山西科技SHANXI SCIENCE AND TECHNOIX)GY 2OO7年第1期1月20日出版 时行为就越多,生成的代码也就越完善。 3 MDA的软件开发周期 在MDA中软件开发过程是由软件系统的建模行为驱动 的。图2是MDA的软件开发周期: , 、 、、需求捕获 ——-◆ 、文档 , D ~一,~MDA开发过程,以平台无关的模型PIM作为驱动 图2 MDA软件开发周期 MDA支持整个系统生命周期中的集成,从业务建模到系统设计、组件的构造、组装、集成、部署、管理和改进,使得应用 模型与领城模型在整个软件生命周期中得到了复用。MDA生 命周期和传统生命周期没有大的不同,主要的区别在于开发过 程创建的工件,包括PIM、PSM和代码。PIM是具有高抽象层 次、任何实现技术的模型,PIM被转换为一个或多个PSM。 type Definiitons)为各种模型定义了一种基于XML的数据交换 格式。这使得作为最终产品的模型可以在各种不同的工具中 传递,保证了MDA不会在打破了一种束缚之后再被加上一层 新的束缚。XMI规范支持任何可以用MOF表示的元数据(包 括模型和元模型)的数据转换。规范同时支持完整的模型或是 一个模型的片断到XML的转换。 PSM是为某种特定实现技术量身定做。例如,EJB PSM是用 EJB结构表达的系统模型。开发的最后一步是把每个PSM变 化为代码,PSM同应用技术密切相关。传统的开发过程从模型 CWM:CWM(Co/Rinon Warehouse Meta—model公共仓库元模 型)提供了一种数据格式变换的技术,在任意级别的模型上都 可以使用CWM来描述两种数据模型之间的映射规则,比如将 到模型的变换,或者从模型到代码的变换是手工完成的。但是 MDA的变换都是由工具自动完成的。从PIM到PSM,再从PSM 到代码都可以由工具实现。PIM,PSM,和Code模型被作为软 件开发生命周期中的设计工件,在传统的开发方式中是文档和 图表,它们代表了对系统不同层次的抽象。从不同的视角来看 待系统,将高层次的PIM转换到PSM的能力提升了抽象的层 次,能够使得开发人员更加清晰地了解系统的整个架构,同时 对于复杂系统,也减少了开发人员的工作量。 4 MDA的核心规范 MDA中有四个核心规范,它们使MDA技术成为可能,它 数据实体从关系数据库变换为XML格式。在MOF的框架下, CWM使得通用的数据模型变换引擎成为可能。 在这四种规范中,MOF是其他规范的基础,由它定义的元 模型可以用来建模其他语言,例如UML的元模型就是使用 MOF建立的。因为对于不适合使用UML建模的领域,可以使 用MOF来建立适合于描述该领域的建模语言。这种方式使 MDA方法有很强的适应性。对于PIM—PSM转换,也需要元模 型的支持,对于PIM中的每个元素,MDA工具首先将其映射为 对应元模型,然后进行变换。 5结束语・ 们分别是UML、MOF、CWM和XMI。 UML:u札是MDA存在的基础,使用MDA技术创建的所 有应用程序都基于标准化的、平立的UML模型。UML被 MDA的思想精髓对软件开发产生了深远的影响。MDA还 处在一个发展的过程中,还尚未完全脱离传统的方法学,如软 件开发的阶段基本一致,只是产生的中间工作成果有所不同。 MDA用来描述各种模型。它并不是为MDA而生,但是作为目 前最为风行的建模语言,UML已经占据了全球建模语言领域 9o%的市场份额,一 成为了建模语言事实上的标准。它是MDA 的基础,也是MDA最有力的武器。 \ , MDA还在不断的演进,它为我们拉开了软件开发的新序幕,为 软件开发带来一场。 [1] 燕参考文献 锋,欧阳松,朱彬.模型驱动构架中模型信息交换 MOF:MOF(Meta一0bject ility元对象机制)是比UML更 高层次的抽象,它的目的是为了描述UML的扩展或者其它未 研究[J].计算机工程与设计,2O05,26(11). [2]王卫民,贺冬春.MDA过程的研究[j].井冈山学院学报, 来可能出现的类UML的建模语言。 Ⅺ咀:Ⅺ咀(x^几一based metadata Interchange)是基于XML的 元数据交换。它通过标准化的XML文档格式和 D(Document 2O05,26(2):49—51. [3] 辛伯宇,刘 岩.软件开发架构——lⅧDA[J].太原理工大 学学报,2OO6,37(5):104—106. (校对:张岩) Target——oriented Software Development Approach of the Future Generation Cui Xiaofei ABSTRACT:MDA is a flame of software development propo ̄t by OMG to solve the problem of middle integrationUnder the flame. .models play a key role in the whole process of8oftwRl ̄development and the shift between models is automatic from models to m .1his article has explained the idea,framework developing process and relevant standards of MDA and expounded that it is another revolution ofthe development approach of the target—oriented software. KEY WORDS:MDA;PIM;PSM;model shift ・60・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务