UML的另一个主角——用例图

顺序图和类图已经出过单集,本贴要分享的是用例图。

类图icon-default.png?t=O83Ahttps://blog.csdn.net/jsl123x/article/details/143526286?spm=1001.2014.3001.5501顺序图icon-default.png?t=O83Ahttps://jslhyh32.blog.csdn.net/article/details/134350587


目录

一.系统

二.参与者

1.主要参与者

2.次要参与者

三.用例

四.关系

1.关联

2.包含

3.扩展

4.泛化


用例图用于描述一个系统的基本工作流程,有四大要素:系统、参与者、用例、关系

一.系统

什么样的情景就有什么样的系统,用大长方形表示,此时我们还是用学校的例子:

二.参与者

1.主要参与者

主要参与者要放在系统的左边。

2.次要参与者

次要参与者放在系统的右边。

区分是主要还是次要,并非主观臆断,而是遵循一个标准:主要参与者的行为使次要参与者得以行动——可以不太严谨的理解为自变量和因变量的区别。比如学生写了作业,老师才能批改,因此老师是次要参与者。

三.用例

描述系统功能用到的元素,用椭圆表示——实际上全是动词,可以理解为函数(行为)

 

四.关系

每个参与者都至少要和系统的一个用例实现交互~

1.关联

最简单的关系,表示需要完成某种操作~

2.包含

假设某个学校的管理非常严格——每次进学校的时候都要由保安验证是否是本校学生,方可进入学校,如下图:

由于学生和老师两者都没有直接发起学号验证这个动作,其只在来学校这个用例发生时才同时发生,这就是我们说的包含关系。包含关系展示了基本用例和包含用例之间的依赖关系~ 

包含关系用虚线箭头~ 

3.扩展

在执行基本用例时,符合某种条件的情况下,扩展用例会被触发。下图中基本用例是【来学校】,扩展用例是【不能进入】。

在不是本校生的情况下,保安会通知不能进入,同样用虚线表示这种关系,不过是扩展用例指向基本用例。 (亿图图示中的说法是排除~)

注意:多个基本用例可以指向同一个扩展用例或者包含用例~

4.泛化

和类图一样,也可以称之为继承。还是面向对象的那经典老套:子用例可以拥有父用例功能,并且拥有自己的特殊功能,比如写作业可以进一步分为电子作业和纸质作业:

泛化关系中,子用例用实线箭头指向父用例:

 

如上就是全部内容了,非常简单~ 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

set和map的使用

目录 1.关联式容器 2.键值对 3.set 3.1set的模版参数列表 3.2对set的修改 3.2.1insert 3.2.2 erase 3.2.3clear 3.2.4swap 3.2.5 find 3.3set的迭代器 3.4set的容量 4.map 4.1对map的修改 4.1.1insert 4.1.2erase 4.1.3swap 4.1.4clear 4.2map的迭代器 4.3opera…

【5.10】指针算法-快慢指针将有序链表转二叉搜索树

一、题目 给定一个单链表,其中的 元素按升序排序 ,将其转换为 高度平衡的二叉搜索树 。 本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [ -10 , -3 , 0 , …

dns服务器配置

主服务器 1.挂载点 mount /dev/sr0 /mnt 2.防火墙关闭 systemctl stop firewalld setenforce 0 3.下载bind软件 dnf install bind -y 4.进行正向解析配置 vim /etc/named.conf options { listen-on port 53 { 192.168.92.128; }; directo…

stable diffusion图生图

本节内容,给大家带来的是stable diffusion的图生图课程,我们在midjourney的课程中有学习过midjourney的图生图功能,即使用垫图的方式来引导AI绘制图片。图生图是AI绘图程序一个非常重要的功能,stable diffusion同样提供了类似的功…

论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck

论文阅读笔记:DRCT: Saving Image Super-Resolution away from Information Bottleneck 1 背景1.1 问题1.2 本文提出的方法 2 创新点3 方法4 模块4.1 问题描述4.2 深度特征提取模块4.3 同任务渐进式训练策略 5 效果5.1 和SOTA方法对比 论文:https://arxi…

一周内从0到1开发一款 AR眼镜 相机应用?

目录 1. 📂 前言 2. 💠 任务拆分 2.1 产品需求拆分 2.2 开发工作拆分 3. 🔱 开发实现 3.1 代码目录截图 3.2 app 模块 3.3 middleware 模块 3.4 portal 模块 4. ⚛️ 拍照与录像 4.1 前滑后滑统一处理 4.2 初始化 View 以及 Came…

【论文精读】LPT: Long-tailed prompt tuning for image classification

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀论文精读_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 摘要 2. …

《重学Java设计模式》之 建造者模式

建造者模式所完成的内容就是通过将多个简单对象通过一步步的组装构建出一个复杂对象的过程 模拟装修公司对于设计出一些套餐装修服务的场景。 很多装修公司都会给出自家的套餐服务,一般有;豪华、轻奢、简约等,这些套餐的后面是不同的商品的…

Android Framework AMS(12)广播组件分析-3(广播发送流程解读)

该系列文章总纲链接:专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明: 说明:本章节主要解读广播组件的广播发送过程。关注思维导图中左上侧部分即可。 有了前面广播组件 注册和注销程分析的基础,基于此&#xff…

MongoDB笔记02-MongoDB基本常用命令

文章目录 一、前言二、数据库操作2.1 选择和创建数据库2.2 数据库的删除 3 集合操作3.1 集合的显式创建3.2 集合的隐式创建3.3 集合的删除 四、文档基本CRUD4.1 文档的插入4.1.1 单个文档插入4.1.2 批量插入 4.2 文档的基本查询4.2.1 查询所有4.2.2 投影查询(Projec…

MySQL基础-单表查询

语法 select [distinct] 列名1,列名2 as 别名... from数据表名 where组前筛选 group by分组字段 having组后筛选 order by排序的列 [asc | desc] limit 起始索引,数据条数 测试数据 # 建测试表 create table products (id int primary key a…

【pycharm jupyter】远程开发 启动报错

报错信息 upyter server process exited with code 1 ServerApp] A _jupyter_server_extension_points function was not found in jupyter_lsp. Instead, a _jupyter_server_extension_paths function was found and will be used for now. This function name will be depre…

CPU Study - Instructions Fetch

参考来源:《超标量处理器设计》—— 姚永斌 N-Way CPU 取指问题 如果CPU可以在每个周期内同时解码N条指令,则此类CPU为N-Way超标量处理器。 N-Way超标量处理器需要每个周期从I-Cache中至少取得N条指令,这N条指令成为一组Fetch Group。 为了…

掌握 PyQt5:从零开始的桌面应用开发

PyQT5——图形化界面 文章目录 PyQT5——图形化界面集成化图形界面工具为什么使用 \$ProjectFileDir$?示例场景其他 Varaiablespyuic参数解释整体含义示例使用PyQt5和pyuic 创建pyqt5的程序创建一个窗口app.exec\_()和sys.exit(app.exec_())的区别1. app.exec_()2. sys.exit(a…

论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution

论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution 1 背景2 创新点3 方法4 模块4.1 以往SR模型的刚性4.2 图构建4.2.1 度灵活性4.2.2 像素节点灵活性4.2.3 空间灵活性 4.3 图聚合4.4 多尺度图聚合模块MGB4.5 图聚合层GAL 5 效果5.1 和SOTA…

PMP–一、二、三模、冲刺–分类–7.成本管理–技巧–挣值分析

文章目录 技巧一模7.成本管理--4.控制成本--数据分析--挣值分析--进度绩效指数(SPI)是测量进度效率的一种指标,表示为挣值与计划价值之比,反映了项目团队完成工作的效率。 当 SPI小于 1.0 时,说明已完成的工作量未达到…

保姆级教程!!教你通过【Pycharm远程】连接服务器运行项目代码

小罗碎碎念 这篇文章主要解决一个问题——我有服务器,但是不知道怎么拿来写代码,跑深度学习项目。确实,玩深度学习的成本比较高,无论是前期的学习成本,还是你需要具备的硬件成本,都是拦路虎。小罗没有办法…

成绩管理系统软件体系结构设计

成绩管理系统软件体系结构设计 文档简介 1.1 目的 1.2 范围 1.3 定义、首字母缩写词和缩略语 1.4参考资料 1.5 概述体系结构表示方式软件体系结构的目标和约束 3.1 结构清晰 3.2 支持外包开发 3.3 可扩展性 3.4 系统安全性 3.5 可移植性 4体系结构模式逻辑视图进程视图…

单臂路由实现不同VLAN之间设备通信

转载请注明出处 本实验为单臂路由配置,目的为让不同VLAN之间的设备能够互相通信。 1.首先,按照要求配置两个pc的ip地址,以pc0为例子: 2在交换机创建vlan10和vlan20 3.划分vlan,pc0为vlan10的设备,pc1为vla…

机器学习(三)——决策树(附核心思想、重要算法、概念(信息熵、基尼指数、剪枝处理)及Python源码)

目录 关于1 基本流程2 划分属性的选择2.1 方法一:依据信息增益选择2.2 方法二:依据增益率选择2.3 方法三:依据基尼指数选择 3 剪枝处理:防止过拟合3.1 预剪枝3.2 后剪枝 4 连续与缺失值4.1 连续值处理4.2 缺失值处理 5 多变量决策…