类别图是软件工程的统一建模语言(UML)一种静态结构图,该图描述了系统的类别集合,类别的属性和类别之间的关系
概述
类别图是面向对象式的建模。他们一般都被用于概念建模(conceptual modelling)的系统分类的应用程序,并可将模型建模转译成程式码。
- 最上面是类别名称
- 中间部分包含类别的属性
- 底部部分包含类别的方法
为了进一步描述系统的行为,这些类图可以辅之以状态图或UML状态机。
成员
UML提供机制,以代表类的成员,如属性和方法,对他们的其他信息。
指定一个类成员的可见性(即任何属性或方法)有下列符号,必须摆在各成员的名字之前。
+ 公共 - 私有 # 受保护 ~ 包 / 继承 下划线 静态
关系
实例层级的关系
外部链接
外部链接(External links)是物件之间的基本关系关联
一个关联(Association)代表一个家族的联系。
关联可以命名,并结束一个关联可以饰以角色名称,所有权指标,多重性,可视性,以及其他属性。目前定义有五种不同类型的关联。双向(Bi-directional)和单向(uni-directional)的关联是最常见的。
聚合
组成
组成(Composition)关系,子类别是必须依靠父类别而存在的,例如公司与公司部门就是一种组成关系。图形以实心的菱形作代表。
关联、组成和聚合之差异
当一个类作为另一个类某个方法的参数时,为关联。
两者的差别主要描述了子类的生命周期的不同。组成关系中,一旦父类被销毁子类也会随之销毁;聚合关系中,子类的生命周期与父类独立。
类别层级的关系
概括
概括(Generalization),是指类别与类别之间的共通性,通常会具有继承(inherit)的关系。用实线和空心箭头来表示。
实现
UML建模时,一个实现(realization)关系是两个模型元素之间的关系,其中一个模型元素(客户端)实现的行为,其他模型元素(供应商)指定
一般关系
依赖
依赖(Dependency)是一种弱化形式的关系,表示一类别依赖于另外的类别,因为类别在某个时间点使用另一个类别。
多重
关联多重性(Multiplicity)是用来定义参与物件数量,每个参与类别都必须指定多重性值,例如class A 会有多少个instance与class B 的多少个instance关连在一起,在现实生活中,一个汽车驾驶与汽车个数就是多重关系,可以是一对多,或是多对多。
参考文献
- ^ UML中关联,聚合,组合的区别. [2012-02-20].
- ^ UML 基础: 类图. [2012-02-20].
外部链接
- Introduction to UML 2 Class Diagrams
- UML 2 Class Diagram Guidelines
- IBM Class diagram Introduction
- OMG UML 2.2 specification documents