【软考路上】——用例图之include和extend

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/45599867

       记得去年刚学UML的时候,写了一篇用例图的博客——《UML图—用例图》

       2011年5月的软考下午题,考到了用例图,突然感觉对用例图中的include和extend概念有些模糊,因此搬出来,与大家共同学习。

       其实仔细思考后,这两者的概念还是很好理解的,顾名思义,include就是“包含”的意思,extend就是“扩展”的意思。

        include

       虽然include是包含的意思,但笔者认为,include在用例图中,主要体现的是“抽象”的思想。即当两个或多个用例存在相同的部分时,可以将这组动作抽出来作为一个独立的子用例,中的共同部分抽象出来。

       因为子用例被抽象出来了,因此它与基用例都不是一个完整的用例,只有他们结合起来时才是一个完整的用例。

       我们在做系统时经常会这样设计一个查询界面:

       这个查询界面和删除、修改就是一个典型的extend(扩展)关系用例的例子,如果要执行修改、删除操作时,都必须先进行查询操作,因此可以把查询功能抽出来。它的用例可表示为:

(include使用带虚线头的箭头表示,箭头方向指向子用例)

extend

        extend关系是对一个基用例的扩展,与include的区别就是, 具有extend关系的基用例是一个完整的用例,由它extend(扩展)而来的用例是在它基础之上的另一个功能(用例)。

        extend关系中,基用例

        同样也是上面这个查询界面:

         这个查询和导入到Excel就是一个extend的关系,导出到Excel是在查询的基础上进行的,是查询的扩展。

  include使用带虚线头的箭头表示,箭头方向指向基用例。

        总结:

        include关系中主要体现的是“抽象”的思想,基用例与子用例是不可分割的一个整体,必须同时执行。

        extend关系主要指由一个用例可以扩展出另一个用例,即使没有子用例的参与,也可以完成一个完整的功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

无人驾驶系列——深度学习笔记:Tensorflow的安装-windows系统

前言 近期由个人工作的需要,着手开始研究深度学习相关的内容。也是小白一枚,希望通过文字来记录自己学习过程中踩的坑,给看到的人一点帮助。 ? 目前深度学习框架中,...

29990
来自专栏Python中文社区

利用 tesseract 解析简单数字验证码图片

專 欄 ❈陈键冬,Python中文社区专栏作者 GitHub: https://github.com/chenjiandongx ❈ tesseract 是一...

43750
来自专栏IT派

什么是负载均衡?

IT派 - {技术青年圈} 持续关注互联网、大数据、人工智能领域 来源:xybaby 链接: http://www.cnblogs.com/xyb...

41770
来自专栏Pythonista

macos修改vmware Fusion的NAT网络

1.点击vmware Fusion > 偏好设置 > ( command + , )网络

10320
来自专栏FreeBuf

爬虫采集去重优化浅谈

以前在做漏洞Fuzz爬虫时,曾做过URL去重相关的工作,当时是参考了seay法师的文章以及网上零碎的一些资料,感觉做的很简单。近来又遇到相关问题,于是乎有了再次...

36760
来自专栏非典型程序猿

你不知道的gRPC反向代理

可用性、可靠性和扩展性是衡量后台服务的基本标准,HTTP反向代理,是任何一个提供大型Web服务后台所必备的,用以提高服务的这些基础参数,且通过支持到负载均衡而进...

2.3K110
来自专栏喔家ArchiSelf

一文贯通python文件读取

不论是数据分析还是机器学习,乃至于高大上的AI,数据源的获取是所有过程的入口。 数据源的存在形式多为数据库或者文件,如果把数据看做一种特殊格式的文件的话,即所有...

28520

控制MongoDB中的集群分片

分片标记是MongoDB 2.2.0版中的一项新功能。它应该强制写入到本地数据中心,但也可以用来将集合固定到一个分片或一组分片。

22170
来自专栏小狼的世界

IP地址和CIDR

IPV4的地址是一个32位的二进制数,由网络ID和主机ID两部分组成,用来在网络中唯一的标识一台计算机。IP地址通常用四组3位的十进制数表示,中间用.分割,例如...

35120
来自专栏Golang语言社区

【译】用Go实现一个静态博客生成器

静态站点生成器是一种工具,给一些输入(例如,markdown),使用HTML,CSS和JavaScript生成完全静态的网站。 为什么这很酷?一般来说,搭建一个...

65640

扫码关注云+社区

领取腾讯云代金券