powerdesigner 在mda 领域的应用

powerdesigner 在mda 领域的应用

ID:2082551

大小:1.29 MB

页数:18页

时间:2017-11-14

powerdesigner 在mda 领域的应用_第1页
powerdesigner 在mda 领域的应用_第2页
powerdesigner 在mda 领域的应用_第3页
powerdesigner 在mda 领域的应用_第4页
powerdesigner 在mda 领域的应用_第5页
资源描述:

《powerdesigner 在mda 领域的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、引言   MDA提出已经有5,6年的历史了,它的出现正不断地改变着软件工程领域的现状和编程习惯,同时,业务模型、领域模型的不断变更以及新框架的出现,也使得MDA得以大展身手。本文将通过SybasePowerDesigner工具带领大家认识、了解MDA,并且使您更容易地实现软件系统的集成与开发。1.一个经典案例引发的问题   在MDA前,我们想象一种场景:项目经理定制项目计划以及各个里程碑,然后然后交付给软件架构师对其不同模块进行UML建模,然后打印并分发给开发人员,根据模型的要求完成代码开发和测试。很不幸的是,该项目是一个遗留的系统,而且是面向过程的,甚至部分语法都是定制的,头疼的是客户要求你

2、把这个系统转换为面向对象的java语言。这是一种比较传统的软件管理方法。然而这样的弊端是:1)一切都不是那么同步,例如,代码发生的变化,模型势必要进行修改,反之亦然,当然也包括文档的同步等等,采用前者的管理方法,往往会使得项目进度拖延甚至失败。2)模型描述的不够详细,以至于开发人员不完全按照架构师的设计方案开发。3)代码重复过多,成本消耗过大。4)进度不容易控制,模型无法有效管理等等。5)没有一种有效的方法来检测架构师的设计正确性。6)不同模型以及语言转换复杂。MDA正是为了解决这些问题提出的一种新的开发方法。2.MDA的基本概念MDA是一种基于模型驱动架构技术的开发方法,它是一种方法学,基于

3、它,我们能实现如下功能:•能方便地在模型或者元模型上定义应用需求、逻辑结构以及行为方式,甚至修改元模型结构以适应实际需求。•增强了模型的语义逻辑。•能快速生成应用程序原型代码,使得用户可以验证或者为开发者生成API。•迭代式的设计、生成、开发和测试。当然,PowerDesigner就是这样一款集UML、数据模型、业务模型等于一体的企业建模工具。MDA的主要标准包括MOF,UML(OCL),XMI和CWM四大核心。需要指出的是,MDA正处于发展阶段,现在有三大阵营,即UMLPIM阵营、MOF阵营以及可执行的UML阵营。所谓UMLPIM,即使用UML来建立PIM,然后利用模型转换来生成PSM,最后

4、用PSM生成代码。目前该阵营的人居多,因为大家了解最多的还是UML,兼容性以及推广程度都较其他阵营更好。PowerDesigner也是该阵营的拥护者。MDA要致力解决以下问题:1)实现与平台无关的特性,设计人员只需关注模型即可。2)不同模型之间的无缝转换,例如:OO模型与数据库模型的无缝转换,同时能方便的定制转换规则。3)模型的事先检测,这样就可以有效分析出架构的正确与否。4)能自定义与平台相关的语言模型和扩展模型。13.用PowerDesigner来实现MDA对于MDA方法学,PowerDesigner12.0已经支持了如下的功能:3.1模型定义   PD支持企业建模,用户可以在现有模型中定

5、制应用需求、逻辑、结构和行为。如案例中,我们可以用需求模型和业务模型来完成需求分析;使用业务模型完成应用逻辑和诸如复杂过程(SOA);使用UML来完成应用结构和行为;使用数据模型来完成对象的持久化;使用知识库来管理模型,等等。3.2元模型定义  所谓元模型,即是模型的模型。用户用UML的方式定义自己的元模型。在PD中,所有的模型都基于PD的元模型,例如:类的元模型,从Error!Referencesourcenotfound.可以看出,类元模型继承于Classifier,同样接口元模型也继承于它,每个类有多个属性和关联。基于这样的元模型语义来完整的描述了UML的特性。(用户可以访问

6、录>ExamplesMetaModel.oom来获取元模型)同时,基于PD的元模型,用户可以根据需求编写自定义的扩展模型,甚至是语言模型。例如,你的公司里有自己的框架、甚至有自己的脚本或者业务流程,现有的UML图并不能生成你想要的代码文件,这时,采用PD的元模型来设计自己的模型是再合适不过的了,本文后面将会详细阐述。3.3全面支持MDA开发过程   在设计过程中,用户可以先设计与平台无关的模型PlatformIndependentModels(PIM),然后基于PD的模型转换功能,转换成PlatformSpecificModels(PSM)。当需要生成代码或者预览代码时,模型会根据定义在语

7、言模型或者扩展模型上的模版和流程来生成代码。用户也可以在模型上直接修改代码,那么模型也会随之同步更新,同样也能修改语言模型或者扩展模型以适应需求。流程如图2所示:PD支持在如下的几种模型转换上进行扩展:a)OOMàOOM:这种情况下,一般是从分析(Analysis)到具体的语言(如Java等)。b)OOMàPDM:这是一种自顶向下的开发流程,即先行根据需求设计出领域模型,然后PD会自动转换为数据库

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。