UML关系“剪不断,理还乱,别是一番滋味在心头啊”,在画机房收费系统九种图的时候感觉有点吃力,不是不懂得九种图,而是对于关系没有把握好,我自身存在两个问题:一是,知道四种关系的含义但是就是不能很好地联系实际,一到了机房收费系统画图就找不到他们之间到底存在何种关系了;二是,说来很惭愧啊,我在画图的时候,一边看着四种关系的图形表示,一边画图╭(╯^╰)╮,总是自己画不出来(记是记不住的,多实践啊)。
下面谈一下对这四种关系的理解。
【关联】
分为聚合和组合,验收九种图的时候,大佬给我举了这样一个例子:大雁和翅膀之间是组合关系,大雁和雁群之间就是聚合关系。很经典,这就忘不了啦哈哈。
结合机房收费系统分析:
组合关系举例:
聚合关系:
【泛化】
可以简单的理解为继承关系,但是不同的是它表现的关系比较弱。
机房收费系统中用户关系可以理解为是泛化关系,如下图分析
【依赖】
可以通俗的理解为,两个对象相互依存,一个的存在以另一个的存在为基础,双方处于同一共同体内。
这个在分析机房收费系统的时候遇到的比较多,比如说一般用户的查询功能需要有导出到Excel的功能辅助实现,所以二者就可以理解为依赖
【实现】
做所有的工作的目的都是为了实现某一特定目标。
自我感觉,可以区分好这四种关系,所以就不进行两两对比啦。。。
补充一点:
画图的时候还遇到一种关系表达——用例间关系
(1)include关系(包含)
(2)extend关系(扩展)
如上图所示。
阶段学习小感:理论最终还是要落实到实践上,通过画图找到了自己的不足,谁都是第一次画这几种图,没有必要迷茫,有自己的思想就好,不会的时候还是要一直“土豆土豆炖”,在实战中慢慢磨练吧。