二、用例图

二、用例图

(一)、用例图的基本概念

1、用例图的定义:

用例图是表示一个系统中用例与参与者关系之间的图。它描述了系统中相关的用户和系统对不同用户提供的功能和服务。

用例图相当于从用户的视角来描述和建模整个系统,分析系统的功能与行为。

  1. 用例图的主要元素:

参与者、用例以及元素之间的关系。此外,用例图还可以包括注解和约束,也可以使用包将图中的元素组合成模块。

  1. 参与者:

1.1参与者的概念

参与者是与系统主体交互的外部实体的类元,描述了一个或一组与系统产生交互的外部用户或外部事物。

参与者位于系统边界之外,而不是系统的一部分

1.2确定参与者:名词

①主要业务参与者:主要从用例的执行中获得好处的关联人员

②主要系统参与者:直接同系统交互以发起或触发业务或系统事件的关联人员

③外部服务参与者:响应来自用例的请求的关联人员

④外部接收参与者:从用例中接收某些价值或输出的非主要的关联人员

1.3参与者的泛化关系

当系统中的几个参与者既扮演自身的角色,同时也有更一般化的角色时,可通过建立泛化关系来进行描述。

与类相似,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。

  1. 用例

2.1用例的概念

用例是类元提供的一个内聚的的功能单元,表明系统与一个或多个参与者之间信息交换的顺序,也表明了系统执行的动作

简单来说,用例就是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中也包含可能的各种分支情况。

2.2用例与参与者

用例与参与者之间存在关联关系。

2.3系统边界

描述了系统的边界,以及描述了外部系统与系统之间交互的边界。

表示法:用封闭所有用例的矩形表示。

2.4用例的特征

用例是用例是由参与者启动的相对独立的、有可观测的执行结果的、是一个单元的动宾短语

2.5用例的粒度

用例粒度指的是用例组织信息的方式和细化程度

①在业务建模阶段,用例的粒度以每个用例描述一个完整的事情为宜。

②在概念建模阶段,用例的粒度以每个用例能描述一个完整的事件流为宜。

③在系统建模阶段,用例的粒度以一个用例能够描述参与者与计算机的一次完整交互为宜。

)、用例之间的关系

1、泛化关系

将特化的用例与一般化的用例联系起来。子用例继承了父用例的属性、操作和行为序列,并且可以增加属 于自己的附加属性和操作。

父用例同样可以定义为抽象用例。

2、依赖关系

(1)包含

1.1包含指的是

一个用例(基用例)可以包含其他用例(包含用例)具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。

1.2包含的两个基本约束:

①基用例可以看到包含用例,并需要依赖于包含用例的执行结果,但是它对包含用例的内部结构没有了解;②基用例一定会要求包含用例执行。

2)扩展

2.1扩展指的是

一个用例(扩展用例)对另一个用例(基用例)行为的增强。

2.2在这一关系中,扩展用例包含了一个或多个片段,每个片段都可以插入到基用例中的一个单独的位置上,而基用例对于扩展的存在是毫不知情的。使用扩展用例我们就可以在不改变基用例的同时,根据需要自由地向用例中添加行为。

2.3扩展用例的使用包括四个部分:

①基用例:需要被扩展的用例

②扩展用例:提供所添加的行为序列的用例。

③扩展关系:使用虚线箭头表示,箭头指向基用例。

④扩展点:基用例中的一个或多个位置,表示在该位置会根据某条件来决定是否要中断基用例的执行,从而执行扩展用例中的片段。

  • 、参与者与用例以及用例之间的关系

  • 、用例描述与文档

1、用例描述概述

2、前置条件与后置条件

3、事件流

4、补充约束

5、用例文档实践

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软考网工笔记】计算机基础理论与安全——网络安全

病毒 Melissa 宏病毒 1. 是一种快速传播的能够感染那些使用MS Word 97 和MS Office 2000 的计算机宏病毒。 2. 前面有**Macro** 表示这是宏病毒; 3. 宏病毒可以感染后缀为.xls的文件;Worm 蠕虫病毒 1. 通常是通过网络或者系统漏洞进行传播。 2. 利用信…

STM32 拓展 低功耗案例3:待机模式 (register)

需求描述 寄存器操作进入待机模式。待机模式的唤醒方式比较有限。我们这次使用WKUP引脚的上升沿唤醒。PA0就是WKUP引脚。 当然PA0仍然需要工作在下拉输入模式,只有这样当按键按下的时候才会有一个上升沿。 由于我们电路中PA0已经连接了LED1,所以要产生…

windows中硬件加速gpu计划开启cpu的使用率居高不下

1.加速gpu计划开启在任务管理器的gpu选项中看不到cuda选项,这给我们进行深度学习训练和推理带来很大影响。 2.开启硬件加速CPU的占用率明显增高,特别用GPU进行实时视频流解码时就不会分配给GPU解码,造成cpu占用居高不下。不利于深度学习训练…

【Go】运行自己的第一个Go程序

运行自己的第一个Go程序 一、Go语言的安装Go环境安装查看是否安装成功配置GOPROXY(代理) 二、Goland安装三、Goland破解四、新建项目 开一篇专栏记录学习Go的过程,一门新语言从hello world开始,这篇文章详细讲解Go语言环境搭建及hello world实现 一、Go语…

提升汽车金融租赁系统的效率与风险管理策略探讨

