如何使用IBM Rational Software Architect实现模型驱动的软件开发_第1页
如何使用IBM Rational Software Architect实现模型驱动的软件开发_第2页
如何使用IBM Rational Software Architect实现模型驱动的软件开发_第3页
如何使用IBM Rational Software Architect实现模型驱动的软件开发_第4页
如何使用IBM Rational Software Architect实现模型驱动的软件开发_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何使用IBMRationalSoftwareArchitect

实现模型驱动的软件开发简介:模型驱动架构(MDA)是OMG提出的新的方法学,是一种新的系统开发方法,它强调整个系统开发过程由对软件系统的建模行为驱动,完成系统需求分析、架构设计、构建、测试、部署和运维工作。与传统的UML模型相比,MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换(Transformation)技术可自动转换为代码、测试脚本、数据库定义以及各种平台部署描述。内容1MDA概述2在RSA中实现MDA3在RSA中使用Transformation实现模型驱动的软件开发4小结参考资料作者简介■建议1MDA概述模型驱动架构(MDA)是OMG提出的新的方法学,是一种新的系统开发方法,它强调整个系统开发过程由对软件系统的建模行为驱动,完成系统需求分析、架构设计、构建、测试、部署和运维工作。与传统的UML模型相比,MDA能够创建出机器可读和高度抽象的模型,这种模型通过转换(Transformation)技术可自动转换为代码、测试脚本、数据库定义以及各种平台部署描述。从此,建模语言不仅仅是分析设计语言,更可用作为一种高级编程语言。MDA通过抽象层次的不同,定义了计算独立模型(CIM)、平台独立模型(PIM)和平台相关模型(PSM)。计算独立模型类似于我们常说的业务模型和用例模型,是一个抽象层次较高、独立于任何实现技术的系统模型,它着眼于操作环境中的系统以及系统需求的描述,而不关心系统本身的结构和功能实现细节;平台独立模型类似于系统分析模型,它处于中间抽象层次,关注系统的整个架构实现,但却忽略掉与平台相关的部分。平台独立模型可以转换成多个平台相关模型;平台相关模型则与设计模型相像,它把业务独立模型与具体使用平台的细节相结合,包含了具体平台的特定

实现技术。软件开发过程中架构师会跟据系统架构的质量要求,选择一种或几种平台技术具体实现系统。图1.1、MDA的模型及其转换技术不同模型间可以通过模型转换技术(ModelTransformation)实现相互转化,例如使用模型转换技术,我们可以将计算独立模型(CIM)转化为平台独立模型(PIM),平台独立模型(PIM)转化为平台相关模型(PSM)。由此可见,模型转化技术是实现MDA的关键。模型转换技术一般包括标记(Markings)和映射(Mapping),映射包含了由一种模型向另一种模型转化的规约说明,而标记则用来在源模型中加入额外的信息,用来在转换时告诉映射如何将源模型中的特定模型元素映射到目标模型。通过MDA技术的使用,可以有效解决传统软件开发过程中的生产效率问题、系统移植问题、互操作问题以及文档和系统后期维护问题,因此它一出现就受到业界的广泛关注,并且越来越多的工具厂商对其提供支持,我们坚信:它的广泛应用只是时间问题。

2在RSA中实现MDA2.1RSA概述IBMRationalSoftwareArchitect(RSA)是一套设计与开发工具,它构建在开放的、可扩展的Eclipse3.0平台之上,实现了多项行业最新标准,提供了灵活的插件扩展机制。借助UML2.0技术,它实现了模型驱动的软件开发模式,可以帮助开发团队创建更加强壮的软件架构。同时,RSA作为IBMRational业务驱动软件开发平台的核心构件,提供了与需求管理工具、测试工具、配置和变更管理工具和项目管理工具的完美集成,从而真正实现了企业内部的核心软件开发流程、开发平台和软件生产线。2.2使用RSA实现MDA中的模型转换IBM在RSA中缺省提供了UML到Java、UML到C++、UML到EJB的模型转化实现,其整个实现架构基于Eclipse3.0和EclipseModelFramework(EMF)、UML2、GraphicalEditingFramework(GEF)和插件开发环境(PDE),为模型驱动软件开发(MDA)的模型转换方面提供了四个方面的工具支持:图2.1、RSA对MDA及其转换技术的支持架构UserInterfaceUMLtoJavaUML2SupportTransforms■5TransformationServiceAuroraModelingPlatformUMLtoEJBEnginecosnaUserInterfaceUMLtoJavaUML2SupportTransforms■5TransformationServiceAuroraModelingPlatformUMLtoEJBEnginecosnaEclipsePlatformJEMF,UML2,GEF,CDTPDE转换服务(TransformationService):支持转换的交换和发现功能,为其它转换工具支持提供基础。转换引擎(TransformationEngine):为层次化的转换源提供遍历引擎,尤其对UML模型有较好支持转换应用的GUI界面支持:使用户能够浏览、查找并应用各种转换。4)制作转换的GUI界面支持:为转化制作中的创建、打包和维护转换的各种任务,提供很多自动化支持;在RSA中,MDA的模型转换以插件的形式存在。RSA提供了向导(Wizard)功能,指导用户完成模型转换框架插件项目的创建过程,下面举例说明具体的MDA的模型转换开发过程:1)新建插件项目:在RSA中选择"File—>New->Project…"新建插件项目,选择〃带转换的插件〃模板,它是RSA为构建新的转换提供的实现机制。图2.2、建立带转换的插件项目选择之后Wizard会自动提示输入新建转换源和目标模型类型及相关联的属性,并为转换创建规则定义,如图四所示:在我们例子里将创建ClassRule和OperationRule;

图2.3、建立转换规则图2.3、建立转换规则2)基于RSA提供的模型转换框架,实现具体的模型转化规则。RSA的模型转换插件项目向导(Wizard)会自动生成模型转化框架,如图五所示:图2.4、模型转换实现框架#也taut1sb<)tH图2.4、模型转换实现框架#也taut1sb<)tHtupTuiliIlli(nJRHtupFkit-oliz«()站ijp*rat14I龄Op*r«ti^LkBvLL电IJ笨cjre&tfiTfli-Eet(J-I:i<基于这一框架,用户需要根据具体转换实现需求,完成ClassRule和OperationRule的具体实现,完成具体的Transformation的转换逻辑。

3在RSA中使用Transformation实现模型驱动的软件开发我们实现了三个示例转换AnalysistoDesign,BMBusinesstoUseCas,BMUseCasetoAnalysis,并以插件的方式嵌入倒RSA(如图3.1)。图3.1.三个示例转换以下是使用RSA进行模型驱动开发的步骤:首先建立一个RSA项目及一个简单的业务模型,也就是CIM;通过BMBusinesstoUseCase转换,将业务模型(CIM)转换为用例模型(PIM1);进一步通过BMUseCasetoAnalysis将上一步骤产生的用例模型(PIM1)转换为分析模型(PIM2);

4•再将设计模型(PIM2)转换为设计模型(PSM)5.最后将设计模型(PSM)转换为代码。3.1创建RSA项目及业务模型首先创建模型项目(图3.1),然后在此项目里添加一个业务模型;添加业务模型的方法是选择空白模型模板,并命名为BusinessModel(图3.2)。图3・1・创建模型项目图3.2.创建业务模型

