一: 绘制工具
UML绘图的话推荐在线免费工具 ProcessOn , 界面简洁, 都有提示
二: 类图
- “+”表示
public
; - “-”表示
private
; - “#”表示
protected
; - 不带符号则表示
default
。 - 类图首行表示类名, 第二行一般用于属性, 第三行则是方法名用":"隔开, 后面是返回值类型, return * 或者是void无返回.
- 接口图第二行就是接口了
接口要表示为抽象接口和抽象方法即用斜体
三: 关联关系
双向关联: 即没有箭头的实线, 在属性中含有对方
单向关联: 即一方指向另一方, 结束线为黑色实体三角
四: 泛化关系
泛化关系是指对象与对象之间的继承关系, 即指向的一方为被继承者, 结束线为白色空心三角
五: 依赖关系
依赖(Dependency)关系是一种弱关联关系。如果对象A用到对象B,但是和B的关系不是太明显的时候,就可以把这种关系看作是依赖关系。
用虚线表示, 被依赖的一方用箭头表示
六: 聚合关系
聚合关系是一种强关联关系, 是整体与部分的关系, 可以是一对一或者是一对多, 成员对象是整体对象的一部分, 但成员对象也可以脱离整体对象而存在.
用实线表示, 指向方为整体对象, 用白色菱形表示
七: 组合关系
组合关系是一种极其强烈的聚合关系, 整体与部分密不可分, 脱离了整体, 那么部分也将不复存在.
组合关系用实线, 被指向的一方为整体对象, 用黑色实体菱形.
例如: 下图中的人和头也可以算是一种组合关系, 脱离了人的本身, 头也是不可能独立存在的. 一般常见用于订单和订单项这种, 订单取消了, 那么订单项也就销毁了.