UML在分析系统时,尤其时分析面向对象的系统时认为系统元素间存在6种关系:
1泛化:相当于特殊与一般之间的关系(典型的是面向对象中的父类和子类之间的关系)
2实现:相当于人与事之间的关系(典型的就是类与接口之间的关系,派出所登记户口和负责登记户口的人)
3组合:也叫合成关系,相当于整体和部分之间的关系,整体不存在了,个体也不存在(公司和公司部门,药品及其各组成成分),同生共死关系。
4聚合:也叫共享关系,也是一种整体和部分的关系,但部分可以离开整体而存在(汽车和汽车轮胎),非同生共死关系。
5关联:A和B之间可以有关系,也可以没有关系,可以时1对1,也可以n对n(老师和学生,老师和课程,学生和课程)
6依赖:A是B存在的前提。如函数A的实现要依赖于函数B(即B必须调用A)
如果出现互相依赖怎么办?虚拟出来一个C,A依赖C,B依赖C
虽然是分析信息系统的,但是用来分析其他系统,如社会管理系统也是不错的
以上内容,部分来自UML的常用关系及其符号表示
这几种关系不太好记忆:特殊与一般(1,三角),整体与个体(2,菱形),个体之间(2,箭头),人与事(1,三角)
三角最稳定,菱形最灵活,箭头最一般