【UML】第8篇 用例图(3/3)

目录

一、用例的关系

1.1 泛化(Generalization)关系

1.2 包含(include)关系

1.3  扩展关系

二、用例表示例


不是非要把电影改成连续剧,给大家播,确实是时间和精力有限。

用例图,虽然简单,其实可说的内容也不少。

看前2篇,地址在这里:

【UML】第6篇 用例图(1/3)-CSDN博客

【UML】第7篇 用例图(2/3)-CSDN博客

一、用例的关系

用例之间的关系,主要包括泛化、包含和扩展三种。

1.1 泛化(Generalization)关系

用例的泛化关系可以理解为同一业务目的的不同实现路径。

这就是泛化关系,我们说过,泛化感觉有点别扭,是的,就是要从具体指向一般。可以理解为继承。

支付是父用例,不用管具体的支付实现,定义好属性和接口即可。

1.2 包含(include)关系

如上图,这是一个典型的包含关系,提现了包含关系的两种情况。

  1. 反复可能被用到的用例,适合单独拿出来,作为一个独立的用例来分析和看待,但是可以在表达时,被其他用例包含。比如上图的身份验证。这是一个让用户无感的功能,因此可以不从参与者直接连线,但是身份验证非常重要,预借图书、 归还图书,都要用到,因此用包含的方式,一举两得。
  2. 查询图书,是参与者要具体执行的目标,因此要单独列为用例。同时,这个用例也被预借图书用例包含,因此用包含符号表示。

注意,包含符号,带有<<include>>构造型。

1.3  扩展关系

扩展关系中,基本用例是完整的,执行基本用例不一定执行扩展用例;但包含关系中的基本用例不完整,执行基本用例必须执行包含用例。

扩展关系使用带构造型的虚线箭头表示。箭头由扩展用例指向基本用例。

例如:<<extend>>

这里一定要注意,是谁指向了谁,扩展用例去指向基本用例。没有扩展用例,基本用例也是能独立工作的。扩展用例,可以理解为是基本用例的特殊情况。

例如缴纳罚款,就是扩展用例,归还图书,是基本用例。因为归还图书,不一定要缴纳罚款。 

二、用例表示例

如图,这是一个标准的用例文档描述。

用例编号UC2023001-01
 用例名称借阅图书
 用例简述读者把要借阅的图书和一卡通送到借书台,图书管理员使用该功能帮助读者完成借书操作。
参与者图书馆工作人员
相关用例UC2023001-02(核验身份),UC2023001-06(缴纳罚款)
 前置条件
  • 图书馆工作人员登录到借阅系统
  • 读者没有超期图书
  • 读者没有欠款
基本事件流
  1. 读者刷取一卡通;
  2. 系统读取一卡通信息,并检查一卡通信息和读者信息的有效性;
  3. 系统检查该读者是否有超期图书和欠款信息;
  4. 系统读取读者已借阅的图书信息列表;
  5. 图书馆工作人员扫描读者借阅的每本图书的条形码;
  6. 系统获取图书信息,并显示在借阅列表中;
  7. 扫描完毕后,图书馆工作人员确认借阅的图书信息;
  8. 系统记录本次借阅信息;
  9. 图书馆工作人员将借阅册数和归还日期告知读者;
  10. 读者将一卡通和借出的书籍带走。
备选事件流

2a:若不是有效的一卡通,系统给出提示;
2b:若一卡通未绑定读者信息,系统给出提示;
2c:若一卡通绑定的读者信息被限制借阅,系统给出提示;
2d:若读者当前已借阅册数达到最大值,给出提示,并禁止借阅。

3a:若读者有超期图书未归还,则给出提示,并禁止执行借阅操作;

3b:若读者有欠款信息,系统给出提示        

注:序号和上面的基本事件流对应。

后置条件
  • 更新借出的书籍状态为“已借出”;
  • 更新读者的已借阅册数;
  • 系统创建一条借阅记录。
其它说明扫描的图书信息应能快速显示到借阅列表的最上端,供工作人员能及时核对信息是否一致。
编写人giszz编写日期2023-09-21
修改记录2023-09-22:添加【其它说明】内容
审核giszz审核日期2023-09-23

用例图部分完,敬请关注,后续更精彩。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/260246.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一个网卡能设置(绑定)两个或多个IP

昨天领导问我&#xff0c;一个网卡设置两个IP。我就有点发愣&#xff1a;一个网卡能设置两个IP吗&#xff1f;我倒是见过一个机器插两个网卡&#xff0c;同时支持内网和外网。一个网卡设置两个IP&#xff0c;以谁为准&#xff1f; 上网搜索了一下&#xff0c;还真可以&#xff…

MySQL——基础篇

学习视频链接&#xff1a;https://www.bilibili.com/video/BV1Kr4y1i7ru/?spm_id_from333.999.0.0&vd_source619f8ed6df662d99db4b3673d1d3ddcb 前言✴️ 基础篇——MySQL概述、SQL、函数、约束、多表查询、事务 进阶篇——存储引擎、索引、SQL优化、视图/存储过程/触发…

Spring Boot3通过GraalVM生成exe执行文件

一、安装GraalVM 1、官网&#xff1a;https://www.graalvm.org/downloads/ 2、配置环境变量 2.1、环境变量必须使用JAVA_HOME&#xff0c;否则会出现问题 2.2、在系统变量配置Path,%JAVA_HOME%\bin&#xff0c;注意必须放在顶部第一位 2.3、配置jdk的环境变量&#xff0c;在P…

vue的语法模板与数据绑定的说明

vue的两大模板语法&#xff1a; 1.插值语法 2.指定语法 插值语法&#xff1a;{{}} 功能&#xff1a;用于解析标签体的内容 写法&#xff1a;{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性 指定语法&#xff1a; 功能:用于解析标签(包括:标签属性、标…

判断数据是否为整数--函数设计与实现

#定义函数&#xff1a;is_num(s),判断输入的数据是否整数。 #(1)判断是否是数字 def is_num(s):if s.isdigit(): #isdigit()是一个字符串方法&#xff0c;用于检查字符串是否只包含数字字符。如果字符串只包含数字字符&#xff0c;则返回True&#xff1b;否则返回Falsereturn T…

订货系统本地化部署的三大优势

批发贸易行业&#xff0c;订货系统的本地化部署成为了许多企业的首选。本地化部署意味着将订货系统部署在企业自己的服务器上&#xff0c;而不是依赖于云服务提供商。这种部署方式有许多优势&#xff0c;以下是其中的四个主要优势&#xff1a; 1. 数据安全性&#xff1a;本地化…

Redis第2讲——Java三种客户端(Jedis、Lettuce和Redisson)

上篇文章介绍了Redis的9种数据类型和常命令、7种数据结构和9种编码方式。但是如果想要把它应用到项目中&#xff0c;我们还需要一个redis的客户端。redis的Java客户端种类还是很多的&#xff0c;其中使用最广泛的有三种——Jedis、lettuce和redisson&#xff0c;下面我们一起来…

基于Redis限流(aop切面+redis实现“令牌桶算法”)

令牌桶算法属于流量控制算法&#xff0c;在一定时间内保证一个键&#xff08;key&#xff09;的访问量不超过某个阈值。这里的关键是设置一个令牌桶&#xff0c;在某个时间段内生成一定数量的令牌&#xff0c;然后每次访问时从桶中获取令牌&#xff0c;如果桶中没有令牌&#x…

I.MX6ULL启动详解:Boot配置、Bootable image启动头的组成

本篇文章来了解一下I.MX6ULL的启动方式&#xff0c;实际上之前我介绍了NXP的跨界MCU RT1170的启动方式&#xff1a;I.MX RT1170启动详解&#xff1a;Boot配置、Bootable image头的组成&#xff0c;两个芯片虽然一个是Cortex-M&#xff0c;一个是Cortex-A&#xff0c;但是都是来…

猫罐头评测:五大平价猫罐头排行榜揭晓!

想必铲屎官都知道给猫咪长期吃主食罐头的好处了吧&#xff01;主食罐头不仅营养丰富&#xff0c;还能让猫咪顺便补充水分。有时候猫咪食欲不佳&#xff0c;一罐主食罐头就能让它们胃口大开呢。 通过本文&#xff0c;我将与大家分享我做宠物医生6年间发现的一些好用的猫罐头&…