然后,将已经导入的概要文件应用到模型项目上去。概要文件里面包含了一些已定义好的版型,作为对UML的扩展。点击BusinessModel目录,打开其属性,选择概要文件->添加概要文件,选择BusinessModellingSampleProfile(图3.3)。图3.3.应用概要文件•fL屮£.>(■#-apn■旳甘hwfXMXviHFrri'aii卜卄T*>1皿&叩环TM图3.3.应用概要文件•fL屮£.>(■#-apn■旳甘hwfXMXviHFrri'aii卜卄T*>1皿&叩环TM出PTtf■•TwriWjIhrivinrvQchen匚'l^rrajrm9-ikiv-XIHCiPiogr*-v.FS«.\in13e—tiiaRfm■'4lhrvnavr.PiiaH■in在BusinessModel模型下创建Salesperson类(如图3.4所示),我们将在之后的转换中逐步的把Salesperson类转成目标模型中相应的元素。图3.4.创建Salesperson类l~~.*^I*W4MPlEhpBnWfl^WMF**^nH'DHl~~.*^I*W4MPlEhpBnWfl^WMF**^nH'DH修改Salesperson类的版型(Stereotype),具体过程为选择Salesperson类,打开其属性,选择版型->添加版型,在弹出的应用版型窗口里选择BusinessWorker(来自于BusinessModelling)(图3.5)。TabI--EuriiMilrFwT-i+ivTabI--EuriiMilrFwT-i+ivw»,lij-0<EIjrifi■£“E*ilhAriSlH::专nrer-HOrdfl-Ai-CA—JSi1*-Win*#*彗P^ahiapMquvwi修改Salesperson的版型后,其图标也变为相应版型的图标。接着,给Salesperson增添两个方法,processAnOrder()及takeAnOrder()(图3.6)。到此阶段,业务模型已经产生好,通过应用概要模式到模型及版型到类,我们对业务模型进行了精确的定义,有了这样的精确定义,我们就可以通过转换(transformation),将业务模型转换为系统模型。图3・6・增加两个业务方法3.2从业务模型(CIM)转换为用例模型(PIM1)在转换之前首先创建目标模型,在这里为用例模型(图3.7)。

图3・7・创建用例模型创建了目标模型后,我们可以开始转换的工作。首先点击源模型BusinessModel,选择工具栏上Modeling选项,再选择Transform->ConfigureTransformations(图3.8)图3.8.配置转换―E-hi-Bl击幻翻□T―E-hi-Bl击幻翻□T—哪SdejjPerwri•屮曲(}*{>[[Mtan0HAn恳(UH.2)込恰tlMftM?如JrlCiH但占两UmCiImMbcM□Hm孟tlM-Z)ModatiE.LbrCwiMDdfflr^MiilinLcHpinPSl『o・rnFitEdt陌y吊拭e*SMrChh£i$M.q■'RufiWidalEPmTl-#TSrorft>*t&ni因为是从业务模型转换到用例模型,在配置转换窗口选择BMBusinesstoUseCase,图3.9.选择BMBusinesstoUseCase转换点击右下方的New按钮,新建一个BMBusinesstoUseCase的转换,并在Target页面选择UseCaseModel作为目标模型(图3.10),图3.10.选择UseCaseModel作为目标模型

选择Common页面,选择创建源模型到目标模型的追踪关系,这样我们在转换的同时也保持了源模型与目标模型之间的追踪关系。最后点击RUN,开始执行转换(图3.11)。图3・11.创建源模型到目标模型的追踪关系图3.12显示了转换后的用例模型,对应业务模型的Salesperson和其两个操作,产生了一个Salesperson主角及两个用例processAnOrder和takeAnOrder。图3.13显示了转换自动生成的业务模型和用例模型间的追踪关系。图3.12.由业务模型产生的用例模型图3・13.用例模型与业务模型的追踪关系3.3从用例模型(PIM1)转换为分析模型(PIM2)我们进一步将用例模型转换为分析模型(图3.14)图3.14.使用BMUseCasetoAnalysis转换经转换后产生的分析模型如图3.15所示。可以看到,通过转换,RSA自动产生了对应用例的分析类和用例实现,并建立用例模型到分析模型间的追踪关系。图3・15・由用例模型产生的分析模型分析模型与用例模型的追踪关系(图3.16)图3・16・分析模型与用例模型的追踪关系3.4从分析模型(PIM2)转换为设计模型(PSM)我们进一步通过IBMAnalysisToDesign转换将分析模型转换为设计模型(图3.17)图3.17.使用BMAnalysisToDesign转换经转换后产生的设计模型包含设计类,子系统,接口等,如图3.18所示:图3.18.分析模型转换为设计模型

3.5设计模型(PSM)转换为代码最后通过RSA本身提供的UMLtoEJB转换,将设计模型转换为EJB代码。图3・19・使用UML到EJB的转换经转换后产生的SessionBean,如图3.20所示。图3・20・使用UML到EJB的转换生成的SessionBean4小结RationalSoftwareArchitect是IBMRational新一代的建模工具,它基于Eclipse3.0,UML2.0及MDA技术,它的推出让我们拥有了强大的模型驱动开发工具。本文介绍了如何通过RationalSoftwareArchitect实现模型驱动的软件开发,包括如何在RSA中建立转换(transformation)和如何通过这些转换实现模型到模型、模型到代码的转变。从中我们看到,通过MDA技术,我们提高了开发的效率,如通过转换能迅速的实现不同模型之间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论