第七课MDA方法介绍 Model driven architecture 模型驱动体系结构
第七课 MDA方法介绍 Model Driven Architecture 模型驱动体系结构
主要内容 MDA概述 ■MDA模型 MDA的思想 基于MDA的开发 MDA与中间件和UML
主要内容 ◼ MDA概述 ◼ MDA模型 ◼ MDA的思想 ◼ 基于MDA的开发 ◼ MDA与中间件和UML
MDA是什么? Model Driven Architecture (MDA)E 对象管理组织OMG提出的一个新的程序设 计方法学。 ■它是一种基于UML以及其他工业标准的框 架,支持软件设计和模型的可视化、存储 和交换。 ■MDA把建模语言用作一种编程语言而不仅 仅是设计语言
MDA是什么? ◼ Model Driven Architecture(MDA)是 对象管理组织OMG提出的一个新的程序设 计方法学。 ◼ 它是一种基于UML以及其他工业标准的框 架,支持软件设计和模型的可视化、存储 和交换。 ◼ MDA把建模语言用作一种编程语言而不仅 仅是设计语言
MDA包括? MDA以一种全新的方式将I技术的一系列新的趋势性 技术整合到一起。包括: 基于组件的开发( component- based development) 设计模式( design patterns) 中间件( middleware) 说明性规约( declarative specification) 抽象( abstraction) 多层系统(mut- tiered systems) 企业应用整合( Enterprise Application Integration) 契约式设计( design by contract
MDA包括? ◼ MDA以一种全新的方式将IT技术的一系列新的趋势性 技术整合到一起。包括: ➢ 基于组件的开发(component- based development) ➢ 设计模式(design patterns) ➢ 中间件(middleware) ➢ 说明性规约(declarative specification) ➢ 抽象(abstraction) ➢ 多层系统(multi-tiered systems) ➢ 企业应用整合(Enterprise Application Integration) ➢ 契约式设计(design by contract)
MDA的产生 ■MDA的概念通过oMG构建模型的标准对系统 的交互性提供了一种开放的、供应商中立的方法 UML (Unified Modeling Language, 3i 建模语言) CWM(Common Warehouse Meta-model 公共仓库元模型) MoF(Meta- Object Facility,元对象设施) XMI (XML Metadata Interchange, XML 元数据交换)
MDA的产生 ◼ MDA 的概念通过 OMG 构建模型的标准对系统 的交互性提供了一种开放的、供应商中立的方法: ➢ UML(Unified Modeling Language,统一 建模语言) ➢ CWM(Common Warehouse Meta-model, 公共仓库元模型) ➢ MOF(Meta-Object Facility,元对象设施) ➢ XMI(XML Metadata Interchange,XML 元数据交换)
MDA的作用 ■MDA的出现,为提高软件开发效率,增强软件的 可移植性、协同工作能力和可维护性,以及文档 编制的便利性指明了解决之道。 企业可以使用所选的中间件构建新的基于MDA 的应用程序 ■保持公司业务正常运转的遗留应用程序 ■将新的中间件平台合并到MDA中
MDA的作用 ◼ MDA的出现,为提高软件开发效率,增强软件的 可移植性、协同工作能力和可维护性,以及文档 编制的便利性指明了解决之道。 ◼ 企业可以使用所选的中间件构建新的基于 MDA 的应用程序 ◼ 保持公司业务正常运转的遗留应用程序 ◼ 将新的中间件平台合并到 MDA 中 ◼ ……
MDA原则 OMG组织对于MDA的观点下有四个原则: 以一种定义良好的符号表示的模型是理解企业级方案系 统的基础。 系统的构建能够围绕着一系列模型通过使用在模型之间 的一系列转换被组织的,并且能被组织到一个分层的和 转换的体系架构框架中 以一系列元模型来描述模型的一种正式的支持能够使在 模型中有意义的集成和转换变得容易,并且是通过工具 实现自动化的基础。 接受和广泛采纳基于模型的方法需要工业的标准提供开 放性个客户,并鼓励供应商之间的竞争
MDA原则 OMG 组织对于 MDA 的观点下有四个原则: ◼ 以一种定义良好的符号表示的模型是理解企业级方案系 统的基础。 ◼ 系统的构建能够围绕着一系列模型通过使用在模型之间 的一系列转换被组织的,并且能被组织到一个分层的和 转换的体系架构框架中。 ◼ 以一系列元模型来描述模型的一种正式的支持能够使在 模型中有意义的集成和转换变得容易,并且是通过工具 实现自动化的基础。 ◼ 接受和广泛采纳基于模型的方法需要工业的标准提供开 放性个客户,并鼓励供应商之间的竞争
MDA模型 MDA的核心建立在UML( Unified Modeling Language,统一建模语 Finance 言)、cWM( Common Warehouse meta- model,公共仓 Manufacturing E-Commerce 库元模型)、MOF(Meta- Object AVASIVE S Facility,元对象设施)上 / UML 目前已开发了多个核心模型,如:企 Model Driven Telecom 业计算(包括组件结构和事务交互 Architecture 实时计算(包括资源控制的特殊要求) 等 每个核心模型都独立于任何中间件平 Health care 台,表示所属类别中所有平台的共同 特性
MDA模型 ◼ MDA的核心建立在 UML(Unified Modeling Language,统一建模语 言)、CWM(Common Warehouse Meta-model,公共仓 库元模型)、MOF(Meta-Object Facility,元对象设施) 上。 ◼ 目前已开发了多个核心模型,如:企 业计算(包括组件结构和事务交互 )、 实时计算(包括资源控制的特殊要求 ) 等。 ◼ 每个核心模型都独立于任何中间件平 台,表示所属类别中所有平台的共同 特性
MDA模型和驱动 模型在软件开发过程中扮演了非常重要的角色。在 MDA中,软件开发过程是由对软件系统的建模行为驱 动的 MDA的3种核心模型: 平台独立模型(PIM):具有高抽象层次、独立于 任何实现技术的模型。 平台相关模型(PsM):为某种特定实现技术量身 定做,让你用这种技术中可用的实现构造来描述系 统的模型。PIM会被变换成一个或多个PSM。 代码code:用源代码对系统的描述(规约)。每个 PSM都将被变换成代码
MDA模型和驱动 ◼ 模型在软件开发过程中扮演了非常重要的角色。在 MDA中,软件开发过程是由对软件系统的建模行为驱 动的 ◼ MDA的3种核心模型: ➢ 平台独立模型(PIM):具有高抽象层次、独立于 任何实现技术的模型。 ➢ 平台相关模型(PSM):为某种特定实现技术量身 定做,让你用这种技术中可用的实现构造来描述系 统的模型。PIM会被变换成一个或多个PSM。 ➢ 代码Code:用源代码对系统的描述(规约)。每个 PSM都将被变换成代码
MDA模型和驱动 PIM Platform Independent models Mappings(映射):PIMPSM PSM Platform Specific Models(PSM Code
MDA模型和驱动 PIM PSM Platform Independent Models Platform Specific Models (PSM) Mappings(映射) : PIM PSM Code