UML用例图的画法详细介绍【软件工程】

article/2025/9/30 3:29:43

文章目录

    • I.总述和预备知识
    • II.关联(Association)关系
    • III.泛化(Generalization)关系
    • IV.包含(Include)关系
    • V.扩展(Extend)关系
    • VI.总结


I.总述和预备知识

首先,用例图是用来描述系统功能的技术,表示一个系统中用例与参与者及其关系的图,主要用于需求分析阶段,同时它由参与者(actor)、用例(case)和容器(container) 三部分组成,并具有关联(Association)、泛化(Generalization)、包含(Include)和扩展(Extend) 四种关系。

【预备知识】:关于组成成分:参与者、用例和容器

参与者(actor): 表示与应用软件或系统进行交互的用户、组织或外部系统,画图时用一个小人表示:
在这里插入图片描述
用例(case): 表示外部可见的系统或软件的功能,对系统提供的服务进行描述,画图时用椭圆和文字表示:
在这里插入图片描述
容器(container): 代表着一个系统,画图时用一个矩形表示,矩形内一般是一个一个的用例:

在这里插入图片描述
下面从用例图的四种关系进行逐一介绍。


II.关联(Association)关系

关联(Association)关系是用例图最常见的一种关系,简单理解就是参与者(actor)与每个用例(case)之间存在的一种相互交流、通信的关系,发生的对象是参与者和用例。这种关系与类图的关联关系很相似,可以近似理解。

画法上,关联关系无论是双向的还是单向的,一律用单向的实线箭头从参与者指向用例

在这里插入图片描述


III.泛化(Generalization)关系

泛化(Generalization)关系是我们通常理解的继承关系:子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系;子用例可以使用父用例的一段行为,也可以重载它。此时,父用例通常是抽象的,而子用例表现出很强的具体性。(这里的子用例和父用例同样适用于参与者)

在用例图中,泛化关系存在于用例(case)之间参与者(actor)之间,但通常不会出现在二者混合之间。画法上,泛化关系表示为实线、空心三角箭头,从“子”指向“父”

在这里插入图片描述


IV.包含(Include)关系

包含(Include)关系是用来表示把一个较复杂用例所表示的功能分解成较小的步骤的一种关系。从定义不难看出,这种关系只会存在于用例(case)之间,并且通常是对一个复杂的用例进行拆解操作。

画法上,包含关系表示为两个部分:首先是一条虚线箭头,从较复杂的用例指向拆解出的功能用例;第二部分是在虚线上标注《include》,表示这是包含关系(与下一个扩展关系进行区分):

在这里插入图片描述


V.扩展(Extend)关系

扩展(Extend)关系是用来表示用例功能的延伸的一种关系。这种关系同样是发生在用例(case)之间,相当于为基础用例提供一个附加功能用例。

画法上,扩展关系同样分两个部分:首先是一条虚线箭头,从延伸功能用例指向基础用例(直观感受与包含关系刚好相反);第二部分是在虚线上标注《extend》,表示这是扩展关系:

在这里插入图片描述


VI.总结

对四种关系的画法进行一个总结:

关系UML画法
关联关系一条从参与者指向用例实线
泛化关系一条从 “子”指向“父”空心三角实线
包含关系一条从较复杂用例指向拆解出的功能用例虚线,并标有 《include》
扩展关系一条从延伸功能用例指向基础用例虚线,并标有 《extend》

最后放一个登录注册系统的UML用例图:

在这里插入图片描述


http://chatgpt.dhexx.cn/article/dWcKtp5q.shtml

相关文章

UML用例图

文章目录 一、定义二、构成1、参与者2、用例3、边界4、参与者与用例的关系1、关联(association)2、泛化(inheritance)3、包含(include)4、扩展(extend) 三、案例附录 一、定义 用例图…

UML 用例图

UML 用例图 参考 【UML】— 用例图 用例图 初学UML——用例图 需求中如何画用例图 为什么使用用例图 从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。用例建模起源于面向对象建模。 概念 图形化地描述了谁将使用该系统以及用户希望与系统交互的方…

UML之用例图

用例图(use case diagram) 用例图可以让其他人更直观的了解一个系统。假如我们现在有一个 APP 方案📝想让其他人了解它,但是无论怎么表达他们都无法理解,那么我们可以使用用例图去表示它,这样能让其他人更…

UML——用例图

用例图 用例图:用来描述用户的需求,从用户的角度来描述系统的功能,并指出各种功能的执行者,强调谁在使用系统,系统为执行者完成了哪些功能。 用例图基本元素: (1)用例&#xff1a…

UML简单介绍(五)——用例图的使用案例与分析

