用例图是在项目初期确认需求的时候,需要明确各个参与者之间的关系以及对应的功能,它可视化地展示了整个系统的功能以及功能之间、功能与参与者之间的关系。

1、元素

1.1 角色(actor)

角色不一定是人,可以是一个程序、组织或者外部系统。

1.2 用例(use case)

这个名词有点难以理解,在公司里,测试用例说的是每个测试项目,而在这里的意思是指功能。

1.3 子系统(subsystem)

它代表着一个系统、模块的集合,在子系统里有自己的功能

1.4 关系

关系是连接用例与用例之间、用例与角色之间的连接线,常用的分为以下5种

a、关联(association)

含义:角色与用例之间的联系、交互等

箭头:

连接对象:角色与用例之间

箭头指向:指向消息接收方,对于角色来说,如果发出指令给用例,那么箭头指向用例;如果是接受用例执行的结果和数据,那么箭头指向自己。

b、泛化(Inheritance)

含义:跟面向对象编程里的意义类似,具体用例继承于抽象用例,子角色继承于父角色

箭头:

连接对象:用例之间或者角色之间

箭头指向:子用例指向父用例,子角色指向父角色

c、包含(include)

含义:将一个复杂的用例分解成多个较小的用例或者步骤。

箭头:

连接对象:用例之间

箭头指向:父用例指向子用例

d、依赖(dependency)

含义:用例之间的依赖关系

箭头:

连接对象:用例之间

箭头指向:依赖方指向被依赖方

e、扩展(extend)

含义:用例的延伸,就相当于给用例增加了一个附加功能

箭头:

连接对象:用例之间

指头指向:指向被扩展方

2、重点

包含、扩展、泛化这三点有时候很难区分

条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是由条件的;

直接性:泛化中的子用例和extend中的延伸用例,是可以为参与者提供直接服务的,但include就不能提供直接服务,只能提供间接服务;

对扩展而言:延伸的用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容;

而对于泛化而言:子用例包含基础用例的所有内容及其和其他用例或者参与者之间的关系。

本文的学习对象:https://www.cnblogs.com/biehongli/p/6052421.html

最新文章

  1. JDBC判断数据库是否插入成功
  2. OptionsMenu
  3. ZeroC Ice 暂记
  4. 简单的分页存储过程,Json格式日期转换为一般日期
  5. jquery对于table的操作
  6. Dorado7 4版本升级5版本问题汇总
  7. mysql中-e用法
  8. Sqli-labs less 23
  9. javascript--苹果系统底部菜单--详细分析(转)
  10. SetTimer 和 OnTimer 的使用
  11. transition过渡的趣玩
  12. Mac神器Iterm2的Shell Integration的用法和注意事项
  13. [模拟]P1202 [USACO1.1]黑色星期五Friday the Thirteenth
  14. ajax 防止重复提交
  15. 【转】无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) ubuntu 安装vim 及遇到的错误处理
  16. Rocket.Chat 开源IM系统部署
  17. Maven classifier 元素妙用
  18. SQL Server中的高可用性(3)----复制 (转载)
  19. mark1-git
  20. 详解基本TCP套接字函数

热门文章

  1. 2_abstractions
  2. Longest Ordered Subsequence POJ - 2533 dp 最长上升/不下降 子序列
  3. 海康 - 终端服务器 - TS-5012-F
  4. 初识消息队列--ActiveMq
  5. Python tip
  6. pandas模块详解
  7. STM32------SYSCLK
  8. C语言-条件编译使用分析
  9. SCRIPT429: Automation 服务器不能创建对象
  10. python3练习100题——003