AcWing算法提高课-2.1.3山峰和山谷

算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 FGD 小朋友特别喜欢爬山&#xff0c;在爬山的时候他就在研究山峰和山谷。 为了能够对旅程有一个安排&#xff0c;他想知道山峰和山谷的数量。 给定一个地图&#xff0c;为 FGD 想要旅行的区域&a…

20231218在微软官网下载WINDOWS10以及通过rufus-4.3p写入U盘作为安装盘

20231218在微软官网下载WINDOWS10以及通过rufus-4.3p写入U盘作为安装盘 2023/12/18 17:06 百度搜索&#xff1a;下载 windows10 https://www.microsoft.com/zh-cn/software-download/windows10 下载 Windows 10 更新之前&#xff0c;请参阅 Windows 版本信息状态中的已知问题&a…

图神经网络并在 TensorFlow 中实现

asokraju.medium.com 一、说明 本文将引导您了解图神经网络 (GNN) 并使用 TensorFlow 实现该网络。在后续的 文章中&#xff0c;我们讨论 GNN 的不同变体及其实现。这是一个分步计划&#xff1a; 图神经网络 (GNN) 的使用&#xff1a;我们首先讨论 GNN 是什么、它们如何工作以及…

3-10岁孩子语文能力培养里程碑

文章目录 基础能力3岁4岁5岁6-7岁&#xff08;1-2年级&#xff09;8-9岁&#xff08;3-4年级&#xff09;10岁&#xff08;5年级&#xff09; 阅读推荐&父母执行3岁4-5岁6-7岁&#xff08;1-2年级&#xff09;8-9岁&#xff08;3-4年级&#xff09;10岁&#xff08;5年级&a…

1 pandas与NumPy比较

NumPy NumPy是用python进行科学计算的一个基础库&#xff0c;因为它提供python基础包没有提供的数据结构和高性能函数。NumPy定义了一种专门用于科学计算的数据结构ndarray - 它是一种N纬数组。特点如下&#xff1a; 内存块风格 由于ndarray中的所有元素都是相同的&#xff0…

awk 命令详解

1. 编写 awk 脚本基础 1.1 Hello&#xff0c;World 通过演示“Hello&#xff0c;World”这个程序来介绍一种程序设计语言。通过演示这个程序在 awk 中如何工作将证明 awk 是如何的不寻常。实际上&#xff0c;有必要演示几种打印“Hello&#xff0c;World”的不同方法。 在第…

llvm后端之DAG设计

llvm后端之DAG设计 引言1 核心类设计2 类型系统2.1 MVT::SimpleValueType2.2 MVT2.3 EVT 3 节点类型 引言 llvm后端将中端的IR转为有向无环图&#xff0c;即DAG。如下图&#xff1a; 图中黑色箭头为数据依赖&#xff1b;蓝色线和红色线为控制依赖。蓝色表示指令序列化时两个节…

车载V2X方案的选型分享

ACX200T面向 5G车联网C-V2X 应用的安全芯片&#xff0c;满足V2X场景下消息认证的专用安全芯片&#xff0c;该款芯片采用公司自主的 高速硬件加密引擎 &#xff0c;支 持国家标准SM1、SM2、SM3、SM4密码算法&#xff0c;同时支持国际ECDSA、AES、SHA-1密码算法。可实现网联汽车云…

WT588F34B-16S语音芯片:四通道16K采样率混音播放的应用优势

随着科技的不断进步&#xff0c;语音芯片在电子产品中的应用越来越广泛。其中&#xff0c;WT588F34B-16S语音芯片凭借其卓越的性能和创新的功能&#xff0c;引起了市场的广泛关注。特别是其支持四通道16K采样率混音播放的功能&#xff0c;为实际应用带来了显著的优势。本文将深…

H5聊天系统聊天网站源码 群聊源码 无限建群创群

H5聊天系统聊天网站源码 群聊源码 无限建群创群 1.支持自助建群 管理群 修改群资料 2.支持自动登录 登陆成功可自助修改资料 3.后台可查看群组聊天消息记录 4.支持表情 动态表情 图片发布 5.支持消息语音提醒 测试环境&#xff1a;NginxMySQL5.6PHP5.6 1.将压缩包解压到…