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

news2024/9/21 0:50:48

目录

一、用例的关系

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.coloradmin.cn/o/1325811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python/网络安全】 Git漏洞之Githack工具基本安装及使用详析

[Python/网络安全] Git漏洞之Githack工具基本安装及使用详析 前言安装步骤工具使用实战总结 前言 Git是一个非常流行的开源分布式版本控制系统&#xff0c;它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统&#xff0c;并将其部署到生产环境中…

Stable-diffusion-webui本地部署和简要介绍

Stable Diffusion 是一款基于人工智能技术开发的绘画软件&#xff0c;它可以帮助艺术家和设计师快速创建高品质的数字艺术作品。是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像&#xff0c;同时也可以应用于其他任务&#xff0c;如内补绘制、…

WPF Halcon机器视觉和运动控制软件通用框架,插件式开发,开箱即用 仅供学习!

点我下载&#xff0c;仅供个人学习使用 参考easyvision开发&#xff0c;集成几十个软件算子此版本以添加ui设计器。具体功能如上所示&#xff0c;可以自定义变量&#xff0c;写c#脚本&#xff0c;自定义流程&#xff0c;包含了halcon脚本和封装的算子&#xff0c;可自定义ui&a…

交叉熵损失(Cross-Entropy loss)

在处理机器学习或深度学习问题时&#xff0c;损失/成本函数用于在训练期间优化模型。目标几乎总是最小化损失函数。损失越低&#xff0c;模型越好。交叉熵损失是最重要的成本函数。它用于优化分类。对交叉熵的理解取决于对 Softmax 激活函数的理解。 一、softmax激活函数 激活…

手机上怎么合成gif?手机图片合成gif分享

手机上的功能越来越丰富&#xff0c;很多电脑上能制作的东西手机上也能制作。那么当我们想要在手机上制作gif动画的时候要怎么操作呢&#xff1f;非常的简单&#xff0c;使用在线制作动画gif&#xff08;https://www.gif.cn/&#xff09;网站-GIF中文网&#xff0c;手机自带浏览…

分析某款go扫描器之四

一、概述 上文提到实现IP的探测存活以及tcp扫描的实现&#xff0c;这部分来分析实现本机网卡信息获取&#xff0c;以及维护一张mac地址表以及ip扫描端口状态表&#xff0c;同时实现syn扫描功能。 项目来源&#xff1a;https://github.com/XinRoom/go-portScan/blob/main/util…

K8S(十一)—Service详解

目录 Service发布服务&#xff08;服务类型&#xff09;type: ClusterIP选择自己的 IP 地址例子 type: NodePort选择你自己的端口为 type: NodePort 服务自定义 IP 地址配置例子 type: LoadBalancer混合协议类型的负载均衡器禁用负载均衡器节点端口分配设置负载均衡器实现的类别…

互动破千万!冰雪营销两大玩法,小红书数据分析!

2022年冬奥会带火了冰雪运动&#xff0c;到如今“冰雪热”仍在持续。通过千瓜数据&#xff0c;查看小红书平台“冰雪”这一关键词的数据&#xff0c;近30天互动总量超过1300万&#xff0c;官方连续发布的几场活动&#xff0c;皆与冰雪相关&#xff0c;#东北精神上的快乐老家 #追…

js中async和await高级用法

文章目录 一、介绍二、async/await与高阶函数三、控制并发数四、使用async/await优化递归五、异步初始化类实例六、在async函数中使用await链式调用七、结合async/await和事件循环八、使用async/await简化错误处理九、最后 一、介绍 JavaScript的异步编程已经从回调(callback)…

Vue前端设计模式

文章目录 一、什么是设计模式&#xff1f;二、设计几个原则三、常见的设计模式及实际案例3.1、单例模式3.1.1、Element UI3.1.2、Vuex 3.2、工厂模式3.2.1、VNode3.2.2、vue-route 3.3、策略模式3.3.1、表格 formatter3.3.2、表单验证 3.4、代理模式3.4.1、拦截器3.4.2、前端框…

