用例图包含关系、扩展关系、泛化关系解析(最全总结,非常详细)

news2025/1/13 10:23:27

一、用例图中的各种关系

a)参与者与用例间的关联关系:参与者与用例之间的通信,也成为关联或通信关系。

b)用例与用例之间的关系:包含关系(include)、扩展关系(extend)、泛化关系。

1.包含关系

(1)包含:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中“<<include>>”是包含关系的构造型,箭头指向抽象用例。

例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。

如图               

(2)一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。

在这里插入图片描述
说明:一般用户有很多功能,其中包括各种信息的查看,这时可以建立一个查询信息这一个用例,然后下面在包含查看余额、查看上机记录、查看充值记录这三个小用例。

2.扩展关系

如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此他能根据基用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<<extend>>”是扩展关系的构造型,箭头指向基本用例。

说明:罚款与还书用例之间属于扩展关系,你还书不一定要罚款,如果你超时还书可能要罚款;但是如果你按时还书,就不需要罚款了。即两个用例只在特定条件下才会执行。

3.泛化关系

 当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。注意,这里是三角箭头

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

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

相关文章

智慧机场航线监测系统:提升航空运输安全与效率的新一步

在当今世界&#xff0c;空中出行已经成为越来越多人生活的一部分。人们频繁地乘坐飞机来往各地&#xff0c;全球航空旅行需求不断增长&#xff0c;航空运输业已经变得越来越复杂。在这个复杂性不断增强的行业中&#xff0c;智慧机场应用航线监测系统成为了航空领域关键的发展趋…

LeetCode2652——倍数之和

LeetCode2562 自己的解法&#xff1a; 官方给的解法&#xff08;不需要创建额外的数组&#xff0c;更为简洁&#xff0c;效率更高&#xff09;&#xff1a;

操作指南 | 如何通过Moonbeam DApp在OpenGov投票

除了Polkassembly或Polkadot.js以外&#xff0c;Moonbeam自己的DApp也可以直接参与链上治理。该界面简洁完整&#xff0c;对用户来说非常方便。 首先进入https://apps.moonbeam.network/moonbeam&#xff0c;连接你的钱包至DApp。Moonbeam DApp支持很多类型的钱包&#xff0c;…

Unity游戏开发中ngui和ugui区别与优缺点详解

Unity3D是一款跨平台的游戏开发引擎&#xff0c;它支持多种平台&#xff0c;包括PC、移动设备和主机。在Unity3D中&#xff0c;UI系统是游戏开发中非常重要的一部分&#xff0c;它负责游戏中的用户界面的显示和交互。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;…

rust学习特殊的地方——函数返回值

概念 Rust 中的函数定义以 fn 开始&#xff0c;后跟着函数名和一对圆括号。大括号告诉编译器函数体在哪里开始和结束。 特殊的地方——函数返回值 错误的写法 正解1 去掉分号 fn main() {let x plus_one(5);println!("The value of x is: {}", x); }fn plus_…

AI巧破网络诈骗?闭门研讨会报名丨青源Workshop第26期

青源Workshop丨No.26 AI反诈与智能风控&#xff1a;信息安全的矛与盾 AI红利接踵而至&#xff0c;安全风险如影随形。过去几年&#xff0c;人工智能技术的迅速发展催生了包括金融、电子商务、社交网络、医疗保健等众多应用场景。AI应用落地带来新安全风险&#xff0c;安全防护难…

JVS规则引擎及智能BI又更新新功能啦!赶紧来试试

规则引擎更新功能 新增: 1.复合变量新增排序、排名功能 可以按照特定的顺序对数据进行排列&#xff0c;确定规则的优先级&#xff0c;可以提高数据处理效率&#xff0c;帮助分析人员更好地了解数据分布和趋势。 2.决策流新增动态日志功能 动态日志可以记录规则执行的过程和…

品牌创意二维码营销活动:MoneyLion 在纽约全城“撒钱”,月增百万级曝光!

在2023年4月——金融知识月&#xff0c;MoneyLion 在纽约策划了一场轰动全城的“撒钱”活动&#xff01; 在开始介绍这场极具创意的活动之前&#xff0c;我们先来了解一下MoneyLion这家公司。MoneyLion 是一家私营金融科技公司&#xff0c;为消费者提供贷款、财务咨询和投资服…

vue实现在页面拖拽放大缩小div并显示鼠标在div的坐标

