UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第三章类图和对象图 如何对一个类建模 如何表现一个类的特性、职责和约束 小结
Page 2 ◼ 如何对一个类建模 ◼ 如何表现一个类的特性、职责和约束。 ◼ 小结 第三章 类图和对象图
类图描述系统中类的静态结构。不仅定义系统中的类表 示类之间的联系如关联、依赖、聚合等也包括类的内部结 构(类的属性和操作)类图描述的是一种静态关系,在系统 的整个生命周期都是有效的。 对象图是类图的实例,几乎使用与类图完全相同的标识 他们的不同点在于对象图显示类的多个对象实例而不是实 际的类。 一个对象图是类图的一个实例。由于对象存在生命周期, 因此对象图只能在系统某一时间段存在
Page 3 ◼ 类图描述系统中类的静态结构。不仅定义系统中的类,表 示类之间的联系如关联、依赖、聚合等,也包括类的内部结 构(类的属性和操作)。类图描述的是一种静态关系,在系统 的整个生命周期都是有效的。 ◼ 对象图是类图的实例,几乎使用与类图完全相同的标识。 他们的不同点在于对象图显示类的多个对象实例,而不是实 际的类。 ◼ 一个对象图是类图的一个实例。由于对象存在生命周期, 因此对象图只能在系统某一时间段存在
类的可视化表示 在UML中一个矩形表示一个类的图标 Washing Machine 注:按照UML的约定 1、把类名的首字母大写,放在矩形的偏上部 2、如果类名是由两个单词组成,那么将两个单词合 并,第二个单词首字母大写
Page 4 在UML中一个矩形表示一个类的图标 类的可视化表示 WashingMachine 注:按照UML的约定 1、把类名的首字母大写,放在矩形的偏上部。 2、如果类名是由两个单词组成,那么将两个单词合 并,第二个单词首字母大写
属性 属性是类的一个特性。它描叙了类的对象(也就是类的实例)所 具有的一系列特性值。一个类可以具有零个到多个属性。属性名 列表放在类名之下,并且和类名之间用分隔号隔开,如图所示。 Washingmachine brandName codename seriaNumber 注:按照UML的约定 1、单个单词的属性名的小写。 2、如果属性名是由多个单词组成,那么将多个单词 合并,除了第一个单词外,其它单词的首字母大写
Page 5 属性 属性是类的一个特性。它描叙了类的对象(也就是类的实例)所 具有的一系列特性值。一个类可以具有零个到多个属性。属性名 列表放在类名之下,并且和类名之间用分隔号隔开,如图所示。 注:按照UML的约定 1、单个单词的属性名的小写。 2、如果属性名是由多个单词组成,那么将多个单词 合并,除了第一个单词外,其它单词的首字母大写 。 WashingMachine brandName modeName serialNumber
属性的附加信息 UML还允许指明属性的附加信息。要指明类型,则在属性 值后面加上类型名,中间用冒号隔开。还可以为属性指定 个缺省值 Washing Machine brandName: String=“海尔” modeName: String serialNumber: String
Page 6 属性的附加信息 UML还允许指明属性的附加信息。要指明类型,则在属性 值后面加上类型名,中间用冒号隔开。还可以为属性指定 一个缺省值 WashingMachine brandName:String=“海尔” modeName: String serialNumber: String
对象 类的属性在该类的每个对象中都有具体值。下图是一个例 子。注意,对象名首写字母小写,后面根一个冒号,冒号后面是该对 象所属的类名,并且整个名字要带下划线。 myWasher: Washing Machine brandName=“海尔” modeN ame=“小神童” serialNumber=“GL0214” 命名对象或者不命名对象 名字 my Washer: WashingMachine是一个命名实例( named instance)。也 可以有诸如: WashingMachine这样的匿名实例( anonymous instance)
Page 7 对象 ◼ 类的属性在该类的每个对象中都有具体值。下图是一个例 子。注意,对象名首写字母小写,后面根一个冒号,冒号后面是该对 象所属的类名,并且整个名字要带下划线。 myWasher:WashingMachine brandName=“海尔” modeName=“小神童” serialNumber=“GL0214” 命名对象或者不命名对象 名字myWasher: WashingMachine是一个命名实例(named instance)。也 可以有诸如:WashingMachine这样的匿名实例(anonymous instance)
操作 操作(。 peration)是类能够做的事情或者你(或者 另一个类)能对类做的事情。操作名列表要放在属性 名列表之下,两者之间用分隔线隔开,如图所示。 Washing machine 注:按照UML的约定 brandName 单个单词的操作名的 codename 小写。 serialNumber 2、如果操作名是由多个 单词组成,那么将多个 addclotheso 单词合并,除了第一个 单词外,其它单词的首 remove Clothes 字母大写 turnON
Page 8 操作 操作(operation)是类能够做的事情或者你(或者 另一个类)能对类做的事情。操作名列表要放在属性 名列表之下,两者之间用分隔线隔开,如图所示。 WashingMachine brandName modeName serialNumber addClothes() removeClothes() turnON() 注:按照UML的约定 1、单个单词的操作名的 小写。 2、如果操作名是由多个 单词组成,那么将多个 单词合并,除了第一个 单词外,其它单词的首 字母大写
操作的附加信息 你也可以为操作指定附加信息。在操作名后面的括号中 可以说明操作所需要的参数和参数类型。有一种操作叫 函数( function),它在完成操作后要返回一个返回值。 可以指明函数的返回值及返回值的类型。 WashingMachine brandname codename serialNumber add Clothes(C: String) removeClothes(C: string) turnON: Boolean
Page 9 操作的附加信息 你也可以为操作指定附加信息。在操作名后面的括号中 可以说明操作所需要的参数和参数类型。有一种操作叫 函数(function),它在完成操作后要返回一个返回值。 可以指明函数的返回值及返回值的类型。 WashingMachine brandName modeName serialNumber addClothes(C:String) removeClothes(C:string) turnON():Boolean
属性操作的可视化表示 1、在实际中,可以只给出类名,而将属性或者操作区(或 者两个全都)空着,如图所示: WashingMachine
Page 10 1、在实际中,可以只给出类名,而将属性或者操作区(或 者两个全都)空着 ,如图所示: 属性操作的可视化表示 WashingMachine