UML是用来设计软件蓝图的可视化建模语言。那么UML究竟是如何实现的可视化呢?这就要说说UML的九种图了。
UML九种图分别是:用例图;类图;对象图;状态图;构件图;部署图;协作图;交互序列图和活动图。
这篇文章会以问答得形式,为大家详细的介绍“用例图”。
问题一:什么是用例图?
用例图(Use-CaseDiagrams)是用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
问题二:用例图的构成是什么,也就是用例图的基本要素是什么?
用例图由用例、角色和关系三者构成。
问题三:用例图的三个基本要素之间如何表示?
详解见下图:
问题四:用例图基本要素中关系的分类?
(1)关联关系:用直线表示。
(2)依赖关系:表示使用关系
(3)泛化关系:表示继承关系
问题五:用例的主要属性?
(1)事件流:描述一个用例在执行时执行者与系统之间的交互过程。他又包括:基本流和备选流。
(2)前置条件:是用例执行的前提条件,用来描述在什么条件下可以开始执行一个事件流。
(3)后置条件:说明用例结束时系统的状态。
问题六:不同的人画的用例图不同,如何判断谁的用例图更为合适呢?
需要知道用例的粒度和范围。个人理解用例的粒度也就是用例的大小。
以此分为三个级别:
第一,也就是最概括化的概述级;如下图:
第二是用户目标级;如下图:
第三是比较详细的子功能级;如下图:
用例的粒度以每个用例能够说明一件完整的事情为宜。
以上是我对用例图的一些简单介绍。
期待您的建议和意见,也请您期待我的下篇博客--UML图之静态图!
最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下。
一、概念
用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。
用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。
二、组成
用例图组成的概念,我们通过一张图学习:
我们重点讲解用例组成中用例之间的关联:
- 包含
【表示方式】虚线箭头 + include;箭头由基础用例指向被包含用例
【作用】提高用例模型的可维护性;简化描述避免多个用例中重复描述同一段行为或对同一段行为描述不一致
【包含图】
- 扩展
【表示方式】虚线箭头 + extend;箭头指向基础用例
【作用】一定条件下,扩展用例为基础用例增加新的行为
【扩展图】
- 泛化
【表示方式】实线空三角箭头;箭头指向父用例
【作用】子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式
【泛化图】
扩展关系和包含关系的比较:
1、扩展关系:基础用例提供一个或多个插入点,扩展用例为插入点提供需要插入的行为
包含关系中只有一个插入点
2、扩展关系:基础用例执行,扩展不一定执行
包含关系:基础用例执行,包含用例必须执行
3、扩展关系:即使没有扩展用例,基础用例本身是完整的
包含关系:没有包含用例,基础用例本身不完整
为大家简单的举一个机房收费系统的小例子: