面向对象建模-UML建模语言课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向对象建模-UML建模语言课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 建模 UML 语言 课件
- 资源描述:
-
1、UML建模语言目录5.1 UML概述5.2 通用模型元素5.3 用例建模5.4静态建模5.5 动态建模5.6 实现模型概 述 5.1 UML5.1 UML概述概述什么是模型?什么是模型?UML作为一种可视化的建模语言,作为一种可视化的建模语言,提供了丰富的基于提供了丰富的基于面向对象概念的模型元素及其图形表示元素。面向对象概念的模型元素及其图形表示元素。5.1.1 UML5.1.1 UML的形成的形成九十年代中,面向对象方法已经成为软件分析和设计九十年代中,面向对象方法已经成为软件分析和设计方法的主流。方法的主流。1994年年10月月Jim Rumbaugh和和Grady Booch共同合作共
2、同合作把他们的把他们的OMT和和Booch方法统一起来,到方法统一起来,到1995年成为年成为“统统一方法一方法”(Unified Method)版本)版本0.8。随后,。随后,Ivar Jacobson加入,并采用他的用例加入,并采用他的用例(User case)思想思想,到到1996年,年,成为成为“统一建模语言统一建模语言”版本版本0.9。1997年年1月,月,UML版本版本1.0被提交给被提交给OMG组织,作为组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为要的软件开发商和系统集成商都成为“U
3、ML伙伴伙伴”,如,如IBM,Mircrosoft,HP等等.1997年年11月月7日被正式采纳作为业日被正式采纳作为业界标准。界标准。图5.15.1.1 UML5.1.1 UML的形成的形成UML的定义包括的定义包括UML语义和语义和UML表示法两个部分。表示法两个部分。(1)UML语义语义 描述基于描述基于UML的精确元模型的精确元模型(meta-model)定义。元模型为定义。元模型为UML的所有元素在语法和语义上提供了简单、的所有元素在语法和语义上提供了简单、一致、通用的定义性说明一致、通用的定义性说明,使开发者能在语义上取得一致使开发者能在语义上取得一致,消消除了因人而异的表达方法所
4、造成的影响。此外除了因人而异的表达方法所造成的影响。此外UML还支持对还支持对元模型的扩展定义。元模型的扩展定义。UML支持各种类型的语义。如布尔、表达式、列表、阶、支持各种类型的语义。如布尔、表达式、列表、阶、名字、坐标、这字符串和时间等,还允许用户自定义类型。名字、坐标、这字符串和时间等,还允许用户自定义类型。(2)(2)UML表示法表示法定义定义UML符号的表示法符号的表示法,为开发者或开为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准发工具使用这些图形符号和文本语法为系统建模提供了标准.。这些图形符号和文字所表达的是应用级的模型这些图形符号和文字所表达的是应用级的模型,
5、在语义上它是在语义上它是UML元模型的实例。元模型的实例。5.1.2 UML5.1.2 UML的主要内容的主要内容5.1.2 UML5.1.2 UML的主要构成的主要构成UML是一种标准化的图形建模语言,它是是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。由面向对象分析与设计的一种标准表示。由:UML的主要内容 一个系统应从不同的角度进行描述一个系统应从不同的角度进行描述,从一个角度观察从一个角度观察到的系统称为一个到的系统称为一个视图(视图(view)。视图视图由多个图由多个图(Diagrams)构成,它不是一个图表构成,它不是一个图表(Graph),而是在某一个抽象层上,
6、对系统的抽象表示。而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,需定义一定如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程外,视图还把建模语言和系统开发时选择的方法或过程连接起来。连接起来。5.1.2 UML5.1.2 UML的主要内容的主要内容设计视图设计视图实现视图实现视图配置视图配置视图过程视图过程视图Use case视图视图描述描述系统的外部特性、系统的外部特性、系统功能等。系统功能等。表示系统表示系统的实现特征,常的实
7、现特征,常用构件图表示。用构件图表示。描描述系统设计特征,述系统设计特征,包括结构模型视包括结构模型视图和行为模型视图和行为模型视图,前者描述系图,前者描述系统的静态结构统的静态结构(类类图、对象图图、对象图),后,后者描述系统的动者描述系统的动态行为态行为(交互图、交互图、状态图、活动图状态图、活动图)。表示系统内表示系统内部的控制机制。常用类图描部的控制机制。常用类图描述过程结构,用交互图描述述过程结构,用交互图描述过程行为。过程行为。配置配置视图描述系统的物理配置视图描述系统的物理配置特征。用配置图表示特征。用配置图表示。5.1.2 UML5.1.2 UML的主要内容的主要内容UML语言
8、定义了五种类型,语言定义了五种类型,9 9种不同的图,把它们有机的结种不同的图,把它们有机的结合起来就可以描述系统的所有视图。合起来就可以描述系统的所有视图。(Use case diagram)从用户角度描述系统功能从用户角度描述系统功能,并指并指出各功能的操作者出各功能的操作者。(Static diagram),),表示系统的静态结构。表示系统的静态结构。包括包括类图、类图、对象图、包图。对象图、包图。(Behavior diagram),描述系统的动态模型和组成对描述系统的动态模型和组成对象间的交互关系。包括象间的交互关系。包括状态图、活动图状态图、活动图。(Interactive dia
9、gram),描述对象间的交互关系描述对象间的交互关系。包括包括顺序图、合作图顺序图、合作图。(Implementation diagram)用于描述系统的物理实现。用于描述系统的物理实现。包括包括构件图、部件图构件图、部件图。5.1.2 UML5.1.2 UML的主要内容的主要内容图代表面向对象中的类,对象,关系和消息等概念,是代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。一个模型元素可以用在多构成图的最基本的常用的元素。一个模型元素可以用在多个不同的图中,无论怎样使用,它总是具有相同的含义和个不同的图中,无论怎样使用,它总是具有相同的含义和相同的符号表示。相同的符
10、号表示。用于表示其他信息,比如注释,模型元素的语义等。用于表示其他信息,比如注释,模型元素的语义等。另外,为了适应用户的需求,它还提供了扩展机制另外,为了适应用户的需求,它还提供了扩展机制(Extensibility mechanisms),包括构造型,包括构造型(Stereotype)、标记值标记值(Tagged value)和约束和约束(Constraint).).使用使用UML语言语言能够适应一个特殊的方法(或过程),或扩充至一个组织能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。或用户。5.1.2 UML5.1.2 UML的主要内容的主要内容 UML在演变过程中还提出了一些新
11、的概念。在在演变过程中还提出了一些新的概念。在UML标标准中新加了模板准中新加了模板(Stereotypes)、职责、职责(Responsibilities)、扩展、扩展机制机制(Extensibility mechanisms)、线程、线程(Threads)、过程、过程(Processes)、分布式、分布式(Distribution)、并发、并发(Concurrency)、模式模式(Patterns)、合作、合作(Collaborations)、活动图、活动图(Activity diagram)等新概念等新概念,并清晰地区分类型并清晰地区分类型(Type)、类、类(Class)和实和实例例(
12、Instance)、细化、细化(Refinement)、接口、接口(Interfaces)和组件和组件(Components)等概念。等概念。5.1.2 UML5.1.2 UML的主要内容的主要内容 (1)(1)统一标准统一标准UML统一了统一了Booch、OMT和和OOSE等方法中的基本概念,等方法中的基本概念,已成为已成为OMG的正式标准,提供了标准的面向对象的模型元素的的正式标准,提供了标准的面向对象的模型元素的定义和表示。定义和表示。(2)(2)面向对象面向对象UML还吸取了面向对象技术领域中其他流派的长处。还吸取了面向对象技术领域中其他流派的长处。UML符号表示考虑了各种方法的图形表
13、示符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、删掉了大量易引起混乱的、多余的和极少使用的符号多余的和极少使用的符号,也添加了一些新符号。也添加了一些新符号。(3)(3)可视化、表示能力强可视化、表示能力强系统的逻辑模型或实现模型都能用系统的逻辑模型或实现模型都能用UML模型清晰的表示,模型清晰的表示,可用于复杂软件系统的建模。可用于复杂软件系统的建模。(4)(4)独立于过程独立于过程UML是系统建模语言,独立于开发过程。是系统建模语言,独立于开发过程。(5)(5)易掌握、易用易掌握、易用由于由于UML的概念明确,建模表示法简洁明了,图形结构清的概念明确,建模表示法简洁明了,图形结
14、构清晰,易于掌握使用。晰,易于掌握使用。5.1.3 UML5.1.3 UML的特点的特点5.2 5.2 通用模型元素通用模型元素 模型元素是模型元素是UML构造系统的各种元素,是构造系统的各种元素,是UML构建模型构建模型的基本单位。的基本单位。模型元素代表面向对象中的类,对象,关系和消模型元素代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的概念。息等概念,是构成图的最基本的常用的概念。分为以下两类:分为以下两类:是已由是已由UML定义的模型元素。如:类、结点、构件、注定义的模型元素。如:类、结点、构件、注释、关联、依赖和泛化等。释、关联、依赖和泛化等。在基元素的基础上构造
15、的新的模型元素,是由基元素增加在基元素的基础上构造的新的模型元素,是由基元素增加了新的定义而构成的,如扩展基元素的语义(不能扩展语法结了新的定义而构成的,如扩展基元素的语义(不能扩展语法结构)构),也允许用户自定义。构造型用括在双尖括号中的字也允许用户自定义。构造型用括在双尖括号中的字符串表示。符串表示。目前目前UML提供了提供了4040多个预定义的构造型元素。如使用多个预定义的构造型元素。如使用Use、扩展、扩展 Extend。5.2.1 5.2.1 模型元素模型元素图5.2 模型元素在图中模型元素在图中用其相应的视图元素(符号)表示,图用其相应的视图元素(符号)表示,图3.23.2给出了常
16、用的元素给出了常用的元素符号:类、对象、结点、包和组件等。符号:类、对象、结点、包和组件等。属性属性用例用例包包结点结点状态状态 组件组件类类操作操作对象对象属性属性操作操作接口接口注释注释 模型元素 3.2.1 3.2.1 模型元素模型元素关联关联聚合聚合依赖依赖泛化(继承)泛化(继承)模型元素与模型元素之间的连接关系也是模型元素,常见模型元素与模型元素之间的连接关系也是模型元素,常见的关系有的关系有关联关联(association)、泛化泛化(generalization)、依赖依赖(dependency)和和聚合聚合(aggregation),其中聚合是关联的一种特殊,其中聚合是关联的一
17、种特殊形式。这些关系的图示符号如图形式。这些关系的图示符号如图3.33.3所示。所示。5.5.关联和关联和 如图如图3.3.(a)(b)(a)(b)所示,关联有二元关联所示,关联有二元关联(binary)、三元关、三元关联联(ternary)、多元关联、多元关联(higher order)。人员人员公司公司二元关联的例二元关联的例(人员)(人员)张涛张涛(公司)(公司)通大通大链的例子链的例子项目项目语言语言人人三元关联的例三元关联的例(项目项目)CAD系统系统(语言语言)C+(人人)李波李波链的例子链的例子 3.2.3 关联的表示5.2.3 5.2.3 关联的表示关联的表示PersonHob
18、by1 1*图5.5 带有多重性关联 有序关联与导航(导引)有序关联与导航(导引)在关联的多端标注在关联的多端标注ordered指明指明这些对象是有序的这些对象是有序的(图图3.6)。关联可以用箭头,表示该关联使关联可以用箭头,表示该关联使用的方向用的方向(单向或双向单向或双向),称为,称为导引导引或或导航导航(navigation)。(a)指定链接之间 有明确的顺序0.*1.*ordered保险合同保险合同个人个人PolygonPoint ordered图5.6(b)单向关联 受限关联受限关联(qualified association)(qualified association)使用限定
19、词对该关联的另一端的对象进行明确的标识和使用限定词对该关联的另一端的对象进行明确的标识和鉴别(鉴别(图图5.75.7)。)。类类1类类25.3.1 5.3.1 关联的表示关联的表示5 5关联的表示U M L 中 提 供 了 一 种 简 便、统 一 和 一 致 的 约 束中 提 供 了 一 种 简 便、统 一 和 一 致 的 约 束(constraint),是各种模型元素的一种语义条件或限制。一是各种模型元素的一种语义条件或限制。一条约束只能应用于同一类的元素。条约束只能应用于同一类的元素。约束的表示约束的表示如果约束应用于一种具有相应视图元素的模型元素,它可如果约束应用于一种具有相应视图元素的
20、模型元素,它可以出现在它所约束元素视图元素的旁边。以出现在它所约束元素视图元素的旁边。通常通常一个约束由一对花括号括起来一个约束由一对花括号括起来(constraint),花括,花括号中为约束内容(图号中为约束内容(图5.85.8)。)。如果一条约束涉及同一种类的多如果一条约束涉及同一种类的多个元素,则要用虚线把所有受约束的个元素,则要用虚线把所有受约束的元素框起来,并把该约束显示在旁边元素框起来,并把该约束显示在旁边(如或约束)。(如或约束)。PolygonPoint ordered图5.85.2.4 5.2.4 约束约束0.*1.*ordered保险合同保险合同个人个人 约束图5.9 对泛
21、化的约束的两种表示方法关联的约束关联的约束应用于泛化的约束,显示在大括号里,若有多个约束,用应用于泛化的约束,显示在大括号里,若有多个约束,用逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并在虚线的旁边显示约束,在虚线的旁边显示约束,如图如图5.95.9所示:所示:constraint 1,constraint 2Class AClass BClass CClass Dconstraint 1,constraint 2Class AClass CClass BClass D 对对泛化泛化有以下常用的约束:有以下常用的约束:说明说明泛化
22、中所有子元素都已在模型中说明,泛化中所有子元素都已在模型中说明,不允许再增加其它子元素不允许再增加其它子元素。父类对象不能有多于一个型的子对象。父类对象不能有多于一个型的子对象。说明不是说明不是泛化中所有子元素都已说明,允泛化中所有子元素都已说明,允许再增加其它子元素许再增加其它子元素。给定父类对象可有多于一个型的子对象,给定父类对象可有多于一个型的子对象,表示重载表示重载。5.3.2 5.3.2 约束约束返回返回帐号帐号人人单位单位图5.10 对象类的xor关联5.3.2 5.3.2 约束约束 对关联有以下常用的约束:对关联有以下常用的约束:该关联只是概念性的,在对模型进行精化时不再用。该关
23、联只是概念性的,在对模型进行精化时不再用。具有多重性的关联一端的对象是有序的。具有多重性的关联一端的对象是有序的。关联对象之间的链关联对象之间的链(Link)(Link)是可变的(添加、修是可变的(添加、修改、删除)。改、删除)。可在任意时刻增加新的链接。可在任意时刻增加新的链接。冻结已创建的对象,不能再添加、删除和修改它的冻结已创建的对象,不能再添加、删除和修改它的链接。链接。“或约束或约束”,某时刻只有一个当前的关联实例。,某时刻只有一个当前的关联实例。5.2.6 5.2.6 依赖依赖 依赖关系描述的是两个模型元素(类,组合,用例等)依赖关系描述的是两个模型元素(类,组合,用例等)之间的语
24、义上的连接关系,其中一个模型元素是独立的,另之间的语义上的连接关系,其中一个模型元素是独立的,另一个模型元素是非独立的(或依赖的)。一个模型元素是非独立的(或依赖的)。如图如图5.115.11表示表示类类A A依赖于类依赖于类B B的一个友元依赖关系。的一个友元依赖关系。类类A类类 B友元友元从一个对象中提取一些特性,并用从一个对象中提取一些特性,并用类方法表示。类方法表示。为模板参数指定值,以定义一个新的模为模板参数指定值,以定义一个新的模板元素。板元素。对不同类或包进行性质相似融合。对不同类或包进行性质相似融合。允许另一个对象对本对象的访问。允许另一个对象对本对象的访问。声明使用一个模型元
25、素需要用到已存在的声明使用一个模型元素需要用到已存在的另一个模型元素,这样才能正确实现使用者的功能另一个模型元素,这样才能正确实现使用者的功能(包括调用、包括调用、实例化、参数、发送实例化、参数、发送)。声明不同模型中元素的之间的存在一些连声明不同模型中元素的之间的存在一些连接。接。允许一个包访问另一个包的内容。允许一个包访问另一个包的内容。声明一个类调用其他类的操作的方法。声明一个类调用其他类的操作的方法。5.2.6 5.2.6 依赖依赖声明一个实例可从另一个实例导出。声明一个实例可从另一个实例导出。允许一个元素访问另一个元素,不管被允许一个元素访问另一个元素,不管被访问的元素是否具有可见性
展开阅读全文