用例图与用例描述

article/2025/9/12 16:57:21

用例图

用例图包含三部分:用例use case 、参与者actor和关系relationship

用例图是被称为参与者的外部用户所能观察到的系统功能的模型图

用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行

用例图多用于静态建模阶段(主要是业务建模和需求建模)。

关系:泛化、扩展、包含、关联

关联

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

泛化

泛化关系是两个用例或两个参与者之间的关系。当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象为父
用例,其他的用例作为子用例,用例间的这种关系被称为用例的泛化关系。A 是 B的泛化,意味着 A 描述的是一般的行为,而 B是这些行为的详细(Specific)版本,A被称为父用例(Parent Use Case)或基用例(Base Use Case),B被称为子用例(Child UseCase)。

在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承(Inherit)了父用例所有的结构、行为和关系。在用例图中,泛化关系用实线加上空心的箭头来表示。子用例被连接在箭头的尾部,箭头指向父用例。以PPS项目为例,用例Create Wholesale Order和Create Retail Order 都包括一系列公共的行为,如系统提供空白订货单表、业务员输入客户信息、业务员选择产品销售方式、业务员填写需求数量、系统显示产品价格并且合计总价等,因此,可以将这些公共的行为泛化为用例 Create Order,

image-20211219222920725

参与者之间也存在着这种泛化关系。例如,如果建模了一个数据库管理员和一个备份管理员,然后发现他们的工作中有一部分是重叠的,那么,就可以创建一个称为系统管理员的参与者作为数据库管理员和备份管理员的泛化。

扩展

扩展是两个用例之间的关系,它使得每个用例可以通过扩展用例向基用例中添加额外的行为来扩展基用例的功能。用例的扩展机制允许从一个基用例开始开发一个复杂的系统,并且能够在不改变基用例的前提下向基用例中扩展更多的行为。用例 A扩展了用例B,则A称为扩展用例(Extend Use Case)或子用例,B称为基用例,它表示扩展用例A的事件流在一定的条件下按照相应的扩展点可插人基用例B中,这就
需要在基用例中定义一至多个已命名的扩展点。选用扩展关系可以把一些可选的操作独立封装在另外的用例中,避免基用例过于复杂。
扩展关系用虚线加上开箭头来表示。扩展用例被连接在箭头的尾部,箭头指向基用例,在虚线处添加一个<< extend >>表示扩展关系。例如,在基用例 Compare Inventory中,如果库存量足够多,则可以启动零配件出库的功能,如果库存量不足则需要创建采购合同。所以Stock Out 和Create Purchase Contract是在用例Compare Inventory基础上的扩展,可将其建模为扩展关系,如图2-11所示。

image-20211219223505490

包含

包含是两个用例之间的关系。当多个用例需要用到同一段行为时,可以把这段共同的行为单独抽象成为一个用例,然后让其他的用例来包含这一用例,从而避免在多个用例中重复描述同一段行为,也可以防止该段行为在多个用例中的描述出现不一致性。当需要修改这段公共的需求时,也只需要修改一个用例,避免同时修改多个用例而产生的不一致性和重复性工作。用例 A 包含 B,将 A 称为基用例,B 称为被包含用
例(Inclusion Use Case)。包含关系表示基用例会用到被包含用例,被包含用例的事件流在基用例的某个点处插人到基用例的事件流中。
**值得注意的是,对于包含关系而言,子用例中的事件流是一定插人到基用例中去的,并且插人点只有一个,而扩展关系可以根据一定的条件来决定是否将扩展用例的事件流插人到基用例事件流,并且插人点可以有多个。包含关系是无条件的,扩展关系是有条件的。**含关系用虚线加上箭头来表示。基用例被连接在箭头的尾部,箭头指向被包含用例,在虚线处添加一个<< include >>标签以表示包含关系,如图 所示。

image-20211219223855295

在 PPS 项目中,选择产品状态(Choose Product Condition)会在许多场合下发生,在创建销售订单和创建询价单中选择产品状态都是必不可少的活动,所以把选择产品状态作为一个被包含的用例插人到Create Order和Create Enquiry 用例中,如果需要改动选择产品状态用例,则不用对每一个用例都做相应修改,这样就提高了用例模型的可维护性。

用例描述

image-20211219225014902 image-20211219225313759

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

相关文章

实训—用例图的建模与用例描述的写作

&#x1f4da;文章目录 &#x1f52c;实训名称: &#x1f52c;实验目的: &#x1f52c;实验原理: &#x1f52c;实验步骤 &#x1f52c;实训名称: 用例图的建模与用例描述的写作 &#x1f52c;实验目的: 1. 能够准确识别出参与者。 2&#xff0e;能够准确识别参与者之间…

html元素隐藏与显示

首先先解释一下两种不显示元素的基础知识&#xff0c;然后在给出一个例子及其实现的代码。先展示一下例子想要的效果。 如下图&#xff0c;这个表格最后两列正常情况下是没有显示的。 当鼠标移动该行时&#xff0c;该行的最后两列显示出来&#xff0c;如下图红框内显示。 接下…

html中怎么隐藏一下div,HTML怎么隐藏div

回答&#xff1a; div的visibility可以控制div的显示和隐藏&#xff0c;但是隐藏后页面显示空白: 1 2 3 style"visibility:none;" document&#xff0c;getElementById("typediv1")&#xff0c;style&#xff0c;visibility"hIDden";//隐藏 docu…

html的隐藏标签的显示不出来,css如何让隐藏的元素显示出来

在css中&#xff0c;可以使用display属性让隐藏的元素显示出来&#xff0c;只需要给被隐藏的元素添加“display:block”样式即可。display属性规定元素应该生成的类型&#xff0c;当值为block时&#xff0c;表示将隐藏的元素显示出来。 本教程操作环境&#xff1a;windows7系统…

html中占位隐藏,css样式占位和不占位隐藏元素的方法

css样式常用display: none;与visibility: hidden;方法设置元素隐藏&#xff0c;其中display:none方法隐藏元素不占位&#xff0c;visibility: hidden;方法隐藏元素占位。下面我们来看一下这两种方法如何使用。 display属性介绍&#xff1a; display&#xff1a;none可以隐藏某个…

selenium定位隐藏元素

面试官&#xff1a;“你是怎么使用selenium定位隐藏元素&#xff1f;”。 我相信这是很多小伙伴在面试web自动化的时候经常遇到的问题。但是我想说&#xff0c;这个问题着实很无聊。为什么我会这么说呢 &#xff1f; 做web自动化测试&#xff0c;首先就是模拟用户做一些回归测…

html标签隐藏占位,css怎么不占位隐藏元素

css不占位隐藏元素的方法&#xff1a;1、使用display属性&#xff0c;给元素添加“display:none;”样式即可。2、使用position绝对定位&#xff0c;给元素添加“position:absolute;top:-9999px;”样式即可。 本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、D…

python获取页面隐藏元素_python之selenium操作隐藏元素

一、html显示与隐藏元素的几种方法 1、display none:隐藏元素 block:显示为块级元素 B元素 display: none 隐藏自身元素以及它的所有后代元素 ,隐藏后的元素不占据任何空间,不影响页面布局。 2、visibility hidden:隐藏 visible:显示 B元素 visibility: hidden 隐…

html如何隐藏标签?,css如何隐藏元素?

用 CSS 隐藏页面元素有许多种方法。你可以将opacity设为0、将visibility设为hidden、将display设为none或者将position设为absolute然后将位置设到不可见区域。 css隐藏元素&#xff1a; Opacity opacity 属性的意思是设置一个元素的透明度。它不是为改变元素的边界框(bounding…

html 隐藏元素点击事件,css隐藏元素的几种方法中可以触发点击事件的是?

css隐藏元素的几种方法中可以触发点击事件的是 是opacity设置为0的方法。 css隐藏元素的方式&#xff1a; 1、display:none;.box{ display: none; } 最简单也最粗暴的方法就是设置元素的display属性为none。 设置为display:none;的元素将不会再占用页面空间&#xff0c;其占用的…

html隐藏怎么出来,html怎么让元素隐藏

html让元素隐藏的方法&#xff1a;1、通过“display:none;”隐藏&#xff1b;2、通过“overflow:hidden;”隐藏&#xff1b;3、设置元素的宽高等盒子模型的属性值为0&#xff1b;4、利用定位隐藏&#xff1b;5、设置元素透明度为0&#xff1b;6、通过visibility隐藏。 本文操作…

html怎么隐藏一个元素,html怎么隐藏div元素

html隐藏div元素的方法&#xff1a;1、在div标签中使用hidden属性&#xff0c;添加“hidden"hidden"”语句即可。2、在div标签中使用style属性&#xff0c;添加“display: none;”样式即可。 本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、Dell G…

HTML和CSS隐藏元素的四种方法

第一种&#xff1a;display&#xff1a;none 特点&#xff1a;不占据屏幕空间 显示&#xff1a;display&#xff1a;block <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible…

Matlab画图技巧

二维图像&#xff1a; 设置图片位置和大小&#xff1a; set (gcf,Position, [a,b,c,d])[a,b,c,d]分布代表图片的起始点位置&#xff0c;图片的长和高。在绘制一些较大的图片的时候&#xff0c;可先将图片调整好大小&#xff0c;拖拽到合适的位置&#xff1b;然后在工具栏编辑中…

MATLAB自定义函数并绘制

MATLAB在学习生活中应用非常广&#xff0c;简单总结一点MATLAB的使用小技巧&#xff0c;在脚本中自定义函数表达式并进行绘制 主要包括&#xff1a; 线性&#xff1a; f(x)axb二次&#xff1a;f(x)ax^2bxc高斯函数&#xff1a; 广义高斯函数: 对数正态函数: 代码实现的主要思…

MATLAB画图函数plot简单用法

用法一 用法二 plot(X, Y, LineSpec); 其中LineSpec是字符串&#xff0c;表示图形设置&#xff1a;线条样式(line style)、每个点的样式(marker)、颜色&#xff08;color&#xff09; 线条样式 点的样式 颜色 LineSpec就是用来描述这三个属性的&#xff0c;也可以只描述其中…

matlab损耗函数曲线,MATLAB 损失函数画图

损失函数画图 Hinge loss function: \[H(z) = max(0,1-z)\] $\psi$-learning loss function: \[{\phi _s}(z) = \left\{ {\begin{array}{*{20}{c}} s&{z < 0}\\ 0&{z \ge 0} \end{array}} \right.\] Normalized Sigmoid loss: \[{P_t}(z) = 1 - \tanh (tz)\] Ramp …

Matlab画图函数与参数

#Matlab画图函数及参数 学习资料方便查阅。 ##plot函数 plot是绘制一维曲线的基本函数&#xff0c;但在使用此函数之前&#xff0c;我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线&#xff1a; close all; xlinspace(0, 2*pi, 100); % 100个点的x座标 ysin(x); %…

matlab画图函数基本使用(适合新手)

matlab画图函数基本使用&#xff08;适合新手&#xff09; 画图1. 散点图&#xff08;scatter()函数&#xff09;&#xff1a;2. 函数图像&#xff08;plot()函数&#xff09;&#xff1a;1. 在同一张图绘制多条曲线2. 改变颜色和大小3.限制X Y坐标轴范围4.grid on 加上网格线5…