模型驱动的体系结构(精)

合集下载

软件系统开发技术模拟题参考答案

软件系统开发技术模拟题参考答案

软件系统开发技术试题(一)答案一、单项选择题(本大题共10小题,每小题1分,共10分)1. 设计软件结构一般不拟定( D )A.模块之间的接口B.模块间的调用关系C. 模块的功能D. 模块内的局部数据2. 软件结构化设计中,好的软件结构应当力求做到(BA.顶层扇出较少,中间扇出较高,底层模块低扇入B.顶层扇出较高中间扇出较少,底层模块高扇入C. 顶层扇入较少,中间扇出较高底层模块高扇入D. 顶层扇入较少,中间扇入较高,底层模块低扇入3. 两个模块都使用同一张数据表,模块间的这种耦合称为(AA.公共耦合C. 数据耦合B.内容耦合D. 控制耦合4. 划分模块时,下列说法对的的是(A )A.作用范围应在其控制范围之内B.控制范围应在其作用范围之内C. 作用范围与控制范围互不包含D. 作用范围与控制范围不受限制5. 重用率高的模块在软件结构图中的特性是(BA.扇出数大B.扇入数大C. 扇出数小D. 内聚性高6. 面向对象建模得到的三个模型,其中核心的模型是(A)A.对象模型C. 逻辑模型B.功能模型D. 动态模型7. 从结构化的瀑布模型看,在软件生存周期的几个阶段中,对软件的影响最大是(CA.具体设计阶段B.概要设计阶段C. 需求分析阶段D. 测试和运营阶段8. 对U ML的叙述不对的的是( D )A.U ML统一了B ooch方法、OMT方法、OO SE方法的表达方法。

B.U ML是一种定义良好、易千表达、功能强大且普遍合用的建模语言。

C. U ML融入了软件工程领域的新思想、新方法和新技术。

D. U ML仅限千支持面向对象的分析与设计,不支持其它的软件开发过程。

9. 以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型C. 螺旋模型B.增量模型D.喷泉模型10. 以下哪一项对模块耦合性没有影响( DA.模块间接口的复杂限度B.调用模块的方式C. 通过接口的信息D. 模块内部各个元素彼此之间的紧密结合限度二、填空题(本大题共10小题,每空2分,共20分)1. 数据流图描绘数据在系统中流动和解决的过程。

mda

mda

MDA简介
• 以企业为中心的计算面临的压力
– 应用的复杂性(B2Bi) – 生产成本的压力(需求的变动) – 质量的压力(文档、形式化) – 软件生命期的压力(平台的易变性)
MDA简介
• 将以模型为中心的思想引入EAI、B2Bi
– – – – 模型作为开发制品,而非设计制品 模型富含语法抽象和语义抽象 结合Web Service的应用 定义抽象的业务服务 =〉将业务服务模型映射到WSDL
MDA简介
• MDA的体系结构图
MDA简介
• 核心部分:OMG的建模技术——UML、CWM、 MOF等,可通过UML profiles进行扩充,独立于具 体平台 • 平台层:将独立于平台的模型映射到各平台,使用 映射标准和工具自动或半自动的执行
– 平台相关的模型一般也采用UML表达,通过UML方言 表达特定平台的元素 – 平台无关模型中的语法和语义信息被映射到平台相关的 模型中
• 实现层:平台相关的模型被映射产生代码,使用工 具自动或半自动的生成
– 平台相关模型中包含的语义信息越丰富,代码的生成质 量越高 – 从平台无关模型到平台相关模型再到代码,体现一致性
MDA简介
MDA简介
• 互操作性
– 核心模型是平台无关的,便于向MDA中添加 不同平台,只要增加模型到特定平台概念和元 素的映射 – 相应的,平台元素之间的交互逐渐标准化, bridge、gateway、mapping等能够自动或半自 动的产生 – 集成遗产系统,通过包装与核心模型一致的代 码层,并且建立包装器的模型,与其他平台的 交互可以通过映射机制生成,内部实现可以调 用遗产系统完成,最终集成到MDA框架中
MDA开发过程
MDA开发过程
• 变换自动完成

基于模型驱动的软件开发方法

基于模型驱动的软件开发方法

模型驱动的软件体系结构
统一建模语言 (Uniform Modeling Language, UML)
•以面向对象图的方式来描述任何类型的系统,具有很宽的 应用领域。 •其中最常用的是建立软件系统的模型,但它同样可以用于 描述非软件领域的系统,如机械系统、企业机构或业务过 程,以及处理复杂数据的信息系统、具有实时要求的工业 系统或工业过程等。 •总之,UML是一个通用的标准建模语言,可以对任何具有 静态结构和动态行为的系统进行建模。
模型驱动的软件体系结构
UML的静态建模机制
•用例图(Use case diagram) •类图(Class diagram) •对象图(Object diagram ) •包(Package) •构件图(Com)
模型驱动的软件体系结构
模型驱动的软件体系结构
模型驱动的软件开发模式
与传统开发模式的不同: •元模型和模型映射技术共享: 元 模 型 和 模 型 映 射 技 术 实际上陷含了特定领域所固有的知识。在同一个领域 的应用中,都可以共享这些元模型和模型映射技术。 •模型重用:软件重用从组件的重用扩展到模型的重用。 这是软件重用的大发展。首先,组件重用有平台的限 制,而模型的重用则脱离了这个限制;其次,模型由 于它的多层次性,使得软件的重用可以在任意一个层 次上,这样就可以最大限度地重用现有成果。
模型驱动的特点:模型的层级性
诺贝尔奖获得者赫伯特 A. 西蒙(Harbert A.Simen)曾论述到 :“ 要构造一门关于复杂系统的比较正规的理论,有一条 路就是求助于层级理论 …… 我们可以期望,在一个复杂性 必然是从简单性进化而来的世界中,复杂系统是层级结构 的”
系统A 系统B 系统C

系统Z

第七课 MDA方法

第七课 MDA方法

MDA开发实例(6)

在企业内部及 企业之间,通 过公共应用模 型生成“桥” 和集成应用
模型驱动开发MDD





模型驱动开发的基础是模型和表达模型的 语言 模型的一个主要用途是消除开发过程中各 参与方之间的隔阂 对于模型驱动开发,建模语言代替了编程 语言,用建模语言来实现系统 模型驱动开发的现代工具提供了运行一个 (或部分)模型的能力

使用MDA工具产 生PIM到PSM的 标准映射。部分 代码自动生成, 部分需要手写
MDA开发实例(3)

使用MDA工具 产生PIM到PSM 的标准映射。 部分代码需要 手写
MDA开发实例(4)

MDA工具为开 发者所选择的 调度技术生成 全部或大部分 代码
MDA开发实例(5)

MDA工具自动 发现在新平台 上重新集成的 模型
MDA的产生

MDA 的概念通过 OMG 构建模型的标准对系统 的交互性提供了一种开放的、供应商中立的方法: UML(Unified Modeling Language,统一 建模语言) CWM(Common Warehouse Meta-model, 公共仓库元模型) MOF(Meta-Object Facility,元对象设施) XMI(XML Metadata Interchange,XML 元数据交换)

MDA与UML
UML是使用MDA技术的一把钥匙:

使用MDA技术创建的所有应用程序都基于标准化 的、平台独立的UML模型。通过将这一通用的、被 普遍接受的建模标准作为杠杆,MDA使得开发人 员可以创建能被轻便地访问、天生具有良好的互 操作性的应用程序。而且这些应用程序能被嵌入 式系统、桌面应用系统、服务器、大型机等广阔 领域的应用程序所访问,也能够被跨Internet访问, 具有广阔的应用前景。

基于SysML的模型驱动武器装备体系结构设计与分析

基于SysML的模型驱动武器装备体系结构设计与分析

第39卷第1期2017年2月指輝控制与仿真Command Control &SimulationYol. 39 No. 1Feb.2017文章编号:1673-3819( 2017) 01-0044-04基于S y s M L的模型驱动武器装备体系结构设计与分析陆法,孙文虎,贾鹏(解放军后勤学院,北京100858)摘要:随着武器装备体系规模、复杂度的不断膨胀,模型驱动的体系结构设计方法成为解决复杂系统开发的研究 热点。

选择S)r sML( S5r stems Modeling Language)作为建模语言,提出了 一种由三个基本步骤(能力需求分析、黑盒分 析和白盒分析)组成的模型驱动体系设计方法,探索了 SysM L在体系层面建模的应用,并针对当前S y sM L建模工具 在仿真可视化与系统分析等能力上的不足,将建模工具与仿真分析工具进行集成,共同完成武器装备体系结构的设 计与仿真分析。

关键词:基于模型的系统工程;武器装备体系结构;模型驱动方法;SysML中图分类号:E917文献标志码:A D0I:10.3969/j.issn.1673-3819.2017.01.010Model Driven Weapon System-of-Systems ArchitectureDesign and Analysis Based on SysMLLU F a,SUN Wen-h u,JIA Peng(Logistic College of P L A,Beijing 100858,China)A bstract:With increase of scale and complexity of Weapon System-of-Systems,model driven architecture design methodhas become a research hotspot of complex system development. This paper uses systems modeling language (SysM L) and proposes a model driven architecture design method composed of capability requirement analysis,black-box analysis and white-box analysis. The application of SysML in architecture modeling is presented. Because the SysML tool is insufficient in simulation visualization and system analysis,the modeling tool is integrated with the simulation analysis tool in design and simulation analysis of weapon equipment architecture.Key words:model based system engineering;Weapon System-of-Systems Architecture;model driven method;SysML武器装备体系结构描述了武器装备体系组件的结 构、组件之间的关系以及约束它们设计和发展进的原 则和指导方针[|]。

软件架构师(20)-MDA与可执行UML

软件架构师(20)-MDA与可执行UML

**********************************第1章引论*************************************◆模型驱动架构(Model Driven Architecture, MDA)通过下面二种方式改变了软件的重点:模型比代码更有价值—有关业务本质的知识资产被表示为模型,这些模型使得企业能够在适当的时候使用适当的技术平台来实现它。

模型将更精确,而不是高高在上的—所有业务相关的重要的知识都被获以并表达为模型。

模型不会随意分隔分析和设计。

◆当前的软件技术发展水平来看,它有那些多年的使用和考验的关键原则:根据主题(域)的划分,可以产生大的高内聚低耦合的“实质性的”组件。

将平台无关的行为与平台相关的行为分开,通过将“本质”模型和“实现”模型分开可以在一定程度上做到这一点。

基于模式的映射定义使得人们可以从平台无关模型(Platform Inependent Model, PIM)系统化地创建任意平台的平台相关模型。

这些映射既可以手工实现,也可以自动实现。

使用了抽象但语义严格的表示方法以后,xUML能够使模型可以被完整地精确地表达,从而实现可执行化。

这种可执行化的特点充许建模者客观地评价他们所建立的系统的正确性。

◆什么是可执行UML(xUML)?尽管UML规范在MDA过程中是必要的,但它不足以进行可执行建模。

认识到这一点后,UML中又是加入了动作语义进行增强,解决了UML很多歧义的问题,同时也为适当的UML模型元素增强了可执行为定义。

核心UML加上动作语义就称为xUML,和它就足够建立可执行的平台无关模型(Platform Inependent Model, PIM)了。

xUML=UML-语义较弱的元素+精确定义的动作语义。

◆UML与xUML的差别:UML规定了一个图形语言,使得系统可以通过一组不同类型的图式系统化地定义。

但是UML在这此图形的使用方法上很不正规。

mdd对质量体系的要求_解释说明以及概述

mdd对质量体系的要求_解释说明以及概述

mdd对质量体系的要求解释说明以及概述1. 引言1.1 概述本文旨在探讨面向模型驱动开发(Model-Driven Development,简称MDD)对质量体系的要求,并解释其背后的原因和意义。

质量体系是指为确保产品或服务达到预期质量水平而建立和维护的一系列组织、流程和方法。

MDD作为一种软件开发方法,强调基于模型的系统设计和实现,它对质量的要求在不同层面上有所不同。

1.2 文章结构本文主要分为五个部分。

引言部分是对整篇文章进行概述,介绍MDD对质量体系的要求及其影响和优势。

第二部分将介绍MDD的基本概念,并对质量体系进行解释说明。

接着,在第三部分中详细解释MDD对质量体系的具体要求,包括与质量管理原则的关联、组织结构和责任、过程控制与改进等方面。

第四部分将概述MDD对质量体系带来的影响和优势,包括提高产品质量和符合性能力、增强组织运作效率和灵活性以及实现持续改进与客户满意度提升等方面。

最后,第五部分对全文进行总结,并展望未来发展趋势及提出相应建议。

1.3 目的本文的目的是通过深入研究MDD对质量体系的要求,帮助读者了解MDD方法论与质量管理之间的关联,并认识到采用MDD开发方法所带来的质量改进机会。

同时,本文还将探讨MDD对组织和流程产生的影响,以及经济效益和用户满意度等方面的优势。

通过这些内容的介绍,读者可以更好地理解和应用MDD方法来提高软件开发过程中的质量水平。

2. MDD对质量体系的要求2.1 MDD简介在理解MDD(Model Driven Development,模型驱动开发)对质量体系的要求之前,首先需要了解MDD的基本概念。

MDD是一种软件开发方法论,它强调通过使用抽象模型来指导和支持软件开发过程中的各个阶段,从而提高开发效率和软件质量。

在MDD中,系统设计、实现和测试等活动依赖于构建并维护系统的模型。

2.2 质量体系概念解释质量体系是指以确保产品或服务符合特定标准和要求为目标的组织内部架构和流程。

MDA模型驱动介绍

MDA模型驱动介绍

MDA模型驱动介绍模型驱动体系架构(Model Driven Architecture, MDA)是由OMG 提出的新的软件方法学,被面向对象技术界预言为未来几年里最重要的软件方法学。

模型驱动体系架构(MDA)把建模语言用作一种编程语言而不仅仅是设计语言,并以一种全新的方式将IT技术的一系列新的趋势性技术整合到一起。

这些技术包括基于组件的开发、设计模式、中间件、说明性约束、抽象、多层系统、企业应用整合以及契约式设计等。

模型驱动体系架构(MDA)的出现,为如何提高软件开发效率,如何增强软件的可移植性、协同工作能力、可维护性,以及如何提高文档编制的便利性指明了解决之道。

MDA概述MDA是“模型驱动体系架构”(Model Driven Architecture)的缩写。

它是由OMG定义的一个软件开发框架。

其关键之处是,模型在软件开发过程中扮演了非常重要的角色。

在MDA中,软件开发过程是由对软件系统的建模行为驱动的。

MDA开发生命周期和传统的生命周期并没有很大的不同。

MDA的工件是形式化模型,也就是可以被计算机理解的模型。

下面列出的3种模型位于MDA的核心:· 平台独立模型(PIM):具有高抽象层次、独立于任何实现技术的模型。

· 平台相关模型(PSM):为某种特定实现技术量身定做,让你用这种技术中可用的实现构造来描述系统的模型。

PIM会被变换成一个或多个PSM。

· 代码:用源代码对系统的描述(规约)。

每个PSM都将被变换成代码。

传统上,从模型到模型的变换,或者从模型到代码的变换,主要是手工完成的。

与此相反,MDA变换总是由工具执行的,许多工具可以把PSM变换成代码,这并不令人惊奇。

MDA的创新之处是把PIM到PSM的变换也自动化了。

软件开发是什么Alistair Cockburn在他的Agile Software Development一书中归纳了业界对软件开发的看法:以C.A.R Hoare为代表的数学观、以Bertrand Meyer为代表的工程观、以很多程序员为代表的手工艺观,还有一些程序员则认为软件开发是神秘的创造行为。

体系结构的设计

体系结构的设计
模型和抽象机模型 l 控制模型包括集中式控制模型和事件驱动模型
要点
l 模块化分解模型包括数据流模型和对象模型 l 领域相关的体系结构是对应用领域的抽象。领
域相关模型可以是类模型,也可以是参考模型 。
l 该设计过程的输出结果是软件体系结构描述文 档
体系结构设计
l 系统设计过程的早期阶段 l 描述和设计过程之间的连接 l 经常与一些描述活动并行完成 l 包括识别出主要的系统组件和它们之间的通信
清晰的体系结构的好处
l 项目相关人员之间的沟通
• 可以作为项目相关人员之间讨论的焦点
l 系统分析
• 使得分析系统能否满足其非功能需求成为可能
l 可用性
• 在体系结构中采用冗余组件
l 可维护性
• 使用小粒度、独立的组件
系统构成
l 将系统分解成互相作用的子系统 l 体系结构设计通常用一个方块图表达,代表了
系统结构的概貌 l 还可以提出更专门化的模型用来描述子系统是
如何共享数据、如何分布以及如何彼此交互的
打包机器人控制系统
视觉系统
对象识别 系统
l 受外部产生事件的驱动,产生事件的时刻与处 理该事件的子系统无关
l 两个主要的事件驱动模型
• 广播模型. 一个事件向所有子系统广播,包括任何一个能够 处理该事件的子系统
• 中断驱动模型. 应用于实时系统,中断被中断处理器探测到 ,再被传递给其它负责处理中断的组件
l 其它事件驱动模型包括电子数据表和产品系统
体系结构样式
l 体系结构模型应符合通用的体系结构模型或样 式
l 通晓这些样式可以使得系统体系结构定义变得 简单
l 然而,多数大型系统是异构的,无法遵循单一 的体系结构样式

模型驱动软件开发MDSD_MDSD的基本思想和术语2

模型驱动软件开发MDSD_MDSD的基本思想和术语2
应用程序
以体系结构为中心的设计模型
建模
以体系结构为中心的UML配置文件(DSL)
转换 为
基架代码 业务逻辑代码(手工研发)
生成器
得到 支持
生成器模板(模型到代码的变换) 基础设施组件(平台)
以体系结构为中心的MDSD的原理
• 包含的语言概念是由诸如类、关联、类别模板、标记值和建模规则(约束)等基本UML构件 UML配置 定义的。
文件 • UML配置文件被定义为一种UML元模型的扩展。 • 模型是元模型的实例
PIM和 PSM
• 平台无关模型PIM • 特定平台模型PSM
• 变换将模型映射到各自的下一层,可以是模型或源代码 变换
Corba模型
域相关规范 J2EE模型
平台无关模型(UML配置文 件)
模型到模型的变换
XML模型
特定平台模型(UML配置文 件)
模型到 代码的变换
Corba/C++代码
J2EE、Java代码
XML代码
实现
MDA的基本原理
基本术语_PIM、PSM和变换
PIM
变换
PSM组件
变换
代码
变换
(Java+XML)
移植性。
• MDSD为技术、工程和管理领域提供了一个多产的环境 • 它能帮助实现这里描述的目标
• OMG提出MDA,将分离某个特定功能的规范和它在某个特定平台上的实现。
目录
挑战与历史回顾 MDSD目标 MDSD方法 基本术语 以体系结构为中心的MDSD
MDSD方法
建模的思想实际上也不是新提出的,它主要用于复杂开发过程的,软件开发者们试图 用耗时的复审来抵消不可避免的一致性问题。另一种方法是大多数UML工具都提供的 “双向”工程或逆向工程,这只是用UML语法对源代码进行的可视化,即这些模型的 抽象层和源代码本身的抽象层一样。

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

MDA白皮书-模型驱动开发和UML+2.0
第三,你还需要获得那些使用工具的人们的支持(你需要一些工具来应用模型驱动开发)。开发人员常会认为“模型驱动开发 不是编程”而回避它,并且当心他们的工作难于被接受。他们还可能担心模型驱动开发将会使他们以前辛苦学来的一些技巧过 时。他们的担心也不是完全没有理由。采用模型驱动开发后,市场确实很有可能会减少对那些精通好几种编程语言的开发人员 的需求。但是另一方面,所有好的开发人员,首先和最主要的是,他们是问题的解决者。他们感兴趣的是尽可能地为手边的主 要问题找到新的更好的解决方案。模型
第 2 页/共 2 页
驱动开发激动人心的一点就是它允许开发人员集中精力于解决主要的设计问题,增加新的、酷的功能;而不是花费他们的主要 时间于改正语法错误,防止内存泄露,或无休止的低级b ug上。
还有第四点,它也是第三点的一个结果,工具必须足够的好。不幸的是,有时用户对工具期待太多,或工具提供厂商承诺过 多,实际上却不能交付。这两种情况都很容易使用户放弃模型驱动开发的想法。你确实需要保证工具能够满足你的需求。
模型驱动开发的现代工具提供了运行一个(或部分)模型的能力,这使得可以更早得到确认,系统能按预定方式工作。换句话 说,这意味着项目风险被极大地降低。在模型驱动开发中,测试也变得更加重要,因为能够被更早和更频繁地进行。这种方 式,会使你对在项目后期,应用程序的各部分能够统一合作具有更多地信心。直观地,你可能以为所有这些额外的工作会延长 开发周期,但是经验显示,产品上市时间实际上是缩短了。你花费更少的时间用于实现和测试阶段,更多的时间用于分析和设 计阶段,当你迭代重复这些过程时,你会发现,这种方式的好处是实实在在的。
没有魔法
如果模型驱动开发这么好的话,为什么不是每个人立刻加入到这个潮流中来呢?首先,模型驱动开发不是一个银子弹,能神奇 地解决你所有的问题。总有某人需要去实现系统的功能,并且还找不到任何工具来完成这一点。所有你能发现的工具只是使这 项工作更容易和直接一些。

大数据治理系列教材(DOCX 95页)【实用优质资料】

大数据治理系列教材(DOCX 95页)【实用优质资料】

大数据治理——为业务提供持续的、可度量的价值目录大数据治理——为业务提供持续的、可度量的价值 (1)概述 (2)大数据治理系列 (2)第一部分:大数据治理统一流程模型概述和明确元数据管理策略 (2)第二部分:元数据集成体系结构 (15)第三部分:实施元数据管理 (25)第四部分:大数据治理统一流程参考模型的第四步到第九步 (36)第五部分:定义度量值和主数据监管 (53)第六部分:大数据监管和信息单一视图监管 (67)第七部分:分析监管、安全与隐私管理和信息生命周期监管 (80)概述面对我们身边每时每刻迅速增长的庞大数据,因为其数量大、速度快、种类多和准确性的特征,如何更好地利用大数据创造出有意义的价值,一直是我们探索的重要话题。

而在这之前,就需要用科学正确的方法策略对大数据进行治理。

大数据治理是指制定与大数据有关的数据优化、隐私保护与数据变现的政策,是传统信息治理的延续和扩展,也是大数据分析的基础,还是连接大数据科学和应用的桥梁,因此大数据治理是大数据再创高峰的“必修课”。

下面我们将与您分享新鲜出炉的大数据治理方案。

大数据治理系列本系列共分为七个部分,围绕大数据治理统一流程参考模型,并结合实际业务问题和IBM相应的产品解决方案展开叙述。

第一部分:大数据治理统一流程模型概述和明确元数据管理策略为了更好地帮助企业进行大数据治理,笔者在IBM数据治理统一流程模型基础上结合在电信、金融、政府等行业进行大数据治理的经验,整理出了大数据治理统一流程参考模型。

本文主要介绍了大数据治理的基本概念,以及结合图文并茂的方式讲解了大数据治理统一流程参考模型的前两步:“明确元数据管理策略”和“元数据集成体系结构”内容。

大数据治理概述(狭义)大数据是指无法使用传统流程或工具在合理的时间和成本内处理或分析的信息,这些信息将用来帮助企业更智慧地经营和决策。

而广义的大数据更是指企业需要处理的海量数据,包括传统数据以及狭义的大数据。

模型驱动架构MDA浅述

模型驱动架构MDA浅述

模型驱动架构MDA浅述模型驱动架构(MDA,Model Driven Architecture)浅述袁峰 2007年7月10日前言西西弗斯是古希腊神话中的科林斯国王,他被罚将一块巨石推到山上,但无论西西弗斯如何努力,每次石头到达山顶之前都不可避免地滚下来,周而复始,永无休止。

前言西西弗斯是古希腊神话中的科林斯国王,他被罚将一块巨石推到山上,但无论西西弗斯如何努力,每次石头到达山顶之前都不可避免地滚下来,周而复始,永无休止。

在《应用MDA》一书中,作者Frankel将IT人比作现代版的西西弗斯,面对日新月异层出不穷的技术平台,不可避免地不断重复一些工作。

理想的MDAer,试图阻止这一悲剧的继续发生。

今天,我们通过分析MDA的概念,了解其内涵,看看MDA是否有希望完成这个艰巨的任务。

定义MDA是由OMG(Object Management Group,国际对象管理集团)[1]于2001年提出来的。

其核心思想是抽象出与实现技术无关、完整描述业务功能的核心平台无关模型(PIM,Platform Independent Model),然后针对不同实现技术制定多个转换规则,通过这些转换规则及辅助工具将PIM 转换成与具体实现技术相关的平台相关模型(PSM,Platform Specific Model),最后将经过充实的PSM 转换成代码。

通过PIM和PSM,MDA的目的是分离业务建模与底层平台技术,以保护建模的成果不受技术变迁的影响。

图1 MDA结构示意图[1]图1为MDA的结构示意图。

最内环是MDA的核心技术:MOF(Meta Object Facility,元对象设施)、CWM(Common Warehouse Metamodel,公共数据仓库元模型)和UML。

MDA的主要工作就是要把基于这些技术建立的PIM转换到不同的中间件平台上,得到对应的PSM。

中间环上给出的是目前主要针对的实现平台:CORBA、XML、JAVA、Web Services和.NET。

mda-模型驱动体系结构 PPT

mda-模型驱动体系结构 PPT

MDA应用案例
内容
MDA简介 MDA开发过程 简单的MDA框架 MDA应用案例 完整的MDA框架 OMG相关标准
MDA开发过程
MDA开发过程
传统开发过程带来的问题
– – – – 生产效率问题:重视代码,维护软件时有问题 可移植性:技术更新换代快 互操作性问题:前端系统和后端系统 维护与文档问题:后期补文档
基本概念
Computation Independent Model: 使用计算无关视 点建立的系统模型
– 被称为领域模型或业务人员的词汇表 – 其用户是业务人员,不了解用以实现需求的建模技术 – 在业务专家和技术专家,业务需求和设计,构建方法 之间建立桥梁
Platform Independent Model: 使用平台无关视点建 立的系统模型
MDA简介
标准化领域模型
– OMG认识到领域模型的重要性,成立了 Domain TaskForce,对特定领域市场所提供的 服务和设施进行标准化 – 包括面向领域的平台独立模型,至少一个平台 相关模型,接口描述文件
MDA简介
MDA对企业计算的主要影响
再次提升编程环境的抽象级别 使用形式化模型驱动代码生成器 基于不同规约语言的元数据集成 在生成器中封装了设计模式的知识 形成按需生产构件的方式 使用DBC来驱动断言检测,异常处理和测试框 架的生成 – 形成了"The Global Information Appliance" – – – – – –
模型变换
基于元模型的变换 基于类型的模型变换
模型变换
基于标记的模型变换 使用模式的模型变换
模型变换
模型合并 使用附加信息的模型变换
模型变换
对平台的理解

模型驱动的体系架构MDA

模型驱动的体系架构MDA

模型驱动的体系架构MDA很多组织已经开始对模型驱动的体系架构(MDA)进行关注,MDA 是一种应用系统设计和实现的方法。

对于几个原因来说这都是非常积极的发展。

MDA 鼓励在软件的开发过程中有效的使用系统的模型,并且它支持创建类似系统的最佳实践的重用。

所谓由对象管理组织(OMG)定义的标准,MDA 是一种组织和管理被自动化工具支持的企业体系架构和用于定义模型和推动不同模型类型之间的转换的服务的方法。

当被 OMG 定义的 MDA 标准和用于创建和进化企业级软件系统的术语在业界被广泛的引用时,仅仅到目前为止, OMG 和它的成员,包括 IBM Rational ,已经能够在 MDA 意味着什么、MDA 将向哪里发展、MDA 的哪些方面对于今天的技术是可能的和如何在实践中利用 MDA 上提供清晰的指导。

有效的企业软件开发今天开发企业级的应用要求一种软件架构的方法,这种方法应该能够以一种灵活的方式帮助架构师来发展他们的架构。

这种方法应该允许在及时的实现业务功能的新的能力的情况下重用已有的劳动成果,甚至是当目标基础架构本身在一直的演进。

两个重要的思想现在被认为是应对这种挑战的中心:• 面向服务的体系架构(SOA)。

企业解决方案能够被视作通过良好的说明定义了他们的服务接口契约连接的服务联合。

结果的系统设计通常被称作面向服务的体系架构(SOAs)。

通过将一个系统组织成为被封装好的服务集合,这些服务可以通过他们定义的服务接口被操作,系统的灵活性被大大的增强了。

现在很多组织用一系列的服务和服务之间的相互连接表示他们的解决方案。

• 软件的产品线。

通常,在一个组织开发和维护的系统中,存在着大量的可公用的部分。

从捕获核心业务过程和领域概念的标准领域模型,到开发人员在代码中使用的实现设计的实现细节方案,我们在企业的软件项目的每一个级别上看到了重用的方法。

当模式能够被经验丰富的从业者开发出来并在跨越组织的范围内传播时,软件开发组织将获得大量的效率。

第三课 MDA方法

第三课 MDA方法

北京林业大学信息学院
MDA与CORBA
OMG采用多种中间件平台的规范 。 CORBA技术 采用多种中间件平台的规范。 采用多种中间件平台的规范 技术 具有平台和语言的独立性、经过检验的事务和安 具有平台和语言的独立性、 全的天性, 全的天性 , 这使得它仍然是从嵌入式系统到桌面 系统,再到Internet应用的最佳选择。MDA的方 应用的最佳选择。 系统,再到 应用的最佳选择 的方 向是使得它与其他中间件平台更容易交互, 向是使得它与其他中间件平台更容易交互, 而且 更加廉价。 更加廉价。 CORBA 是MDA新体系结构的基础。作为唯一的 新体系结构的基础。 新体系结构的基础 独立于供应商和语言的中间件, 独立于供应商和语言的中间件,它是 MDA 上层 结构必不可少的重要组成部分。 结构必不可少的重要组成部分 。 为了赋于这种上 层结构最大的灵活性,在更高一层上实现重用, 层结构最大的灵活性 ,在更高一层上实现重用 , 我们必须考虑完全按照建模的概念表达这种体系 结构。 结构。
北京林业大学信息学院
MDA模型
MDA的核心建立在 UML 的核心建立在 (Unified Modeling Language,统一建模语言)、 ,统一建模语言)、 CWM(Common Warehouse ( Meta-model,公共仓库元模 , )、MOF(Meta-Object 型)、 ( Facility,元对象设施) 上。 ,元对象设施) 目前已开发了多个核心模型, 目前已开发了多个核心模型,如: 企业计算( 企业计算(包括组件结构和事务 )、实时计算 实时计算( 交互 )、实时计算(包括资源 控制的特殊要求 )等。 每个核心模型都独立于任何中间 件平台,表示所属类别中所有平 件平台, 台的共同特性 。
北京林业大学信息学院
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OMG对MDA的定义和描述


MDA以OMG建立的各种标准为基础,实 现将商业或应用逻辑与支撑平台技术相 分离。 通过MDA及相关标准建立的平台独立应 用可以被实现于包括C0RBA、 J2EE、.NET、Web服务和其他基于 Web的平台等在内的一系列开放和私有 平台之上。
MDA的总体结构
MDA核心
PSM


平台特定模型PSM (Platform Specific Mode1)是MDA基于平台特定视角(PSV) 建立的系统模型。 PSM 从相应PIM转换而来,它既包含了 PIM 中所定义的业务逻辑规范,也包含 了与选定平台和技术相关的特定实现信 息细节。
模型映射



模型映射(Mapping)是模型转换时所需定 义的模型元素间映射关系,它提供转换 规则及规格标准。 MDA中,模型转换的核心是PIM到PSM 的转换。 MDA提供了两种模型映射方法:类型映 射和实例映射。


MDA的核心是OMG的建模标准,包括 UML 、CWM和MOF。 MDA依据这些标准为企业应用建立独立 于实现技术的平台无关模型。
UML



UML (Unified Modeling Language)是一 套标准的面向对象分析和设计的图形化 模型语言。 实现软件系统可视化(Visualizing)、规范 定义(Specifying)、构造(Constructing)和 文档化(Documenting)建模。 MDA的各种模型均采用UML进行描述。
MDA模型体系

1.四层元模型架构 2. MDA应源自模型 3.模型映射四层元模型架构
MDA应用模型

CIM PIM PSM
CIM



计算无关模型CIM (Computation Independent Model)是MDA基于计算无关视角(CIV)建立的 系统模型,用于描述系统需求、功能、行为和 运行环境,也称为业务模型。 被称为计算无关,主要因为CIM侧重于表述系 统的外部行为和运行环境,而不表现系统的内 部结构和实现细节等相关内容。 CIM为领域专家与系统设计专家之间关于领域 需求的沟通和交流提供了桥梁,并直接支持 PIM、PSM模型的构造和实现。
模型驱动的体系结构
晁静 MF0933001
什么是MDA



模型驱动体系结构(Model-Driven Architecture),简称MDA,是由OMG组 织全新提出的应用模型技术进行软件系 统开发的方法论和标准体系。 MDA在软件系统生命周期的各个阶段, 保证互操作性、可移植性、可重用性。 OMG (Object Management Group)对象 管理组织
MDA产生的背景(1)

一系列平台技术的诞生和广泛应用
(CORBA、J2EE、COM/DCOM、XML/SOAP)



中间件平台之间的互操作障碍 企业业务发展受制于某种平台技术发展 如何解决系统的互操作性、可移植性、 可重用性等问题,成为软件开发领域的 重要课题。
MDA产生的背景(2)


1997年起,OMG陆续颁布了几个重要的 技术无关建模标准:统一建模语言UML、 元对象设施M0F、XML元数据交换XMI和 公共仓库元模型CWM等 互操作性、可移植性、可重用性不仅限 于系统设计阶段,需要贯穿于软件系统 整个生命周期
PIM



平台无关模型PIM (Platform Independent Model)是MDA基于平台无 关视角(PIV)建立的系统模型。PIM 是抽 象出的业务逻辑。 被称为平台无关,主要因为PIM不包含与 实现平台和技术相关的特定信息。 PIM 所表现出的平台无关性,使其能够 在任何技术平台上得以实现。
类型映射


类型映射提供了从PIM采用的模型语言类 型到PSM采用的模型语言类型的映射。 两种模型语言元素之间的转换
模型语言的“翻译”过程

实例映射


实例映射的方法是通过对PIM模型元素加 以标记,来标识该元素以某种特定方式 转换为PSM 模型元素。 实例映射中的标记(Marks)是平台特定的, 其内容体现着PSM所选定实现平台的相 应特定要求。
MDA核心的外层


MDA 对各种实现技术平台(CORBA、 J2EE、.NET、XML/SOAP等)的支持。 在这个层次上,平台无关模型被转换成 为与各个平台技术特性相关的平台特定 模型,并进而在平台上实现。
XMI


XMI (XMI Metadata Interchange) 通过标准化XML文档格式和DTD,为UML 元模型和模型(元模型可以视为模型的特 例)定义了一个基于XML的交换格式,随 之也即定义了一个从UML到XML的映射。 XMI定义了如何用XML 对UML模型进行描 述。
两种转换方法
从PIM到“实现”的转换
CWM



CWM (Common Warehouse Metamodel) 为数据仓库和业务分析领域最为常见的业务与 技术相关元数据的表示定义了元模型。 CWM实际上提供了一个基于模型的方法来实现 异构软件系统之间的元数据交换。 依据CWM建立的数据模型,尽管它们存储于不 同的软件系统中,但可以很便利地被整合和集 成,进而确保数据挖掘等应用可以跨越企业数 据库的边界。
普适服务


企业计算需要一系列的公共基础服务为 其应用程序提供运行环境。如目录服务、 事件处理服务、事务服务、持久性服务、 安全服务等。 MDA通过高层次抽象,建立平台无关的 公共通用服务模型,称之为普适服务 (Pervasive Services)
领域应用


为领域应用提供了建模标准和公共模型, 实现领域应用的可重用性、可移植性和 互操作性 为各行业领域软件系统的开发和集成提 供通用方法论。
映射的组合

各有优势 大多数情况下,模型映射是类型映射和 实例映射的组合使用。
PIM到PSM的模型转换


对于模型转换来说,其输入是一个已存 在的PIM和选定的某个映射,输出的结果 是相应的PSM和转换记录。 分别对应于类型映射和实例映射两种模 型映射方法,MDA提供两种基本的模型 转换方法。
相关文档
最新文档