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

【“软件工程”基础概念学习】

基础和相关概念

英文:Software Engineering
  • :物体内部的组织疏松,受外力作用后容易改变形状
  • 软件
    1. 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。
    2. 借指某项活动中的人员素质、能力。
  • 程序:事情进行的先后次序;指计算机程序。
  • 程序控制:通过事先编制的程序需实现的自动控制。广泛应用于控制各种生产和工艺加工过程。
  • 系统:同类事物按一定关系组成的整体;有条理的;有系统的。
  • 系统工程
    1. 管理科学上运用数学和计算机技术等对一个系统内部的规划、设计、研究、实验、应用等环节进行组织管理,以求得最佳效益的措施。
    2. 指牵涉很多方面,需要统一筹划解决的复杂而庞大的工作任务。
  • 系统论:研究系统的一般模式、结构、性质和规律的理论。也指研究系统思想和系统方法的哲学理论。
  • 应用
    • 动词:使用;
    • 属性词:可供直接在生产或生活中运用的。
  • :物体内部组织紧密,受外力作用后不容易改变形状。
  • 硬件:计算机系统的组成部分,是构成计算机的各个元件、部件和装置的统称。借指生产、科研、经营等过程中的机器设备、物质材料等。
  • 工程
    1. 土木建筑或其他生产、制造部门用比较大而复杂的设备来进行的工作,如土木工程、机械工程、化学工程、采矿工程、水利工程等,也指具体的建设工程项目;
    2. 泛指某项需要投入巨大人力和物力的工作。

问题

软件软在哪里?
  • 易于修改和更新:需求、技术不断变化。
  • 抽象性:软件抽象出接口,操控硬件。
  • 没有物理形态:存在于内存、磁盘等介质中。
硬件硬在哪里?
  • 不可变性:一旦制造、功能固定。
  • 执行效率:硬件在特定任务中通常效率较高。
  • 物理构造:硬件是物理存在、需要具体材料和设计。

软件工程定义

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

定义中的基础概念

  • 研究:探求事物真相、性质、规律等;考虑或商讨意见、问题。
  • 规范:约定俗成或明文规定的标准。
  • 规范化:使合于一定的标准。
  • 定量
    • 动词:测定物质所含各种成分数量;
    • 动词:规定数量;
    • 名词:规定的数量。
  • 过程:事情进行或事物发展所经过的程序。
  • 开发:以荒地、矿山、森林、水力等自然资源为对象进行劳动,以达到利用的目的;开拓;发现或发掘人才、技术等供利用。
  • 维护:维持保护,使免于遭受破坏。
  • 经过时间考验:亲身经历、借鉴经历。
  • 管理
    • 动词:负责某项工作,使顺利进行;保管和料理;照管并约束。
  • 技术
    • 名词:人类在认识自然和利用自然的过程中积累起来并在生产劳动中体现出来的经验和技巧;
    • 泛指其他操作方面的技巧;指技术装备。

问题

软件工程的系统性体现在哪里?
  • 从需求分析、设计、编码、测试、部署到维护,每个阶段都被视为一个系统的一部分,它们相互依赖,共同构成了软件开发的全过程。
软件工程的规范化体系体现在哪里?
  • 遵循规范化和标准化的开发流程。这些流程包括项目管理、需求管理、配置管理、风险管理等。
软件工程的可定量体现在哪里?
  • 项目进度量化、成本估算与控制、软件规模度量、缺陷密度和质量管理、风险评估与管理、用户满意度与反馈量化。
软件工程的开发和维护过程是什么?
  • 开发:需求分析、设计、编码、测试、部署和交付;
  • 维护:问题报告和跟踪、缺陷修复、软件更新和升级、预防性维护。
软件工程的管理和技术如何结合?
  • 管理有什么?

    1. 项目计划:制定明确的项目目标、范围、时间表和资源需求,为软件开发提供清晰的指导。
    2. 资源配置:根据项目需求,合理分配人力、物力、财力等资源,确保开发过程的顺利进行。
    3. 进度控制:通过监控项目进度,及时发现和解决潜在问题,确保项目按时完成。
    4. 风险管理:识别、分析和应对软件开发过程中的风险,降低项目失败的可能性。
    5. 质量保证:建立有效的质量保证体系,确保软件产品符合质量标准和用户需求。
  • 技术有什么?
    软件工程的技术主要涉及需求分析、设计、编码、测试等方面。这些技术是软件开发的基础,决定了软件产品的质量和性能。

    1. 需求分析:通过深入了解用户需求,明确软件需要实现的功能和性能要求。
    2. 设计:根据需求分析结果,设计软件的总体架构、模块划分和接口定义等。
    3. 编码:按照设计文档,编写符合编码规范和最佳实践的程序代码。
    4. 测试:对软件进行单元测试、集成测试、系统测试和验收测试等,确保软件的质量和稳定性。

-软件工程管理和技术的结合
软件工程管理和技术的结合体现在以下几个方面:

  1. 计划阶段的技术评估:在制定项目计划时,需要对技术可行性进行评估,确保所选技术能够满足项目需求。这包括评估技术的成熟度、稳定性、可维护性等方面。
  2. 资源配置的技术需求:在资源配置阶段,需要根据技术需求合理分配资源。例如,对于技术难度较高的任务,需要分配具有相应技能的开发人员。
  3. 进度控制的技术监控:在进度控制过程中,需要密切关注技术实现的进度和质量。通过定期的技术评审和测试,及时发现和解决技术问题,确保项目按时完成。
  4. 风险管理的技术应对:在风险管理过程中,需要识别技术风险并制定相应的应对策略。例如,对于可能出现的技术难题,可以提前进行技术研究和储备,以降低风险对项目的影响。
  5. 质量保证的技术保障:在质量保证阶段,需要建立有效的技术保障体系,确保软件产品符合质量标准和用户需求。这包括制定编码规范、进行代码审查、建立测试体系等方面的措施。

相关文章:

【“软件工程”基础概念学习】

基础和相关概念 英文:Software Engineering 软:物体内部的组织疏松,受外力作用后容易改变形状软件: 计算机系统的组成部分,是指挥计算机进行计算、判断、处理信息的程序系统。通常分为系统软件和应用软件。借指某项活…...

C语言基本知识复习浓缩版:控制语句--分支

选择结构 if语句 if控制语句 #include <stdio.h>int main() { int hour; float money; printf("请输入上网小时数&#xff1a;"); scanf("%d", &hour); if (hour <10) { money 30; }else if (hour >10 && hour <50) { mone…...

Oracle Dataguard(主库为双节点集群)配置详解(1):安装 Oracle11g RAC 双节点集群

Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;1&#xff09;&#xff1a;安装 Oracle11g RAC 双节点集群 目录 Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;1&#xff09;&#xff1a;安装 Oracle11g RAC …...

深度学习知识点:LSTM

文章目录 1.应用现状2.发展历史3.基本结构4.LSTM和RNN的差异 1.应用现状 长短期记忆神经网络&#xff08;LSTM&#xff09;是一种特殊的循环神经网络(RNN)。原始的RNN在训练中&#xff0c;随着训练时间的加长以及网络层数的增多&#xff0c;很容易出现梯度爆炸或者梯度消失的问…...

XML通过HTTP POST 请求发送到指定的 API 地址,进行数据回传

代码结构说明 这段代码的主要功能是&#xff1a; 从指定文件夹中读取所有 XML 文件。 将每个 XML 文件的内容通过 HTTP POST 请求发送到指定的 API 地址。 处理服务器的响应&#xff0c;并记录每个文件的处理结果。 using System; using System.IO; using System.Net; usin…...

初学者关于对机器学习的理解

一、机器学习&#xff1a; 1、概念&#xff1a;是指从有限的观测数据中学习(或“猜 测”)出具有一般性的规律&#xff0c;并利用这些规律对未知数据进行预测的方法.机器学 习是人工智能的一个重要分支&#xff0c;并逐渐成为推动人工智能发展的关键因素。 2、使用机器学习模型…...

【源码解析】Java NIO 包中的 ByteBuffer

文章目录 1. 前言2. ByteBuffer 概述3. 属性4. 构造器5. 方法5.1 allocate 分配 Buffer5.2 wrap 映射数组5.3 slice 获取子 ByteBuffer5.4 duplicate 复刻 ByteBuffer5.5 asReadOnlyBuffer 创建只读的 ByteBuffer5.6 get 方法获取字节5.7 put 方法往 ByteBuffer 里面加入字节5.…...

vue video重复视频 设置 srcObject 视频流不占用资源 减少资源浪费

// 直接设置srcObject减少获取视频流&#xff1a;通过 captureStream() 方法从下方视频元素获取视频流。 // 设置 srcObject&#xff1a;将获取到的视频流设置为上方视频的 srcObject 减少资源浪费 // 获取到需要复制到的dom元素 const firstVideoElement proxy.$refs.firs…...

LayaAir3.2来了:性能大幅提升、一键发布安装包、支持WebGPU、3D导航寻路、升级为真正的全平台引擎

前言 LayaAir3的每一个分支版本都是一次较大的提升&#xff0c;在3.1彻底完善了引擎生态结构之后&#xff0c;本次的3.2会重点完善全平台发布相关的种种能力&#xff0c;例如&#xff0c;除原有的安卓与iOS系统外&#xff0c;还支持Windows系统、Linux系统、鸿蒙Next系统&#…...

计算机网络(四)网络层

4.1、网络层概述 简介 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信&#xff0c;他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来&#xff0c;形成一个更大的互…...

时空笔记:CBEngine(微观交通模拟引擎)

CBEngine 是一个微观交通模拟引擎&#xff0c;可以支持城市规模的道路网络交通模拟。CBEngine 能够快速模拟拥有数千个交叉路口和数十万辆车辆的道路网络交通。 以下内容基本翻译自CBEngine — CBLab 1.0.0 documentation 1 模拟演示 1.0 模拟演示结构 config.cfg 定义了 roa…...

Apache Sedona和Spark将geojson瓦片化例子

Apache Sedona很方便读取geojson、ShapeFile、geopackage等文件&#xff0c;提供了很多spark sql函数和rdd算子。下面例子主要用于熟悉spark和sedona的使用。 引入的maven包 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.or…...

5种IO模型

目录 一、认识IO二、5种IO模型三、非阻塞IO代码 一、认识IO 什么是IO&#xff1f; Input(输入)和Output(输出)。 冯诺依曼体系结构中&#xff0c;数据从输入设备拷贝到内存&#xff0c;经过处理后&#xff0c;再从内存拷贝到输出设备。现实情况中&#xff0c;数据并不是那么流…...

ue5 蒙太奇,即上半身动画和下半身组合在一起,并使用。学习b站库得科技

本文核心 正常跑步动画端枪动画跑起来也端枪 正常跑步动画 端枪动画的上半身 跑起来也端枪 三步走&#xff1a; 第一步制作动画蒙太奇和插槽 第二步动画蓝图选择使用上半身动画还是全身动画&#xff0c;将上半身端枪和下半身走路结合 第三步使用动画蒙太奇 1.开始把&a…...

面试题

1、shell 脚本写出检测 /tmp/size.log 文件如果存在显示它的内容&#xff0c;不存在则创建一个文件将创建时间写入。 2、写一个 shel1 脚本,实现批量添加 20个用户,用户名为user01-20,密码为user 后面跟5个随机字符。 3、编写个shel 脚本将/usr/local 目录下大于10M的文件转移到…...

工厂方法模式

工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一个接口&#xff0c;用于创建对象&#xff0c;但允许子类决定实例化的类是哪一个。这样&#xff0c;工厂方法模式将对象的创建逻辑委托给子类&#xff0c;从而实现了创建…...

web前端学习总结(一)

web前端使用三项技术:html、css、javascript. 一、html:超文本标记语言&#xff0c;用于展示网页的框架。 <html> <head><title> </title></head><body><div> </div> <!--用于布局&#xff0c;占1行 --><span&g…...

【深度学习入门_基础篇】概率论

开坑本部分主要为基础知识复习&#xff0c;新开坑中&#xff0c;学习记录自用。 学习目标&#xff1a; 随机事件与概率、随机变量及其分布、多维随机变量及其分布、大数定律与中心极限定理。 强烈推荐此视频&#xff1a; 概率论_麻省理工公开课 废话不多说&#xff0c;直接…...

SpringMVC根据url校验权限,防止垂直越权

思路是加一个拦截器&#xff0c;对除登录接口的所有请求进行拦截。拦截到请求后&#xff0c;查询当前用户都拥有哪些url的权限&#xff08;这个需要权限表有url字段&#xff09;&#xff0c;然后与当前请求的url对比&#xff0c;如果相同则说明有权限&#xff0c;否则没有。 首…...

istio-proxy oom问题排查步骤

1. 查看cluster数量 cluster数量太多会导致istio-proxy占用比较大的内存&#xff0c;此时需检查是否dr资源的host设置有配置为* 2. 查看链路数据采样率 若采样率设置过高&#xff0c;在压测时需要很大的内存来维护链路数据。可以调低采样率或增大istio-proxy内存。 检查iop中…...

openstack下如何生成centos9 centos10 和Ubuntu24 镜像

如何生成一个centos 10和centos 9 的镜像1. 下载 对应的版本 wget https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2 wget https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-Gener…...

Yolov8训练方式以及C#中读取yolov8+onnx模型进行目标检测.NET 6.0

目录 首先你要定义v8的模型特征文件 下方是完整的模型编写函数 然后你要在控件窗体中定义应用这些方法以及函数 一、定义你的标签 二、下方是定义模块和坐标的方法 三、画框 完整推理函数代码块 效果展示 完整源码 训练其实和yolov10差不多 因为v10就是在v8的基础上做了优…...

C#中序列化的选择:JSON、XML、二进制与Protobuf详解

C#中序列化的选择&#xff1a;JSON、XML、二进制与Protobuf详解 在C#开发中&#xff0c;序列化是将对象转换为可存储或传输的格式的过程&#xff0c;而反序列化则是将存储或传输的数据重新转换为对象的过程。选择合适的序列化方式对应用程序的性能、可维护性和兼容性至关重要。…...

深入理解 Java 设计模式之策略模式

一、引言 在 Java 编程的世界里&#xff0c;设计模式就如同建筑师手中的蓝图&#xff0c;能够帮助我们构建出更加健壮、灵活且易于维护的代码结构。而策略模式作为一种经典的行为型设计模式&#xff0c;在诸多实际开发场景中都发挥着至关重要的作用。它能够让算法的定义与使用…...

如何快速导出Python包和安装?

pip freeze > requirements.txt导出&#xff1a; 安转 &#xff1a; ​ pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple...

记录一个在增量更新工具类

1. 应用场景 比方说我现在有一个商品&#xff0c;这个商品可以上传图片用来展示&#xff0c;之前已经上传过5张图片 ABCDE&#xff0c;现在其中BC这两张图片不想要了要换成FG&#xff0c;这个时候就可以使用这个工具类进行更新。 在最后一步&#xff0c;可以不管ADE直接只管新增…...

VUE3 常用的组件介绍

Vue 组件简介 Vue 组件是构建 Vue 应用程序的核心部分&#xff0c;组件帮助我们将 UI 分解为独立的、可复用的块&#xff0c;每个组件都有自己的状态和行为。Vue 组件通常由模板、脚本和样式组成。组件的脚本部分包含了各种配置选项&#xff0c;用于定义组件的逻辑和功能。 组…...

UML系列之Rational Rose笔记二:包图

rose绘制包图&#xff0c;有简单的有复杂的&#xff1b; 正常图简单的话&#xff0c;直接新建package使用就行&#xff0c;改变package的大小&#xff0c;改变名称当作不同的包就行&#xff1b;基本没有什么学习难度&#xff1b;在此&#xff0c;笔者直接介绍一下回执标准一点…...

