软件体系结构 (Software Architecture)

Slides:



Advertisements
Similar presentations
4 厦门石油交易中心介绍 交易模式介绍 93# 汽油品种介绍 ●厦门石油交易中心介绍 为贯彻落实国家海西政 策,进一步发挥厦门在海峡 西岸经济区建设中的先行先 试和龙头示范作用,厦门市 委市政府批准成立并建设厦 门石油交易中心。
Advertisements

广州远洋宾馆. 酒店概况介绍: 广州远洋宾馆是一家四星级豪华商务酒店,它以温馨体贴的服务,浓郁的 海洋韵采,典雅时尚的艺术环境吸引着世界各地的来宾。 宾馆地处广州繁华地段:广州市越秀区环市东路 412 号,于 1986 年 8 月 28 日 全面正式营业,开业 28 载来,在 2005 年至 2013.
新达城物业管理公司概况. 新达城集团总部设在新加坡的新达城广场,以下简称 “ 新达城 ” ,新达城位于新加坡的 CBD , 由五栋独立的商业大楼组成 “ 五指相连 ” 的建筑群,它是新加坡的标志性建筑群之一,建立这几 幢标志性建筑群发起人为:新加坡新达城开发私人有限公司。股东共有 12 个,其中包括香港知.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
台北市立南港高工 建築科 Architecture 建築科之精神:活力、責任、效率 建築科之展望:共築美麗人生 綜合高中 土木建築學程簡介  綜高土建升學進路  未來出路展望  專業證照考試  未來展望圖例  綜高土建學程課程架構  土建群統一入學測驗考科  升學人數統計.
軟體工程 -物件導向程式設計與UML系統分析實作
系統分析與設計 第九章 資料設計.
系统集成项目管理工程师培训 中视广信 卢志强 2011年4月.
数据库系统概论 An Introduction to Database Systems
第3章 数据库建模实践指南 北师大珠海分校软件工程系 赵池龙.
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
第一章 系統開發概論 1-1 系統開發概論 1-2 常見的資訊系統 1-3 系統開發生命週期 1-4 系統開發方法論簡介.
第 11 章 網際網路與資料庫系統.
第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
建设数字化的卫生监督体系 深 圳 市 卫 生 监 督 所 2006年4月.
第10章 考试系统的分析与设计 1.
第七章 电子政府的支撑技术 制作人:王 静.
第6章、動畫媒體.
普通高等教育“十一五”国家级规划教材 信息系统分析与设计 刘腾红 孙细明 主编 科 学 出 版 社.
2011/08/12 第1章 计算机与计算思维 《大学计算机基础》.
软件工程 主讲:饶国政 天 津 大 学.
第11章 详细设计.
软件工程 Software Engineering
Microsoft .NET 第4組 十月15, 2002 B 陳東傑 B 蔣佳勳
形式语言与网络 计算环境构建 1.
Arena System Technology Architecture 系统技术架构 1、Database V2(Lotus Notes)V3(Oracle8i) 2、Application Server SilverStream2.53 (Java as server side programming.
第五章 信息与系统集成技术 概述 数据流集成技术 信息流集成技术 信息管理集成技术 流程重组与业务流程集成 企业门户集成 企业集成架构
分布式对象标准介绍 企业要构建多层分布式系统,必须遵循分布式标准,基于什么样的标准将直接影响到企业应用系统的开放性和可扩展性。目前业界分布式对象技术主要有三种架构标准: Microsoft的COM/DCOM/COM+ OMG组织的 CORBA。 Sun Microsystems的Enterprise.
实验5 系统分析与建模工具PowerDesigner
運籌管理 Chapter 12 資訊科技與運籌管理電子化 祝天雄 博士 99年12月 日.
彰化縣政府補助辦理網頁設計資料庫應用班 資料庫簡介 建國技術學院資管系 饒瑞佶.
BizTalk Server 2004.
《第二組》 組長/謝佳馨 組員/陳大為、葉容政、張智陪
BIM於工程管理上的應用 國立成功大學 馮重偉副教授 民國100/05/18 (三) PM2:00-5:00 土木館5F 演講摘要
單元3:軟體設計 3-1實體關係圖 Ch 08 System models.
第5章 方案工程(Solutions Engineering)
第5章 資料倉儲的資料建置.
软件建模与UML.
软件服务生态中的非确定性科学问题、互操作性的应用基础问题
授課老師: 林娟娟 教授 報告人 : 黃聖峯 黃崑源
資料庫系統導論.
設計網際網路技術為基礎的跨機構資訊交換平台 --以RoHS為例
题目 学习对象写作工具的设计与开发 导师 师书恩 教授 报告人 蒋玉茹 计算机应用技术2000级.
UML介绍.
第5章 方案工程(Solutions Engineering)
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
實作一個電腦輔助軟體工程工具以提昇軟體文件 可追蹤性及軟體可維護性
第二章 資訊管理的科技觀點.
基于CWM的 数据仓库体系结构设计 我的论文题目是。。。 论文的内容主要是总结了我以下两个部分的工作.
CH03 行銷資訊系統資料庫模組--資料庫概論
UML语言.
管理信息系统 第九章 面向对象的系统开发方法.
面向方面的软件开发方法 CSAI华东区首席顾问 徐 锋.
ER Model.
資料庫管理系統 緒 論.
指導老師:王素華 老師 B 劉盈君 B 李昭協 B 溫焌民 B 黃筱珊
第二章 資訊系統開發模式.
課程報告 使用開放原始碼工具實作軟體產品線方法
從 ER 到 Logical Schema ──兼談Schema Integration
软件体系结构 (Software Architecture)
RDBMS & NoSQL 统一数据建模 Allen Wang 王琤 Development Director
第 7 章 建立資料表與資料庫圖表.
班級:四企四B 指導老師:李文瑞老師 組員: 莊煜麒4950L089 黃暉原4950L109
李允中教授-軟體工程實驗室研究方向 觀點導向之軟體發展(Aspect-Oriented Software Development): 觀點導向軟體開發方法主要源自於重新思考軟體系統的模組化(Modularization)以及關注點分離的概念(Separation of Concerns)。當建構軟體系統功能時,往往會發現到除該功能本身之外,必須還要在這些功能上特別關注其他面向的考量,例如執行效能的面向、元件或模組的再利用性、系統的可靠程度等等。因此,一個軟體系統內,往往存在著這些錯綜交織的面向於軟體開發的
第 7 章 电子政府的支撑技术.
万方数据知识服务平台 论文相似性检测 培训师:何娟
OOA/OOD UML RUP Architecture Pattern MDA
全方位起動通識 戴偉森 沙田循道衛理中學 4/7/2009.
软件体系结构(SA) Software Architecture
Presentation transcript:

软件体系结构 (Software Architecture) 模型驱动的体系结构 MDA (Model Driven Architecture)

从西西弗斯说起—— 现代版西西弗斯 ——项目进展

内容 􀁺MDA简介 􀁺MDA开发过程 􀁺简单的MDA框架 􀁺MDA应用案例 􀁺完整的MDA框架 􀁺OMG相关标准

MDA简介 Model Driven Architecture Model ? 客观事物的抽象表示 portability, interoperability, reusability

MDA简介 MAD产生背景 OMG 标准化OMA CORBA OMG 标准化对象建模技术UML, 1995 OMG 采纳MDA作为第二个软件框架, 2001 MDA不是实现分布式系统的框架,而是在软件开发中使用模型的指导方法 MDA是从软件工艺迈向软件工程化的一步

MDA简介 以机器为中心的计算 以应用为中心的计算 不断提高的抽象层次

MDA简介 以企业为中心的计算 基于构件的开发(CBD) 体系结构风格、设计模式 分布式计算 中间件:提升平台抽象层次、提升变成抽象层次 说明性规约(数据库、WYSIWYG) 企业体系结构和关注点分离(大型机、C/S、 3-tier、n-tier) 企业应用集成(EAI):集成遗产系统 契约式设计:建立可靠软件系统的方法 4GL(数据库访问、GUI生成)

MDA简介 以企业为中心的计算面临的压力 应用的复杂性(B2Bi) 生产成本的压力(需求的变动) 质量的压力(文档、形式化) 软件生命期的压力(平台的易变性)

MDA简介 将以模型为中心的思想引入EAI、B2Bi 模型作为开发制品,而非设计制品 模型富含语法抽象和语义抽象 结合Web Service的应用 定义抽象的业务服务 =〉将业务服务模型映射到WSDL

MDA简介 OMG提出解决上述问题的有效途径—MDA 模型的角色 软件开发中的难点——分离关注点 模型是问题域的抽象,模型中的元素对应问题域中的概念 模型中使用客户熟悉的概念/术语描述问题,避免与计算机实现相关的细节问题 沟通业务和技术的有效途径 模型有不同的抽象级别,可以从高层抽象向底层模型进行映射

MDA简介 MDA的体系结构图

MDA简介 核心部分:OMG的建模技术——UML、CWM、MOF等,可通过UML profiles进行扩充,独立于具体平台 平台层:将独立于平台的模型映射到各平台,使用映射标准和工具自动或半自动的执行 平台相关的模型一般也采用UML表达,通过UML方言表达特定平台的元素 平台无关模型中的语法和语义信息被映射到平台相关的模型中 实现层:平台相关的模型被映射产生代码,使用工具自动或半自动的生成 平台相关模型中包含的语义信息越丰富,代码的生成质量越高 从平台无关模型到平台相关模型再到代码,体现一致性

MDA简介

MDA简介 互操作性 核心模型是平台无关的,便于向MDA中添加不同平台,只要增加模型到特定平台概念和元素的映射 相应的,平台元素之间的交互逐渐标准化,bridge、gateway、mapping等能够自动或半自动的产生 集成遗产系统,通过包装与核心模型一致的代码层,并且建立包装器的模型,与其他平台的交互可以通过映射机制生成,内部实现可以调用遗产系统完成,最终集成到MDA框架中

MDA简介 普适服务 业务系统一般依赖一组关键服务:目录服务、事件处理、数据持久化、事务、安全等 业务系统可能需要平台的非功能性属性:可扩展性、实时、容错性、环境限制等 在平台独立的模型中提供普适服务的支持,映射到平台相关的模型后再利用特定平台提供的服务 在平台独立的模型中,以高层抽象的形式看待服务;在平台相关的模型以及实现中,以本地代码的形式调用平台提供的服务

MDA简介 标准化领域模型 OMG认识到领域模型的重要性,成立了Domain TaskForce,对特定领域市场所提供的服务和设施进行标准化 包括面向领域的平台独立模型、至少一个平台相关模型、接口描述文件

MDA简介 MDA对企业计算的主要影响 再次提升编程环境的抽象级别 使用形式化模型驱动代码生成器 基于不同规约语言的元数据集成 在生成器中封装了设计模式的知识 形成按需生产构件的方式 使用DBC来驱动断言检测、异常处理和测试框架的生成 形成了“The Global Information Appliance”

内容 MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准

MDA开发过程

MDA开发过程 传统开发过程带来的问题 生产效率问题:重视代码、维护软件时有问题 可移植性:技术更新换代快 互操作性问题:前端系统和后端系统 维护与文档问题:后期补文档

MDA开发过程

MDA开发过程 变换自动完成 相比传统软件开发过程 生产效率(模型是焦点、PIM开发者轻松) 可移植性(PIM到多个PSM的变换) 互操作性 维护与文档

MDA开发过程 模型对开发过程的影响:允许定义机器可读的应用及数据模型,用以支持灵活的 实现:结合基础设施,由设计模型映射生成 集成:自动化生成平台之间的桥接器和连接件 维护:可以直接回到系统规约——模型阶段进行维护,然后向下生成系统 测试和模拟:模型根据需求进行验证,在基础设施之上进行测试,模拟系统的行为 此前,模型对开发人员来说只短暂存在而MDA中模型之间进行演化,相当于高层次的编译过程

基本概念 Architecture: 描述了软件开发中可能使用到的若干模型,这些模型如何建立,以及它们之间的关系 Viewpoint: 为关注系统的特定部分而使用一套概念和规则进行抽象的技术 计算无关的视点:关注系统需求,忽略系统的结构和实现技术 平台无关的视点:关注系统如何操作,忽略特定平台的细节 平台相关的视点:关注系统如何利用平台进行实现 Platform:通过接口或模式提供一组功能的 系统或技术的集合,使得使用平台的应用 程序不用关心这些功能如何实现

基本概念 Computation Independent Model: 使用计算无关视点建立的系统模型 被称为领域模型或业务人员的词汇表 其用户是业务人员,不了解用以实现需求的建模技术 在业务专家和技术专家,业务需求和设计、构建方法之间建立桥梁 Platform Independent Model: 使用平台无关视点建立的系统模型 表达了某种程度的平台无关性,适用于不同的平台上 通用技术是将模型建立在一个技术中立的虚拟机上,该“平台”提供的功能和服务可以在不同平台上实现 Platform Specific Model: 使用平台相关视点建立的系统模型,将PIM中的规约联系到平台上如何实现

模型变换 模型变换:将同一系统的一个模型转换为另一个模型的过程

模型变换 基于元模型的变换 基于类型的模型变换

模型变换 基于标记的模型变换 使用模式的模型变换

模型变换 模型合并 使用附加信息的模型变换

模型变换 对平台的理解

内容 MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准

MDA框架 模型:以精确定义的语言对系统作出的描述 精确定义的语言:具有精确定义的形式(语法)和含义(语义)的语言,以适合计算机自动解释 模型的表达能力 静态模型和动态模型 平台独立模型和平台相关模型

MDA框架 变换(Transformation):模型之间转换的过程 变换中的输入和输出 变换定义:一组变换规则,描述用源语言表述的模型如何变换为用目标语言表述的模型 变换规则:描述源语言中的一个元素如何进行变换为目标语言中的一个元素 变换中的输入和输出 可在同一种语言中进行(重构、ER模型的规范化) 可在不同语言中进行(PIM到PSM)

MDA框架 基本的MDA框架 模型:PIM PSM 语言:精确定义的 变换定义:变换规则的集合 变换工具:执行源模型到目标模型的变换

MDA框架 小例子

MDA框架

MDA框架 MDA不要求特定的软件开发过程 和敏捷软件开发结合:模型被提升为交付软件的一部分 和极限编程结合:增量、测试、极限建模 和Rational统一过程结合:利用UML、既保持控制又提高效率

敏捷MDA 基于可执行的模型与代码在执行方面一致,敏捷人士提出了敏捷的MDA方法,即可执行模型以增量或迭代的形式被快速创建、运行、测试和修改 敏捷与建模的根本差距之一就是“确认的间隔”——不能执行的模型需要时间和人力转化为代码,模型的准确度、转化的正确性、客户需求的变化等因素使得最终系统存在问题;敏捷方法强调短时间内交付小片的可执行代码,开发结果随时对客户可见,从而缩短了“确认的间隔” 敏捷与建模的差别并没有最初看上去那么大,敏捷方法中的很多思想在模型的上下文中同样有效,只要将“代码”替换为“可执行的模型” 模型的语言更接近于客户,使其更容易与开发者交互和增量、迭代开发

敏捷MDA 2001年,敏捷联盟成立,提出敏捷宣言 模型的三个层次 个体和交互 胜过 过程和工具 工作软件 胜过 可理解的文档 个体和交互 胜过 过程和工具 工作软件 胜过 可理解的文档 与客户协作 胜过 合同谈判 响应变化 胜过 追随计划 模型的三个层次 Sketch: 表达系统设计的思想,不必精确和完整,便于理解和交流,应用广泛 Blueprint: 描述构造实际系统的文档,将模型作为软件开发过程中的一阶制品,通过手动或自动化手段可以转化为实际系统,要求模型中包含足够精确的信息 Program Language: 可以执行,经过编译和执行能满足用户各项需求,就像程序设计语言一样,“可执行的模型”

敏捷MDA 敏捷:创建测试用例,编写代码,使用语言编译器编译代码,运行测试用例,不断向用户交付系统的片段 可执行的模型 vs. 代码􀃎 重量级相当 统一过程软件开发 vs. 极限编程􀃎 重量级不同

内容 MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准

MDA应用案例 Rosa早餐服务系统: 设计决策:采用基于Web的三层应用 提供早餐订购服务,有若干种套餐:如法式早餐、英式早餐等 客户可以在套餐基础上调整食物 记录客户信息以便得到配送信息和打折 设计决策:采用基于Web的三层应用

MDA应用案例 Rosa系统PIM

MDA应用案例 PIM到关系PSM的变换 每个类变换成一 个表 当属性的类型不是基本 数据类型而是类时,对 应字段应该包含外键 涉及到多重性问题,需 要在多一端设置到另一 端的关联;当多对多的 情况,需要设置关联类

MDA应用案例 PIM到EJB PSM的变换 粗粒度的构件模型:构件较大,交互频率较低,每次交互传递大量数据 EJB数据模式:一组类、属性、关联,在数据交互时它们被EJB构件作为整体来对待 EJB数据类:保存EJB数据,是数据模式的一部分 EJB数据对象:EJB数据类的实例 EJB主键类:保存用来区分EJB数据对象的数据

MDA应用案例 部分EJB PSM 类=〉主键类 非组合成份 =〉EJB构 件和数据模式 类=〉数据类和归入数 据模式 关联类=〉数据类和 2个EJB关联 属性=〉数据类属性 操作=〉 EJB构件操作

MDA应用案例 PIM到Web PSM的变换 与EJB PSM的不同 变换规则与EJB变换类似 Web模型的数据类型定义了用户表示和交互细节 Web模型中没有主键类,引用EJB中的主键类 增加了Web动作,定义最终用户可以引发的动作 变换规则与EJB变换类似

MDA应用案例 部分EJB PSM 非组合成份 =〉构 件和数据模式 类=〉数据类和归入数 据模式,由最外组合类 生成 关联=〉关联和归入 关联类=〉数据类和 2个关联类 属性=〉数据类属性 操作=〉 web构件操作

MDA应用案例 通信桥接器:关系PSM、EJB PSM、Web PSM

MDA应用案例 关系PSM到代码 表􀃆CREATE TABLE{…} 列􀃆COLUMN TYPE NOT NULL 主键列􀃆PRIMARY KEY( … )

MDA应用案例 EJB PSM到代码的变换—— EJB构件PSM到EJB类PSM的变换

MDA应用案例 Web PSM到代码的变换 Web构件=〉JSP 生成MainMenu JSP、AppError JSP 生成useBean,访问对应的EJB数据管理对象 获得所有数据对象 对每个数据对象生成HTML行,其中包含各property 生成MainMenu JSP、AppError JSP

内容 MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准

模型 采用契约式设计增强模型的精确性和完整性 关于操作的断言——前置条件和后置条件 关于系统状态的断言——不变式

模型 对操作EndofMonthUpdate的约束(采用OCL语法)

模型 契约式设计的说明 使模型同编程一样精确,精确性和细节不是一回事 容易捕获异常 便于生成测试框架,提供了质量保证 MDA促进了DBC的应用,因为这是提高整体效率的方法

模型 模型不仅描述静态结构,还要体现动态行为 状态机(协议状态机和客户不可见状态转换) 活动图:流程图,活动之间的控制 交互图:描述执行任务时的交互和协议 用例图:人与计算机的边界交互 动作语义:定义了动作语言的元模型,直接使用动作语义表达式描述执行行为

模型 可执行的模型:类似于代码,但抽象级别更高 可执行的模型并不是最终的系统,可能与其他模型组合在一起共同生成系统(Weave),其他系统包括用户界面、安全机制、数据存储机制等

模型 模型编译:根据一系列规则,将带标记的模型映射到通用基础设施上,形成可执行代码的过程

元建模 怎样精确定义语言?BNF范式(纯文本) 例:在UML模型中,定义了Customer类,类是一种建模元素,即元模型中的元素 OMG中定义了4个建模层次 M0层:实例层 M1层:模型层 M2层:元模型层 M3层:元元模型层 不再需要更多的层次

元建模

元建模 在MDA中使用元建模 扩展的MDA框架 定义建模语言,变换工具得以理解模型 变换规则使用源语言和目标语言的元模型来定义变换 引入了定义语言 的元模型

变换定义语言 变换定义语言应为形式化的 变换定义中包括 变换定义可以是一组变换规则,也可以按顺序执行别的变换定义 源语言的引用 目标语言的引用 可选变换参数 一组命名的源语言模型元素(称为S),来自源语言的元模型 一组命名的目标语言模型元素(成为T),来自目标语言的元模型 源语言条件:应用变换的前置条件 目标语言条件:应用变换的后置条件 变换规则集合:将S中的元素变换为T中的元素 变换定义可以是一组变换规则,也可以按顺序执行别的变换定义

变换定义语言 例1: PIM中的公有属性 PSM中的私有属性 +set&get操作

变换定义语言 例2 PIM中的关联端 􀃆 PSM中的私有属性 + set&get操作 方法 先将关联端变换为公有 属性 再运用上一条规则变换

完整的MDA框架 完整的MDA框架

MDA工具 OptimalJ

内容 MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准

OMG标准 MOF(Meta Object Facility)是定义建模语言的语言,位于M3层 基本思路 建模语言有多种,有各自的建模结构集 需要有一种一致的方法来描述语言结构 将这些不同的建模结构合并成一个集合是不合理的 在这些建模结构之上建立一层对它们进行一致的描述􀃆=> MOF

OMG标准 MOF模型 借用UML类建模结构,将其作为描述建模结构的抽象语法 由MOF生成的元模型具有共性 UML类图元模型使用组合classifier- feature CWM关系数据元模型使用组合table-column UML状态图元模型使用组合status-transition

OMG标准 元数据管理 MOF是将模型序列化为 XML文档的一种机制 模型交换:用于为M1层模 型定义基于流或基于文件 被称为XML Metadata Interchange MOF仓库接口:从基于 MOF的仓库获取M1层模型

OMG标准 MOF在MDA中的作用 提供了思考建模语言的概念和工具 使用建模语言的元模型来定义建模语言之间的变换 可以定义全新的建模语言

OMG标准 UML (Unified Modeling Language) UML在MDA中的作用 位于M2层的标准建模语言 UML元模型是MOF模型的实例 UML在MDA中的作用 为系统建模 针对元模型,定义模型之间的变换

OMG标准 UML动作语义(Action Semantics) UML AS在MDA中的作用 对UML的扩展,提供了一个动作语言 将系统的所有状态都关联到状态机 目前还没有标准化 UML AS在MDA中的作用 增强模型的动态表达能力 尽可能使得PIM精确

OMG标准 OCL(Object Constraint Language)是一种表达式语言 OCL在MDA中的作用 不变式、前置条件、后置条件 规约语言,描述值是什么,不描述如何计算 可用于UML和MOF模型,扩展了模型的表达能力 使用UML+OCL,模型更精确更完整 OCL在MDA中的作用 增强模型的精确性 应用在变换定义中

OMG标准 CWM(Common Warehouse Metamodel) CWM在MDA中的作用 CWM元模型是MOF模型的实例 包括:关系数据库、记录或结构、OLAP、数据挖掘、业务元数据等 CWM在MDA中的作用 为系统建模 针对元模型,定义模型之间的变换 QVT (Query, Views, and Transformations) 创建模型视图的语言 查询模型的语言 编写模型定义的语言 解决了模型间的变换如何实现的问题

展望MDA 类比高级语言代替汇编语言的过程 MDA处于“初级阶段”,体现出了提高效率的潜力 MDA引起的变革——关注焦点从代码转向模型 足够强的表现力:静态和动态方面 一种通用的、不特定于某种应用的语言 适合分布式应用系统 模型和实现之间没有缝隙 支持管理大型模型,如Aspect-Oriented建模方式

参考文献 MDA Explained: The Practice and Promise of The Model Driven Architecture , Anneke Kleppe等著, 鲍志云译 Model Driven Architecture: Applying MDA to Enterprise Computing , David S. Frankel 著, 鲍志云译 Model Driven Architecture, whitepaper of OMG , Richard Soley and OMG Staff Strategy Group MDA Guide Version 1.0.1 , Joaquin Miller and Jishnu Mukerji MDA Distilled: Principles of Model-Driven Architecture, Stephen J. Mellor , Kendall Scott Domain-Specific Modeling and Model Driven Architecture , Steve Cook

谢谢大家! Questions or comments?