MDA 与实现 MDA 的 Rational 工具 RSA —— RSA…

2008-02-23 09:50:40来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


MDA 与实现 MDA 的 Rational 工具 RSA



——RSA“尝鲜会”归来







IT小混混



Mar.18, 2005





(转载请注明出处)








声明


IBM Rational工作组和UML软件工程组织联合在上海浦东软件园举办了IBM Rational 新产品“尝鲜会”,作者见到了即将发布的实现MDD的Rational新品。现将作者所能感受到的东西介绍给大家,由于发文时,作者还没有拿到讲座的slice,任何与原讲座内容有出入的地方,与顾春华(讲座人)无关,也与UML软件工程组织和IBM RSA无关。

任何错误或不足,请指正!




前言


MDA是对象管理组织OMG力图制定的实现MDD(Model-Driven Development)的标准,各大软件领导厂商也都积极参与MDA标准化的工作。现在IBM已经实现了MDD的基于Eclipse平台的产品Rational Software Architect,并在其中集成了过程管理、版本控制、代码复审等功能。由于Eclipse架构的平台开放性以及IBM和现今Eclipse的影响,相信会有很多人会采用RSA。今天的讲座对于RSA只是介绍性,作者也没有亲身操作体验RSA,有些特性领会也不深刻,只能结合讲座内容和作者在Eclipse开发上的经验对MDA和RSA做一个简要介绍。




1. MDA

1.1. MDD


MDD是Model-Driven Development是首字母简写,它以模型(Model)为开发过程的主要制品(Artifact),通过Model Transformation,Model Manipulation和Model Execution实现最终产品。所有这些都是基于UML2.0的。
1.2. MDA


MDA(Model-Driven Architecture)相关spec, article可以在OMG官方网站上找到。MDA定义了几个模型以及模型的转化。

l CIM (Computation-independent Model) 这个模型是来自于业务领域的,通过对业务领域建模产生。

l PIM (Platform-Independent Model) 这个模型通过CIM mapping过来,经过修改PIM进行平台无关建模。

l PSM (Platform-Specific Model) 这个模型通过PIM mapping过来,经过修改PSM进行平台相关的部分进行建模。

有了以上模型,就可以直接mapping到code,并实现模型与code的同步。根据实现的情况,可以对划分模型驱动成熟度(这部分没有记全,暂略)。
1.3. UML2.0


MDA实现的基础是基于UML 2.0的,由于有了UML2.0对模型描述的更加精确,才使得实现MDA成为了可能。




2. RSA


Rational Software Architect是IBM实现MDD的新一代工具,包含了IBM同时发布(上海大概会在月底展示)的几个版本中为Architect量身定做的版本。下面的介绍将不区分具体版本。





RSA具有以下几大特性:

l 基于Eclipse平台 由于Eclipse平台的开放性,她所实现的plug-in的extension/extension point机制,为对各个公司和厂商实现自己特定平台支持提供了强大IDE平台,况且现在Eclipse社区已经有了众多的contributors。

l Java的全面支持 RSA支持直接从Java代码生成模型,code和model实时同步以及从代码里提取模式等信息。并且已经预置了对GOF Patterns, J2EE Patterns等等的全面支持。

l 迁移Rose & XDE 对迁移Rational Rose和XDE的支持,使得对以往用他们做的模型都可以迁移到RSA。

l c/C 的支持 未做演示。

l RUP集成 Rational Unified Process实现的是对开发流程的指导,RSA集成了RUP,并且建模过程中可随时调出RUP相应的指导。

l 配置管理 RSA集成了ClearCase来实现配置管理。

l Code Review RSA实现的代码复审,可以有用户自己编辑规则,对代码进行检查,给出修改建议,实现修改帮助等。

l MDD 在第3部分详细介绍

l 其他




3. 用RSA实现MDD


这部分主要讲RSA在实现MDD上的表现。

任何实现MMD的工具,都是在模型的实现和模型的mapping上。RSA主要是通过对Eclipse Wizard, View, Editor的贡献来实现的。具体到MDA上又与RUP的几个模型视图对应起来。

l CIM -- Business Model

l PIM1 – Use Case Model

l PIM2 – Analysis Model

l PSM – Design Model

每个model都有相应的profile,在创立模型的时候就对模型之间进行了映射,所以不管你在哪个模型上做了修改,其它模型也会相应地改变。

很多通用的model和profile都可以通过IBM RAS(Reusable Asset Specification)获得,你所做的RAS也可以作为自己的资产库以备今后重用(模型复用)。当然Contribute到相应的社区,也反过来能推动整个RAS的发展。

采用RSA,你所做的工作就是如果没有相应的支持,只要做了相应的支持工作(最多的工作还是PSM的实现,有了对自己各个特定平台PSM的实现,就可以用统一的上层统一的模型转化过来),就可以更加专注于业务领域的模型。




关于作者


田海立,系统分析师,兴趣方向:系统分析、软件架构。

个人blog: http://blog.csdn.net/thl789,可以通过haili.tian@gmail.com或tianhaili@nju.org.cn直接与他联系。




上一篇: 关于unconditional
下一篇: 用eclipse+Hibernate Synchronizer(plugin)开发例子(原创)

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeMarker设计指南(3)

下一篇:用JBuilder开发Soap接口(图解)