《(5)--2 UML概述-面向对象与UML.pdf》由会员分享,可在线阅读,更多相关《(5)--2 UML概述-面向对象与UML.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 面向对象与面向对象与UML Object-Oriented and UML UML概述概述 UML(1)什么是建模语言)什么是建模语言(2)什么是统一建模语言)什么是统一建模语言UML(3)使用)使用UML的原因的原因(4)UML的特点的特点(5)UML的建模种类的建模种类(6)UML和面向对象方法的关系和面向对象方法的关系(7)UML和面向对象编程语言的关系和面向对象编程语言的关系(8)UML和和RUP的关系的关系 要进行有效的系统建模,就需要一种规要进行有效的系统建模,就需要一种规范的语言进行描述,这种语言就称为建范的语言进行描述,这种语言就称为建模语言,常使用标准的模语言,常使用标准的
2、图形表示法图形表示法来建来建模,也叫模,也叫可视化建模语言可视化建模语言。建模语言与其它描述软件系统的语言最建模语言与其它描述软件系统的语言最大的不同是具有大的不同是具有图形化、可视化图形化、可视化特点特点。(1)什么是建模语言)什么是建模语言 (2)什么是统一建模语言)什么是统一建模语言UML 在面向对象开发中,最常用的建模语言为在面向对象开发中,最常用的建模语言为统一建模语言统一建模语言UML(Unified Modeling Language),是软件和系统开发的,是软件和系统开发的标准建标准建模语言模语言,它主要以图形的方式对系统进行,它主要以图形的方式对系统进行分析、设计。分析、设计
3、。UML是一种用于构造系统或理解系统的是一种用于构造系统或理解系统的语言。语言。UML是一种是一种Language(语言)(语言)要遵循语法规则的图形语言。要遵循语法规则的图形语言。贯穿于软件开发的生命周期,可以描述系统的不同视图。贯穿于软件开发的生命周期,可以描述系统的不同视图。UML是一种是一种Modeling(建模)(建模)Language 用于表达系统的简化视图,以便于进行面向对象软件系统的用于表达系统的简化视图,以便于进行面向对象软件系统的分析和设计。分析和设计。UML是是Unified(统一)(统一)Modeling Language UML是一种统一的、标准化的建模语言,被广泛使
4、用。是一种统一的、标准化的建模语言,被广泛使用。UML的创始人的创始人 UML是由世界著名的面向对象技术专家是由世界著名的面向对象技术专家G.Booch、J.Rumbaugh 和和 I.Jacobson发起,在发起,在Booch方法、方法、OMT方法和方法和OOSE方法的基础上,广泛征求意见,集众家方法的基础上,广泛征求意见,集众家之长,几经修改而完成的。之长,几经修改而完成的。Three amigos(三友)(三友)Booch Rumbaugh Jacobson booch OMT OOSE -7-UML Partners Expertise UML 1.0(Jan.1997)UML 1.1
5、(Sept.1997)UML 1.5(March,2003)UML 2.0(2005)Other Methods Booch 91 OMT-1 OOSE Booch 93 OMT-2 Public Feedback Unified Method 0.8(OOPSLA 1995)UML 0.9(June 1996)UML 0.91(Oct.1996)and 工业化工业化 标准化标准化 统一化统一化 分散的分散的 各部分各部分 UML 2.4(2011)UML发展历程发展历程 OMG 对象管理组织对象管理组织 UML现状现状-还在不断发展变化还在不断发展变化 (3)使用使用UML的原因的原因(1)
6、UML是一种可视化的标准建模语言,是一种可视化的标准建模语言,UML模型有利于交流。模型有利于交流。开发人员如何与客户沟通,了解客户对系统的需求?开发人员如何与客户沟通,了解客户对系统的需求?UML从客户的角度将从客户的角度将复杂的系统整理清楚。(用例图分析需求和测试)复杂的系统整理清楚。(用例图分析需求和测试)如何在不同阶段的开发人员之间共享设计,以确保各个部分能够无缝地协如何在不同阶段的开发人员之间共享设计,以确保各个部分能够无缝地协作?作?UML是客户、需求分析员、系统分析员和程序员之间的“桥梁”,用图形是客户、需求分析员、系统分析员和程序员之间的“桥梁”,用图形的方式展现系统,从不同角
7、度建立模型是为了更好地、准确地理解要开发的方式展现系统,从不同角度建立模型是为了更好地、准确地理解要开发的系统,便于交流。的系统,便于交流。(2)UML是一种用于构造的语言。是一种用于构造的语言。UML描述的模型可与各种编程语言直接相关联。描述的模型可与各种编程语言直接相关联。例如,把例如,把UML描述的模型映射成描述的模型映射成Java、C+代码,或映代码,或映射成关系数据库的表,或对象数据库的持久存储。射成关系数据库的表,或对象数据库的持久存储。(3)UML是一种用于文档化的语言。是一种用于文档化的语言。一个健康的软件组织除了生产有可执行代码,还要有各种制品:需一个健康的软件组织除了生产有
8、可执行代码,还要有各种制品:需求、体系结构、设计、源代码、测试、发布等。求、体系结构、设计、源代码、测试、发布等。这些制品不但是项目交付时所要求的,而且无论是在开发期间还是在这些制品不但是项目交付时所要求的,而且无论是在开发期间还是在交付使用后,对控制、度量和理解系统也是关键的。交付使用后,对控制、度量和理解系统也是关键的。UML适合建立以上多种制品的详细文档。适合建立以上多种制品的详细文档。(4)UML的特点的特点 统一的标准统一的标准,是遵循精确语法的图形语言,便于交流。是遵循精确语法的图形语言,便于交流。基于面向对象思想基于面向对象思想,面向对象分析与设计的一种标准表示,面向对象分析与设
9、计的一种标准表示。概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。可视化建模,表示能力强大,允许创建多种模型来描述系统的不同方面。可视化建模,表示能力强大,允许创建多种模型来描述系统的不同方面。UML可以进行扩展,可应用到多种领域。可以进行扩展,可应用到多种领域。独立于过程,独立于实现技术(编程语言)。独立于过程,独立于实现技术(编程语言)。可应用到软件开发全过程。可应用到软件开发全过程。UML既支持正向工程又支持反向工程。既支持正向工程又支持反向工程。为面向对象的设计与开发中涌现出的高级概念(如协作、框架、模式和为面向对象的设计
10、与开发中涌现出的高级概念(如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用。用。(5)UML的建模种类的建模种类 模型的种类模型的种类 模型的用途模型的用途 业务模型业务模型 对业务过程、工作流、组织的建模。对业务过程、工作流、组织的建模。需求模型需求模型 对捕获的需求进行整理和分析的工具,辅助开发人员与用户进对捕获的需求进行整理和分析的工具,辅助开发人员与用户进行沟通。行沟通。设计模型设计模型 包含高层设计(架构模型)和详细设计模型,用于统一开发人包含高层设计(架构模型)和详细设计模型,用于统一
11、开发人员、沟通设计信息。员、沟通设计信息。数据库模型数据库模型 设计数据库的结构、表结构以及与应用系统的交互。设计数据库的结构、表结构以及与应用系统的交互。实现模型实现模型 用来理清软件的组成、部署方案,为安装与维护人员的工作提用来理清软件的组成、部署方案,为安装与维护人员的工作提供指导。供指导。(6)UML和面向对象方法的关系和面向对象方法的关系 UML既不是方法论,也不是一种开发过程,而是面向对象系既不是方法论,也不是一种开发过程,而是面向对象系统分析与设计的建模语言,是一种语言工具。如同英语充当统分析与设计的建模语言,是一种语言工具。如同英语充当国际交流的工具一样。国际交流的工具一样。面
12、向对象是面向对象是UML建模的基础建模的基础。OOA&OOD(面向对象分析和设计)(面向对象分析和设计)是方法论,该方法论的是方法论,该方法论的实践过程中需要使用实践过程中需要使用UML的图符,使用时还必须遵循一定的的图符,使用时还必须遵循一定的原则及步骤。原则及步骤。UML是一种体现面向对象的建模语言,是是一种体现面向对象的建模语言,是将面向对象方法论将面向对象方法论转化为实践转化为实践的工具。的工具。(7)UML和面向对象编程语言的关系和面向对象编程语言的关系 Java,C+等是等是面向对象编程语言面向对象编程语言,软件系统最终用编码来实现。,软件系统最终用编码来实现。UML是是面向对象建
13、模语言面向对象建模语言,是对软件系统进行模型建立,用来指导后,是对软件系统进行模型建立,用来指导后续的面向对象编程。续的面向对象编程。注意:注意:UML独立于编程语言。独立于编程语言。一些建模工具可以根据一些建模工具可以根据 UML所建立的系统模型来产生所建立的系统模型来产生Java,C+或或其它面向对象编程语言的代码框架;或根据系统代码来构建其它面向对象编程语言的代码框架;或根据系统代码来构建UML系统系统模型,即支持模型,即支持双向工程(正向工程和逆向工程)。双向工程(正向工程和逆向工程)。(8)UML 与与 RUP的关系的关系 UML并不是一个方法,而只是一种建模语言。并不是一个方法,而只是一种建模语言。UML定义了基本元素,定义了语法、规则,给出了如定义了基本元素,定义了语法、规则,给出了如何创建或理解软件模型。何创建或理解软件模型。UML中没有说明应该在什么时候创建什么样的模型,中没有说明应该在什么时候创建什么样的模型,而这个工作是由软件开发过程而这个工作是由软件开发过程(Rational Unified Process,RUP)来指导完成的。)来指导完成的。本章小结本章小结