UML用例图之关联关系、包含关系、扩展关系、泛化关系详解
目录
- UML定义
- UML图结构
- 用例图定义
- 用例图中的事物
- 用例图中的关系
- 关联关系
- 包含关系
- 特点
- 使用场景
- 扩展关系
- 特点
- 使用场景
- 泛化关系
- 特点
- 使用场景
- 包含关系和扩展关系的联系和区别
UML定义
UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。它的主要作用是通过提供模型图帮助用户对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。
UML图结构
用例图定义
- 从系统的使用者的角度所理解的系统的总体功能。强调这个系统是什么而不是这个系统怎么工作。
- 建立于系统需求阶段,是需求分析人员和用户对系统需求达成的共识。
用例图中的事物
用例
系统外部可见的一个系统功能单元。
参与者
表示用例的使用者在与这些用例交互时所扮演的角色
可以是:人、硬件设备或一个系统
用例图中的关系
关联关系
- 参与者与用例之间的关系
- 表示该用例是该参与者发起的,表示参与者可以行使系统中的这个功能
包含关系
特点
- 用例之间的关系
- 基用例必须和包含用例一起使用才够完整,包含用例也必然被执行。包含关系在用例图中使用带箭头的虚线表示(在线上标注<>),箭头从基用例指向包含用例。
使用场景
- 如果两个以上用例有大量一致的功能,则可以将这个功能分解到另外一个用例中。其它用例可以和这两个用例建立包含关系。
扩展关系
特点
- 用例之间的关系
- 扩展用例是对基用例的扩展,即使没有扩展用例的参与,也可以完成一个完整的功能。扩展在用例图中使用带箭头的虚线表示(在线上标注<>),箭头从扩展用例指向基用例。
使用场景
UML用例图中扩展用例为基用例添加新的行为,相当于为基础用例提供一个附加功能。
泛化关系
特点
子用例指向父用例,父用例一般是抽象用例(用例之间的关系)
是一种继承关系,泛化关系在用例图中用实线+空心三角形表示,空心三角形指向父参与者,子参与者可以继承父参与者所有的行为。
使用场景
子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系
包含关系和扩展关系的联系和区别
联系:
- 都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。
区别:
- 扩展关系中基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行。
- 包含关系中基本用例的基本流执行时,包含用例一定会执行。
UML用例图之关联关系、包含关系、扩展关系、泛化关系详解相关推荐
- echart关系树状图_echart——关系图graph详解
VueEchart组件见上一篇 export default { data () { const title = { // show: true, //是否显示 text: "画布关系图&q ...
- 视频文件格式扩展名/专用名词详解_拔剑-浆糊的传说_新浪博客
视频文件格式扩展名/专用名词详解 收藏 http://blog.csdn.net/fancyaphy/archive/2006/08/08/1037131.aspx AAC AAC全称高级音频编码(A ...
- 关系代数:集合运算和关系运算部分详解
小插曲:小编在学习计算机二级的时候,苦于关系代数的关系运算理解,在网上百度很多的资源,大都是概念,而且是文本形式呈现的.个人喜好图文形式的理解,因此将做的比较好的ppt做成帖子供大家参考,如有错误,请 ...
- 用例图中的包含关系(include)与拓展关系(extend)的区别
一直被这两个关系困扰,不太容易分辨某些用例到底是拓展关系还是包含关系,比如网站转账系统 转账和登录系统是什么关系? 我登录网站可以什么都不做,也可以选择转账,从这方面看是拓展关系. 但是我直接选择转账 ...
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解(转)
Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从Extension Manager里安装:最新版本是19号发布的2.5版 然后重启你的VS开发环境 ...
- 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解
Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从Extension Manager里安装:最新版本是19号发布的2.5版 然后重启你的VS开发环境 ...
- 摄影中的色温和白平衡及其二者关系的全面详解
一.什么是白平衡 白平衡就是保持"白色"的平衡,以18%中级灰的"白色"为标准.白平衡的调整过程就是通过调整色温而实现的.一般建议晴天时将白平衡调到日光(520 ...
- php ci 框架 扩展缓存类,CodeIgniter扩展核心类实例详解
本文实例讲述了CodeIgniter扩展核心类的方法.分享给大家供大家参考,具体如下: CI中对核心类.辅助类和函数的扩展是相当方便的,配置文件中指定了subclass_prefix扩展前缀,默认为M ...
- td不允许自己扩展_V神原文详解:通过及时性检测器(TD)解决区块链的51%攻击问题...
注:原文作者是以太坊联合创始人Vitalik Buterin,在这篇文章中,他提出了一种称为及时性检测器(TD)的构造,以试图解决区块链51%攻击的问题. (图:Vitalik Buterin) 以下 ...
最新文章
- javascript中的for循环
- 【BZOJ】4259: 残缺的字符串 FFT
- php检测http状态码,php回来HTTP状态码
- Oracle日志分类
- [BZOJ5303] [HAOI2018] 反色游戏
- 神操作:教你用Python识别恶意软件
- python解决数据不均衡,上采样方法解决
- Struts2第三篇【Action开发方式、通配符、Struts常量、跳转全局视图、action节点默认配置】...
- 业界常用的技术评估指标和方法,
- 上传 visio 2003 基本形状图谱
- Outlook和Foxmail里设置Gmail(Google)谷歌企业邮箱
- Matlab——指派问题
- 如何开发一款棋牌游戏?棋牌游戏平台搭建
- 树莓派简单摄像头录像并保存视频文件
- php运行模式cgi,修改DirectAdmin面板PHP运行模式为CGI
- 有容云:梁胜-如何让Docker容器在企业中投产(上)
- apache ftpserver 被动模式配置
- 新百家姓出来了,看你排第几位?
- 微信代码错误:40164,加入白名单仍不起作用。
- 用vb脚本语言找出c盘所有文件及其子文件中后缀名为.txt的文档,2012年3月计算机二级VB练习题及答案:文件...