内容概要 在汽车金融租赁系统这个复杂的生态中,提升整体效率是每个企业都渴望达成的目标。首先,优化业务流程是实现高效运行的基础。通过分析目前的流程,找出冗余环节并进行简化,能够帮助企业缩短审批时间,提高客户满…

计算机网络 (25)IPV6

前言 IPv6,全称为“互联网协议第6版”(Internet Protocol Version 6),是由互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。 一、产生背景 IPv4,即互联网协议第4版,是现行…

嵌入式系统(将软件嵌入到硬件里面)

目录 Linux起源 查看操作系统的版本 查看内核的版本: 内核系统架构 系统关机或重启命令 关机: 重启: linux下的软件安装 两种软件包管理机制: deb软件包分为两种: 软件包的管理工具:dpkg apt 1…

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…

web实操9——session

概念 数据保存在服务器HttpSession对象里。 session也是域对象,有setAttribute和getAttribute方法 快速入门 代码 获取session和塞入数据: 获取session获取数据: 请求存储: 请求获取: 数据正常打印&#xff1a…

如何在电脑上使用 FaceTime

如今,视频通话已成为与朋友、家人和同事保持联系的重要组成部分。 FaceTime 是 Apple 推出的一款功能丰富的视频通话应用程序。它以其简单性和视频质量而闻名。但如果您想在 PC 上使用 FaceTime该怎么办?虽然 FaceTime 仅适用于 Apple 设备,但…

(框架漏洞)

1.Thinkphp 1.Thinkphp5x远程命令执⾏及getshell 搭建靶场环境 vulhub/thinkphp/5-rce docker-compose up -d #启动环境 ?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1][]whoami ?s/Index/\think\app/invokefunctio…

探秘Kafka源码:关键内容解析

文章目录 一、以kafka-3.0.0为例1.1安装 gradle 二、生产者源码2.1源码主流程图2.2 初始化2.3生产者sender线程初始化2.4 程序入口2.5生产者 main 线程初始化2.6 跳转到 KafkaProducer构造方法 一、以kafka-3.0.0为例 打开 IDEA,点击 File->Open…->源码包解…

动态库dll与静态库lib编程4:MFC规则DLL讲解

文章目录 前言一、说明二、具体实现2.1新建项目2.2 模块切换的演示 总结 前言 动态库dll与静态库lib编程4:MFC规则DLL讲解。 一、说明 1.前面介绍的均为Win32DLL,即不使用MFC的DLL。 2.MFC规则DLL的特点:DLL内部可以使用MFC类库、可以被其他…

对比学习损失函数 - InfoNCE

InfoNCE Loss :构建高效对比学习模型 引言 对比学习中的InfoNCE损失函数是自监督学习领域的重要进展,它通过最大化正样本对之间的相似度并最小化负样本对的相似度,有效地引导模型学习到数据的本质特征。InfoNCE不仅提高了表示学习的质量&am…

家用万兆网络实践:紧凑型家用服务器静音化改造(二)

大家好,这篇文章我们继续分享家里网络设备的万兆升级和静音改造经验,希望对有类似需求的朋友有所帮助。 写在前面 在上一篇《家用网络升级实践:低成本实现局部万兆(一)》中,我们留下了一些待解决的问题。…

【STC库函数】Compare比较器的使用

如果我们需要比较两个点的电压,当A点高于B点的时候我们做一个操作,当B点高于A点的时候做另一个操作。 我们除了加一个运放或者比较器,还可以直接使用STC内部的一个比较器。 正极输入端可以是P37、P50、P51,或者从ADC的十六个通道…

东京大学联合Adobe提出基于指令的图像编辑模型InstructMove,可通过观察视频中的动作来实现基于指令的图像编辑。

东京大学联合Adobe提出的InstructMove是一种基于指令的图像编辑模型,使用多模态 LLM 生成的指令对视频中的帧对进行训练。该模型擅长非刚性编辑,例如调整主体姿势、表情和改变视点,同时保持内容一致性。此外,该方法通过集成蒙版、…

海思Linux(一)-Hi3516CV610的开发-ubuntu22_04环境创建

目 录 前 言 一、芯片介绍 二、环境搭建 2.1 前提准备 2.2 虚拟机创建 2.3 ubuntu环境安装 2.4 基础ubuntu环境搭建 2.5 使用MobaXterm登陆ubuntu 前 言 芯片选型:HI3516CV610 选择的开发板是:酷电科技馆的Hi3516CV610-MINI开发板 上一篇文章&#xf…

vue elementUI Plus实现拖拽流程图,不引入插件,纯手写实现。

vue elementUI Plus实现拖拽流程图,不引入插件,纯手写实现。 1.设计思路:2.设计细节3.详细代码实现 1.设计思路: 左侧button列表是要拖拽的组件。中间是拖拽后的流程图。右侧是拖拽后的数据列表。 我们拖动左侧组件放入中间的流…

Spring boot 项目 Spring 注入 代理 并支持 代理对象使用 @Autowired 去调用其他服务

文章目录 类定义与依赖注入方法解析createCglibProxy注意事项setApplicationContext 方法createCglibProxy 方法 类定义与依赖注入 Service: 标识这是一个 Spring 管理的服务类。ApplicationContextAware: 实现该接口允许你在类中获取 ApplicationContext 对象,从而…