文档库 最新最全的文档下载
当前位置:文档库 › mda-模型驱动体系结构 PPT

mda-模型驱动体系结构 PPT

基于模型驱动架构的电信业务元模型抽象研究

基于模型驱动架构的电信业务元模型抽象研究1 冯跃忠 北京邮电大学网络与交换国家重点实验室,北京(100876) E-mail:yzfeng1981@https://www.wendangku.net/doc/916722369.html, 摘要:模型驱动架构(MDA)业务生成技术是新一代的软件开发方法学。在深入分析基于模型驱动的电信业务生成后,文章以SIP Servlet平台为例,给出了一种SIP Servlet平台上的元模型抽象方法,并利用UML Profile的扩展机制在MDA工具上加以实现,实验表明,在SIP Servlet平台上采用此方法抽象的元模型是正确可行的。 关键词:模型驱动架构,元模型抽象,业务生成,SIP Servlet平台 中图分类号:TN911 1.引言 模型驱动架构(Model Driven Architecture, MDA)是对象管理组织(OMG)在2002年初确定的战略方向。在过去的几年中MDA技术取得了很大发展,被应用到诸如电信、航空航天、银行以及医疗卫生行业。作为一种新的业务生成方式,MDA越来越受到人们的关注。将模型驱动技术引入到电信领域,用于新一代电信业务生成具有重大意义。 基于MDA的电信业务元模型抽象是模型驱动业务生成技术的重要研究课题之一。如何抽象出正确且能够覆盖所有电信业务能力的元模型需要深入研究。文章给出一种基于模型驱动架构的电信业务元模型抽象方法,并以SIP Servlet平台为例给出抽象的元模型实例。2.基于模型驱动架构(MDA)的业务生成技术 2.1 MDA概念 MDA定义了开发IT系统的一个标准,使系统功能与功能的实现相分离。最显著的特点是,该标准把关注点放在模型上,模型不再仅仅是描述系统,辅助沟通的设计工具,而是软件开发的核心。MDA把建模语言当作编程语言来用,把软件开发的关注点从代码实现转移到设计和建模上来。 MDA的核心理念是一切以模型为中心,模型是MDA关注的焦点。其最终目标就是使模型可执行。MDA方法在开发过程中提供了更高层次的抽象,其在平台无关模型(PIM)与平台相关模型之间(PSM)的松耦合关系意义十分重大。模型是以精确定义的语言对系统(或系统的一部分)做出的描述【6】。在MDA中建模(描述问题)和模型映射技术(转换问题)是其核心,其技术基础为:统一建模语言(UML)、XML元数据交换(XMI)、元对象设施(MOF)、公共仓库元模型(CWM)。 在某个企业应用MDA方法,其实质就是创建一个新的特定领域的MDA描述语言集,该语言集由某种面向对象建模语言(如UML)的标记组成,比如由几个UML Profile组成的、可以由终端用户使用的集合。所以,MDA方法的核心在于用某种标准的建模语言建模,进行模型之间的转换,从而自动生成代码,提高软件的开发效率以及可重用性。MDA方法的概念模型是开发的基本脉路,如图1所示。 1本课题得到国家自然科学基金项目(60672122)资助。

模型驱动的开发方法——基于面向对象的开发

模型驱动的开发方法——基于面向对象的开发 2012210874 魏翔案例 案例名称:《基于UML的GRAPPLE在数字化医院信息系统设计中的应用》 案例简述: GRAPPLE (Guidelines for Rapid application Engineering: 快速应用工程指导原则)主要适用于面向对象系统。因此,每个段中的动作主要是生成面向对象的工作产品。GRAPPLE 所包括的5个段分别为: 1需求收集 1.1发现业务过程 首先要分析员要用客户业务常用的词汇与客户进一步面谈,从而建立一个或者一组能够捕获业务过程中的步骤和判定点的活动图,即从客户的业务流程出发理解系统。 1.2领域分析 领域分析可以与前一个动作同时进行,它们的共同目标是达到对某特定领域的理解。在此过程中,分析员需要分析与客户的会谈从而开发初步类图、建立和标记类之间的关联并且找出关联的多重性。 1.3发现系统需求 在此阶段,GRAPPLE 要求开发组举行一次联合应用开发会议,参加者包括客户的决策者、用户以及开发组成员。会议的参加者一同收集系统需求,需求收集的结果是一个包图,这个包图中的每个包代表系统的一个主要功能模块,每个包中包括一组用例,它们详细说明这个包代表的功能。本系统最重要的是事务对象包,它包括了系统涉及的大部分功能模块,例如挂号收费模块、看病诊断模块、取药模块、住院出院模块等;用户接口包定义了数据导入导出接口、打印接口;数据库包则定义了系统使用的数据库表、视图、存储过程。 2分析 2.1开发用例 “发现系统需求”阶段得到的每个功能包中的用例说明系统必须要做的事。在“开发用例”阶段开发组还必须分析和理解每个用例,描述用例执行步骤以便绘制详细用例图。HIS 系统案例的用例图如图 1所示。

