读书笔记1
参考书<UML系统分析设计与应用案例> 冀振燕 编著 人邮出版社
第三章
在面向对象的建模中,有四个重要的关系:
依赖关系(
dependency
)
:
如果一个模型元素的变化会影响另一个模型元素(这种影响不必是可逆的),那么就说这两个模型元素之间存在依赖关系。在类图中,依赖可以由许多原因引起,例如,一个类向另一个类发送消息参数(也即一个类的操作调用另一个类的操作),或者一个类是另一个类的数据成员,或者一个类是另一个类的某个操作,那么就可以说这两个类之间存在依赖关系。依赖关系是使用关系。
UML
符号表示
:
类属关系(
Generalization
)
(应该译为泛化关系):
在解决复杂性问题时,通常需要将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。例如,学生可以分为大学生、中学生、小学生,火车可以分为客运列车和货运列车。在面向对象的方法中,将前者称为一般元素、基类元素或父类元素,将后者称为特殊元素或子元素。类属关系描述了一般事物与该事物的特殊种类之间的关系,也即父元素与子元素之间的关系。子元素继承父元素所具有的结构和行为,通常子元素还要添加新的结构和行为,或者修改父元素的行为。
UML
符号表示:
关联关系(
Association
)
:
关联关系表示两个类之间存在某种语义上的关系。
它是一种结构关系
,规定了一种事物的对象可以与另一种事物的对象相联。例如,雇员为公司工作,一个公司有很多部门就可以认为雇员和公司,公司和部门之间存在某种语义上的联系。
UML
符号表示:
A.
聚合关系(
Aggregation
)
:是一种特殊的关联关系。聚合表示类之间的关系是整体和部分的关系,它代表“拥有”关系,也即作为整体的对象拥有作为部分的对象。
UML
符号表示:
B.
组合关系(
Composition
)
:是一种特殊的聚合关系,也是一种特殊的关联关系。聚合关系完全是概念上的,只是区分了整体和组成部分,没有改变改变整体及其组成部分之间的关联导航的含义,也没有将整体与部分的生命周期联系起来。组合是聚合的变种,它加入了一些重要的语义。在组合关系中整体与部分之间具有很强的所有关系和一致的生命周期。在一个组合关系中,一个对象一次只是一个组合的一部分。例如,在一个窗口系统中,一个对象
Frame
只属于一个对象
window
。这与简单的聚合关系相反。在简单的聚合关系中,一个“部分”可以被几个“整体”共享。例如,一面墙(对象
wall
)可以是多个房间(对象
room
)的一部分;另外,在组合关系中,“整体”负责“部分”的创建和破坏。例如,在一个
Company
系统中创建一个
Department
必须依附于
Company
,当破坏对象
Company
时,对象
Company
会反过来破坏对象
Department.
UML
符号表示:
实现关系(
Realize Relationship
)
:是分类器之间的语义关系,一个分类器规定合同,另一个分类器保证实现这个合同。大多数情况下,实现关系被用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的实现。也就是说,接口规定了类或组件必须实现的合同。一个接口可以被多个类或组件实现,一个类或组件也可以实现多个接口。接口的使用将操作的接口和操作的实现分离开来。当类或组件实现一个接口时,它意味着类或组件实现了接口的所有操作,完全遵守接口所建立的与客户之间的协议,并响应客户使用接口中的操作所发出的消息。
UML
符号表示: