1. 作用
- 用于面向对象软件开发的分析和设计阶段,描述系统的静态结构。
- 描述类与类、类与接口、接口与接口之间的静态结构和关系,描述系统的结构化设计。最基本的元素:类、接口。
- 用于应用程序的一般概念建模、详细建模、数据建模,将模型转换成编程代码。
- 类图是系统编码和测试的重要模型依据。
2. 元素
- 包(package)
- 类(class)
- 接口(interface)
- 关系(relation)
- 信号(signal)
- 数据类型(data type)
- 原始类型(primitive type)
- 枚举(enumeration)
3. 范围属性
- +:public
- #:protected
- -:private
- ~:package
4. 关系
4.1 关联(association)
拥有关系,拥有者能知道被拥有者的属性和方法。被拥有者是拥有者的属性。关联分单向关联(unidirectional association)和双向关联(bidirectional association)。
荔枝:
4.2 依赖(dependency)
使用关系。使用者需要被使用者的部分属性和方法。
荔枝:
4.3 泛化(generalization)
继承关系。使继承者(子类)拥有被继承者(父类)的属性和方法。
荔枝:
4.4 聚合(aggregation)
描述整体与部分的关系,部分离开整体可以独立存在。
荔枝:
4.4 组合(composition)
描述整体与部分的关系,部分不能离开整体独立存在。
荔枝:
4.5 实现(realization)
类的方法体现接口的行为。
荔枝:
5. Robustness(拓展)
边界(boundary)
实体(entity)
控制(control)