当前位置: 首页 > news >正文

用例图和活动图的区别与联系

        在软件开发过程中,需求分析是至关重要的一步。为了更好地理解和描述系统的功能需求,开发人员通常会使用各种图形化工具。其中,用例图和活动图是两种非常常用的工具。虽然它们都用于描述系统的行为,但各自具有不同的特点和适用场景。本文将详细探讨用例图和活动图的区别与联系,并通过实例加深理解。 

一、用例图概述

        用例图(Use Case Diagram)是UML(统一建模语言)中的一种图形化工具,主要用于描述系统的功能需求,特别是从外部用户的角度观察系统应该完成哪些功能。用例图通过展示参与者(Actor)和用例(Use Case)以及它们之间的关系,帮助开发人员以一种可视化的方式理解系统的功能需求。

1.1 用例图的组成元素

        用例图主要包括以下几个组成元素:

  • 参与者:也称为执行者,是与系统、子系统或类发生交互作用的外部用户、进程或其他系统的理想化角色。参与者可以是实际的人、其他系统或硬件设备。
  • 用例:是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互行为。用例表示系统为参与者提供的服务或功能。
  • 关系:用例图中展示了参与者与用例之间的关系,通常包括关联、包含、扩展和泛化等。
1.2 用例图的层次结构

        在实际应用中,用例图通常分为几个层次,以便更好地描述系统的功能需求:

  • 目标层用例:用户使用系统的理由或要达到的效果,用例是指用户实际做的一件事。
  • 实现层用例:用来实现目标层用例的具体步骤或操作。
  • 步骤层用例:详细描述了用户一步一步的操作过程。
1.3 用例图的适用场景

        用例图非常适合用于以下场景:

  • 厘清业务宽度而不是业务深度,明确用户要做的事,防止遗漏。
  • 梳理流程类业务,不太适合梳理信息展示类,如展示详情类的页面。
  • 不适合已经很熟悉的功能,如登录逻辑,因为已经很熟悉了,不太需要花时间再厘清所有业务。
二、活动图概述

        活动图(Activity Diagram)是UML中用于对系统的动态行为建模的一种常用工具。它展示了流程、并发和同步等复杂行为,帮助开发人员更好地理解系统的动态行为。活动图通过一系列活动和活动之间的顺序关系,描述了满足用例要求所要进行的操作以及操作间的约束关系。

2.1 活动图的组成元素

        活动图主要包括以下几个组成元素:

  • 起点和终点:表示活动的开始和结束。
  • 活动:表示工作流过程中命令的执行或活动的进行。
  • 判断(分支):用菱形表示,用于根据条件选择不同的执行路径。
  • 合并:多入一出,用于多个并行步骤汇集到同一流程。
  • 汇合:与合并类似,但强调全部做完才能继续下一步。
  • 并行:多个活动流程并行进行。
2.2 活动图的层次结构

        在梳理业务流程时,活动图也可以分层处理,以便更好地描述系统的动态行为:

  • 业务流程图:人与人之间的交互,目标是厘清设计业务。
  • 交互流程图:人与机器之间的交互,目标是指导原型图的绘制。
  • 实现流程图:表达机器在做什么,目标是设计软件。
2.3 活动图的适用场景

        活动图非常适合用于以下场景:

  • 梳理业务流程,特别是在用例图完成产品的设计单元之后。
  • 描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
  • 强调对象间的控制流程,对于系统的功能建模特别重要。
三、用例图和活动图的区别

        虽然用例图和活动图都用于描述系统的行为,但它们各自具有不同的特点和适用场景。以下是它们之间的主要区别:

3.1 描述角度不同
  • 用例图:从外部用户的角度描述系统的功能需求,展示了参与者与系统之间的交互行为。它主要关注系统的服务或功能,以及这些功能如何满足用户的需求。
  • 活动图:从系统内部的角度描述系统的动态行为,展示了流程、并发和同步等复杂行为。它主要关注系统内部的操作流程,以及这些流程如何实现系统的功能。
3.2 表达方式不同
  • 用例图:通过展示参与者、用例以及它们之间的关系来表达系统的功能需求。它使用简单的图形符号和文本描述,使得系统需求更加直观和易于理解。
  • 活动图:通过一系列活动和活动之间的顺序关系来表达系统的动态行为。它使用流程图的形式,展示了活动的执行顺序和条件分支,使得系统的动态行为更加清晰和可追踪。
3.3 适用场景不同
  • 用例图:更适合用于描述系统的功能需求,特别是从外部用户的角度观察系统应该完成哪些功能。它适用于厘清业务宽度、梳理流程类业务以及明确用户要做的事。
  • 活动图:更适合用于描述系统的动态行为,特别是系统内部的操作流程和并发行为。它适用于梳理业务流程、描述满足用例要求所要进行的活动以及识别并行活动。
四、用例图和活动图的联系

        尽管用例图和活动图在描述系统的行为时具有不同的特点和适用场景,但它们之间也存在密切的联系。以下是它们之间的主要联系:

4.1 共同目标

        用例图和活动图都旨在描述系统的行为,帮助开发人员更好地理解和实现系统的功能需求。它们都是UML中用于需求分析的重要工具,能够可视化地展示系统的功能和动态行为。

4.2 相互补充

        用例图和活动图在描述系统的行为时各有侧重,但它们可以相互补充,共同构成系统的完整需求体系。用例图从外部用户的角度描述系统的功能需求,而活动图则从系统内部的角度描述系统的动态行为。通过结合使用这两种工具,开发人员可以更加全面地理解和实现系统的功能需求。

4.3 转换与关联

        在实际应用中,用例图和活动图之间可以相互转换和关联。例如,可以将用例图中的用例细化为活动图中的活动步骤,以进一步描述系统的动态行为。同时,也可以将活动图中的操作流程映射到用例图中的用例,以明确系统的功能需求。这种转换和关联有助于开发人员更好地理解和实现系统的功能需求。

五、实例分析

        为了更好地理解用例图和活动图的区别与联系,以下通过一个简单的实例进行分析。

        假设我们正在开发一个在线购物系统,用户可以通过该系统浏览商品、下单购买以及支付订单。

5.1 用例图

        首先,我们可以使用用例图来描述系统的功能需求。以下是该系统的用例图:

  • 参与者:用户(User)
  • 用例:浏览商品(Browse Products)、下单购买(Place Order)、支付订单(Pay Order)
  • 关系:用户与浏览商品、下单购买和支付订单之间存在关联关系。

        通过该用例图,我们可以清晰地看到用户与系统之间的交互行为以及系统的功能需求。

5.2 活动图

        接下来,我们可以使用活动图来描述系统的动态行为。以下是该系统的活动图:

  • 起点:用户登录系统
  • 活动:浏览商品列表、选择商品、添加到购物车、下单购买、支付订单
  • 判断:是否选择商品、是否添加到购物车、是否下单购买、是否支付订单
  • 终点:用户退出系统

        通过该活动图,我们可以清晰地看到系统内部的操作流程以及活动的执行顺序和条件分支。

总结与展望

        用例图和活动图都是UML中用于描述系统行为的重要工具。用例图从外部用户的角度描述系统的功能需求,而活动图则从系统内部的角度描述系统的动态行为。它们各自具有不同的特点和适用场景,但也可以相互补充,共同构成系统的完整需求体系。

        在未来的软件开发过程中,我们可以继续深化对用例图和活动图的理解和应用。通过结合使用这两种工具,我们可以更加全面地理解和实现系统的功能需求,提高软件开发的效率和质量。同时,我们也可以探索更多的图形化工具和方法来辅助需求分析,以适应不断变化的软件开发需求。

相关文章:

用例图和活动图的区别与联系

在软件开发过程中,需求分析是至关重要的一步。为了更好地理解和描述系统的功能需求,开发人员通常会使用各种图形化工具。其中,用例图和活动图是两种非常常用的工具。虽然它们都用于描述系统的行为,但各自具有不同的特点和适用场景…...

接口请求中调试可以看到Origin,其具体的作用

接口请求中带 Origin 是浏览器在跨域请求时自动添加的一个 HTTP 请求头,用于标识请求的来源(源)。Origin 头的主要作用是支持跨域资源共享(CORS)和增强安全性。 Origin 的含义 Origin 包含发起请求的源信息&#xff0…...

知识图谱+大模型:打造全新智慧城市底层架构

在数字化时代,智慧城市的建设正迎来新一轮的变革。本文将探讨如何结合知识图谱和大模型技术,构建智慧城市的全新底层架构,以应对日益增长的数据量和复杂性,提升城市管理的智能化水平。 知识图谱:智慧城市的知识库 知识…...

Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆形图实现,Kotlin(2)

Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆形图实现,Kotlin(2) import android.content.Context import android.graphics.BitmapFactory import android.graphics.Canvas import android.graphics.Path import a…...

计算机图形学知识点汇总

一、计算机图形学定义与内容 1.图形 图形分为“图”和“形”两部分。 其中,“形”指形体或形状,存在于客观世界和虚拟世界,它的本质是“表示”;而图则是包含几何信息与属性信息的点、线等基本图元构成的画面,用于表达…...

【EtherCATBasics】- KRTS C++示例精讲(2)

EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等; EtherCATBasics.h : 数据定义…...

AI 简史:从神经元到现代大模型

AI 简史:从神经元到现代大模型 人工智能 (AI) 和深度学习 (DL) 在过去的几十年中飞速发展,推动了计算机视觉、自然语言处理和机器人等领域的进步。今年的诺贝尔物理学奖更是颁给了美国科学家约翰霍普菲尔德 (John Hopfield)和英国科学家杰弗…...

Kotlin入门到深入加强(1):基本介绍和第一个程序

吧, 一.关于本章和Kotlin 本章内容如要简单介绍一下Kotlin和创建并执行第一个Kotlin程序 什么是Kotlin,优势是什么,它和JAVA的关系又是什么 Kotlin是一种静态类型的编程语言,它运行在Java虚拟机上,并且可以与现有的Java代码无缝集成。Kotl…...

走进 Web3:探索分布式网络的未来

随着互联网的不断演变,我们正站在一个全新阶段的门槛上——Web3。它是对传统互联网(Web2)的一次深刻反思与升级,标志着一个去中心化、更加自主的数字世界的到来。Web3不仅仅是技术的革新,更代表着对互联网价值体系的根…...

信管通低代码信息管理系统应用平台

目前,国家统一要求事业单位的电脑都要进行国产化替代,替代后使用的操作系统都是基于linux的,所有以前在WINDOWS下运行的系统都不能使用了,再者,各单位的软件都很零散,没有统一起来。需要把日常办公相关的软…...

C语言从入门到放弃教程

C语言从入门到放弃 1. 介绍1.1 特点1.2 历史与发展1.3 应用领域 2. 安装2.1 编译器安装2.2 编辑器安装 3. 第一个程序1. 包含头文件2. 主函数定义3. 打印语句4. 返回值 4. 基础语法4.1 注释4.1.1 单行注释4.1.2 多行注释 4.2 关键字4.2.1 C语言标准4.2.2 C89/C90关键字&#xf…...

硬件设计:RS232电平标准

RS232是一种常用的串行通信接口标准,主要用于计算机和外部设备之间的数据传输。以下是RS232电平标准的详细介绍: 1. 电气特性: 信号电平: 逻辑1 (MARK):-3V到-15V之间。通常,-5V到-15V之间为有效的逻辑1。…...

前端初学基础

一.Web开发 前端三件 HTML ,页面展现 CSS,样式 JS(JavaScript),动起来 二,HTML 1.HTML概念 网页,网站中的一个页面,网页是构成网站的基本元素,是承载各种网站应用的平台。通俗的说,网站就…...

在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc

在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc 📖 前言 在 CentOS 7 上使用 NVM 安装 Node.js 后,可能会遇到如下问题: node: /lib64/libm.so.6: version GLIBC_2.27’ not found (required by node) node: /lib64/libc.so.6:…...

mac中idea菜单工具栏没有git图标了

1.右击菜单工具栏 2.选中VCS,点击添加 3.搜索你要的工具,选中点击确定就添加了 4.回到上面一个界面,选中你要放到工具栏的工具,点击应用就好了 5.修改图标,快捷键或者右击选中编辑图标 6.选择你要的图标就好了...

