UML与系统分析设计(第二版) 第5章 对象类图与对象图.ppt
《UML与系统分析设计(第二版) 第5章 对象类图与对象图.ppt》由会员分享,可在线阅读,更多相关《UML与系统分析设计(第二版) 第5章 对象类图与对象图.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、建立对象模型是面向对象的开发方法的基本任务,是软件建立对象模型是面向对象的开发方法的基本任务,是软件系统开发的基础,也是一个最需要倾注精力和时间的技术系统开发的基础,也是一个最需要倾注精力和时间的技术活动。活动。对象类与对象的图形表示法是面向对象分析方法的核心技对象类与对象的图形表示法是面向对象分析方法的核心技术之一,它能表达面向对象模型的主要概念。术之一,它能表达面向对象模型的主要概念。UMLUML的对象类图(的对象类图(Class DiagramClass Diagram)与对象图(与对象图(Object Object DiagramDiagram)具有强大的表达能力,能够有效地对现实世界
2、的具有强大的表达能力,能够有效地对现实世界的业务领域和计算机系统建立可视化的对象模型。业务领域和计算机系统建立可视化的对象模型。UMLUML对象类图与对象图表达的是对象模型的静态结构方面。对象类图与对象图表达的是对象模型的静态结构方面。UMLUML的对象类图与对象图中的一部分图形元素是基本的,的对象类图与对象图中的一部分图形元素是基本的,如类、对象、关联等,对于任何面向对象模型都是必不可如类、对象、关联等,对于任何面向对象模型都是必不可少的;另一部分高级概念及其图形表达方法则不一定都会少的;另一部分高级概念及其图形表达方法则不一定都会用到。用到。第第5 5章章 对象类对象类图与对象图图与对象图
3、Home第第5 5章章 对象类对象类图与对象图图与对象图5 5.1 .1 对象类图对象类图Home5 5.2 .2 对象类的关联对象类的关联5 5.3 .3 聚合与组合聚合与组合5 5.8 .8 对象类的高级概念对象类的高级概念5 5.4 .4 泛化泛化5 5.9 .9 对象类图的应用对象类图的应用5 5.5 .5 依赖依赖5 5.6 .6 对象图对象图5 5.7 .7 接口与端口接口与端口对象类(对象类(ClassClass)简称类,是面向对象模型的最基本的模型简称类,是面向对象模型的最基本的模型元素。对象类图表达一组对象类和它们的联系。元素。对象类图表达一组对象类和它们的联系。在对象类图中
4、,一方面描述各个对象类本身的组成,即类在对象类图中,一方面描述各个对象类本身的组成,即类的属性、操作和对对象的约束;另一方面描述系统中对象的属性、操作和对对象的约束;另一方面描述系统中对象类之间的各种静态的联系。类之间的各种静态的联系。对象类图描述的是系统的静态结构。对象类图描述的是系统的静态结构。对象类的结构性联系:关联、聚合、组合、泛化对象类的结构性联系:关联、聚合、组合、泛化/特化。特化。对象类的行为性联系:消息联系,系统预定义或用户自定对象类的行为性联系:消息联系,系统预定义或用户自定义的语义联系义的语义联系 。使用联系使用联系 :依赖。:依赖。对象类图标加上它们之间的联系就构成了对象
5、类图。对象类图标加上它们之间的联系就构成了对象类图。5.1 5.1 对象类图对象类图Home例:对象类图示例,例:对象类图示例,如图如图5.15.1所示,它表示所示,它表示一个一个 网上商店的对象网上商店的对象模型(部分)。模型(部分)。5.1 5.1 对象类图对象类图Home图5.1 一个对象类图示例 5.1 5.1 对象类图对象类图Home5.1.1 5.1.1 对象类对象类5.1.2 5.1.2 属性属性5.1.3 5.1.3 操作操作对象类是对象的集合,这些对象具有共同对象类是对象的集合,这些对象具有共同的结构特征、行为特征、联系和语义。的结构特征、行为特征、联系和语义。对象类的图标(
6、对象类的图标(IconIcon)用实线矩形框表示,用实线矩形框表示,矩形框中含有若干分隔框,分别包含类的矩形框中含有若干分隔框,分别包含类的名字、属性、操作、约束以及其他成分等,名字、属性、操作、约束以及其他成分等,如图如图5.25.2所示。所示。类名可以是简单名,也可以是路径名。类名可以是简单名,也可以是路径名。属性框中包含对象类的属性。属性是类的属性框中包含对象类的属性。属性是类的命名的性质,它描述类性质的实例所能具命名的性质,它描述类性质的实例所能具有的值。有的值。操作框中包含对象类的操作。操作实现类操作框中包含对象类的操作。操作实现类的服务功能,它可以被本类的对象请求执的服务功能,它可
7、以被本类的对象请求执行,从而发生某种行为。行,从而发生某种行为。其他的框可以包含责任、联系、约束、业其他的框可以包含责任、联系、约束、业务规则、事件、例外情况等内容的说明。务规则、事件、例外情况等内容的说明。Home5.1.1 5.1.1 对象类对象类类名属性操作学生 姓名 年龄 性别 注册 选课图5.2 对象类的图形表示 类的属性(类的属性(AttributeAttribute)是类的命名的性质,属性在类图标是类的命名的性质,属性在类图标的属性分隔框中用文字串说明,如图的属性分隔框中用文字串说明,如图5.35.3所示。所示。属性有在本对象类中唯一的属性名或标识符。属性有在本对象类中唯一的属性
8、名或标识符。冒号冒号“:”后跟属性值的数据类型。后跟属性值的数据类型。属性名后跟的方括号中的内容是可选项目。属性名后跟的方括号中的内容是可选项目。多重性(多重性(MultiplicityMultiplicity)用多值表达式表示,其值是该对象用多值表达式表示,其值是该对象类的每个实例的属性值的个数。类的每个实例的属性值的个数。多值表达式的格式为:多值表达式的格式为:integer integer,integerinteger,或或 低界低界.高界高界 Home5.1.2 5.1.2 属性属性图5.3 对象类的属性框 属性 可视性 属性名 多重性:类型=初始值可视性(可视性(Visibility
9、Visibility)用以下可视性标记表示:用以下可视性标记表示:+(公共),(公共),#(保护),(保护),(私用)(私用)可视性也可以用以下关键字表示:可视性也可以用以下关键字表示:publicpublic(公共)、公共)、protectedprotected(保护)保护)、privateprivate(私用)。私用)。若可视性标记为若可视性标记为“+”或或“publicpublic”,则为公共属性,可以被外部则为公共属性,可以被外部对象访问。若可视性标记为对象访问。若可视性标记为“#”或或“protectedprotected”,则为保护属则为保护属性,可以被本类或子类的对象访问。若可视
10、性标记为性,可以被本类或子类的对象访问。若可视性标记为“”“”或或“privateprivate”,则为私用属性,不可以被外部对象访问,只能为本则为私用属性,不可以被外部对象访问,只能为本类的对象使用。可视性可以缺省,表示该属性不可视。类的对象使用。可视性可以缺省,表示该属性不可视。属主范围(属主范围(Owner scopeOwner scope)有两种情况:实例和分类符。有两种情况:实例和分类符。若若属性的属主范围是实例,则该对象类的每一个实例对象都有一个属性的属主范围是实例,则该对象类的每一个实例对象都有一个自己的该属性的值自己的该属性的值 若若属性的属主范围是分类符,则对于该对象类本属性
11、只有一个值,属性的属主范围是分类符,则对于该对象类本属性只有一个值,该对象类的每一个实例对象都持有此唯一的属性值。该对象类的每一个实例对象都持有此唯一的属性值。Home5.1.2 5.1.2 属性属性操作(操作(OperationOperation)是对象类的行为特征或动态特征。是对象类的行为特征或动态特征。一个类可以有多个操作,也可以没有一个操作。没有一个操一个类可以有多个操作,也可以没有一个操作。没有一个操作的类常用于表达接口或数据表。作的类常用于表达接口或数据表。操作用文字串说明,如图操作用文字串说明,如图5.45.4所示。所示。操作有在本对象类中唯一的操作名或标识符。操作有在本对象类中
12、唯一的操作名或标识符。参数列表是可选项目,即一个操作可以有参数,也可以没有参数列表是可选项目,即一个操作可以有参数,也可以没有参数。参数。参数列表由逗号分隔的操作的形式参数组成,其格式为:参数列表由逗号分隔的操作的形式参数组成,其格式为:参数列表参数列表 参数名参数名 :类型类型=缺省值,缺省值,返回列表由逗号分隔的操作的返回值类型表达式组成,其格返回列表由逗号分隔的操作的返回值类型表达式组成,其格式为:式为:返回类型返回类型或或 返回名字返回名字=类型,类型,Home5.1.3 5.1.3 操作操作图5.4 对象类的操作框 操作 可视性 操作名(参数列表):返回列表(性质)操作的可视性的表示
13、方法和含义与属性中相同。操作的可视性的表示方法和含义与属性中相同。操作也有属主范围的区分,它的含义和表示与属性的操作也有属主范围的区分,它的含义和表示与属性的属主范围相同。属主范围相同。对象的构造操作(构造函数)必须带有下划线,表示对象的构造操作(构造函数)必须带有下划线,表示它的属主范围是分类符。构造操作也可以用构造型它的属主范围是分类符。构造操作也可以用构造型constructor标示。标示。操作定义的最后花括号操作定义的最后花括号中的性质,是一个文字串,中的性质,是一个文字串,说明该操作的一些有关信息。性质是一个可选项。说明该操作的一些有关信息。性质是一个可选项。注意区别术语注意区别术语
14、“操作操作”和和“方法(方法(MethodMethod)”。操作操作是被对象调用的一个过程,而方法是过程体,这在有是被对象调用的一个过程,而方法是过程体,这在有多态性的情况下二者是有所区别的。多态性的情况下二者是有所区别的。Home5.1.3 5.1.3 操作操作例:对象类例:对象类“Circle”Circle”的图形表示,如图的图形表示,如图5.55.5所示。所示。Home5.1.3 5.1.3 操作操作图5.5 对象类示例 5.2 5.2 对象类的关联对象类的关联Home5.2.1 5.2.1 对象的关联对象的关联5.2.2 5.2.2 自返关联、二元关联与自返关联、二元关联与N N元关联
15、元关联5.2.3 5.2.3 关联的约束关联的约束关联(关联(AssociationAssociation)代表对象类的实例(对象)之间的代表对象类的实例(对象)之间的一组链接(一组链接(LinkLink)。)。关联的一个实例,就是相互关联关联的一个实例,就是相互关联的两个对象间的一个链接。的两个对象间的一个链接。关联的定义可以用一个类图表示,如图关联的定义可以用一个类图表示,如图5.65.6所示。所示。Home5.2.1 5.2.1 对象类的关联对象类的关联图5.6 对象类关联的图形表示 在对象类图上,关联用一条把对象类连接在一起的实线表示。一个关在对象类图上,关联用一条把对象类连接在一起的
16、实线表示。一个关联至少有两个关联端联至少有两个关联端,每个关联端连接到一个类,关联端是有序的。每个关联端连接到一个类,关联端是有序的。关联线旁可以标出关联的名字关联线旁可以标出关联的名字 。线旁的小实心三角箭头表示关联的线旁的小实心三角箭头表示关联的方向,从源对象类指向目标对象类。箭头起关联的导航作用。方向,从源对象类指向目标对象类。箭头起关联的导航作用。关联可以是单向的或双向的,如果该关联是双向的,就不必标出方向关联可以是单向的或双向的,如果该关联是双向的,就不必标出方向箭头,如图箭头,如图5.7 5.7 所示。所示。在关联端可有多重性标记在关联端可有多重性标记,规定该对象类中有多少个对象参
17、与该关联。规定该对象类中有多少个对象参与该关联。在关联的对象类图标旁可以标出类的角色名(在关联的对象类图标旁可以标出类的角色名(RoleRole)。)。角色表示被关角色表示被关联的类参与关联的特定的行为。联的类参与关联的特定的行为。Home5.2.1 5.2.1 对象类的关联对象类的关联图5.7 关联的角色与可视性示例 带有限定符的关联称为限定关联(带有限定符的关联称为限定关联(Qualified AssociationQualified Association)。)。如如图图5.85.8所示。所示。限定符的值确定如何划分和标识该关联的目标对象类的限定符的值确定如何划分和标识该关联的目标对象类
18、的对象。对象。源对象类的一个带有限定符值的对象,唯一地选择目标源对象类的一个带有限定符值的对象,唯一地选择目标对象类的一个划分。对象类的一个划分。目标对象类的每一个对象只能是某一个划分的成员。目标对象类的每一个对象只能是某一个划分的成员。Home5.2.1 5.2.1 对象类的关联对象类的关联图5.8 限定关联示例 关联本身也有特性,通过关联对象类(关联本身也有特性,通过关联对象类(Association Association ClassClass)可以进一步描述关联的属性、操作,以及其他信可以进一步描述关联的属性、操作,以及其他信息。息。例:图例:图5.9 5.9 中的关联对象类中的关联对
19、象类“工作岗位工作岗位”。Home5.2.1 5.2.1 对象类的关联对象类的关联图5.9 关联对象类示例 自返关联又称递归关联自返关联又称递归关联,是是一个对象类与本身的关联,一个对象类与本身的关联,即一个类的两个对象间的联即一个类的两个对象间的联系。系。自返关联虽然只有一个被关自返关联虽然只有一个被关联的类,但有两个关联端,联的类,但有两个关联端,每个关联端的角色不同。每个关联端的角色不同。例:例:在图在图5.105.10中,对象类中,对象类“职务职务”存在自返关联存在自返关联“管理管理”。Home5.2.2 5.2.2 自返关联、二元关联和自返关联、二元关联和NN元关联元关联图5.10
20、自返关联示例 二元关联是在两个对象类之间二元关联是在两个对象类之间发生的关联。图发生的关联。图5.75.7、图、图5.85.8和和图图5.95.9所表示的关联均为二元所表示的关联均为二元关联。关联。N N元关联是在元关联是在3 3个或多个对象个或多个对象类之间发生的关联,类之间发生的关联,N N 元关元关联的每一个实例是被关联的联的每一个实例是被关联的类的对象的多元组。类的对象的多元组。在对象类图上用一个菱形连接在对象类图上用一个菱形连接互相关联的类表示互相关联的类表示N N 元关联,元关联,如图如图5.115.11所示。所示。Home5.2.2 5.2.2 自返关联、二元关联和自返关联、二元
21、关联和NN元关联元关联图5.11 N元关联示例 关联可以加上一些约束,以规定关联的含义。关联可以加上一些约束,以规定关联的含义。约束的字符串括在花括号约束的字符串括在花括号内。内。UMLUML定义了一些约束可以施加在目标关联端上,如定义了一些约束可以施加在目标关联端上,如“implicit”implicit”、“ordered”“ordered”、“changeable”“changeable”、“addonly addonly”、“xorxor”等。等。例:具有例:具有xorxor约束的关联,如图约束的关联,如图5.125.12所示。约束所示。约束xor xor 代表一组关联的代表一组关联的
22、互斥的情况。互斥的情况。Home5.2.3 5.2.3 关联的约束关联的约束图5.12 对象类的xor关联示例 5.3 5.3 聚合与组合聚合与组合Home5.3.1 5.3.1 聚合聚合5.3.2 5.3.2 组合组合聚合(聚合(AggregationAggregation)表示事物的部分表示事物的部分/整体关系的较弱的情况。整体关系的较弱的情况。聚合也称为聚合也称为“has-ahas-a”联系。联系。在关联线端加一个小空心菱形表示聚合,菱形连接代表整体在关联线端加一个小空心菱形表示聚合,菱形连接代表整体事物的对象类,称之为聚合类,另一个关联端连接代表部分事物的对象类,称之为聚合类,另一个关
23、联端连接代表部分事物的对象类。事物的对象类。例:圆和多边形是图形格式的两个聚合对象类,如图例:圆和多边形是图形格式的两个聚合对象类,如图5.135.13所示所示。Home5.3.1 5.3.1 聚合聚合图5.13 对象类的聚合与组合示例 组合(组合(CompositionComposition)表示事物的部分表示事物的部分/整体关系的较强整体关系的较强的情况。组合也称为的情况。组合也称为“contains-acontains-a”联系。联系。在关联线端加一个小实心菱形表示组合,菱形连接代表在关联线端加一个小实心菱形表示组合,菱形连接代表整体事物的对象类,称之为组合类,另一个关联端连接整体事物的
24、对象类,称之为组合类,另一个关联端连接代表部分事物的对象类。代表部分事物的对象类。例:圆由点组成,例:圆由点组成,“圆圆”是组合对象类,是组合对象类,“点点”是成分是成分对象类;多边形也是由点组成的,是一个组合类对象类;多边形也是由点组成的,是一个组合类 ,如,如图图5.135.13所示所示。聚合与组合表示的部分聚合与组合表示的部分/整体结构关系对系统建模具有整体结构关系对系统建模具有重要的作用:重要的作用:简化了对象的定义;简化了对象的定义;支持软件重用支持软件重用。Home5.3.2 5.3.2 组合组合组合的另一种表示方组合的另一种表示方式:把成分对象类放式:把成分对象类放在它的组合类的
25、属性在它的组合类的属性框中,在其右上角可框中,在其右上角可以标出多重性标记。以标出多重性标记。成分对象类的名字可成分对象类的名字可以按格式写为:以按格式写为:“角角色名色名:类名类名”。例:图例:图5.145.14是图是图5.135.13的另一种画法。的另一种画法。Home5.3.2 5.3.2 组合组合图5.14 组合的另一种表示 5.4 5.4 泛化泛化Home5.4.1 5.4.1 返化返化/特特化化5.4.2 5.4.2 继承继承5.4.3 5.4.3 重载与多态性重载与多态性泛化泛化/特化(特化(Generalization/SpecializationGeneralization/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML与系统分析设计第二版 第5章 对象类图与对象图 UML 系统分析 设计 第二 对象
限制150内