UML类图
UML在国内一般充当文档使用(虽然可以直接生成代码),以下记录下基本的类图画法。
对象图
对象图描述的是参与交互的各个对象在交互过程中某个时刻的状态。对象图可以被看作是类图在某一时刻的实例。具体画法如下图:
类之间的关系
类直接的关系有: 依赖关系、泛化关系、关联关系和实现关系。
依赖关系
依赖关系(Dependency)表示两个或多个模型元素之间语义上的关系。它表示这样一种情形,对于一个元素的某些改变可能会影响或提供消息给其他元素,即使用者以某种形式依赖其他类元。画法如下图:
依赖关系又分为: 使用依赖、抽象依赖、授权依赖和绑定依赖。
使用依赖
使用依赖表示使用服务提供者所提供的服务实现它的行为。具体说明如下图:
抽象依赖
抽象依赖建模表示使用者和提供之间的关系,分为: 跟踪依赖(trace)、精化依赖(refine)和派生依赖(derive). 如下图:
授权依赖
绑定依赖
泛化关系
泛化关系(Generalization)是一种存在于一般元素和特殊元素之间的分类关系,它只用于类型,而不用于实例,即父子类中。画法如下:
关联关系
关联关系(Association)是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。也就是说,关联描述了系统中对象或实例之间的离散连接。画法如下:
聚合
聚合(Aggregation)是表示整体和部分关系的关联,描述了has-a的关系。聚合是一种特殊的关联关系, 画法如下:
组合
组合关系(Composition)是聚合关系中的一种特殊情况,是更强形式的聚合,又称为强聚合。在组合中,成员对象的生命周期取决于聚合的生命周期,聚合不仅控制成员对象的行为,而且还控制成员对象的创建和销毁。画法如下:
导航
导航(Navigation)性描述的是一个对象通过链(关联的实例)进行导航可以访问另一个对象。导航性可以分两类: 单向关联和双向关联。 画法如下:
关联类
在两个类之间的关联中,关联本身可以有特征。即关联和类一样,也可以有自己的属性和操作,此时这个关联实际就是一个关联类。画法如下: