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.mzph.cn/diannao/60124.shtml

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

相关文章

《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)

《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1) 《TCP/IP网络编程》学习笔记 | Chapter 4:基于TCP的服务器端/客户端(1)理解TCP和UDPTCP/IP协议栈TCP/IP协议的诞生背景链路层网络层T…

【基于PSINS工具箱】以速度为观测量的SINS/GNSS组合导航,UKF滤波

基于【PSINS工具箱】,提供一个MATLAB例程,仅以速度为观测量的SINS/GNSS组合导航(滤波方式为UKF) 文章目录 工具箱程序简述运行结果 代码程序讲解MATLAB 代码教程:使用UKF进行速度观测1. 引言与基本设置2. 初始设置3. U…

【Vue】Vue3.0(十七)Vue 3.0中Pinia的深度使用指南(基于setup语法糖)

上篇文章: 【Vue】Vue3.0(十一)Vue 3.0 中 computed 计算属性概念、使用及示例 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年11月10日15点23分 文章…

通过C++跨平台的预编译宏来区分不同的操作系统:Win32/Win64/Unix/Linux/MacOS

因为 C 具有跨平台的特性,所以有些需求一套代码就多端使用,比如我最近在学习的 OpenGL ES。 但是,不同平台还是具有一定差异性,所以我们首先得判断出是什么平台? 比如 iOS 系统和 Android 系统。 那么如何判断呢&…

工程认证导向的Spring Boot计算机课程管理平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于工程教育认证的计算机课程管理平台的相…

跨境云专线:构建高速、安全的全球业务网络

在企业出海加速的背景下,越来越多的企业需要在全球范围内部署业务,特别是在多个国家和地区之间进行数据传输。然而,跨境网络连接常常面临带宽不足、延迟高、数据安全性差等问题,这给企业的业务运营带来了巨大挑战。为了解决这些问…

分布式——BASE理论

简单来说: BASE(Basically Available、Soft state、Eventual consistency)是基于CAP理论逐步演化而来的,核心思想是即便不能达到强一致性(Strong consistency),也可以根据应用特点采用适当的方…

【后端速成Vue】模拟实现翻译功能

前言: 本期将会介绍 Vue 中的 watch 侦听器,它语法是怎么样的呢?具有怎样的功能呢?最后用模拟实现百度翻译来更进一步练习 watch 侦听器 篮球哥找工作专属IT岗位内部推荐: 专属内推链接:内推通道 1、认识翻…

UE5.4 PCG 获取地形Layer

使用AttributeFilter:属性过滤器 节点 设置地形Layer名称和权重 效果:

使用wordpress搭建简易的信息查询系统

背景 当前有这样的一个需求,要实现让客户能够自助登录系统查询一些个人的信息,市面上没有特别符合我的需求的产品,经过一段时间的研究,想出了一个用wordpress实现简易信息查询系统,有两种方式。 方式一:使…

EasyUI弹出框行编辑,通过下拉框实现内容联动

EasyUI弹出框行编辑,通过下拉框实现内容联动 需求 实现用户支付方式配置,当弹出框加载出来的时候,显示用户现有的支付方式,datagrid的第一列为conbobox,下来选择之后实现后面的数据直接填充; 点击新增:新…

ssm079基于SSM框架云趣科技客户管理系统+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:客户管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本客户管理系统就是在这…

PICO+Unity 用手柄点击UI界面

如果UI要跟随头显,可将Canvas放置到XR Origin->Camera Offset->Main Camera下 1.Canvas添加TrackedDeviceGraphicRaycaster组件 2.EventSystem移动默认的Standard Input Module,添加XRUIInputModule组件 3.(可选)设置射线可…

dbt 数据分析工程实战教程(汇总篇)

最近陆续写了数据分析工程相关的系列博客,主要包括dbt-core相关的实战教程。本文是阶段性整理回顾,希望为你学习数据工程领域知识提供帮助,后续会持续更新。 数据工程理论 介绍数据工程基础理论,包括数据仓库、数据建模等内容。结…

apt镜像源制作-ubuntu22.04

# 安装必要的软件 sudo apt-get install -y apt-mirror # 编辑/etc/apt/mirror.list,添加以下内容 set base_path /var/spool/apt-mirror # 指定要镜像的Ubuntu发布和组件-null dir jammy-updates main restricted universe multiverse # 镜像的Ubuntu发布和组件的URL-n…

springboot初体验

目录 环境 controller 修改端口号 更改banner图标 运行结果 最核心的:自动装配 环境 jdk17springboot3.3.5maven3.8.2 controller controller层和启动类同级 package com.example.demo.controller; ​ import org.springframework.web.bind.annotation.RequestMapping;…

HTML 基础架构:理解网页的骨架

HTML的文档结构主要由以下几个部分组成&#xff1a;<html>、<head>和<body>。 <html>标签是HTML文档的根元素&#xff0c;用来包裹整个HTML文档的内容。<head>标签用于定义文档的头部&#xff0c;包含了一些元数据和其他不直接显示在页面上的内…

Q:警告无法解释导入PIL Pylance(reportMisssingIMports)

问题显示&#xff1a; 解决方法&#xff1a; 1.确认安装 Pillow&#xff1a;在 VS Code 的终端中运行以下命令&#xff0c;以确保环境中安装了 Pillow pip install pillow2.选择正确的解释器&#xff1a;在 VS Code 中&#xff0c;按下 CtrlShiftP&#xff0c;输入并选择 “P…

python中常见的8种数据结构之一数组的应用

在Python中&#xff0c;数组是一种常见的数据结构&#xff0c;用于存储一系列相同类型的元素。在实际应用中&#xff0c;数组可以用于解决各种问题。 以下是数组在Python中的一些常见应用&#xff1a; 1. 存储和访问数据&#xff1a;数组可以用于存储和访问一组数据。可以通过…

网络安全——下载并在kali虚拟机上启动Cobalt Strike

目录 一、下载 二、上传文件到kali虚拟机 三、启动服务端 四、启动客户端 一、下载 CobaltStrike4.8汉化版带插件-CSDN博客 下载并解压后 二、上传文件到kali虚拟机 1、打开并运行kali虚拟机&#xff0c;查看kali的ip地址 2、打开xshell&#xff0c;新建连接&#xff0c;连…