考研小白助力宝典(2)

前言 考研&#xff0c;是一场耗时长久的脑力之战&#xff0c;刻苦勤奋的态度和披荆斩棘的精神外&#xff0c;往往取决于谁抓好了信息利剑&#xff01;合理得当利用好信息平台&#xff0c;就已经快人一步战胜了大部分的竞争对手了&#xff01; 目录 着重学习练习 考研相关简介 …

vscode开发python环境配置

前言 vscode作为一款好用的轻量级代码编辑器&#xff0c;不仅支持代码调试&#xff0c;而且还有丰富的插件库&#xff0c;可以说是免费好用&#xff0c;对于初学者来说用来写写python是再合适不过了。下面就推荐几款个人觉得还不错的插件&#xff0c;希望可以帮助大家更好地写…

visio绘制封闭图形并填充颜色

文章目录 一、绘制扇形二、填充颜色 一、绘制扇形 1.文件->选项->开发工具 2.使用圆形和直线绘制如图所示图形 3.选中该图形&#xff0c;选择开发工具->操作->修剪 4.拖动即为扇形。 二、填充颜色 选择开发工具-操作选项&#xff0c;并分别依次点击组合-连接-拆分…

laravel 对接支付,本地穿透问题

本地穿透有好多工具&#xff0c;参考链接&#xff1a;https://zhuanlan.zhihu.com/p/339923535 我这边是用的 NATAPP 官网&#xff1a;https://natapp.cn/ 客户端下载&#xff1a;https://natapp.cn/# NATAPP1分钟快速新手图文教程&#xff1a;https://natapp.cn/article/n…

C# NPOI导出datatable----Excel模板画图表

1、创建Excel模板 2、安装NPOI管理包 3、创建工作簿 &#xff08;XLSX和XLS步骤一样&#xff0c;以XLS为例&#xff09; IWorkbook workbook null; string time DateTime.Now.ToString("yyyyMMddHHmmss"); string excelTempPath Application.StartupPath "…

flutter开发实战-第一帧布局完成回调实现

flutter开发实战-第一帧布局完成回调实现 在开发中&#xff0c;我们有时候需要在第一帧布局完成后调用一些相关的方法。这里记录一下是实现过程。 Flutter中有多种不同的Binding&#xff0c;每种Binding都负责不同的功能。下面是Flutter中常见的Binding&#xff1a; 这里简单…

EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(四)CEEMD

往期精彩内容: 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff08;三&#xff09;EMD-LSTM-Attention模型-CSDN博客 风速预测&#xff08;四&#xff09;基于Pyt…

25、新加坡南洋理工、新加坡国立大学提出FBCNet:完美融合FBCSP的CNN,EEG解码SOTA水准![抱歉老师,我太想进步了!]

前言&#xff1a; 阴阳差错&#xff0c;因工作需要&#xff0c;需要查阅有关如何将FBCSP融入CNN中的文献&#xff0c;查阅全网&#xff0c;发现只此一篇文章&#xff0c;心中大喜&#xff0c;心想作者哪家单位&#xff0c;读之&#xff0c;原来是自己大导&#xff08;新加坡工…

2017年第六届数学建模国际赛小美赛B题电子邮件中的笔迹分析解题全过程文档及程序

2017年第六届数学建模国际赛小美赛 B题 电子邮件中的笔迹分析 原题再现&#xff1a; 笔迹分析是一种非常特殊的调查形式&#xff0c;用于将人们与书面证据联系起来。在法庭或刑事调查中&#xff0c;通常要求笔迹鉴定人确认笔迹样本是否来自特定的人。由于许多语言证据出现在电…

pytorch-模型预测概率值为负数

在进行ocr识别模型预测的时候&#xff0c;发现预测的结果是正确的&#xff0c;但是概率值是负数&#xff1a; net_out net(img) #torch.Size([70, 1, 41]) logit, preds net_out.max(2) #41是类别 需要对类别取最大值 preds preds.transpose(1, 0).contiguous().view(-1) …