UML内容
用例图
概念
用例图显示谁是相关的用户,用户希望系统提供什么功能(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测试。
使用场景
建立需求模型,明确业务目标,对系统功有清晰概览
用例图主要回答了三个问题:1、是谁用的系统;2、系统提供的功能;3、功能之间的关系
在需求分析初期,帮助开发人员明确项目目标,以及达到目标要具有哪些功能,使技术人员对整个系统功能有个清晰明确的概览。
核心元素
核心元素介绍
| 元素 | 定义 | 图形 | ||
| 系统 | 划分当前分析的系统边界,系统内部为用例,外部为参与者; 系统边界的划分会对用例以及参与者定义有所影响。 |
| ||
| 参与者 | 在系统外与系统交互的某人或者某物。 |
| ||
| 用例 | 一个用例是参与者希望目标系统具有的一个功能。 |
| ||
| 关 系 | 用例与参与者的关系 | 哪些用例是哪些参与者的目标就将它们用实线连接起来。 |
| |
| 用例与用例的关系 | 包含 (<<include>>) | 基用例的应用场景: ① 抽取出多个基用例之间的共有模块,供多个基用例复用。 ② 基用例包含的功能过多时,通过子用例将功能模块拆分为多个部分。 每次执行基本用例时,包含用例都会执行。 |
| |
| 扩展 (<<extend>>) | 将基用例中一段相对独立且可选的动作,用扩展用例加以封装,从而使基用例的行为功能更加集中。 基用例没有子用例的参与也可以完成一个完整的功能。 |
| ||
| 泛化 (<<Generalization>>) | 每个子项共享父项的共同行为,但每个子项都添加了自身的独特行为。 |
| ||
示例

参与者:
假设该系统的参与者有两个:1、读者 2、图书管理员。
用例:
对于读者来说,希望用户提供的功能是可以登录、借书以及还书;
对于图书管理员来说,希望可以维护图书信息。
用例与用例之间的关系:
-
包含
针对包含关系的两种应用场景,在图中的使用情况如下:
① 抽取出多个基用例之间的共有模块,供多个基用例复用。
借书和还书功能都需要验证读者身份,每次执行基用例的时候,子用例必然会执行;
② 基用例包含的功能过多时,通过子用例将功能模块拆分为多个部分
维护图书信息功能,包含增加图书、删除图书和修改图书三个功能模块。当执行维护图书信息用例时,三个子
用例必然有一个会被执行。
-
扩展
超期罚款属于从还书模块中抽取出来的一个相对独立且可选的功能,满足超期这个条件,就执行罚款功能,没有满足则不执行。没有超期罚款功能的参与,还书模块也可以作为一个完整的功能使用,所以它们是扩展关系。
-
泛化
当使用登录功能的时候,可以选择微信登录,也可以选择手机号登录。在这个场景中登录是一个基用例,而
微信登录和手机号登录作为子用例都继承基用例的登录行为,且有添加了自身特殊的行为(不同的登录方式),所以它们是泛化关系。
绘图注意点
-
核心元素使用是否正确,关系表达是否正确
比如,包含关系的两个用例,是使用一条带箭头的虚线由基本用例指向包含用例。
-
用例的执行结果对参与者来说是可观测和有意义的
比如,有一个后台进程监控参与者在系统里的操作,并在参与者删除数据的之前备份操作,虽然它是系统的一个必要组成部分,但对于参与者来说是不可观测的,所以后台进程监控不算是一个用例。
-
几种关系的侧重点
关系
子用例和基用例之间的行为特征关系
子用例和子用例之间的行为特征关系
基用例执行是否子用例也执行
包含
基用例的行为特征包含子用例的行为特征
没有相似的行为特征
是
扩展
基用例的行为特征包含子用例的行为特征
没有相似的行为特征
否
泛化
基用例和子用例有相同的行为特征






