最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下。
一、概念
用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。
用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。
二、组成
用例图组成的概念,我们通过一张图学习:
我们重点讲解用例组成中用例之间的关联
【表示方式】虚线箭头 + include;箭头由基础用例指向被包含用例
【作用】提高用例模型的可维护性;简化描述避免多个用例中重复描述同一段行为或对同一段行为描述不一致
【包含图】
2. 扩展
【表示方式】虚线箭头 + extend;箭头指向基础用例
【作用】一定条件下,扩展用例为基础用例增加新的行为
【扩展图】
3. 泛化
【表示方式】实线空三角箭头;箭头指向父用例
【作用】子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式
【泛化图】
扩展关系和包含关系的比较:
1、扩展关系:基础用例提供一个或多个插入点,扩展用例为插入点提供需要插入的行为
包含关系中只有一个插入点
2、扩展关系:基础用例执行,扩展不一定执行
包含关系:基础用例执行,包含用例必须执行
3、扩展关系:即使没有扩展用例,基础用例本身是完整的
包含关系:没有包含用例,基础用例本身不完整
为大家简单的举一个机房收费系统的小例子: