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

上传人(卖家):三亚风情 文档编号:3432921 上传时间:2022-08-31 格式:PPT 页数:53 大小:368KB
下载 相关 举报
基于模型驱动的软件开发方法课件.ppt_第1页
第1页 / 共53页
基于模型驱动的软件开发方法课件.ppt_第2页
第2页 / 共53页
基于模型驱动的软件开发方法课件.ppt_第3页
第3页 / 共53页
基于模型驱动的软件开发方法课件.ppt_第4页
第4页 / 共53页
基于模型驱动的软件开发方法课件.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、基于模型驱动的软件开发方法基于模型驱动的软件开发方法文必龙 什么是模型驱动 模型驱动的软件体系结构 模型驱动的现状 我们在做什么 基于模型驱动的软件开发方法基于模型驱动的软件开发方法 软件开发技术的发展历程什么是模型驱动什么是模型驱动面向功能的软件开发技术面向处理的面向函数的面向模块的面向结构的面向数据的面向对象的软件开发技术面向模型的软件开发技术 面向功能的软件开发技术什么是模型驱动什么是模型驱动输入加工处理输出 Pascal之父、结构化程序设计的先驱Niklaus Wirth最著名的一本书,书名叫作算法+数据结构=程序 程序程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功

2、能,以实现某种任务。算法算法是程序的逻辑抽象,是解决某类客观问题的数学过程。数据结构数据结构是客观事物自身所具有的结构特点(即逻辑结构)在计算机中的具体实现(即物理结构),是计算机存储、组织数据的方式。软件的实现是针对数据编程的。面向对象的软件开发技术什么是模型驱动什么是模型驱动 将现实世界的实体用类来描述,自然,直观。将数据结构与操作封装在一个类中。UML对OOA、OOD扮演了非常重要的角色。面向模型的软件开发技术什么是模型驱动什么是模型驱动是面向对象技术的发展。公众对UML的接受刺激了以模型为中心的开发,OMG提供了支持这种开发的一系列标准的框架MDA(Model-Driven Archi

3、tecture)。MDA的关键特点就是软件开发的重点和输出不再是程序,而是各种模型,开发人员的工作是不断拓展模型,只有到了最后阶段才会考虑将其实现。模型不一定是面向对象的。如界面模型、报表模型、工作流模型、数据流模型等。UML 2.0也大量吸收和改进了非OO模型。MDA什么是模型驱动什么是模型驱动MDA(Model-Driven Architecture)。MDA的关键特点就是软件开发的重点和输出不再是程序,而是各种模型,开发人员的工作是不断拓展模型,只有到了最后阶段才会考虑将其实现。模型驱动的软件开发方法什么是模型驱动什么是模型驱动 为了实现系统的目标,将系统分为若干个层级,在每一个层级上通

4、过模型描述该层级上的实体,建立不同层级上模型之间的映射关系。人工或计算机根据模型间的映射关系,可以完成从源始模型到目标模型实例的变换,从而达到系统运行的目标。什么是模型驱动 模型驱动的软件体系结构 模型驱动的现状 我们在做什么 基于模型驱动的软件开发方法基于模型驱动的软件开发方法 模型模型 MDA MDA的核心技术的核心技术 模型驱动的特点模型驱动的特点 模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构 模型模型模型驱动的软件体系结构模型驱动的软件体系结构模型是系统功能、结构、行为的形式化的规范。当一个规范所基于的语言有标准的语法,且每一种结构有相应的语

5、义;同时还可能包含一组不同结构间分析、推理的规则时,这个规范就是形式化的。语法可以是图形的形式,也可是文本的形式。语义是指该语法所描述的事物都有具体的意义。MDA模型驱动的软件体系结构模型驱动的软件体系结构MDA的基本思想就是:一切都是模型。软件的生命周期就是以模型为载体并由模型 映射所驱动的过程。MDA驱动的第一步就是抽象出与实现技术无关、完整描述业务功能的核心模型(Platform-Independent Model,PIM);针对不同实现技术制订多个映射规则,然后通过这些映射规则及辅助工具将PIM转换成与具体实现技术相关的应用模型(Platform-Specific Model,PSM)

