UML用例图

article/2025/9/30 3:45:20

文章目录

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


一、定义

        用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

二、构成

1、参与者

定义

        用以表示和系统进行交互的参与者角色,不一定是人也可以是物或者系统。并且参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。

表示方法

在这里插入图片描述
示例
在这里插入图片描述

2、用例

定义

        用例就是外部可见的系统功能,对系统提供的服务进行描述。

表示方法

在这里插入图片描述
示例
在这里插入图片描述

3、边界

定义

        指系统与系统之间的界限。把系统边界以外的同系统相关联的其他部分称为系统环境。

表示方法

        系统边界在用例图中用方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。
在这里插入图片描述

示例
在这里插入图片描述

4、参与者与用例的关系

在这里插入图片描述

1、关联(association)

定义

        关联关系表示参与者与用例之间的通信,任何一方都可发送或接受消息。

表示方法

在这里插入图片描述

说明
        关联关系表示的是参与者与用例之间的关系

        参与者和用例之间的关系用箭头表示,箭头表示在这一关系中哪一方是交互的主动发起者,箭头所指方是交互的被动接受者;如果不想强调交互中的主动与被动关系,可以使用不带箭头的关联实线。在参与者和用例之间的连线并不表示信息流,实际这种信息交互是默认存在的(用例本身描述的就是参与者和系统之间的交互),并且信息流向是双向的,它与关联箭头所指的方向毫无关系,因此关联关系用带箭头的关联实线表示与不带箭头的关联实线表示的意义是一致的。

示例

在这里插入图片描述

2、泛化(inheritance)

定义

        泛化关系表示的是继承关系。

表示方法

在这里插入图片描述

        [箭头指向] :由子参与者指向父参与者,或者由子用例指向父用例

说明

        泛化关系表示的是参与者之间或用例之间的关系

示例
在这里插入图片描述

3、包含(include)

定义

        包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

表示方法

在这里插入图片描述

        [箭头指向] :由基础用例指向被包含的用例

说明

        包含关系表示用例之间的关系,主要有以下两种情况需要用到包含关系:
        1、多个用例用到同一段的行为,则可以把这段共同的行为单独抽象成一个用例,然后让其他用例来包含这一用例。
        2、当某一个用例的功能过多、事件流过于复杂时,也可以把某一段事件流抽象成一个被包含的用例,以达到简化描述的目的。

        从包含关系的用处中,我们可以看到它的优点,使用包含关系提高了用例模型的可维护性,当需要对公共需求进行修改时,只需要修改一个用例而不必修改所有与其有关的用例。不但可以避免在多个用例中重复的描述同一段行为,还可以避免在多个用例中对同一段行为描述不一致的现象。

示例
在这里插入图片描述

4、扩展(extend)

定义

        扩展关系也是指"两个用例之间的关系"。一个用例可以被定义为基础用例的增量的扩展,称作为扩展关系。扩展关系是把新的行为插入到已有用例中的方法,基础用例如果没有扩展用例的执行就不会涉及扩展用例,也就是说只有在特定的条件发生时,扩展用例才被执行。比如登录用例有扩展注册用例,因为如果已经注册过,则直接登录,如果没有则跳转到注册用例。

表示方法

在这里插入图片描述

        [箭头指向] :由扩展用例指向到基础用例

说明

        1、扩展关系表示用例之间的关系

        2、扩展关系与包含关系的不同点如下:
        (1)、在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为。而在包含关系中,插入点只能有一个。
        (2)、在扩展关系中,基础用例的执行并不一定会涉及到扩展用例,扩展用例只有在满足一定条件下才会被执行。而在包含关系中,当基础用例执行完后,被包含用例是一定会被执行的。
        (3)、即使没有扩展用例,扩展关系中的基础用例本身也是完整的。而对于包含关系,基础用例在没有没有被包含用例的情况下就是不完整的存在。

示例

在这里插入图片描述

三、案例

        1、某车票销售系统完成如下功能:顾客可以浏览系统来查询车票信息,顾客可以输入个人信息(姓名、地址、昵称、邮件)注册成系统会员;会员登录后可以预定、退票等;管理人员可以进行车票信息管理、会员信息管理等。当会员预定车票时,先向系统提交车票预定信息(出发地、目的地、出发时间、人数等),系统检索并显示满足条件的班次,会员选择所要的班次,系统检索并显示剩余的座位信息,会员选择所要的座位,系统会生成相应的预定记录,系统将会员所选择的座位状态从“未预定”修改为“已预定”。

         UML用例图参考

在这里插入图片描述

附录

参考文章:UML–用例图详解
学习视频:视频1 视频2


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

相关文章

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插…

新版Edge浏览器安装外部扩展(.crx)的方法

先准备好插件文件: xxx.crx格式 然后改变后缀名,从.crx改为.zip格式 然后把这个.zip文件解压到你电脑的任意位置,最好是Edge浏览器的安装位置附近建一个edge文件夹里,后期方便查找更新。 比如我的目录: 我的操作&am…