模型驱动体系架构(MDA)的研究与开源应用
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
目前软件开发是以代码为核心,因此软件开发过程的关注焦点是代码,但是,纵观软件开发语言的历史,从机器语言到汇编语言,再到高级语言,软件开发的抽象层次不断提升,关注的焦点也不断提高。软件的开发也将转向以抽象层次更高的模型为核心。
     基于这一规律和趋势,对象管理组织(OMG)提出了模型驱动架构(MDA——Model-Driven Architecture)方法。MDA的主要思想就是把原来的以代码为核心的开发转向以模型为核心的开发。模型的概念早已提出,但更多的是在设计文档中使用,以概念而非实现的方式来使用。MDA的目标就是把建模语言当成编程语言来使用,而不只是当作设计语言。用建模语言编程可以提高生产率、改善质量。
     首先,本文回顾了软件开发方法的发展历史,之后深入的分析了程序设计语言的发展历程,并且分析了软件开发不断提高抽象层次的趋势。分析了当前MDA的发展和应用现状。
     接着,本文介绍了MDA的体系框架。主要是从几个基本概念入手,包括模型、变换、变换定义、变换规则。之后介绍了MDA的体系结构、基本框架。重点研究了PIM到PSM的模型变换途径以及MDA中的关键技术。
     之后,通过与传统的软件开发方法进行比较,研究和分析了MDA开发模式的优势。
     接着,应用开源工具集来充当MDA的工具,拥有很好的经济效益和良好的可扩展性,本文通过采用MDA开发模式开发云南省教育厅毕业生业务工作互动网络平台,对系统进行需求分析、建模、实现、MDA工具大大提高了开发的效率。
Currently, code is core of the software development, therefore the software development process focuses on code. However, looking back at the history of the software development language from the machine language to the assembly language, to the high-level language. Software development continuously promote the level of abstraction and focus of attention's level enhances unceasingly. The software development also will change take model which has higher abstract level as core.
     According to this rule and tendency, object management group proposed the Model-Driven Architecture Method. The main idea of MDA is shifting the code as the core development to the model as the core development. The model concept already proposed, but more is used in the design documents concept than realization. The goal of MDA is to put the modeling language as a programming language to use, not just as a design language. Modeling Language Programming can be used to increase productivity, improve quality.
     First, this article looked back into the software development method history. After analyzed programming language development process, and analyzed the software development to enhance the abstract level unceasingly. analyzed the current MDA development and the application situation.
     Then, this article introduced the MDA system framework.. Mainly from the start with a few basic concepts, including model, transformation, transformation definition, transformation rule. MDA introduced after the architecture, the basic framework. Focus on the PIM to PSM model transformation in the way MDA and the key technologies.
     Through carries on the comparison with the traditional software development method, studied and has analyzed the MDA development pattern superiority.
     Then, application of open source MDA tool set to act as a tool to have good economic and good scalability, the development of this model through the use of MDA development Yunnan Province Office of Education graduates operations interactive network platform, the system needs analysis and modeling and implementation of MDA tools greatly enhance the efficiency of the development.
引文
[1]杨芙清.软件工程技术发展思索.软件学报,2005.1,16(23):1-7
    [2]http://www.yesky.com/305/1773805_1.shtml
    [3]MDA.http://www.omg.org/mda/,2005
    [4]Chris Raistrick,Paul Francis,John Wright 著 赵建华 张天 译 MDA 与可执行UML 机械工业出版社,2006.04
    [5]http://www.uml.org.cn/cmm/200706064.asp
    [6]http://www.ibm.com/developerworks/cn/rational/r-j2eeproject3/
    [7]http://www.itisedu.com/04/200605121608014.asp
    [8]http://blog.csdn.net/yhmhappy2006/archive/2007/O3/01/1517839.aspx
    [9]http://dev.csdn.net/article/23/23434.shtm
    [10]Anneke Kleppe,Jos Warmer,Wim Bast 著 鲍志云 译.解析 MDA.北京:人民邮电出版社,2004.2
    [11]Robert C Martin.Agile Software Development:Principles,Patterns,and Practices.Pearson Education,2002.10
    [12]B.Nordmoen.Beyond CORBAModel Driven Development.http://www.omg.org/mda/mdafiles/SSSummitsenordmoen-OMG,pd
    [13]王赟华;陈蔚薇模型驱动开发方法的应用研究 计算机工程2006年13期
    [14]http://www.sudu.cn/info/html/edu/net/20071226/31396.html
    [15]David S.Frankel Model Driven Architecture:Applying MDA to Enterprise Computing John Wiley & Sons 2003
    [16]http://www.mdasky.com/forum/dispbbs.asp?boardlD=2&ID=125&page=1
    [17]Scott W.Ambler建模的误区--走出一般性的设计误区,迈向成功之途 2007.11
    [18]http://www.newasp.net/tech/net/13689.html
    [19]Rumbaugh,acobson and QBooch.The Unified Modeling Language Reference Manual.Massachusets,USA:Addison Wesley,1999
    [20]Grady Booch,James Rumbaughand Ivar Iacobson.The Unified Modeling Language User Guide.Massachusetts,USA:Addison Wesley,1999
    [21]http://www.ibm.com/developerworks/cn/linux/1-metaprog3/
    [22]张乃孝、许卓群、屈婉玲 面向模型的变换型软件开发方法研究 理论计算机科学1994.8
    [23]C.B.Jones Systematic Software Development Using VDM PHI Ltd.1990
    [24]http://www.cnblogs.com/tilancs/archive/2004/12/17/78319.html
    [25]B.J.Maclennan Values and Objects in Programming Language SIGPLAN Notices,Dec.1982 p70-79
    [26]H.A.Partsch etc.Specification and Transformation of Programming Springer-Verlag 1990
    [27]张乃孝、郑红军、裘宗燕 语言的抽象、封装与变换型开发方法 软件学报 1998.7
    [28]www.zaoxue.com/article/tech-34355.htm
    [29]http://www.yuanma.org/data/2007/1130/article_2900_1.htm
    [30]袁峰非程序员 总第32期
    [31]http://www.itisedu.com/phrase/200604231309535.html
    [32]http://argouml.tigds.org/documentation/
    [33]http://galaxy.andromda.org/index.php?option=com-content&task=blogcategory&id=13&Itemid=49
    [34]http://maven.apache.org/guides/index.html
    [35]http://www.blogjava.net/libin2722/archive/2008/01/10/174421.html
    [36]http://www.blogjava.net/sitinspring/archive/2007/06/21/125504.html
    [37]http://kailechen.blogddver.com/kailechen/1087410.html
    [38]http://www.sstc.org.cn/Components/DetailView.aspx?id=722e8c68-99c7-4e97-9d4c-4e 348aff1316
    [39]http://blog.csdn.net/yuandafeng/archive/2005/10/10/499027.aspx
    [40]http://blog.csdn.net/ckangtai/archive/2007/03/29/1545274.aspx

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700