用例图之参与者、用例间的四种关系(超详细)
文章目录
- 1.关联关系
- 2. 泛化关系
- 3.包含关系
- 4.扩展关系(extend)
1.关联关系
定义:参与者与用例之间通常用关联关系来描述。
表示方法:带箭头的实线,箭头指向用例。
如图所示:
2. 泛化关系
定义:一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
泛化关系在类间也有。
子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变已继承的行为。
表示方法:带空心箭头的实线,箭头指向被泛化(被继承)**的用例,即父用例。(PS:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。)
如图所示:
3.包含关系
定义:其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。基础用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。
表示方法:虚线箭头+<>字样,箭头指向被包含的用例。
如图所示:
使用情况:
(1)如果两个以上用例有重复的功能,则可以将重复的功能分解到另一个用例中。其他用例可以和这个用例建立包含关系。
(2)一个用例的功能太多时,可以用包含关系创建多个子用例。
4.扩展关系(extend)
定义:是把新行为插入到已有用例的方法。
个人感觉可以叫做特殊情况处理。比如去食堂用饭卡打饭,绝大部分人是刷卡,拿饭,两个步骤就完成了。但是如果某个学生的饭卡里没钱了,假定不用现金或者借钱或者赊账等等其他的方式来打饭,而是必须用自己的饭卡来打饭。那么他就要先去给饭卡充值。“饭卡充值”就是“刷卡”的一个扩展用例。“饭卡充值”与“刷卡”就是扩展关系。
表示方法:虚线箭头+<>字样,箭头指向被扩展的用例(即基础用例)。
如图所示:
作用:为处理异常或构建灵活系统框架提供了一种有效的方法。
对比:
包含与扩展的区别。在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。
总结:
所有的箭头指向都是**“被”**的一端。
找关系,是一件挺复杂的事儿。从不同的角度看会有不同的结果。找到大前提,再理顺特定环境下的关系,会更加顺手。
用例图之参与者、用例间的四种关系(超详细)相关推荐
- 烤仔TVのCCW | 智能合约间的四种调用(下)
大家好,欢迎收看 CCW. 在上期<智能合约间的四种调用(上)>视频中,我们提到了以太坊的智能合约中 4 种不同的调用指令,而这些调用指令,对应了不同的调用方式. 但是,在智能合约的执行过 ...
- 数据库 实体间的3种关系
数据库实体间有三种对应关系:一对一,一对多,多对多. 一对一关系示例:一个学生对应一个学生档案材料,或者每个人都有唯一的身份证编号. 一对多关系示例:一个学生只属于一个班,但是一个学院有多名学生. 多 ...
- java线程安全定义了什么单例_Java中四种线程安全的单例模式实现方式
第一种:饿汉模式(线程安全) public class Single2 { private static Single2 instance = new Single2(); private Singl ...
- UML基础、建模与设计实战笔记03第3、4章建模工具简介,常见uml建模工具,创建模块,创建类,用例图,参与者,用例,用例描述,用例之间的可视化表示,用例图建模技术及应用,进销存系统用例图
1.常见uml建模工具 建模工具应该具有的功能 绘图 存储 一致性检查 对模型进行组织 导航 写作支持 代码生成 逆向项目 集成 支持多种抽象层和开发过程 文档生成 脚本编程 工具主要有 Rose P ...
- UML中的用例间关系图示
今天应用用例图对一个系统进行了分析,期间需要考虑用例间关系.随找到如下资料. 正文: 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗 ...
- 用例图——如何描述用例
一 用例图 1 用例间的关系 包含.扩展.泛化. 三者都属于依赖关系. 2 箭头方向 (1) 包含关系,基用例依赖它所包含的用例,箭头指向包含用例. (2) 扩展关系:扩展用例依赖基用例,它由基用 ...
- 【软件工程】用例间的关系
用例间的关系主要包含以下四种: 关联 包含 扩展 泛化 关联建立起参与者和用例之间的通信渠道. 包含关系和扩展关系由<<include>>和<<extend> ...
- 如何根据用例图写出用例描述
如何根据用例图写出用例描述 前言:因为用例描述中的执行者和用例名很容易通过用例图得出来,所以下面讲的主要内容是如何通过用例图获得用例描述中的交互动作序列. 第一步 用例分类 A.用例分类是什么??? ...
- Molecular Psychiatry:对四种主要精神疾病间的白质微结构改变的大型mega分析
明确精神障碍患者大脑结构的共性和差异对于理解精神疾病的病理生理学具有重要意义.最近,ENIGMA精神分裂症DTI工作组进行了大规模的荟萃分析,并指出精神分裂症中存在广泛白质微结构改变:然而,迄今为止还 ...
最新文章
- 随笔之如何实现一个线程池
- linux实现时间服务器视频,linux实现时间同步有哪几种方法
- 阿里开源的那个牛X的问题排查工具——Arthas,推出IDEA插件了!
- 真实,让文学回到原点:关于非虚构写作的思考
- python写文字方法_Transcrypt: 用Python写js的方法
- DotNetty 实现 Modbus TCP 系列 (二) ModbusFunction 类图及继承举例
- 这个外挂要上天了!教一千遍都不会的数理技巧,还不如搞懂最根本的概念!
- while中的break
- centos下升级g++版本
- 【每日一练 085】性能优化-实例优化(四)
- c#获取本地ip地址网关子网掩码_C#--WinForm获取本机网卡的型号,IP地址,子网掩码和网关-阿里云开发者社区...
- HDU.1006 Tick and Tick
- c#位数不够0补充完_人教版四年级上册数学第六单元《除数是两位数的除法》
- HDOJ1003 MaxSum【逆推】
- (附源码)springboot投票系统的开发毕业设计261136
- Android Studio中ListView通过自定义Adapter显示数据3-1
- 《赢家的诅咒》书中的精髓:人性的复杂让主流经济学出现了诸多失灵,如何用更多理论完善经济学大厦是经济学家的重要使命
- 基于TI AM335X的工业网关参考设计分享
- 自定义小程序中的showToast
- linux数字音频播放器,Moode Audio Player数字音频播放系统的体验