基于模型驱动的软件开发方法.ppt
《基于模型驱动的软件开发方法.ppt》由会员分享,可在线阅读,更多相关《基于模型驱动的软件开发方法.ppt(53页珍藏版)》请在三一办公上搜索。
1、基于模型驱动的软件开发方法,文必龙,什么是模型驱动模型驱动的软件体系结构 模型驱动的现状 我们在做什么,基于模型驱动的软件开发方法,软件开发技术的发展历程,什么是模型驱动,面向功能的软件开发技术面向处理的面向函数的面向模块的面向结构的面向数据的面向对象的软件开发技术面向模型的软件开发技术,面向功能的软件开发技术,什么是模型驱动,输入,加工处理,输出,Pascal之父、结构化程序设计的先驱Niklaus Wirth最著名的一本书,书名叫作算法+数据结构=程序 程序是计算机指令的某种组合,控制计算机的工作流程,完成一定的逻辑功能,以实现某种任务。算法是程序的逻辑抽象,是解决某类客观问题的数学过程。
2、数据结构是客观事物自身所具有的结构特点(即逻辑结构)在计算机中的具体实现(即物理结构),是计算机存储、组织数据的方式。软件的实现是针对数据编程的。,面向对象的软件开发技术,什么是模型驱动,将现实世界的实体用类来描述,自然,直观。将数据结构与操作封装在一个类中。UML对OOA、OOD扮演了非常重要的角色。,面向模型的软件开发技术,什么是模型驱动,是面向对象技术的发展。公众对UML的接受刺激了以模型为中心的开发,OMG提供了支持这种开发的一系列标准的框架MDA(Model-Driven Architecture)。MDA的关键特点就是软件开发的重点和输出不再是程序,而是各种模型,开发人员的工作是不
3、断拓展模型,只有到了最后阶段才会考虑将其实现。模型不一定是面向对象的。如界面模型、报表模型、工作流模型、数据流模型等。UML 2.0也大量吸收和改进了非OO模型。,MDA,什么是模型驱动,MDA(Model-Driven Architecture)。MDA的关键特点就是软件开发的重点和输出不再是程序,而是各种模型,开发人员的工作是不断拓展模型,只有到了最后阶段才会考虑将其实现。,模型驱动的软件开发方法,什么是模型驱动,为了实现系统的目标,将系统分为若干个层级,在每一个层级上通过模型描述该层级上的实体,建立不同层级上模型之间的映射关系。人工或计算机根据模型间的映射关系,可以完成从源始模型到目标模
4、型实例的变换,从而达到系统运行的目标。,什么是模型驱动模型驱动的软件体系结构 模型驱动的现状 我们在做什么,基于模型驱动的软件开发方法,模型MDAMDA的核心技术模型驱动的特点模型驱动的软件开发模式,模型驱动的软件体系结构,模型,模型驱动的软件体系结构,模型是系统功能、结构、行为的形式化的规范。,当一个规范所基于的语言有标准的语法,且每一种结构有相应的语义;同时还可能包含一组不同结构间分析、推理的规则时,这个规范就是形式化的。,语法可以是图形的形式,也可是文本的形式。,语义是指该语法所描述的事物都有具体的意义。,MDA,模型驱动的软件体系结构,MDA的基本思想就是:一切都是模型。软件的生命周期
5、就是以模型为载体并由模型 映射所驱动的过程。MDA驱动的第一步就是抽象出与实现技术无关、完整描述业务功能的核心模型(Platform-Independent Model,PIM);针对不同实现技术制订多个映射规则,然后通过这些映射规则及辅助工具将PIM转换成与具体实现技术相关的应用模型(Platform-Specific Model,PSM)。最后,将经过证实的PSM转换成代码。,MDA,模型驱动的软件体系结构,MDA,模型驱动的软件体系结构,MDA的好处:分离业务功能分析设计的制品与实现技术之间紧耦合的关系,从而最小化技术变化对系统的影响。MDA使得应用模型与领域模型在整个软件生命周期中得到
6、了复用,广义的模型驱动,模型驱动的软件体系结构,为了实现系统的目标,将系统分为若干个层级,在每一个层级上通过模型描述该层级上的实体,建立不同层级上模型之间的映射关系。人工或计算机根据模型间的映射关系,可以完成从源始模型到目标模型实例的变换,从而达到系统运行的目标。模型可以是计算机领域的,也可以是非计算机领域的。建模过程就是从现实世界到计算机世界的一种映射。模型的驱动过程可以是人工的,也可以是自动的或半自动的。,MDA,模型驱动的软件体系结构,MDA核心技术包括:统一建模语言(Uniform Modeling Language,UML)元对象设施(Meta-Object Facility,MOF
7、)公共仓库元模型(Common Warehouse Metamodel,CWM)基于XML的元数据交换(XML Metadata Interchange,XMI),统一建模语言(Uniform Modeling Language,UML),模型驱动的软件体系结构,以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。,UML适用于系统开发
8、过程中的不同阶段,模型驱动的软件体系结构,需求定义阶段:可以用用况来捕获用户需求。通过用况建模,描述外部角色及其对系统的功能要求。分析阶段:用UML类图来描述问题域中的主要概念和机制。在分析阶段,只对问题域的对象建模,而不考虑定义软件系统中技术细节的类(如用户接口、数据库)。编程(构造)阶段:其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。在用UML建立分析和设计模型时,应尽量避免考虑把模型转换成某种特定的编程语言。测试阶段:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用况图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定
9、的需求。,UML的静态建模机制,模型驱动的软件体系结构,用例图(Use case diagram)类图(Class diagram)对象图(Object diagram)包(Package)构件图(Component diagram)配置图(Deployment diagram),UML的动态建模机制,模型驱动的软件体系结构,状态图(State Diagram)顺序图(Sequence Diagram)合作图(Collaboration Diagram)活动图(Activity Diagram),UML的局限性及改进方向,模型驱动的软件体系结构,对建筑工程来说,工程师一般都有多年的经验并且对所
10、用的各种工程符号了如指掌,而UML的设计可能在纸上画出来看着很好,真正编程时却会发现很多问题。这是因为建筑工程的模型接近于现实,而UML的设计却在另外一个世界进行。,浏览器,菜单条,工具条,地址栏,资源树,菜单项,MOF元对象设施(Meta-Object Facility),模型驱动的软件体系结构,MOF用来定义面向对象元模型的基本元素、语法和结构。以MOF定义的面向对象元模型,可以通过交换元数据来实现互操作。MOF为各种元模型提供了一种通用的语言基础,使它们不现是孤立的,而可以相互映射,相互交换元数据,并相互理解。MOF通过多次抽象,获得现实世界的共性,即“道”。,MOF元对象设施(Meta
11、-Object Facility),模型驱动的软件体系结构,元-元模型,元模型,元-元数据,元数据,模型,数 据,用户对象,张三,李四,王五,员工表,设备表,资金,数据字典,业务过程,界面描述,元元模型,MOF的四层元数据体系结构,MOF元对象设施(Meta-Object Facility),模型驱动的软件体系结构,元元模型,界面字典,函 数 字典,数据字典,函数模型,更多模型,数据模型,界面模型,图形,更 多元 模 型,数据,更多用户对象,业务流程,算法,报表,设备,以不变应万变,利用四层元数据结构描述不断变化的用户需求,资金,CWM:公共仓库元模型,模型驱动的软件体系结构,XMI:基于XM
12、L的元数据交换,模型驱动的软件体系结构,XMI(XML Metadata Interchange)定义了两组规则:XML DTD(Document Type Definitions)生成规则:如何为元数据创建XML DTD。XML文档生成规则:如何根据DTD为元数据创建XML文件。,元模型,元数据,XML DTD,XML文档,模型驱动的特点,模型驱动的软件体系结构,模型的层级性(hierarchy of model)模型的时效性(time-effectiveness of model)模型的可进化性(evolutionableness of model),模型驱动的特点:模型的层级性,模型驱动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 模型 驱动 软件 开发 方法

链接地址:https://www.31ppt.com/p-2867343.html