UML图类名命名规则:
接口类:以大写I(interface)为开头
管理类:以大写M(manage)为开头
实体类:以大写E(example)为开头
具体操作类:以大写O(object)为开头
UML图常见的关系:
1、泛化(generalization): 带三角形的实线,箭头指向其父类,是一种继承的关系,子类特例化父类属性
etg:狮子是动物中的一种,狮子拥有动物的所有属性和行为
2、实现(realization): 带三角形的虚线,箭头指向其父类,是一种类与接口的关系,表示类是接口的特征和行为的实现
etg:有一个接口类(含有纯虚函数的类),子类必须将父类的接口实例化
3、关联(association): 带箭头的实线,其箭头指向被拥有者,是一种拥有关系,它使一个类知道另一个类的属性和方法,在代码里面体现为成员变量
etg:学生与课程之间是关联的,一个学生可以有门课程
4、聚合(aggregation): 带空心菱形的实心线
菱形指向整体,箭头指向部分,是整体与部分的关系,且部分可以脱离整体而存在,是强拥有关系,在代码中也是体现为成员变量
etg:轮胎和汽车是整体与部分的关系,轮胎可以独立于车子存在
5、组合(composition): 带实心菱形的实心线
菱形指向整体,箭头指向部分,是比聚合还要强的拥有关系,部分不可以脱离整体独立存在,代码中体现为成员变量,它表示整体的对象必须同时代表部分的生命周期
etg:公司和部门是整体和部分的关系,但部门不可以脱离公司的存在而独立存在
6、依赖(dependency): 带箭头的虚线,箭头指向被使用者,是一种使用的关系,即一个类的实现需要靠另一个类的协助,一般不使用双向的依赖关系,在代码中体现为局部变量,对静态方法的调用
etg:人类和手机是依赖关系,人类在生活中需要手机的帮助