6、。最后,将经过证实的PSM转换成代码。MDA模型驱动的软件体系结构模型驱动的软件体系结构 MDA模型驱动的软件体系结构模型驱动的软件体系结构MDA的好处:分离业务功能分析设计的制品与实现技术之间紧耦合的关系,从而最小化技术变化对系统的影响。MDA使得应用模型与领域模型在整个软件生命周期中得到了复用 广义的模型驱动广义的模型驱动模型驱动的软件体系结构模型驱动的软件体系结构为了实现系统的目标,将系统分为若干个层级,在每一个层级上通过模型描述该层级上的实体,建立不同层级上模型之间的映射关系。人工或计算机根据模型间的映射关系,可以完成从源始模型到目标模型实例的变换,从而达到系统运行的目标。模型可以是计

7、算机领域的,也可以是非计算机领域的。建模过程就是从现实世界到计算机世界的一种映射。模型的驱动过程可以是人工的,也可以是自动的或半自动的。MDA模型驱动的软件体系结构模型驱动的软件体系结构MDA核心技术包括:统一建模语言(Uniform Modeling Language,UML)元对象设施(Meta-Object Facility,MOF)公共仓库元模型(Common Warehouse Metamodel,CWM)基于XML的元数据交换(XML Metadata Interchange,XMI)统一建模语言统一建模语言(Uniform Modeling Language,UML)模型驱动的软

8、件体系结构模型驱动的软件体系结构以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。UML适用于系统开发过程中的不同阶段适用于系统开发过程中的不同阶段模型驱动的软件体系结构模型驱动的软件体系结构需求定义阶段需求定义阶段:可以用用况来捕获用户需求。通过用况建模,描述外部角色及其对系统的功能要求。分析阶段分析阶段:用UML类图来描述问题域中

9、的主要概念和机制。在分析阶段,只对问题域的对象建模,而不考虑定义软件系统中技术细节的类(如用户接口、数据库)。编程编程(构造构造)阶段阶段:其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。测试阶段测试阶段:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用况图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。UML的静态建模机制的静态建模机制模型驱动的软件体系结构模型驱动的软件体系结构用例图(Use case diagram)类图(Class

10、diagram)对象图(Object diagram)包(Package)构件图(Component diagram)配置图(Deployment diagram)UML的动态建模机制的动态建模机制模型驱动的软件体系结构模型驱动的软件体系结构状态图(State Diagram)顺序图(Sequence Diagram)合作图(Collaboration Diagram)活动图(Activity Diagram)UML的局限性及改进方向的局限性及改进方向模型驱动的软件体系结构模型驱动的软件体系结构 对建筑工程来说,工程师一般都有多年的经验并且对所用的各种工程符号了如指掌,而UML的设计可能在纸上