C++简明教程(10)(初识类)

类的教程 C 类的完整教程 C 中,类(class)是面向对象编程的核心概念,用于定义对象的属性(数据成员)和行为(成员函数)。本教程将带你从零开始,循序渐进地学习如何定义和使…...

微机接口课设——基于Proteus和8086的打地鼠设计(8255、8253、8259)

原理图设计 汇编代码 ; I/O 端口地址定义 IOY0 EQU 0600H IOY1 EQU 0640H IOY2 EQU 0680HMY8255_A EQU IOY000H*2 ; 8255 A 口端口地址 MY8255_B EQU IOY001H*2 ; 8255 B 口端口地址 MY8255_C EQU IOY002H*2 ; 8255 C 口端口地址 MY8255_MODE EQU IOY003H*2 ; …...

ctfshow-jwt

将信息进行安全的封装,以json的方式传递 三部分分别是: Header { typ: JWT token类型 alg: HS256 算法名称 } 将这个信息进行base64加密,构成了第一部分 payload载荷,存放主要信息的地方 { "sub": 1234567890, 标准中注册的…...

植物大战僵尸融合版,真无双版,喵版,抽卡版,杂交版v3

我用夸克网盘分享了「植物大战僵尸」链接: https://pan.quark.cn/s/11a45054a4da 融合版‌的作者为B站up主蓝飘飘fly。该版本在原版植物基础上创新地将两种不同的植物种植在一起进行融合,创造出独特的游戏体验‌。‌抽卡版、喵版、无双版是由B站UP主【时…...

将Minio设置为Django的默认Storage(django-storages)

这里写自定义目录标题 前置说明静态文件收集静态文件 使用django-storages来使Django集成Minio安装依赖settings.py测试收集静态文件测试媒体文件 前置说明 静态文件 Django默认的Storage是本地,项目中的CSS、图片、JS都是静态文件。一般会将静态文件放到一个单独…...

MaaS(Model as a Service)

1.MasS是什么? Model as a Service(MaaS)是一种云计算服务模式,它允许用户通过互联网访问和使用机器学习模型,而不需要自行构建和维护这些模型。MaaS提供了模型的托管、管理和监控,使用户能够专注于应用程…...

Docker怎么关闭容器开机自启,批量好几个容器一起操作?

环境: WSL2 docker v25 问题描述: Docker怎么关闭容器开机自启,批量好几个容器一起操作? 解决方案: 在 Docker 中,您可以使用多种方法来关闭容器并配置它们是否在系统启动时自动启动。以下是具体步骤和…...

训练时开Dropout,推理时不开Dropout的原因以及推理过程是怎样的?(中英双语)

Dropout的概念与应用:基于Transformer模型的深入解析 在深度学习中,Dropout 是一种常用的正则化技术,主要用于防止神经网络的过拟合。在训练过程中,Dropout通过随机丢弃神经网络中的一部分神经元,降低了网络的复杂度&…...

STL heap原理和用法

在C STL(标准模板库)中,heap(堆)并不是一个独立的容器,而是一组基于容器(通常是 vector)实现的算法函数,用于将一段数据组织成堆的数据结构形式,并提供了一些…...

【DRAM存储器四十三】LPDDR5介绍--寻址

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《某LPDDR5数据手册》 、《JESD209-5C》 前面我们介绍的LPDDR5一个die的数据位宽...

mac启ssh服务用于快速文件传输

x.1 在mac上启SSH服务 方法一:图形交互界面启ssh(推荐) 通过sharing - advanced - remote login来启动ssh;(中文版mac应该是 “系统设置 → 通用 → 共享”里打开“远程登录”来启动) 查看自己的用户名和…...

Java设计模式 —— 【结构型模式】享元模式(Flyweight Pattern) 详解

文章目录 概述结构案例实现优缺点及使用场景 概述 享元模式也叫蝇量模式:运用共享技术有效地支持大量细粒度的对象; 常用于系统底层开发,解决系统的性能问题。像数据库连接池,里面都是创建好的连接对象,在这些连接对象…...

前端最新Vue2+Vue3基础入门到实战项目全套教程,自学前端vue就选黑马程序员,一套全通关!

Vue 快速上手 Vue概念 Vue 是一个用于构建用户界面的渐进式框架 构建用户界面:基于数据渲染出用户看到的页面 渐进式:循序渐进 框架:一套完整的项目解决方案 Vue 的两种使用方式: ① Vue 核心包开发 场景:局部 模块改造 ② Vue 核心包 &am…...

肿瘤电场治疗费用

肿瘤电场治疗作为一种前沿的肿瘤治疗方法,近年来备受关注。该方法通过利用特定频率的交流电场,作用于恶性肿瘤细胞,以达到抑制肿瘤生长的目的。然而,随着这种治疗方法的普及,其费用问题也逐渐成为患者和家属关注的焦点…...

datatables快速入门

官网 进入官网https://datatables.net/ 点击下载 支持多种方式下载 快速入门 这里以cdn的方式演示 https://cdn.datatables.net/ <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport&…...

ReactPress 1.6.0:重塑博客体验,引领内容创新

ReactPress 是一个基于Next.js的博客&CMS系统&#xff0c; Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 体验地址&#xff1a;http://blog.gaoredu.com/ 今天&#xff0c;我们自豪地宣布ReactPress 1.6.0版本的正式发布&#xff0c;…...

我的创作纪念日(五年)

慕然回首 平平无奇的周一早晨&#xff0c;收到来自csdn的提醒&#xff0c;创作纪念日五周年了&#xff0c;这也意味着我从事开发行业差不多有整整五年了&#xff0c;五年啊&#xff01;你知道这五年我是怎么过的吗&#xff1f;一句Just do IT&#xff0c;我做it整整做了五年&am…...

企业AI助理背后的技术架构:从数据到智能决策

在当今数字化时代&#xff0c;企业AI助理已经成为推动企业数字化转型和智能化升级的重要工具。它们通过整合企业内外部数据资源&#xff0c;运用先进的算法和模型&#xff0c;为企业提供高效、精准的智能决策支持。本文将深入探讨企业AI助理背后的技术架构&#xff0c;从数据收…...

主流AI视频生成工具|Sora零基础入门指南

Sora是什么&#xff1f; Sora 是 OpenAI 推出的新一代 AI 视频生成工具。它能让用户通过简单的文本描述或图片提示&#xff0c;快速生成高质量的视频内容。无论是广告短片、创意视频&#xff0c;还是实验性艺术作品&#xff0c;Sora 都能帮助创作者以极低的门槛实现自己的想法。…...

单元测试/系统测试/集成测试知识总结

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试&#xff0c;如函数或一个类的方法。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff0…...

前端文件下载多方式集合

基于vueelement UI框架 // ts-ignore import axios from "axios"; import { ElMessage } from "element-plus"; import webConfig from "/config";class FileDownload {/*** 文件流下载* param url string 下载地址* param params object 请求…...

PG备份恢复--pg_dump

pg_dump pg_dump 是一个逻辑备份工具。使用 pg_dump 可以在数据库处于使用状态下进行一致 性的备份,它不会阻塞其他用户对数据库的访问 。 一致性备份是 pg_dump 开始运行时&#xff0c;给数据库打了一个快照&#xff0c;且在 pg_dump 运行过程 中发生的更新将不会被备份。 …...

Java进阶学习笔记|面向对象

第一章.类和对象 1.面向对象的介绍 1.面向过程:自己的事情自己干,代表语言C语言洗衣服:每一步自己要亲力亲为 -> 找个盆,放点水,找个搓衣板,搓搓搓 2.面向对象:自己的事情别人帮忙去干,代表语言Java语言 洗衣服:自己的事情别人干 -> 全自动洗衣机3.为啥要使用面向对…...

ESP32_H2(IDF)学习系列-ADC模数转换(连续转换)

一、简介&#xff08;节选手册&#xff09; 资料参考https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32h2/api-reference/peripherals/adc_calibration.html 1 概述 ESP32-H2 搭载了以下模拟外设&#xff1a; • 一个 12 位逐次逼近型模拟数字转换器 (SAR ADC)&…...

二叉树的右视图

199. 二叉树的右视图 已解答 中等 相关标签 相关企业 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 # Definition for a binary tree node. # class TreeNode(object): #…...

Pinpoint 是一个开源的分布式追踪系统

pinpointagent2.2.2.tar 是 Pinpoint 的一个版本&#xff0c;Pinpoint 是一个开源的分布式追踪系统&#xff0c;专门用于对 Java 应用程序进行性能监控、日志记录和故障诊断。它可以帮助开发人员和运维人员追踪和分析微服务架构中服务之间的调用链&#xff0c;并进行性能分析。…...

React 脚手架使用指南

React 脚手架使用指南 目录 概述创建项目项目结构常用命令配置说明最佳实践 概述 什么是 React 脚手架&#xff1f; React 脚手架(Create React App)是 Facebook 官方提供的创建 React 单页应用的工具。它提供了一个零配置的现代构建设置。 为什么使用脚手架&#xff1f;…...

Win10提示“缺少fbgemm.dll”怎么办?缺失fbgemm.dll文件的修复方法来啦!

fbgemm.dll文件的作用 fbgemm.dll&#xff08;Facebook GEMM library&#xff09;是一个动态链接库文件&#xff0c;它主要用于优化矩阵乘法运算&#xff0c;提高计算性能。虽然它不是Windows 10系统的核心组件&#xff0c;但在某些应用程序或游戏中&#xff0c;尤其是那些需要…...

vue2 elementui if导致的rules判断失效

优化目标 和 目标转化出价必填的 切换的时候还会隐藏掉 这时候的if语句会导致rules判断失效 我的办法是把判断拉到外面 别放在el-form-item里 <section v-if"unitForm.baseTarget OCPM && unitForm.cpaTargetOptions ! undefined && unitForm.cpaTa…...

基于科大讯飞大模型Spark 4.0 Ultar 的微信聊天机器人搭建教程---零基础搭建最详细图文版!!!

1、软件的下载及部署 搭建该微信聊天机器人&#xff0c;主要依赖的编程语言为python&#xff0c;故需要搭建python的开发环境&#xff0c;主要包含python解释器的下载与安装以及编译器pycharm的下载与安装 1.1 python解释器的下载与安装 python解释器官网&#xff1a;https:…...

SpringBoot整合Netty

前言 Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高并发协议服务器和客户端。 Netty主要基于Java NIO实现,提供了异步和事件驱动的网络编程工具,简化了TCP和UDP服务器的编程。 Netty广泛应用于分布式系统、实时通信、游戏开发等领域,例如,…...

机器学习之PCA降维

主成分分析&#xff08;PCA&#xff0c;Principal Component Analysis&#xff09; 主成分分析&#xff08;PCA&#xff09;是一种常见的无监督学习技术&#xff0c;广泛应用于数据降维、数据可视化以及特征提取等任务。PCA的目标是通过线性变换将数据从高维空间映射到低维空间…...

《 OpenCV 环境搭建》

《OpenCV 环境搭建》 一、OpenCV 简介二、准备工作三、安装 OpenCV&#xff08;一&#xff09;获取安装包&#xff08;二&#xff09;安装过程 四、配置环境变量&#xff08;一&#xff09;系统环境变量配置&#xff08;二&#xff09;项目环境变量配置&#xff08;以 Visual S…...

【阅读记录-章节7】Build a Large Language Model (From Scratch)

系列文章目录 【阅读记录-章节1】Build a Large Language Model (From Scratch) 【阅读记录-章节2】Build a Large Language Model (From Scratch) 【阅读记录-章节3】Build a Large Language Model (From Scratch) 【阅读记录-章节4】Build a Large Language Model (From Scr…...

在js中实现下载base64数据,兼容低版本

详细步骤如下 1、解析 Base64 数据&#xff1a; 如果数据流中包含前缀 data:…;base64,&#xff0c;先分离 MIME 类型和 Base64 数据部分。如果没有前缀&#xff0c;假设默认 MIME 类型&#xff08;如 application/octet-stream&#xff09;。 2、Base64 解码&#xff1a; 使…...