1、功能要求&#xff1a; 实现在一个指定区域拖拽div,并可以放大缩小&#xff0c;同时显示鼠标在该div里的坐标&#xff0c;如图可示 缩小并拖动 2、实现 <div class"div_content" ref"div_content"><div class"div_image" id"…

药物滥用第二篇介绍

MTD&#xff1a; 美沙酮&#xff08;Methadone&#xff09;&#xff0c;是一种有机化合物&#xff0c;化学式为C21H27NO&#xff0c;为μ阿片受体激动剂&#xff0c;药效与吗啡类似&#xff0c;具有镇痛作用&#xff0c;并可产生呼吸抑制、缩瞳、镇静等作用。与吗啡比较&#x…

Chrome浏览器怎么清理单个页面缓存,简单实用

一、按F12 二、 右键点击刷新按钮 三、选择清空缓存并硬性重新加载 四、缓存已清空

网络空间安全体系

大家好&#xff0c;我是孪生质数-&#xff0c; 我是一名网络安全的爱好者&#xff0c;偶尔接触一点软件工程的知识&#xff0c;我不希望和大家一样变成码农&#xff0c;变相的网络搬砖&#xff0c;所以选择了网络空间安全&#xff0c;我自认为这个行业的前景非常大&#xff0c;…

通信设备为什么需要接地阻?

在现代社会&#xff0c;通信设备已经成为我们生活中不可或缺的一部分。无论是手机、电视、计算机还是互联网路由器&#xff0c;它们都在不断地演进&#xff0c;以满足我们日益增长的通信需求。 实际应用中&#xff0c;我们都会了解到通信设备在正常运行时产生的电磁波辐射和电…

浏览器不能访问阿里云ECS

一、浏览器不能访问端口 在阿里云ECS中构建了工程&#xff0c;nigix或者tomcat或者其他&#xff0c;然后在本地浏览器访问ip端口的时候&#xff0c;连接超时&#xff0c;解决办法&#xff1a; 进入阿里云ECS服务 -> 查看公网ip (外部连接需要使用公网) -> 进入ECS实例的…

算法通关村第九关黄金挑战——透彻理解二叉树中序遍历的应用

大家好&#xff0c;我是怒码少年小码。 上一篇讲了二分查找&#xff0c;今天我们看看它的难度扩展。 有序数组转为二叉搜索树 LeetCode 108&#xff1a;给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 高度平衡 二叉搜索树。 高…

第0章:怎么入手tensorflow

近年来人工智能的火爆吸引了很多人&#xff0c;网上相关的热门课程报名的人很多&#xff0c;但是坚持下去的人却少。那些晦涩的原理没有一定知识的积累很难能理解。 如果你对人工智能感兴趣&#xff0c;且想利用人工智能去实现某项功能&#xff0c;而不是对人工智能本身感兴趣&…

如何利用BIGEMAP软件查看历史影像

工具 Bigemap gis office地图软件 BIGEMAP GIS Office-全能版 Bigemap APP_卫星地图APP_高清卫星地图APP 很多人都在寻找历史影像图&#xff0c;这块的需求是非常大&#xff0c;历史影像一般可以用于历史地貌的变迁分析&#xff0c;还原以前的生态场景&#xff0c;对范围面积…

SSM - Springboot - MyBatis-Plus 全栈体系(三十二)

第七章 MyBatis-Plus 二、MyBatis-Plus 核心功能 5. 核心注解使用 5.1 理解和介绍 MyBatis-Plus 是一个基于 MyBatis 框架的增强工具&#xff0c;提供了一系列简化和增强的功能&#xff0c;用于加快开发人员在使用 MyBatis 进行数据库访问时的效率。 MyBatis-Plus 提供了一…

嵌入式学习笔记(58)C语言的内存操作

1.2内存位宽 1.2.1.内存的逻辑抽象图 提到内存&#xff0c;脑中要有一张逻辑图。这张图是一行行大小相等的格子&#xff0c;对于32位内存来说&#xff0c;一行就是4个字节。CPU要访问一个int型数据&#xff0c;则首先取地址,这里的地址指的是int型数据单元的首地址&#xff0…

如何使用Python快速实现文件共享并通过内网穿透技术公网访问?

文章目录 1.前言2.本地文件服务器搭建2.1.Python的安装和设置2.2.cpolar的安装和注册 3.本地文件服务器的发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 数据共享作为和连接作为互联网的基础应用&#xff0c;不仅在商业和办公场景有广泛的应用&#…