MDA模型驱动架构

MDA 百科内容来自于: 中科永联高级技术培训中心(https://www.wendangku.net/doc/916722369.html,)MDA(Model Driven Architecture)是模型驱动架构,它是由OMG定义的一个软件开发框架。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。MDA把建模语言用作一种编程语言而不仅仅是设计语言。MDA的关键之处是模型在软件开发中扮演了非常重要的角色。 MDA源自于众所周知的把系统操作的规范从系统利用底层平台能力的方式细节中分离出来的思想,MDA提供了一种途径(通过相关的工具)来规范化一个平台独立的系统、规范化平台、为系统选择一个特定的实现平台,并且把系统规范转换到特定的实现平台。MDA的三个主要目标是:通过架构性的分离来实现轻便性、互操作性和可重用性。 模型驱动架构(MDA)是OMG组织近年来一直热炒的一个新的技术体系,同时也是众多搞软件模型研究人员的一个新热点。MDA(模型驱动)核心的思路是希望通过对商业模型(比如企业信息化或建筑领域的解决方案)的领域研究。进而提炼出一个相对核心的领域模型,同时抽象出一个PIM(平台无关模型)。之后根据不同的开发平台(例如.net或J2EE),应用平台(windows或unix)形成相应的PSM(平台相关模型)。依照相应的工具,例如ArcStyler可以完整地生成相应的代码和软件系统。当然这里只是罗列出一个大致的思路和方法。 1 MDA理论还处在一个探索期,很多理论和方法并不成熟,当然无从谈起有成熟的工具,从目前的趋势而言,从理论到实际的工具都离OMG组织所提出的预想有较大距离,至少还需要数年的努力才能成型。 2目前无论是国外的开源组织还是国内的一些组织对MDA都只是处在一个草创阶段,很多人所谓的应用MDA 其实都只是在MDA的体系中作一个最初的探索和尝试。例如ORM就是在一定层次上实现MDA 在数据库应用方面的探索,但也只是解决了一个实体模型映射的问题。前几天一个面试人员用ArcStyler4.X 做了一个银行POS系统的应用模型,生成了一点还需要修改的框架代码。就告诉我说他已经掌握了MDA,斯等水准真是让我汗颜!佩服! 3 MDA的第一个热点可能是桥接器,而在MDA领域中,映射是个很重要的点,而转换和交互都只是在这个点上的延伸。 4 目前而言,最有可能在MDA体系中得以实现的语言是JAVA。 5 MDA的核心是PIM,因为他是最抽象和协同性最高的。同时就当前形势而言,PIM 也是一个瓶颈!同时就目前的UML2.0(从OMG那里得到最新的)而言,还不足以作为建立整个MDA体系的语言。同时对于MOF中的一些定义似乎还有提升的必要。因为对于整个体系而言,MOF应该更多的作为一个标准,只有在标准成熟的前提下,才有可能产生正确的映射规则。 6 等到MDA风光无限的那天,会使一部分程序员失业,但不会是全部,起码MDA工具要有人做,因为一个MDA工具不足以应付所有的领域。这就好比没有一个财务系统能适应所有的企业一样。因为各个领域的标准化不同。 一、MDA(模型驱动架构)背景 MDA目前在以下领域得到了应用:

MDA白皮书-模型驱动开发和UML+2.0

白皮书 模型驱动开发和UML 2.0 传统编程方式的终结? 本文档包含Telelogic AB专有信息。未经Telelogic AB书面许可,不得使用本文档内的任何信息,不得复印、影印本文档的任何部分。

前言 “模型驱动开发”——体会一下这几个词。它们说出了这个不断变化的工业中一个新的改变。这里不是说一种革命,而是一种缓慢的变化,但是肯定会渗透到我们开发系统的方式中。这种推动将降低代码的重要性,并且专注于一些开发中的真正事情:最终的应用程序被期望怎样工作,并确保你能够根据客户的需求可靠地建立起它来。 模型驱动开发是更伟大视景MDA中的一部分。MDA是模型驱动体系架构(Model-Dri ven Architecture)的简称,由对象管理组织OMG(Object Management Group)所驱动。M DA表示了一种模型驱动开发方法的概念框架。然而,尽管完整的MDA还没有成为现实,模型驱动开发现在已成为可能。实际上,它已以较低级的形式存在了较长一段时间,所以我们并不是在做某种新的东西(当然,除非你在听某些市场人员的宣传)。 没有魔法 如果模型驱动开发这么好的话,为什么不是每个人立刻加入到这个潮流中来呢?首先,模型驱动开发不是一个银子弹,能神奇地解决你所有的问题。总有某人需要去实现系统的功能,并且还找不到任何工具来完成这一点。所有你能发现的工具只是使这项工作更容易和直接一些。 第二,采用模型驱动开发,并不只是在开发项目的过程中更换一种工具。它还必须和已根深蒂固的开发过程结合起来(如果没有的话,你就可以开始使用模型驱动开发了;否则你就只能改善当前的情况),但实际上更重要的是,你还会担心它对现有应用程序的影响。决定改用基于模型的方法前确实需要有一些仔细的考虑,并且,一般说来,为了不影响当前的工作,你只会在新项目中改变开发方法。 第三,你还需要获得那些使用工具的人们的支持(你需要一些工具来应用模型驱动开发)。开发人员常会认为“模型驱动开发不是编程”而回避它,并且当心他们的工作难于被接受。他们还可能担心模型驱动开发将会使他们以前辛苦学来的一些技巧过时。他们的担心也不是完全没有理由。采用模型驱动开发后,市场确实很有可能会减少对那些精通好几种编程语言的开发人员的需求。但是另一方面,所有好的开发人员,首先和最主要的是,他们是问题的解决者。他们感兴趣的是尽可能地为手边的主要问题找到新的更好的解决方案。模型 第 2 页/共 2 页

MDA模型驱动开发方法学

MDA模型驱动开发方法学 主讲:张文(Jevons)一、传统软件工程方法学 传统的软件开发方式有许多模型,瀑布模型是其中最典型也最受诟病的一种,为了描述一个软件的生命周期,我们暂时以这种模型来阐述一下软件开发的过程。 软件开发要经历可行性分析研究,需求分析,总体设计(概要设计),详细设计,集成和测试等过程。一个成熟的软件模型在这些环节都需要生成大量的文档,目前的很多CMMI工具能很好的管理好这些文档,比如将需求文档关联到后期的详细设计的过程或编码的过程等。由于这个过程的生命周期太长,导致了开发过程中发现的问题不能及时反映到模型中来(虽然某些工具能跟踪到需求的变化),这个传统的工作过程虽然在目前遇到了极大的挑战,所以目前非常流行所谓的敏捷开发,本人也非常崇尚这种开发方式,但从我的经验来看,敏捷开发应该更多的体现在小项目或大项目的子模块的开发。对于一个较大的项目而言,一定的设计和研讨还是必不可少的。但如何解决之前所提到的开发周期过长,错误反馈不到位的诟病呢? 我认为,在详细设计阶段,如果能有一个好的开发模型将能极大的解决这种问题,而MDA就是这么一个开发模型。 二、MDA的过程

MDA,全称叫模型驱动开发,顾名思义,开发是由模型来推动的,即开发之前需要建立良好的模型。 也许大家现在有了一定的概念了,因为大家在大大小小的开发时都会画一些uml图,建立一定的模型,然后一个软件的雏形就应运而生了。如果大家能做到这一步,恭喜你,说明你已经具备一定的设计能力了。但我也要反问你,在工作过程中,请问有哪次的模型是你自己觉得非常满意的,或者说是你的得意之作吧。面对这个简单问题,我想任何肯定回答都是牵强的,因为小的软件过程基本上不需要良好的设计,而大的软件过程,则很难做到良好的设计,如果没有一个良好的开发机制的话。 而MDA的开发方式则不一样,因为设计和编码可以融为一体,而且任何编码之前都是设计,任何设计都能生成编码,代码中也能访问到设计中的元数据定义,这就是MDA的神奇之处。 三、MDA的具体实施 金蝶的MDA方式建立在金蝶BOS的基础之上,BOS意思是Busingess Operation System,意思是业务定义系统,但远没那么牛,但在这个工具上实施MDA则是恰到好处。 一个典型的开发过程如下:首先定义实体,该实体具有一定的属性,而且从一定的父实体集成过来(如表单,基础数据等),这个实体也有一定的业务方法,在业务方法的定义中可以确定参数、返回值和异常,同时,可以在方法上定义EJB事务属性等。这些方法都可

模型驱动的体系架构MDA

模型驱动的体系架构MDA 很多组织已经开始对模型驱动的体系架构(MDA)进行关注,MDA 是一种应用系统设计和实现的方法。对于几个原因来说这都是非常积极的发展。 MDA 鼓励在软件的开发过程中有效的使用系统的模型,并且它支持创建类似系统的最佳实践的重用。所谓由对象管理组织(OMG)定义的标准,MDA 是一种组织和管理被自动化工具支持的企业体系架构和用于定义模型和推动不同模型类型之间的转换的服务的方法。 当被 OMG 定义的 MDA 标准和用于创建和进化企业级软件系统的术语在业界被广泛的引用时,仅仅到目前为止, OMG 和它的成员,包括 IBM Rational ,已经能够在 MDA 意味着什么、MDA 将向哪里发展、MDA 的哪些方面对于今天的技术是可能的和如何在实践中利用 MDA 上提供清晰的指导。 有效的企业软件开发 今天开发企业级的应用要求一种软件架构的方法,这种方法应该能够以一种灵活的方式帮助架构师来发展他们的架构。这种方法应该允许在及时的实现业务功能的新的能力的情况下重用已有的劳动成果,甚至是当目标基础架构本身在一直的演进。两个重要的思想现在被认为是应对这种挑战的中心: ? 面向服务的体系架构(SOA)。企业解决方案能够被视作通过良好的说明定义了他们的服务接口契约连接的服务联合。结果的系统设计通常被称作面向服务的体系架构(SOAs)。通过将一个系统组织成为被封装好的服务集合,这些服务可以通过他们定义的服务接口被操作,系统的灵活性被大大的增强了。现在很多组织用一系列的服务和服务之间的相互连接表示他们的解决方案。 ? 软件的产品线。通常,在一个组织开发和维护的系统中,存在着大量的可公用的部分。从捕获核心业务过程和领域概念的标准领域模型,到开发人员在代码中使用的实现设计的实现细节方案,我们在企业的软件项目的每一个级别上看到了重用的方法。当模式能够被经验丰富的从业者开发出来并在跨越组织的范围内传播时,软件开发组织将获得大量的效率。这表现了一种朝着促进计划的资产重用,增加自动化的级别来实现被开发系统大部分的方案的软件产品线开发视图的迁移。更加普遍的情况下,我们能够将在开发的产品线视图中定义良好模式的应用理解成为一种从一个抽象级别到一个更底层抽象级别的方案转化描述的方法。 这两种思想对对象管理组织(OMG)的思想有着重大意义的影响,一个开发和支持规范以改进企业软件开发和部署实践的软件组织联盟(在下一个部分 OMG 将扮演更重要的角色)。OMG 已经创建了一个概念性的框架,这个概念性的框架将平台选择与独立的面向业务的决定分离开来以使在架构和演进这些系统时允许更大的灵活性。这个概念性框架和帮助实现它的标准就是 OMG 称为的"模型驱动的体系架构(MDA)."。应用的架构师使用 MDA 框架作为表示他们企业架构的蓝图,并且使用在 MDA 中的开发标准作为他们独立于供应商和技术的"未来的证明"。 OMG 的 MDA 的概念通过 OMG 的构建模型的标准对系统的交互性提供了一种开放的、供应商中立的方法:统一建模语言(UML),Meta-Object Facility (MOF),XML Metadata Interchange (XMI) 和Common Warehouse Meta-model (CWM) 。企业应用的描述能够使用这些建模标准被建立并被转化到一种主流的开发的或者是私有的平台上,包括 CORBA ,J2EE ,.NET 和基于 Web 的平台。 在我们开始深入的了解 MDA 之前,让我们考虑一下在软件开发中进行建模的基本概念和好处。 建模的基本原理 模型提供了一个物理系统的抽象,模型可以让工程师们通过忽略无关的细节而把注意力放到系统的重要部分来思考系统。工程中的所有工作形式都依赖模型来理解复杂的、真实世界的系统。模型被用在很多的方面:预期系统的质量,当系统的某些方面变化时推理特定的属性,和为各种涉众沟通关键的系统特征。模型也可以作为实现物理系统的先驱被开发,或者模型可以根据一个已存在的系统或者开发中的系统被产生作为理解系统行为的帮助手段。

基于模型驱动架构的个人理财资产配置系统开发应用研究

个人理财,是现代金融行业的一大要点项目。金融行业、银行等,在模型驱动架构的基础上,开发并应用个人理财资产配置系统,目的是做好个人理财工作中的资产配置,提供个人理财的模式,更重要的是为系统开发应用。模型驱动架构,为个人理财资产配置系统的开发应用,提供了丰富的经验。因此,本文主要探讨模型驱动架构作用下,个人理财资产配置系统的开发和应用。 【关键词】模型驱动架构个人理财资产配置 模型驱动架构下的个人理财资产配置系统开发及应用,具有人性化、标准化的服务理念,注重个人理财的投资回报,规避理财资产配置中潜在的风险。资产配置系统的开发,在模型驱动架构的干预下,具备信息化的特征,更加适应现代个人理财的基本需求,应用在金融机构的平台中,为客户提供优质的理财服务。 1 个人理财资产配置系统的开发 首先模型驱动架构在个人理财资产配置系统内,将ea平台应用在系统的整个开发周期内,提供可视化编辑、语言程序、模板编辑等功能。ea平台在开发个人理财资产配置系统时,表现为三个层次,分别是: (1)开发业务对象,支持资产配置系统导入文件,拓宽业务层面的服务功能; (2)应用模型开发,提供系统开发的组件; (3)代码模型开发,保障系统的接口应用。 然后个人理财资产配置系统开发时,投资风险是不可忽视的项目,客户的收益与风险,是一项对立的因素,模型驱动架构,在资产配置系统开发时,在收益与风险中,设计有效便捷曲线,该曲线可以做为客户选择投资组合的依据,分析投资组合的类别比重,着重考虑资产配置中的收益与风险。 最后是模型驱动架构在资源配置系统开发中,引入成本优化模型,主要是降低个人理财时投入的资金,减少资源配置交易时的成本。除此以外,还包括在险价值优化模型、无风险资产优化模型等,目的是优化个人理财的资源配置。 2 个人理财资产配置系统的应用 个人理财资源配置系统在模型驱动架构下的应用,主要是模型到实现的转换,例举几点重要的应用,如下: 2.1 建立pim 系统的pim,概括了个人理财的所有业务,促进业务的顺利完成。pim是资产配置系统框架的核心支持,为配置系统的应用提供优质的条件。pim基本是在自动化的状态下完成的,提高个人理财资产配置的质量。设计师将模型驱动架构中的pim,引入到个人理财资产配置应用中,提供了跨平台使用的条件,建立pim后,就会将资产配置的过程,转化为劳动生产,确保资产配置能够得到最大程度的应用,提供个人理财的水平,注重资产配置的层次结构,保证个人理财资产配置系统能够按照一定的原则,进行投资理财,pim会按照一定的经验,在信息化的环境中,提供资产配置的建议。 2.2 psm转换 psm转换,需要在资产配置系统配置开发完成后进行,选择开发的平台,按照客户的需求,规划系统的应用。psm转换后的功能有: (1)个人理财资产配置系统应用时,具备稳定的数据库技术,明确客户之间的关系,按照业务逻辑,处理客户之间的资产问题,客户个人理财资产配置中,需要庞大的数据库支持技术,便于处理资产配置中的各类信息,保障系统具备全面服务的能力。 (2)资产配置系统在psm转换的支持下,了解客户理财的业务关系,创建业务逻辑模型,专门为客户提供业务服务,解决客户的业务问题。

相关文档