1、泛化关系 参与者:经理,安全主管,保安 在参与者之间不存在泛化关系的情况下,各个参与者参与 用例的情况分别是: 经理参与用例管理人事和批准预算; 安全主管参与用例批准安全证书; 保安参与…

[软件工程] UML 用例图详解

参考博客: https://blog.csdn.net/sinat_25207295/article/details/116073819 https://blog.csdn.net/cold___play/article/details/100824261 参考教材: 软件工程(第四版)高等教育出版社 统一建模语言(Unified Modeling Langu…

UML建模--用例图

用例图主要用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用这个系统干什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖。它展示了一…

python3爬取网易云音乐《我们》全部评论

伴随着《后来的我们》的上映,这首歌的评论也是一路暴涨。如今让我们趁着这波秋风(虽然已经有点晚了),把这首歌的评论爬下来。虽然之前还打算做出词云可视化出来然而,还是太懒了 之前爬过豆瓣《霸王别姬》的影评做过这…

行业分析常用到的21个网站

行业分析常用到的21个网站 前言 今天写《就业乱世,如何正面应战!【所长】》笔记的时候在里面找到了作者分析行业常用到的21个网站。于是我也看一看。还是有不少启发的。让我一目了然知道对哪些公司看哪些数据。我之前接触得迷迷糊糊的,知道…

2021高考热度最高专业,大数据分析告诉你

又是一年高考季。 经历了十二年苦读的学子们,终于到了真枪实弹、一考定输赢的时候了。小编不由自主替这些学子们捏了一把冷汗。 高考的重要性不言而喻,这是一场不同于平时的测试,在未来的人生里,高考扮演着举足轻重的角色。通过自…

卷积神经网络 神经网络,卷积神经网络基础知识

卷积神经网络通俗理解 。 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeuralNetworks),是深度学习(deeplearning)的代表算法…

【信息检索】文档评分和概率检索模型

(1). 用Java语言或其他常用语言计算附件“HW4_1.txt”中的80个英文文档(每行表示一个document,文档编号1~80)两两之间的相似度值,并据此为每个文档返回相似度最大的3个文档。 要求使用cosine similarity和TF-IDF计算文档之间的相…

三个优秀的PyTorch实现语义分割框架

向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 使用的VOC数据集链接开放在文章中,预训练模型已上传Github,环境我使用Colab pro,大家下载模型做预测即可。 代码链接: h…

google crx Hoxx 下载

Hoxx download links. Chrome crx https://base1-hx.diltwo.com//public/Chrome/Firefox XPI https://base1-hx.diltwo.com//public/Firefox/Android api https://base1-hx.diltwo.com//public/Android/ crx 下载地址 https://www.crx4chrome.com/crx/39922/ https://www.crx4…

Chrome安装CRX插件方法

一.前言 Chrome插件有:extension,app, NaCl(Native Client), PNaCl(Portable Native Client)等。但因为安全性,兼容性等各种原因,Chrome官方已经宣布:逐渐废弃其它类型的插件,只保留…

Chrome:拖入crx文件时,显示“无法从该网站添加应用、扩展程序和用户脚本”问题

问题现象 问题解决方案 1)打开新的页签,输入网址:chrome://flags/#extensions-on-chrome-urls 2)Extensions on chrome:// URLs 由Disabed修改为Enabled

Chrome如何安装第三方扩展插件(crx)

Chrome安装第三方扩展插件(crx) 前言 新版本Chrome浏览器会对非Chrome应用商城的扩展应用安装进行限制,安装后会提示“该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的。”。 上述问题的一种解决方式是将CRX文件进行解压后进行…

Chrome谷歌浏览器安装crx后缀插件方法

Chrome谷歌浏览器安装crx后缀插件方法; 很多小伙伴还是习惯用以前的crx后缀谷歌浏览器插件,但是自从2018年之后,谷歌新版本升级;不支持直接拖拽的形式安装这类插件了; 之后的新版本(目前已经升级到v80版本…

Chrome 解决 CRX HEADER INVALID 问题

文章目录 1. 问题2. 原因3. 解决方法3.1 方法一:将 crx 扩展程序解压开,然后加载已解压的扩展程序安装3.2 方法二:将 crx 的文件扩展名更改为 zip,然后拖拽安装3.3 方法三:使用 73 及后续版本打包的 crx,直…

建一个chrome插件crx所需步骤

建一个文件夹 文件夹下建以下几个文件 manifest.json:主要的配置文件 popup.html:主要的承载页面 icon.ico:插件的图标 引入的popup.js是html所涉及的js功能代码 因为是纯js的,所以需要提前引入jquery方便后期事件绑定 chrome插…