关于UML的视频内容看了也有一段时间了,对其大概的内容也有了初步的了解,大概内容把主要讲软件设计过程中用到的九种建模图形以及在每种图用到的一些关系。对于这个视频内容,感觉挺纠结的虽然只有四大关系,可以模模糊糊的总是分不清楚,痛苦啊!话说到底有哪四种关系?
UML类图关系中关联即时发生关系,一个类A关联类B,说明类A中的字段中含有类B中的实例连接。
关联关系中又分为两种关系
是一种强关联关系。聚合关系就是整体和部分之间的关系(可分割)。
相比于聚合关系是一种更强的关联关系,也称为强聚合。虽然它同样表示整体和部分的关系,但是此时整体与部分是不可分割的。
依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。
例如我使用水杯喝水,喝水这个动作依赖于水杯,如果水杯损坏,会影响到我的方法——喝水。
泛化关系也就是继承关系,泛化关系用于描述父类与子类之间的关系,父类又称为作基类或超类,子类又称为派生类。
用来规定接口和实践接口的类或构建结构的关系,接口是操作的集合,而这些操作就用于规定类或者构建的一种服务。
接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现关系,在这种关系中,类实现了接口,类中的操作实现了接口中所声明的操作。
UML类关系中实现关系还有一种省略的表示方法,即接口表示一个小圆圈,并和实现接口的类用一条线段连接。
包含关系:一个用例可以包含其他用例中的具有的行为,并把它所包含的用例行为作为自身包含的一部分。
例如下面无论是添加、删除、修改用户信息,都需要更新数据信息,更新数据库信息作为一个公共的功能模块,故可以用包含关系。
扩展关系:和包含关系极为相似,如果完成某项功能的时候偶尔会使用另一项功能。
例如下面的例子:老师登记完成成绩后,如果学生的成绩低于60分,则打印成绩成绩单,否则就不打印。故是否打印成绩单功能只是偶尔的使用,根据此判断相对保存成绩来说只是扩展关系。
整理上面几种关系的强弱:
泛化=实现>组合>聚合>关联>依赖
因为每种关系都有一种独立的连接符号,为了区别,故总结一下。
【总结】
关于UML视频中的内容比较多,主要是涉及到每个图之间的联系,以及图本身的一些联系,涉及到关系感觉种类很像,所以有点模糊,对后面的画图也有很大的影响。先总结着,给画图做个铺垫。看视频的过程中出现不知道总结该写什么内容,和师傅说了好久,发现了自己为什么不能做好总结,以及自己的思维导图为什么画的很烂,缺少一种全局观,看完视频后,不能跳出视频的内容,对全局有一个整体的概括,也造成了学习效率很低。关于这个问题,先从自考画导图开始,锻炼对自己全局观的把控能力!
本人菜鸟一个,上述内容如有不对的地方,欢迎各位大神及时指出,不胜感激!