第34天:安全开发-JavaEE应用反射机制攻击链类对象成员变量方法构造方法

时间轴&#xff1a; Java反射相关类图解&#xff1a; 反射&#xff1a; 1、什么是 Java 反射 参考&#xff1a; https://xz.aliyun.com/t/9117 Java 提供了一套反射 API &#xff0c;该 API 由 Class 类与 java.lang.reflect 类库组成。 该类库包含了 Field 、 Me…...

cuda实现flash_attn_mma_share_kv源码分析

一 源码分析 1.1 函数入口 void flash_attn_mma_stages_split_q_shared_kv(torch::Tensor Q, torch::Tensor K, torch::Tensor V, torch::Tensor O, int stages) {CHECK_TORCH_TENSOR_DTYPE(Q, torch::kHalf) // Q [B,H,N,D]CHECK_TORCH_TENSOR_DTYPE(K, torch::kHalf) // K …...

Python操作Excel的库openpyxl使用入门

openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。以下是一些 openpyxl 的基本使用方法&#xff1a; 安装 openpyxl 首先&#xff0c;确保已经安装了 openpyxl。如果没有安装&#xff0c;可以使用以下命令进行安装&#xff1a; pip install openp…...

《拉依达的嵌入式\驱动面试宝典》—计算机网络篇(二)

《拉依达的嵌入式\驱动面试宝典》—计算机网络篇(二) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《…...

信息网络安全考试gjdw

序号 一级纲要 二级纲要 题目分类 题型 题干 选项 答案 题目依据 试题分数 试题编码 备注 说明 1 信息安规 \ 专业题库 单选题 根据信息安规规定&#xff0c;试验和推广信息新技术&#xff0c;应制定相应的&#xff08; &#xff09;&#xff0c;经本单位…...

S变换matlab实现

S变换函数 function [st,t,f] st(timeseries,minfreq,maxfreq,samplingrate,freqsamplingrate) % S变换 % Code by huasir Beijing 2025.1.10 % Reference is "Localization of the Complex Spectrum: The S Transform" % from IEEE Transactions on Signal Proc…...

【OLAP和PLTP】—— 浅谈两者的应用场景和区别

大家好&#xff0c;我是摇光~ OLAP&#xff08;Online Analytical Processing&#xff09;和OLTP&#xff08;Online Transaction Processing&#xff09;是两种不同的数据处理技术&#xff0c;分别用于不同的业务场景。以下是关于OLAP和OLTP的详细介绍&#xff1a; 一、OLAP&…...

计算机组成原理(1)王道学习笔记

一、 引言 计算机硬件唯一能识别的数据是二进制-----0/1。 用低/高电平表示0/1。 通过很多条电路&#xff0c;可以传递多个二进制数位。 每个二进制数位称为1bit&#xff08;比特&#xff09;。 计算机硬件的基本组成 早期的ENIAC计算机是通过手动接线来控制计算。冯诺依曼首次…...

LLaMA模型:自然语言处理的革新者

引言 在人工智能的领域中&#xff0c;自然语言处理&#xff08;NLP&#xff09;是一个充满挑战的分支&#xff0c;它的目标是让计算机能够理解和生成人类语言。Transformer模型&#xff0c;作为NLP的基石&#xff0c;已经极大地推动了这一领域的发展。然而&#xff0c;为了进一…...

各种特种无人机快速发展,无人机反制技术面临挑战

随着科技的飞速发展&#xff0c;各种特种无人机在军事、民用等领域得到了广泛应用&#xff0c;其性能不断提升&#xff0c;应用场景也日益丰富。然而&#xff0c;无人机反制技术的发展确实面临一定的挑战&#xff0c;难以完全跟上无人机技术的快速发展步伐。以下是对这一问题的…...

1555银行账户概要_pandas解答

目录 题目链接(无_力扣VIP_略过)一.读题(建议使用这种表结构_数据对比看)题目SQL Schema & Pandas Schema 建表语句_数据 二.答案_MySQL一图解MySQL一图解__可只需看此!!!!!!!!!!!!!!!!答案-----------------------------------------------------------------------------…...

【C++补充】第一弹---位图技术揭秘:内存优化与快速访问

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1 位图 1.1 位图相关面试题 1.2 位图的设计及实现 1.3 C库中的位图 bitset 1.4 位图的模拟实现 1.5 位图的优缺点 1.6 位图相关考察题目 1 …...

node.js中实现token的生成与验证

Token&#xff08;令牌&#xff09;是一种用于在客户端和服务器之间安全传输信息的加密字符串。在Web开发中&#xff0c;Token常用于身份验证和授权&#xff0c;确保用户能够安全地访问受保护的资源。 作用与意义 身份验证&#xff1a;Token可以用来验证用户的身份&#xff0…...

服务器登陆后有java变量

需求&#xff1a;在ssh服务器后&#xff0c;用户root 使用java会报错&#xff0c;没有这个变量&#xff0c;其实环境变量中已经有配置了&#xff0c;在/etc/profile 中有写变量及地址&#xff0c;通过source /etc/profile 命令也可以使环境变量加载上&#xff0c;但是ssh后不会…...

层次模型式的工作流

层次模型式的工作流是一种适合分布式版本控制系统&#xff08;如 Git、Mercurial&#xff09;的开发协作方式&#xff0c;它将开发团队分成多个层次&#xff0c;每个层次有明确的角色和职责&#xff0c;代码从底层逐步向上层汇总和集成&#xff0c;最终形成一个完整、稳定的产品…...

Linux 发行版介绍与对比:Red Hat、Ubuntu、Kylin、Debian

Linux 操作系统有众多发行版&#xff08;Distros&#xff09;&#xff0c;每个发行版的设计目标、目标用户、应用场景和使用方式有所不同。常见的 Linux 发行版包括 Red Hat、Ubuntu、Kylin 和 Debian。以下是这些发行版的详细介绍与对比&#xff0c;以及它们的应用场景和使用方…...

G1原理—3.G1是如何提升垃圾回收效率

大纲 1.G1为了提升GC的效率设计了哪些核心机制 2.G1中的记忆集是什么 3.G1中的位图和卡表 4.记忆集和卡表有什么关系 5.RSet记忆集是怎么更新的 6.DCQ机制的底层原理是怎样的 7.DCQS机制及GC线程对DCQ的处理 提升G1垃圾回收器GC效率的黑科技 G1设计了一套TLAB机制 快速…...

IOS界面传值-OC

1、页面跳转 由 ViewController 页面跳转至 NextViewController 页面 &#xff08;1&#xff09;ViewController ViewController.h #import <UIKit/UIKit.h>interface ViewController : UIViewControllerend ViewController.m #import "ViewController.h" …...

C# SQL ASP.NET Web

留学生的课程答疑 按照要求完成程序设计、数据库设计、用户手册等相关技术文档&#xff1b; 要求 1. 计算机相关专业&#xff0c;本科以上学历&#xff0c;至少有1年以上工作经验或实习经历。 2. 熟练掌握WinForm程序开发&#xff0c;或ASP.NET Web编程。 3. 熟悉C#中网络…...

asp.net core webapi 并发请求时 怎么保证实时获取的用户信息是此次请求的?

对于并发请求&#xff0c;每个请求会被分配到一个独立的线程或线程池工作线程上。通过 HttpContext 或 AsyncLocal&#xff0c;每个线程都能独立地获取到它自己的上下文数据。由于这些数据是与当前请求相关的&#xff0c;因此在并发请求时不会互相干扰。 在并发请求时&#xf…...

软件23种设计模式完整版[附Java版示例代码]

一、什么是设计模式 设计模式是在软件设计中反复出现的问题的通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、可扩展性和重用性。 设计模式是一种抽象化的思维方式,可以帮助开发人员更好地组织和设计他们…...

FPGA 20 ,FPGA按键消抖功能解析与实现

目录 前言 一. 具体场景 二. 消抖方法...