UML-用例图

提示:用例图是软件建模的开始,软件建模中的其他图形都将以用例图为依据。用例图列举了系统所需要实现的所有功能,除了用于软件开发的需求分析阶段,也可用于软件的系统测试阶段。

UML-用例图

  • 一、用例图的基础知识
    • 1.用例图的构成元素
      • (1)用例
      • (2)系统
      • (3)参与者
      • (4)关系
  • 二、用例图题目练习

一、用例图的基础知识

  • 用例图是用户眼中的系统,所描述的是系统的功能以及系统与用户之间的交互。它描述了人们希望如何使用一个系统,包括用户希望系统实现什么功能,以及用户需要为系统提供哪些信息。
  • 用例图的最终目标:描述系统开发过程中需要实现的所有功能。

1.用例图的构成元素

  • 用例是系统的功能,这些功能是为用户服务的。用例图从用户的角度来描述系统的功能,用户是系统的参与者关系描述了用例间的关系、参与者与用例间的关系、用户和系统的联系。与系统有着关联的不只是用户,还可以是其他的系统或硬件设备。
    在这里插入图片描述

(1)用例

  • 人们需要通过软件系统实现的功能。
  • 用例是从参与者的角度出发的,是参与者期望系统具备的单个功能,它定义了系统的行为特征。
  • 用例定义了系统的功能模块,并不描述系统的内部结构和设计,就像黑盒子,展示系统外部可见的功能单元。
  • 用例图中用例使用一个椭圆来表示。
  • 如何确定用例?
    • 选择系统边界;确定主要参与者——通过使用系统的服务实现其目标的那些人或事物;确定每个主要参与者的目标;定义满足用户目标的用例,根据其目标对应用例命名。

(2)系统

  • 由一个或多个用例构成的软件系统,可以是软件系统的分支
  • 系统是软件开发的最终产物,包含了用户需要的所有功能。它不单指一个完整的软件系统,也可以是用户执行某类功能的一个或多个软件构件。
  • 用例图需要将系统的所有功能作为用例显示,用例的缺失将会为软件开发的后续工作带来麻烦。使用子系统能够将系统细化,方便用例的确定。
  • 系统也可以作为参与者,参与到与其他系统交互的用例图中。
  • 用例图中的系统用带有标题头部的矩形来表示,在矩形的内部放置系统所包含的功能用例。

(3)参与者

  • 参与者是系统的使用对象,可以是用户、硬件设备或其他的系统。
  • 用例图中的参与者使用人型的符号表示。

(4)关系

  • 描述用例图各部分构成之间的联系。

  • 参与者和用例是密切相关的,用例是参与者对系统的使用功能,因此每一个用例都有与其对应的参与者。

  • 参与者与参与者、参与者与用例以及用例与用例之间的关系可以分为四种。
    在这里插入图片描述

  • 泛化关系
    在这里插入图片描述

  • 关联关系
    在这里插入图片描述

  • 包含关系
    在这里插入图片描述

  • 扩展关系

    • 扩展关系为处理异常或构建灵活的系统框架提供了一种十分有效的方法。
      在这里插入图片描述

二、用例图题目练习

  • 假设开发一个图书馆管理系统。该系统允许用户借阅书籍、归还书籍、续借书籍、查询书籍信息和预约书籍;图书管理员还应该有图书和读者管理,以及读者借还书一些情况处理;同时系统管理员还需要对系统有管理功能。请根据这些功能识别用例,并画出用例图。
    在这里插入图片描述
  • 该图错误的地方:
    • ①参与者到用例之间使用的是直实线,没有箭头。
    • ②扩展关系<>和包含关系<>的箭头方向画反了。

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

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

相关文章

数据结构之数组、矩阵和广义表

数据结构之数组、矩阵和广义表 1、数组1.1、数组的定义及基本运算1.2、数组的顺序存储 2、矩阵2.1、特殊矩阵2.2、稀疏矩阵 3、广义表3.1、广义表的基本操作3.2、广义表的特点3.3、广义表的存储结构 数据结构是程序设计的重要基础&#xff0c;它所讨论的内容和技术对从事软件项…

力扣:416. 分割等和子集 1049. 最后一块石头的重量 II (动态规划)(二合一,一次吃透两道题)

