用例图的三种关系

  1. 泛化(Generalization)
  2. 包含(Include)
  3. 扩展(extend)

概念和用法

(1)泛化关系:是一种继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。

(2)包含关系:基本用例的行为包含了另一个用例的行为,是比较特殊的依赖关系。

箭头方向由基本用例指向被包含用例。执行基用例时,每次都必须调用被包含用例, 被包含用例也可以单独执行。

例1:
当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系。其中提取出来的公共用例成为抽象用例,而把原始用例变成基本用例或基础用例。箭头指向抽象用例。

说明:
阅读者在读书和借书的时候,都要登记记录,他们有登记记录这一共同的行为,所以把它提取出来作为一种抽象用例,借书和还书这两个基本用例中包含了登记记录这一抽象用例。

例2:
一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。

说明:
一般用户有很多功能,其中包括各种信息的查看,这时可以建立一个查询信息这一个用例,然后下面在包含查看余额、查看上机记录、查看充值记录这三个小用例。

(3)扩展关系:扩展用例在扩展点上增加新的维护和含义。扩展用例为基用例添加新的行为,箭头指向基本用例。


举例说明:
在机房收费系统当中,操作员在进行信息查询的时候,需要将查询到的信息导出为excel表格,这个导出excel用例相对于信息查询用例来说就是一个扩展用例

何时使用,如何区分?

什么时候使用包含关系:

A.当两个或两个以上的用例包含大量的一致行为的时候,可以抽象出一个抽象用例
B.当用例数量太多或过于复杂的时候,可以使用抽象用例包含一些小用例

什么时候使用扩展关系:
基本动作在一个用例中,如果这个基本用例还有其他动作,但需要在一定条件下才执行,可以将它放在扩展用例中

UML用例图中三种关系详解相关推荐

  1. MySql数据库三种关系详解

    如何分辨三种关系,以及三种关系的图列对比. 1.分析三种关系. 是否左表的多条记录可以对应右表的一条记录,是,则证明左表的一个字段 关联(foreign key)右表的一个字段(通常为ID) 是否右表 ...

  2. js 将内部函数变成全局函数_js中三种作用域详解(全局,函数,块级)

    1.全局变量:声明在函数外部的变量(所有没有var直接赋值的变量都属于全局变量) 2.局部变量:声明在函数内部的变量(所有没有var直接赋值的变量都属于全局变量) JS中变量申明分显式申明和隐式申明. ...

  3. 网页中的三种地址详解

    网页中的a标签具有地址跳转的功能,href属性指向跳转的地址. 一.三种地址模式 网络地址分为两种,一种是绝对地址,一种是相对地址. 但是相对地址又可以细分为两种,一种是基于当前目录的相对地址,一种是 ...

  4. mysql 删除数据表中数据_Mysql-删除数据表-三种方式详解

    Mysql 删除数据表的三种方式详解 用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, ...

  5. UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  6. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  7. Maven精选系列--三种仓库详解

    转载自 Maven精选系列--三种仓库详解 仓库分类 1.本地仓库 本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings ...

  8. 查看登陆系统用户的信息的三种方法详解

    查看登陆系统用户的信息的三种方法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.who这个命令显示可以谁在登陆,但是这个有很多的花式玩法,这个命令超简单 语法:who [O ...

  9. C语言求最大公约数三种方法详解

    C语言求最大公约数三种方法详解 题目要求 常用写法(穷举法) 辗转相减法 辗转相除法 main函数 整体代码 题目要求 运行最大公约数的常用算法,并进行程序的调式与测试. 常用写法(穷举法) 从两个数 ...

  10. 新浪微博怎么推广引流,微博推广引流的三种方法详解

    新浪微博怎么推广引流,微博推广引流的三种方法详解,#推广#营销 微博营销有哪些特点?#百收网SEO@千行助推 大家好,上一次内容讲了生意人如何将客户引流到自己的微信上去,受到很多朋友的喜爱,那么这一期 ...

最新文章

  1. Linux PF_INET6 定义
  2. cfile清空文件内容_电脑C盘文件夹哪些可以删除?教你如何快速清理,旧电脑还能用3年...
  3. 量化交易,量化分析推荐书单
  4. 链表笔试题汇编(一)
  5. python实现斐波那契数列
  6. SQL的汇总统计SELECT语句
  7. Android Studio中R报错(cnanot resolve symbol R)
  8. Win32 编程
  9. python和java还有sql区别_人人都在学编程?Python,R,Java,SQL,你究竟需要学哪一种?...
  10. Ghost命令使用方法
  11. 怎么做 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算命令
  12. wps合并重复项并求和_wps中在同一张表格中怎么将相同项合并并求和
  13. Paddle飞桨动态图教程——轻量级人像语义分割BiSeNet V2(算法原理、训练、部署,含完整代码和数据)
  14. 背包问题(最大装载价值)
  15. AR技术应用 の 如何做一个Pokemon GO丢出精灵球抓住皮卡丘吧!(2)
  16. SUSAN角点检测与匹配算法代码(OpenCV)
  17. 七周成为数据分析师01-数据分析思维
  18. 控制台应用程序-打印图形
  19. C++(6)——子类调用父类函数实现
  20. php如何制作视频特效,视频特效怎么弄 给视频加一个主题样式,简单几步制作出属于自己风格的独特视频...

热门文章

  1. 电脑上计算机三个键盘的使用方法,干货:全方面介绍电脑键盘各键功能与组合键使用方法...
  2. layui upload 提示语
  3. ps3 2.0固件升级导致wifi失败
  4. 7. gdal进行遥感影像的16位转8位和百分比截断增强(看这篇就够了)
  5. 论文记录-2017-A review of affective computing: From unimodal analysis to multimodal fusion
  6. 服务器上qq邮件不能打开方式,QQ邮箱打不开是怎么回事?从QQ面板上打不开QQ邮箱怎么解决?...
  7. html+css个人简历/网页界面
  8. 输入日期得出星座c语言,C++输入日期 判断所属星座
  9. html根据出生日期计算星座,0047 JavaScript实现根据输入日期计算所属星座
  10. P2345 [USACO04OPEN]MooFest G 【树状数组】