当前位置:文档之家› 第五章 类图和对象图(UML)

第五章 类图和对象图(UML)



size
:integer
=(100)
9
第 五 章 类 图 和 对 象 图
5.1 类的定义
说明:
3、属性还有取值范围。类型表示该属性的种类。 它可以是基本数据类型,例如整数、实数、布尔 型和枚举型等,也可以是用户自定义的类型。一 般它由所涉及的程序设计语言确定必须为其指定 数据类型。当一个类的属性被完整定义后,它的 任何一个对象的状态都由这些属性的特性值所决 定。
关联类来记录。关联类通过一根虚线与关联连接
emplanyer employee
Company
1
Employs 0..n
Person
Ccontract
Salary:Double
29
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联类可以进一步描述关联的属性、操作及其他 信息。他描述的是两个类之间关联的属性,并不
20
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联是一种结构关系,它指明一个事物的对象与 另一个事物的对象间的联系 例如,一个人为一家公司工作,一家公司有许多办 公室。我们就认为人和公司、公司和办公室之间 存在某种语义上的联系。在分析设计的类图模型 中,则在对应人类和公司类、公司类和办公室类 之间建立关联关系
操作(Operation):类的操作是对类的对象所能 做的事物抽象,用于修改、检索类的属性或执行 某些动作。也被称为功能。它相当与一个服务的 实现,。该服务可以由类的任何对象请求以影响 其行为。一个类可以有任何数量的操作或者没有 操作
格式: [可见性]操作名[(参数列表)][:返回类型][{特性}] + disply () :Location
二元关联binary association
N元关联
34
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
2、聚合
聚集:是一种特殊的关联。它表示类间的关系是 整体与部分的关系。关联关系中一个类描述了一 个较大的事物,它由较小的事物组成,即整体对 象拥有部分对象。 表示形式:用空菱形的实线表示
35
5.2 类之间的关系
类不是独立存在的,大多数类以某些方式彼此协 作。
19
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
类间的关系分为:关联、聚合、实现、泛化、依 赖。 关联(Association)表示对象之间的结构关系 泛化(Generalization)表示类之间一般和特殊的关 系 依赖(Dependency)表示类之间的使用关系
2、私有:不可以从其他类中访问这个属性
3、受保护的:经常与泛化一起使用(后面章节 讲讲到)。
8
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
说明:
2、每个属性必须有个名字区分其他属性。通常 情况下属性名由描述所属类的特性的短名词或者 名词短语构成(小写字母开头)
[可见性]属性名[:类型][=初始值][{特性}]
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
修饰 语意
0..1
1 0..*或0..n
0或1
仅仅为1 0或者更多
1..*或 1..n
•或N
1或者更多
0或者更多
1..6
1~6
28
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联类:一个关联可能要记录一些信息,可以引入一个
描述两个类的属性。
emplanyer employee
Company
1
Employs 0..n
Person
Ccontract
Salary:Double 30
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联的约束:为关联加上一些约束,加强关联的 含义。
Person
Account {xor} company
38
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
3、依赖(dependency)关系
依赖关系:如果一个类的变化会影响另一个类的变化, 则称两个类之间有依赖关系
表示形式:用虚线三角箭头表示,指向被依赖的类
39
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
4、依赖(dependency)关系
5.1 类的定义(续)
类在UML中的表示:分成三个格子的矩形。
图书馆书的类 (省略掉操作)
图书馆书的类 (省略掉属性)
4
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
类名:是每个类所必须有的构成。用于和其他类 区分,是一个文本串。
类名要求应尽量应用领域中的术语,应明确、无 歧义,以利于开发人员与用户之间的勾通交流 单独的名称(single name):不包含冒号的字符 串。 路径名称(path name):用类所在的包作为前缀 的类名。如Business:Item
改变的因素:1.一个类向另一个类发送消息。 2.一个类是另一个类的数据成员类型 3.一个类是另一个类的操作的参数类型 注:如果两个类之间有关联,那么这两个类就有依赖关 系,但是我们一般不标出依赖关系。
21
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联的表示方式:用一条连接相同类或者不同类 的实线表示。
22
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
一个关联可以有两个和多个关联端。关联也有方 向,可以分为单向关联(uni-directional association)或双向关联(bi-directional association)
关联
University
Student
角色名
26
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
多重性:关联实例中说明两个类间存在多少个相 互连接。UML有三大扩展机制,多重性是第一 种约束。 多重性被表示为用点分隔的区间。表示格式
Minimun..maximum
均为int型的整数
27
25
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
角色:当一个类处于关联的某一端时,该类就在 这个关系中扮演着一个特定的角色。角色就是关 联关系中一个类对另一个类所表现的职责
emplanyer employee
Company
1
Employs 0..n
Person
Learner
Teacher
第五章 类图和对象图
教学目标:了解类图、类间的关系 对象图的 组成部分 教学要求:能建立简单的类图、对象图
1
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
类:是对一组具有相同属性、操作、关系和语义 的对象的描述。
这些对象可以包括现实世界中的软件事物和硬件 事物,甚至也可以包括纯粹概念性的事物。 类图(class diagram)是描述类、接口、协作及 他们之间关系的图,用来显示系统中各个类静态 结构。 在类图的基础上,可以使用协作图、状态图、组 件图和配置图。
2
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
类在UML中的表示:分成三个格子的矩形。
ClassName
Attribute: Attribute Type=initialValue
类名 属性
操作
Opetation(arg:Argument Type):ReturnType
3
第 五 章 类 图 和 对 象 图

size
:integer
=(100)
11
第 五 章 类 图 和 对 象 图
5.1 类的定义
说明:
5、特性是用户对该属性性质的一个约束说明。 比如{只读}
[可见性]属性名[:类型][=初始值][{特性}]

size
:integer
=(100)
12
第 五 章 类 图 和 对 象 图
5.1 类的定义
14
第 五 章 类 图 和 对 象 图
5.1 类的定义
说明:
操作名是用来描述所属类的行为的短动词或动词 短语(通常用小写字母开头)。如果是抽象操作, 用斜体字表示。
格式: [可见性]操作名[(参数列表)][:返回类型][{特性}] + disply () :Location
15
第 五 章 类 图 和 对 象 图
5
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
属性:描述了类在软件系统中代表的事物所具备 的特性。类可以有无限数量的属性,也可以没有 属性。
格式: [可见性]属性名[:类型][=初始值][{特性}] + size :integer =(100)
6
第 五 章 类 图 和 对 象 图
5.1 类的定义(续)
A B A B
类A和B之间的双向关联
类A到类B的单向关联
23
第 五 章 类 图 和 对 象 图

5.2 类之间的关系
1、关联
关联名:给关联加上名字,描述关联的作用。
Company
Employs
Person
24
第 五 章 类 图 和 对 象 图
5.2 类之间的关系
1、关联
关联名说明:关联的名称并不是必需的,当要明 确的给出关联提供角色名或当一个模型存在许多 关联并且要对这些关联进行查阅或者区别是才要 给出关联名。
31
第 五 章 类 图 和 对 象 图
相关主题