力扣&#xff1a;416. 分割等和子集 & 1049. 最后一块石头的重量 II 用的方法都是01背包解法&#xff0c;思路也是近乎一样&#xff0c;这里就放在一起讲解了&#xff08;主要讲解第一题&#xff0c;第二题大家可以直接自己AC&#xff09;。01背包解法详细讲解请见上篇博客…

CentOS搭建DNS服务器

服务器规划 DNS服务器IP为&#xff1a;172.16.32.253 需要自定义域名解析 172.16.32.253 dns.zhangsan.com 172.16.32.128 test1.zhangsan.com 172.16.32.129 test2.zhangsan.com 172.16.32.130 www.zhangsan.com 1. 服务器初始化 [rootlocalhost ~]# hostnamectl set-hostnam…

C++的命名空间域

一、域作用限定符 :: 即是域作用限定符&#xff0c;它的作用是指明一个标识符&#xff08;变量、函数或类&#xff09;来自哪一个作用域范围 二、编译器搜索变量、函数等的原则 1.先搜索局部变量&#xff0c;2.再搜索全局变量&#xff0c;3.最后搜索指定的命名空间域 三、…

2023.1.17 关于 Redis 持久化 AOF 策略详解

目录 引言 AOF 策略 实例演示一 缓冲区 重写机制 手动触发 自动触发 AOF 重写流程 实例演示二 引言 Redis 实现持久化的两大策略 RDB ——> Redis DataBase&#xff08;定期备份&#xff09;AOF ——> Append Only File&#xff08;实时备份&#xff09; 注意&…

15.云原生之k8s容灾与恢复实战

云原生专栏大纲 文章目录 Velero与etcd介绍Velero与etcd备份应用场景Velero与etcd在k8s备份上的区别 Velero备份恢复流程备份工作流程Velero备份时&#xff0c;若k8s集群发送变化&#xff0c;会发发生情况&#xff1f;Velero 备份pv&#xff0c;pv中数据变化&#xff0c;会发发…

开发「定位线上问题」小工具总结

文章目录 1. 写在最前面1.1 背景1.2 思路 2. 如何快速解决问题2.1 分析问题2.2 补救问题2.2.1 思路2.2.2 实现 3. 碎碎念 1. 写在最前面 1.1 背景 同事给处理各种线上问题以及处理紧急要交付的需求版本的我&#xff0c;紧急插入了一个线上的问题&#xff1a; 问题说明&#…

Java中的System类和一些练习

​​​​​​​ 目录 常用方法&#xff1a; 第一个方法&#xff1a; 第二个方法&#xff1a; 第三个方法&#xff1a; 方法 三 的拓展&#xff1a; System 和 Math 一样&#xff0c;也是一个工具类&#xff0c;提供了一些与系统相关的方法 常用方法&#xff1a; 第一个方…

【机器学习】机器学习变量分析第02课

当我们谈论用机器学习来预测咖啡店的销售额时&#xff0c;我们实际上是在处理一系列与咖啡销售相关的变量。这些变量就像是我们用来理解销售情况的“线索”或“指标”。那么&#xff0c;让我们用通俗易懂的方式来聊聊这些变量是怎么工作的。 特征变量&#xff1a;咖啡店的“档…

分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】

分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】 目录 分类预测 | Matlab实现ZOA-CNN-MATT-SVM斑马优化卷积神经网络多头注意力机制结合支持向量机的数据分类预测【24年新算法】分类效果基本描述程序设计…

mall整合Redis实现缓存功能

mall整合Redis实现缓存功能 本文主要讲解mall整合Redis的过程&#xff0c;以短信验证码的存储验证为例。 Redis的安装和启动 Redis是用C语言开发的一个高性能键值对数据库&#xff0c;可用于数据缓存&#xff0c;主要用于处理大量数据的高访问负载。 下载Redis,下载地址&…

【HTML】-- 02 HTML进阶

2.HTML进阶 2.1 块元素和行内元素 块元素 无论内容多少&#xff0c;该元素独占一行(p段落标签、h1-h6标题标签…) 行内元素 内容撑开宽度&#xff0c;左右都是行内元素的可以排在一行(a链接标签 . strong粗体 . em斜体 …) 2.2 列表标签 列表就是信息资源的一种展示形式。…