UML 用例图

article/2025/9/30 3:46:37

UML 用例图

参考

【UML】— 用例图
用例图
初学UML——用例图
需求中如何画用例图

为什么使用用例图

  • 从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。
  • 用例建模起源于面向对象建模。

概念

  • 图形化地描述了谁将使用该系统以及用户希望与系统交互的方式。
  • 业务事件的文本描述以及用户如何与系统交互以完成任务。

参与者

  • 参与者是与系统主体交互的外部实体的类元,描述了一个或一组与系统产生交互的外部用户或外部事物。
  • 参与者位于系统边界之外,而不是系统的一部分。
  • 可以是:人,组织,另一个信息系统,外部设备,甚至时间。

确定参与者

从以下角度确定参与者

  • 为系统提供输入的人或事物
  • 接收系统输出的人或事物
  • 需要接入的第三方系统或设备
  • 时间是否会触发某些事件
  • 负责支持或维护系统中信息的人

参与者分类

  • 主要业务参与者:主要从用例的执行中获得好处的关联人员。
  • 主要系统参与者:直接同系统交互以触发业务或系统事件的关联人员。
  • 外部服务参与者:响应来自用例的请求的关联人员。
  • 外部接收参与者:从用例中接收某些价值或输出的非主要的关联人员。

参与者的泛化关系

  • 当系统中的几个参与者既扮演自身的角色,同时也有更一般化的角色时,可以通过建立泛化关系来进行描述。
  • 与类相似,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。

这里写图片描述

用例

  • 用例是类元提供的一个内聚的的功能单元,表明系统与一个或多个参与者之间信息交换的顺序,也表明了系统执行的动作。
  • 简单来说,用例就是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中也包含可能的各种分支情况。
  • 用例与用例图被广泛使用于系统的需求建模阶段,并在系统的整个生命周期中被不断细化。

这里写图片描述

确定用例

用例的特征保证用例能够正确地捕捉功能性需求,同时也是判断用例是否准确的依据。

  • 用例是动宾短语
  • 用例是相对独立的
  • 用例是由参与者启动的
  • 用例要有可观测的执行结果
  • 一个用例是一个单元

用例与参与者

  • 一个用例可以隶属一个或多个参与者,一个参与者也可以参与一个或多个用例。
  • 用例与参与者之间存在关联关系。
  • 主参与者与次参与者:通常来说主参与者是用例的重要服务对象,而次参与者处于一种协作地位。

这里写图片描述

用例的粒度

  • 业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜。即一个用例可以描述一项完整的业务流程。例如取钱、报装电话、借书等表达完整业务的用例,而不要细节到验证密码、填写申请单、查找数目等业务中的一个步骤。
  • 用例分析阶段,即概念建模阶段,用例的粒度以每个用例能描述一个完整事件流为宜。可以理解为一个用例描述一项完整业务中的一个步骤
  • 系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完成交互为宜。例如,填写申请单、审核申请单、派发任务单等。可以理解为一个操作界面或一个页面流。

泛化关系

  • 与参与者的泛化关系相似,用例的泛化关系将特化的用例与一般化的用例联系起来。子用例继承了父用例的属性、操作和行为序列,并且可以增加属于自己的附加属性和操作。
  • 父用例同样可以定义为抽象用例。

这里写图片描述

依赖关系——包含

  • 包含指的是一个用例(基用例)可以包含其他用例(包含用例)具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。
  • 包含的两个基本约束:
    • 基用例可以看到包含用例,并需要依赖于包含用例的执行结果,但是它对包含用例的内部结构没有了解;
    • 基用例一定会要求包含用例执行

这里写图片描述

扩展

  • 扩展指的是一个用例(扩展用例)对另一个用例(基用例)行为的增强。
  • 在这一关系中,扩展用例包含了一个或多个片段,每个片段都可以插入到基用例中的一个单独的位置上,而基用例对于扩展的存在是毫不知情的。使用扩展用例我们就可以在不改变基用例的同时,根据需要自由地向用例中添加行为。

这里写图片描述

用例图示例

这里写图片描述

依赖关系对比

这里写图片描述

用例描述

  • 一个完整的用例模型应该不仅仅包括用例图部分,还要有完整的用例描述部分。
  • 一般的用例描述主要包括以下几部分内容:
    • 用例名称:描述用例的意图或实现的目标,一般为动词或动宾短语。
    • 用例编号:用例的唯一标识符,在其他位置可以使用该标识符来引用用例。
    • 参与者:描述用例的参与者,包括主要参与者和其他参与者。
    • 用例描述:对用例的一段简单的概括描述。
    • 触发器:触发用例执行的一个事件。
    • 前置条件:用例执行前系统状态的约束条件。
    • 基本事件流(典型过程):用例的常规活动序列,包括参与者发起的动作与系统执行的响应活动。
    • 扩展事件流(替代过程):记录如果典型过程出现异常或变化时的用例行为,即典型过程以外的其他活动步骤。
    • 结论:描述用例何时结束。
    • 后置条件:用例执行后系统状态的约束条件。
    • 补充约束:用例实现时需要考虑的业务规则、实现约束等信息。

用例描述示例

这里写图片描述


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

相关文章

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…

谷歌浏览器Crx插件库-https://crxdl.com/

地址:https://crxdl.com/ postman插件:talend json插件库:csdn插件 抓取视频:猫抓