11、画出来看着很好,真正编程时却会发现很多问题。这是因为建筑工程的模型接近于现实,而UML的设计却在另外一个世界进行。浏览器菜单条工具条地址栏资源树菜单项 MOF元对象设施(元对象设施(Meta-Object Facility)模型驱动的软件体系结构模型驱动的软件体系结构MOF用来定义面向对象元模型的基本元素、语法和结构。以MOF定义的面向对象元模型,可以通过交换元数据来实现互操作。MOF为各种元模型提供了一种通用的语言基础,使它们不现是孤立的,而可以相互映射,相互交换元数据,并相互理解。MOF通过多次抽象,获得现实世界的共性,即“道”。MOF元对象设施(元对象设施(Meta-Object Fac

12、ility)模型驱动的软件体系结构模型驱动的软件体系结构元元-元模型元模型元模型元模型元元-元数据元数据元数据元数据模型模型数数 据据用户对象用户对象张三李四王五员工表员工表设备表设备表资金资金数据字典数据字典业务过程业务过程界面描述界面描述元元模型元元模型MOF的四层元数据体系结构 MOF元对象设施(元对象设施(Meta-Object Facility)模型驱动的软件体系结构模型驱动的软件体系结构元元元元模型模型界面字典界面字典函函 数数 字字典典数据字典数据字典图形图形 更更 多多元元 模模 型型数据数据更更多多用用户户对对象象业务流程业务流程算算法法报表报表设备设备以不变应万变,利用四层

13、元数据结构描述不断变化的用户需求以不变应万变,利用四层元数据结构描述不断变化的用户需求资金资金 CWM:公共仓库元模型公共仓库元模型模型驱动的软件体系结构模型驱动的软件体系结构 XMI:基于基于XML的元数据交换的元数据交换 模型驱动的软件体系结构模型驱动的软件体系结构XMI(XML Metadata Interchange)定义了两组规则:XML DTD(Document Type Definitions)生成规则:如何为元数据创建XML DTD。XML文档生成规则:如何根据DTD为元数据创建XML文件。元模型元数据XML DTDXML文档 模型驱动的特点模型驱动的特点模型驱动的软件体系结构

14、模型驱动的软件体系结构模型的层级性(hierarchy of model)模型的时效性(time-effectiveness of model)模型的可进化性(evolutionableness of model)模型驱动的特点模型驱动的特点:模型的层级性模型的层级性模型驱动的软件体系结构模型驱动的软件体系结构诺贝尔奖获得者赫伯特 A.西蒙(Harbert ASimen)曾论述到:“要构造一门关于复杂系统的比较正规的理论,有一条路就是求助于层级理论我们可以期望,在一个复杂性必然是从简单性进化而来的世界中,复杂系统是层级结构的”系统A系统Z系统B系统C层级理论使复杂问题简单化。当从系统A到系统Z

15、不能直接求解时,可借助一些中间层。软件的体系结构呈现层级的特征。软件开发就是从用户层到软件层求解。模型驱动的特点:模型的时效性模型驱动的特点:模型的时效性模型驱动的软件体系结构模型驱动的软件体系结构模型可以区分“运行期模型”(Run-Time Model)和“开发期模型”。开发期模型是MDA的建模驱动过程的本质。运行期模型揭示了广义模型驱动的本质。“所见即所得”就是一种典型的运行期模型的应用。从用户模型经过一组驱动,自动输出到用户模型,是模型驱动的最佳应用模式。模型驱动的特点模型驱动的特点:可进化性可进化性模型驱动的软件体系结构模型驱动的软件体系结构在系统的应用过程中,持续地适应应用环境与需求

16、的变化,不断地由应用者或自适应地对模型进行改进.这是模型驱动的最高境界。模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构基于模型驱动的软件开发模式就是利用模型的映射技术完成软件的逐步求精过程。在MDA中,采用一组元模型为系统建模。模型A模型Z模型B模型C 模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构与传统开发模式的不同:异构系统协作异构系统协作:由于元数据具有自描述能力,因此异构的系统可以通过元数据来互相识别,互相了解,进而互相协作。任何一个基于MDA的系统都能够存储、管理、发布应用应用层和系统层的元数据。当组

17、件被植入环境的时候,可以通过与环境交换元数据来达到沟通和协作的目的。因此,基于MDA的系统可以从根本上解决互操作问题。模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构与传统开发模式的不同:空间失配问题空间失配问题:从计算机软件诞生的那一天起,软件开发者就不得不同时在问题空间和解空间进行工作。这两种空间的异构性是使软件质量难以得到保证的一个重要原因。而在MDA的开发模式中,问题空间和解空间中间的鸿沟被众多的元模型填平了。单一的问题空间和解空间被多个相对的问题空间和解空间所代替。模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件

18、体系结构与传统开发模式的不同:专用的元模型和模型映射技术专用的元模型和模型映射技术:对于不同的领域和视角,可以建立起专门的元模型。采用专用的元模型建模比使用单一元模型在准确性和完整性上有很大的提高,开发成本也会随之降低。而专用的模型映射工具可以将模型映射中一些固有的范式总结成自动的分析和处理工具,从而大大提高模型映射的质量和效率。模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构与传统开发模式的不同:元模型和模型映射技术共享元模型和模型映射技术共享:元模型和模型映射技术实际上陷含了特定领域所固有的知识。在同一个领域的应用中,都可以共享这些元模型和模型映射技

19、术。模型重用模型重用:软件重用从组件的重用扩展到模型的重用。这是软件重用的大发展。首先,组件重用有平台的限制,而模型的重用则脱离了这个限制;其次,模型由于它的多层次性,使得软件的重用可以在任意一个层次上,这样就可以最大限度地重用现有成果。模型驱动的软件开发模式模型驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构与传统开发模式的不同:流水线式开发流水线式开发:由于每种模型都使用专门的元模型,而且有规范的建模工具和模型映射工具为模型质量作保障,软件生产可以实现流水线操作,即每一种模型的建模和模型映射工作由专门的人员来完成。软件生产的质量和效率都将有质的飞跃。模型驱动的软件开发模式模型

20、驱动的软件开发模式模型驱动的软件体系结构模型驱动的软件体系结构与传统开发模式的不同:从模型到元模型从模型到元模型:从软件技术发展的历史上来看,过程求精编程技术的解空间处于数据层,面向对象技术把解空间提升到模型层,而MDA则把解空间提升到了元模型层。编程技术解空间层次操作对象局限性MDA元模型层Meta-objectObjectData可以自定义语言(元模型)面向对象模型层ObjectData只能使用有限的语言(元模型)过程求精数据层Data只能使用有限的数据类型 什么是模型驱动 模型驱动的软件体系结构 模型驱动的现状 我们在做什么 基于模型驱动的软件开发方法基于模型驱动的软件开发方法模型驱动的

21、现状模型驱动的现状 当前有一股MDA热,国内一些著名的软件工程研究科研单位关注MDA。相关技术基础已经具备,OMG关于MOF和MDA的规范推出,但MDA只是提供了一个框架和概念,在可操作性方面还待进一步发展。SDK开发商纷纷推出基于MDA的开发平台,如Borland推出了基于MDA的Delphi 7 Studio,微软.NET也纳入了MDA概念。但这些SDK的MDA建立的是“开发期”模型,重点在如何向自己的平台映射。模型驱动的现状模型驱动的现状 软件服务商纷纷瞄准面向业务的平台开发。2002年,计世资讯在(CCW Research)发布的2003中国软件平台发展战略研究报告表明,软件平台的新层

22、级,即业务流程管理平台正对软件、尤其是管理软件开发模式产生革命性的影响,一种全新的开发模式-EMA(企业模型自动化)诞生。这种全新的开发模式就是业界所一直在苦苦追寻的“提高软件生产力的银弹”。计世资讯把这个新层级的软件平台称为“业务基础软件平台”。该平台采用的核心思想就是模型驱动。模型驱动的现状模型驱动的现状 公司名公司名产品名产品名推出时间推出时间Justep思维加速思维加速TIB2002年末年末东软金算盘东软金算盘金算盘金算盘VP2002.年年10月月用友用友UAP2003年初年初金蝶金蝶Kingdee BOS2003年年2月月SAPNetweaver2003年初年初中关村科技软件中关村科

23、技软件应用整合基础平应用整合基础平台台CenGRP2.02002年末年末东方通科技东方通科技未知未知预计预计2003年下半年下半年年 有待研究的问题:(1)元模型和模型映射方法论研究 MDA的完善相当程度上是元模型和模型映射技术的完善,如何建立元模型和相应的模型映射技术都需要方法论的指导。(2)领域元模型的建立 针对各种不同的应用领域,要建立大量的基于MOF的元模型。这些元模型要包含应用领域的特殊规则的语义,既要严格没有歧义,又要容易为非计算机专业的领域专家所掌握。模型驱动的现状模型驱动的现状 有待研究的问题:(3)组件平台元模型的建立 针对各种组件平台,要建立专门的平台元模型,以支持平台相关

24、模型的建立和代码生成。(4)模型映射技术的开发 在大量的元模型之前,都需要模型映射技术来辅助开发人员进行高效的模型映射。有了高效的模型映射技术,MDA才能真正走向实用。模型驱动的现状模型驱动的现状 有待研究的问题:(5)中间元模型研究。两个元模型如果异构程度太高的话,针对这两种元模型的模型映射工具会难以开发,或者映射效率低,需要大量的人工干预。这样就要考虑在这两个元模型中间建立一个中间元模型,以这个中间元模型作为桥梁进行模型映射。在什么情况下需要构建以及如何构建中间元模型,都是有待研究的问题。(6)元模型和模型映射的评价理论研究。在特定的环境下,什么样的元模型才是高效的,什么样样的模型映射工具

25、才是高效的,都需要评价理论来指导。这样开发人员才能在众多的相互竞争的元模型和模型映射工具中选择最适合自己的一种。模型驱动的现状模型驱动的现状 什么是模型驱动 模型驱动的软件体系结构 模型驱动的现状 我们在做什么 基于模型驱动的软件开发方法基于模型驱动的软件开发方法 POSC软件集成技术的研究 新疆油田公司勘探生产信息系统 中国石油信息系统标准化技术研究 大庆油田公司信息化建设 石油信息平台PIP的设想我们在做什么我们在做什么 POSC软件集成技术的研究我们在做什么我们在做什么 围绕POSC的集成数据模型 Epicentre的实现和应用,开展了以下相关研究:数据映射工具开发:从Epicentre

26、到关系模型映射基于Epicentre视图的研究:从关系视图存取Epicentre基于Epicentre数据存取实现:从关系数据库实现Epcientre关系数据库Epicentre关系视图投影存取映射视图 新疆油田公司勘探生产信息系统我们在做什么我们在做什么 围绕信息平台的可扩展性开展,初步形成模型驱动雏形:从Epicentre扩展到任意两个数据模型之间的映射(1999年)四层元数据体系及模型驱动概念的引入(2000年)工作流实现业务集成概念的引入。数据总线(交换数据模型,虚拟模型)中心数据库勘探 总库录井库测井库FinderOpenWorkCORBA服务工作流元数据库 中国石油信息系统标准化技

27、术研究我们在做什么我们在做什么 围绕中国石油IT总体规划,将元数据系统化,在各个实施方案中推广相关思想:中国石油信息系统数据交换模型定义规范中国石油信息系统数据元词典中国石油信息系统总部数据中心实施方案中国石油总部经营管理源数据词典实施方案中国石油信息系统标准化体系企业应用集成(EAI,Enterprise Application Integration)研究 中国石油刚完成基础信息化,正在向集成化阶段迈进,新的管理体制注重实用化、商业化,对新技术的感觉和消化存在一定的困难。企业战略信息化战略管理体系 大庆油田公司信息化建设我们在做什么我们在做什么 应用体系信息体系支持体系积极参与大庆油田公司

28、信息化建设,宣传模型驱动的信息集成思想,受到专家好评。改进用户的需求,发挥模型驱动的优势。模型驱动的思想是信息集成化建设新的技术思路,受到技术人员的欢迎。石油信息平台PIP的设想我们在做什么我们在做什么 企业模型服务模型数据模型界面模型、报表模型工作流模型、发布模型短消息、数据交换服务、存取服务界面数据模型报表数据模型企业内数据库存储模型项目库存储模型外部数据库存储模型元模型工作流XMLSVGUMLB/S信息平台EJB.Net 石油信息平台PIP的设想我们在做什么我们在做什么 与软件企业结合,推动PIP的产品化在总体框架下,逐步完成系列元模型的研究。同时完成相关的映射、建模、执行系统的开发。从长远战略目标,坚持特色方向,与应用项目结合,注重积累,可持续发展。谢谢

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(基于模型驱动的软件开发方法课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|