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

软件工程考试复习

第一章、软件工程概述

🌟软件=程序+数据+文档(考点)

🌟计算机程序及其说明程序的各种文档称为 ( 文件 ) 。计算任务的处理对象和处理规则的描述称为 (  程序 )。有关计算机程序功能、设计、编制、使用的文字或图形资料称为 ( 文档 ) 。

🌟软件与物质产品有很大的区别,软件是一种( 逻辑 )产品。

💯软件按功能划分可以分为:

系统软件

  • BI0S(基本输入输出系统)
  • Windows操作系统
  • 设备驱动程序

支撑软件

  • 软件开发环境
  • 数据库管理系统
  • 网络软件

应用软件

软件工程(1968年)方法学包含三个元素:🌟方法,工具和过程(考点)

  1. 方法是软件完成软件开发的各项任务的技术方法,
  2. 工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;
  3. 过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

🌟软件工程的出现主要是由于软件危机的出现(考点)

🌟软件工程的出现是为了解决生成工程化的问题(考点)

目前最广泛使用的软件工程方法学是,传统方法学和面向对象方法学。

传统方法学:传统方法学又称生命周期方法学或结构化范型。一个软件从开始计划起,到废弃不用止,称为软件的生命周期。在传统的软件工程方法中,软件的生存周期分为🌟问题定义、需求分析、总体设计、详细设计、编程和测试几个阶段。

优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作; 促进了软件重用。

缺点:不能适应事务变化的要求;开发周期长;当软件规模庞大时,使用传统方法学开发往往不成功,此外使用传统方法学开发出的软件难以维护。

面向对象方法学:(强调的是对象的数据结构)

优点:

1、易维护

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

2、质量高

在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。

3、效率高

在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。

4、易扩展

由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

1.软件生命周期:

软件生存期:🌟三个阶段软件定义期、软件开发期、运行维护期(考点)

软件定义时期:问题定义,可行性研究和需求分析。

💯问题定义:要解决的问题是什么

可行性研究:对于上一个阶段所确定的问题有行得通的解决办法吗?

需求分析:确定目标系统必须具备哪些功能

开发时期:总体设计,详细设计,编码和单元测试,综合测试

💯总体设计:又称为概要设计,从各种设计方案中选出最佳方案,制定出最佳方案的详细设计计划,设计软件的体系结构,确定程序模块间的关系。

详细设计:总体设计以比较抽象的方式提出了解决问题的方法,详细设计就是把方法具体化。

编码和单元测试:写出正确的,容易理解,容易维护的程序模块,并测试每一个模块

综合测试:通过各种类型的测试(以及相应的调试)使软件达到预定的要求

维护时期:维护

💯维护通常有四类:

改正性维护,诊断和改正软件使用过程中发现的错误。

适应性维护,修改软件以适应环境的变化。

🌟完善性维护,根据用户需求扩充软件,使软件更完善。也是维护中花费时间最多的(考点)

预防性维护,修改软件为将来的维护活动预先准备

2.软件过程:

瀑布模型(文档驱动)

瀑布模型将软件生命周期制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落

1.阶段间具有顺序性和依赖性

2.推迟实现的观点(不过早编程)

3.质量保证的观点

瀑布模型早期不可逆(考试中一般认定不可逆)

快速原型模型(用户需求驱动)

是用户和设计变换最频繁的方法

快速建立一个能反应用户需求的原型系统,让用户试用,通过实践了解系统概貌。(第四代技术4GL)

增量模型(非整体开发模型(考点)

增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能。

瀑布模型或快速原型模型目标是一次就把一个满足所有需求的产品提交给用户

增量模型把整个软件产品分解成许多个增量构件,分批地逐步向用户提交产品

增量模型的特点

把瀑布模型的顺序特征与快速原型法的迭代特征相结合

喷泉模型(用户驱动)

喷泉模型(Fountain Model)是一种以用户需求为动力,以对象为驱动的模型(考点),主要用于采用对象技术的软件开发项目。在喷泉模型中,软件开发过程的各阶段是相互迭代的、无间隙的。软件的某个部分常常被重复工作多次,相关对象在每次迭代中加入渐进的软件成分。无间隙是指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界线。由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较容易地实现活动的迭代和无间隙,使其开发自然地包括复用。喷泉模型如下图所示。

螺旋模型(风险驱动)

主要用于内部开发的大规模软件项目,每个阶段都要进行风险评估,快速原型模型以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。该模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。

敏捷过程(适用于中小型项目)

1.个体和交互胜过过程和工具

2.可以工作的软件胜过面面俱到的文本

3.客户合作胜过合同谈判

4.响应变化胜过遵循计划

极限编程 客户作为开发团队的成员

短期交付

结对编程:一人编码一人审查和测试,两人角色可交换

简单设计,及时调整计划。

rup模型(面向对象)

UP,Rational Unified Process,统一软件开发过程,是一个面向对象且基于网络的程序开发方法论,它可以为为所有方面和层次的程序开发提供指导方针,模版以及事例支持。

RUP的二维开发模型

RUP软件开发生命周期是一个二维的软件开发模型。如图:横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)。

🌟开发过程四个阶段:初始、细化、构造、交付(考点)

第二章、可行性研究

1.技术可行性

软件、硬件、人员

    • 使用现有的技术能否实现这个系统?
    • 是否有胜任开发该项目的熟练技术人员?
    • 能否按期得到开发该项目所需的软件、硬件资源?

2.经济可行性

是否可以赚到钱

3.操作可行性

操作可行性评价系统运行后会引起的各方面变化,如:对组织机构管理模式、用户工作环境等产生的影响。

4.法律可行性

社会可行性主要讨论法律方面和使用方面的可行性。

例如,被开发软件的权利归属问题、软件所使用的技术是否会造成侵权等问题。

1.什么是可行性分析:检查并确定是否值得为项目或产品投入时间、金钱和资源。这样的评估活动称为“可行性分析”。

2.为什么要进行可行性分析:由于受到资源和交付时间的限制,使得软件系统的开发变得越来越困难。因此,尽早对软件项目的可行性进行细致而谨慎的分析是十分必要的。

3.可行性分析主要任务是什么:用最小的代价在尽可能短的时间内确定问题是否可以解决

系统流程图是一种极好的分析和设计工具,它有助于开发人员和用户交流,在可行性分析中,可以通过绘制系统(业务)流程图了解要开发的系统的大概的业务处理流程、范围和功能等。🌟是用来描述物理系统的工具(考点)

数据流图

业务流程图

组织结构图

第三章、需求分析

需求分析不是在项目前期进行的工作

软件定义时期的最后一个阶段,基本目的:回答“系统必须怎么做”,任务是:确定软件系统功能,编写软件需求规格说明书;用户要很好地参与到需求分析过程中来;(需求需要不断地迭代

软件需求分析一般要确定的是用户对软件的功能需求和非功能需求

需求分析可以使用的工具:数据流图(加工规格说明 )、实体联系图(数据对象的描述)、数据字典

第五章、总体设计

总体设计基本目的:回答“概述的说系统应该怎么实现”,总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

设计过程:

总体设计通常由两个阶段组成:系统设计阶段,确定系统的实现方案;结构设计阶段,确定软件结构。

典型的总体设计过程:

1.设想提供方案

2.选取合理方案

3.推荐最佳方案

4.功能分解

5.设计软件结构

6.设计数据库

7.制定测试计划

8.书写文档

9.审查和复查

信息隐藏和局部化:

  • 信息隐藏:指设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。这种隐藏可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引入的错误传播到软件的其他部分。例如,一个计算圆面积的模块可以隐藏其内部的数学公式和计算过程,对于其他模块而言只需要知道输入半径和输出面积即可。
  • 局部化:指把一些关系密切的软件元素物理地放得彼此靠近。这种局部化有助于实现信息隐藏,因为不同模块之间的紧密联系被限制在局部范围内,避免了系统中不必要的耦合和依赖。例如,一个处理用户输入的模块可以与一个处理输出的模块放在同一个文件夹内,而与其他模块放在不同的文件夹内,这样就实现了局部化。

模块独立:🌟高内聚低耦合(考点)🌟模块独立性衡量的标志:内聚和耦合(考点)

内聚的定义:度量一个模块内部各个元素彼此结合的紧密程度。

内聚(考点)(内聚程度依次递增)

1.偶然内聚:指一个模块内的各处理元素之间没有任何联系。(类似于把一推不相关的代码都组合在一个类里)

2.逻辑内聚:指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。(类似于完成加法运算,有多个加法运算代码块,分别处理参数为int或float或double等。这些代码块之所以聚在一起,只是它们都是为了完成加法运算而已)

3.时间内聚:指把需要同时执行的动作组合在一起形成的模块。(类似于利用抽象工厂模式生成一碗粥,你可以先放水,也可以先放米,这两个动作之间没有必然的顺序,但为了生成一碗粥,需要同时执行这两个动作)

4.过程内聚:指一个模块完成多个任务,这些任务必须按照指定的过程执行。(类似于利用原生JDBC操纵数据库。你需要先连接JDBC获得connection对象,然后才能创建Statement对象,最后才能执行sql语句)

5.通信内聚:指模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。(类似于有一个数组,你只把它作为你遍历数组,增加数组节点,删除数组节点的参数)

6.顺序内聚:指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。(类似于程序模拟车间生产的某条流水线)

7.功能内聚:指模块内的所有元素共同作用完成一个功能,缺一不可。

类似于某排序算法的代码,不能缺少任意一行代码,否则整个排序功能失效)

耦合定义:度量模块之间互相连接的紧密程度。

耦合(考点)(耦合度依次递增)

💯1.无直接耦合:指两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何消息。

2.数据耦合:指两个模块之间有调用关系,传递的是简单的数据值。(类似于高级语言中的值传递)

3.特征耦合:指两个模块之间传递的是数据结构。(类似于高级语言中的引用传递)

4.控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪个功能起作用受调用模块控制。(类似于计算工资模块,调用它的模块先区别是普通员工还是经理,进而生成控制变量,传递给计算工资模块进而选择其中一种计算功能)

5.外部耦合:模块间通过软件之外的环境联结。(如I/O将模块耦合到特定的设备、格式、通信协议上)

6.公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(例如某一模块把用户放到http session后,另外一些模块需要从http session取用户,那么它们之间就形成了公共耦合。如果必须存在公共耦合,应限制公共耦合的范围)

7.内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时。(类似于Java中不通过方法操作另一个类的数据,而是直接以类似于People.foot那样访问。)

第六章、详细设计

详细设计的任务

1.🌟为每个模块确定采用的算法(考点)

2.确定每一模块使用的数据结构

3.确定模块接口的细节

4.要为灭一个模块设计出一组测试用例

详细设计工具

1.图像工具(程序流程图、N-S图(不能实现任意的转移、可以表示模块之间的调用关系)、PAD)

2.表格工具 判定表(内容是:对象、条件和操作

3.语言工具 PDL(伪码)

🌟Jackson图上下层之间的关系是组成关系(考点)

第七章、实现

编码(少)

1.选择程序设计语言

2.编码风格

测试

🌟测试的目的是发现软件的错误(考点)

🌟软件测试的关键问题是如何选择测试用例(考点)

集成测试:发现概要设计阶段的错误

单元测试:主要是在编码阶段进行的,也就是测试写的代码有没有错误

验收测试:要用来满足用户的期望的测试,为了验证有效性

系统测试:通过与系统的需求定义做比较,发现软件与系统定义不符合或与之矛盾的地方,以验证软件的功能和性能等满足其规约所指定的要求。

白盒测试

 白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例。

覆盖率低-->高

语句覆盖

选择足够多的测试数据,使程序中每个语句至少执行一次

判定覆盖

语句覆盖的基础上每个判定的每个可能都执行一次

条件覆盖

不仅每个语句执行一次,并且使判定表达式中每个条件都取到各种可能的结果

条件组合覆盖

🌟差错能力最强(考点)

黑盒测试(根据需求说明)

黑盒测试又叫功能测试,这是因为在黑盒测试中主要关注被测软件的功能实现,而不是内部逻辑。在黑盒测试中,被测对象的内部结构,运作情况对测试人员是不可见的,测试人员对被测产品的验证主要是根据其规格,验证其与规格的一致性。

在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、恢复性测试、标杆测试、稳定性测试、可靠性测试等。

等价划分法

每类中的典型值在测试中的作用与这一类中所有其他值作用相同,可以从每个等价类中取一组数据作为测试数据

有效等价类(正确、符合条件的数据)+无效等价类(错误、不符合条件的数据)=等价类

🌟等价类的划分是关键(考点)

eg:程序输入条件为小于100大于20的整数,则有效等价类为20=100.

边界值法

若合法数据是0到100

4值法:-1,0,100,101

6值法:-1,0,1,99,100,101

因果图法

因果图是用图解的方法表示输入的各种组合关系,依据因果图写出判定表,从而设计相应的测试用例。

   它适合于检查程序输入条件的各种组合情况。例约束关系、组合关系。

调试

调试(也叫纠错)作为成功测试的后果出现(在测试发生错误时出现)

第八章、维护

软件维护的特点

💯回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他 代码 产生错误。

非结构化维护

若软件配置只有程序代码,程序内部文档不足,使评价更加困难,对软件结构,全程数据结构,系统接口,性能和设计约束等经常会产生误解。因为没有测试文档所以不能进行回归测试

结构化维护

有完整的软件配置,维护从文档开始,确定软件结构,性能,接口。然后修改设计并且对所做的修改进行复查,编写响应代码。可以回归测试,把修改后的文件再次交付。

相关文章:

软件工程考试复习

第一章、软件工程概述 🌟软件程序数据文档(考点) 🌟计算机程序及其说明程序的各种文档称为 ( 文件 ) 。计算任务的处理对象和处理规则的描述称为 ( 程序 )。有关计算机程序功能、…...

PHP基础 - 类型比较

在 PHP 中,作为一种弱类型语言,它提供了松散比较和严格比较两种方式来比较变量的值和类型。 松散比较: 使用两个等号(==)进行比较,只会比较变量的值,而不会考虑它们的数据类型。例如: $a = 5; // 整数 $b = 5; // 字符串if ($a == $b) {echo "相等"; // 输…...

张正友相机标定法原理与实现

张正友相机标定法是张正友教授1998年提出的单平面棋盘格的相机标定方法。传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可…...

【LeetCode】2723. 两个 Promise 对象相加

两个 Promise 对象相加 题目题解 题目 给定两个 promise 对象 promise1 和 promise2,返回一个新的 promise。promise1 和 promise2 都会被解析为一个数字。返回的 Promise 应该解析为这两个数字的和。 示例 1: 输入: promise1 new Promise…...

设计模式--命令模式的简单例子

引入:以一个对数组的增删改查为例。通过命令模式可以对数组进行增删改查以及撤销回滚。 一、基本概念 命令模式有多种分法,在本文中主要分为CommandMgr、Command、Receiver. CommandMgr主要用于控制命令执行等操作、Command为具体的命令、Receiver为命…...

排序算法之六:快速排序(非递归)

快速排序是非常适合使用递归的,但是同时我们也要掌握非递归的算法 因为操作系统的栈空间很小,如果递归的深度太深,容易造成栈溢出 递归改非递归一般有两种改法: 改循环借助栈(数据结构) 图示算法 不是…...

【概率方法】重要性采样

从一个极简分布出发 假设我们有一个关于随机变量 X X X 的函数 f ( X ) f(X) f(X),满足如下分布 p ( X ) p(X) p(X)0.90.1 f ( X ) f(X) f(X)0.10.9 如果我们要对 f ( X ) f(X) f(X) 的期望 E p [ f ( X ) ] \mathbb{E}_p[f(X)] Ep​[f(X)] 进行估计&#xff0…...

MyBatis 四大核心组件之 StatementHandler 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…...

用Guava做本地缓存示例

缓存的作用 提升系统性能,暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用 本地缓存和分布式缓存 缓存分为本地缓存与分布式缓存。本地缓存为了保证线程安全问题,一般使用ConcurrentMap的方式保存在内存之中,而常…...

Django多对多ManyToManyField字段

Django是一个支持多对多关系的Web框架,可以在模型中定义多对多关系。多对多关系通常涉及两个实体之间的复杂交互,例如用户和组之间的关系,或者课程和学生之间的关系。在Django中,可以使用ManyToManyField字段来定义多对多关系。 …...

docker-centos中基于keepalived+niginx模拟主从热备完整过程

文章目录 一、环境准备二、主机1、环境搭建1.1 镜像拉取1.2 创建网桥1.3 启动容器1.4 配置镜像源1.5 下载工具包1.6 下载keepalived1.7 下载nginx 2、配置2.1 配置keepalived2.2 配置nginx2.2.1 查看nginx.conf2.2.2 修改index.html 3、启动3.1 启动nginx3.2 启动keepalived 4、…...

软件科技成果鉴定测试需提供哪些材料?

为了有效评估科技成果的质量,促进科技理论向实际应用转化,所以需要进行科技成果鉴定测试。申请鉴定的科技成果范围是指列入国家和省、自治区、直辖市以及国务院有关部门科技计划内的应用技术成果,以及少数科技计划外的重大应用技术成果。   …...

办公word-从不是第一页添加页码

总结 实际需要注意的是,分隔符、分节符和分页符并不是一个含义 分隔符包含其他两个;分页符:是增加一页;分节符:指将文档分为几部分。 从不是第一页插入页码1步骤 1,插入默认页码 自己可以测试时通过**…...

Android笔记(十七):PendingIntent简介

PendingIntent翻译成中文为“待定意图”,这个翻译很好地表示了它的涵义。PendingIntent描述了封装Intent意图以及该意图要执行的目标操作。PendingIntent封装Intent的目标行为的执行是必须满足一定条件,只有条件满足,才会触发意图的目标操作。…...

为 Compose MultiPlatform 添加 C/C++ 支持(2):在 jvm 平台使用 jni 实现桌面端与 C/C++ 互操作

前言 在上篇文章中我们已经介绍了实现 Compose MultiPlatform 对 C/C 互操作的基本思路。 并且先介绍了在 kotlin native 平台使用 cinterop 实现与 C/C 的互操作。 今天这篇文章将补充在 jvm 平台使用 jni。 在 Compose MultiPlatform 中,使用 jvm 平台的是 An…...

【PyTorch】卷积神经网络

文章目录 1. 理论介绍1.1. 从全连接层到卷积层1.1.1. 背景1.1.2. 从全连接层推导出卷积层 1.2. 卷积层1.2.1. 图像卷积1.2.2. 填充和步幅1.2.3. 多通道 1.3. 池化层(又称汇聚层)1.3.1. 背景1.3.2. 池化运算1.3.3. 填充和步幅1.3.4. 多通道 1.4. 卷积神经…...

qt可以详细写的项目或技术

1.QT 图形视图框架 2.QT 模型视图结构 3.QT列表显示大量信息 4.QT播放器 5.QT 编解码 6.QT opencv...

操作系统笔记——储存系统、文件系统(王道408)

文章目录 前言储存系统地址转换内存扩展覆盖交换 储存器分配——连续分配固定大小分区动态分区分配动态分区分配算法 储存器分配——非连续分配页式管理基本思想地址变换硬件快表(TLB)多级页表 段式管理段页式管理 虚拟储存器——基于交换的内存扩充技术…...

基于Html+腾讯云播SDK开发的m3u8播放器

周末业余时间在家无事,学习了一下腾讯的云播放sdk,并制作了一个小demo(m3u8播放器),该在线工具是基于腾讯的云播sdk开发的,云播sdk非常牛,可以支持多种播放格式。 预览地址 m3u8player.org 源码…...

uniapp小程序分享为灰色

引用:https://www.cnblogs.com/panwudi/p/17074172.html uniapp开发的微信小程序,没有转发,分享: 创建一个mixin:common/share.js export default {onShareAppMessage(res) { //发送给朋友return {}},onShareTimeline(res) {//…...

python:五种算法(OOA、WOA、GWO、PSO、GA)求解23个测试函数(python代码)

一、五种算法简介 1、鱼鹰优化算法OOA 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、粒子群优化算法PSO 5、遗传算法GA 二、5种算法求解23个函数 (1)23个函数简介 参考文献: [1] Yao X, Liu Y, Lin G M. Evolutionary programming made…...

DIP——添加运动模糊与滤波

1.运动模糊 为了模拟图像退化的过程,在这里创建了一个用于模拟运动模糊的点扩散函数,具体模糊的方向取决于输入的motion_angle。如果运动方向接近水平,则模糊效果近似水平,如果运动方向接近垂直,则模糊效果近似垂直。具…...

SQL Server查询计划(Query Plan)——SQL处理过程

6. 查询计划(Query Plan) 6.1. SQL处理过程 就SQL语句的处理过程而言,各关系库间大同小异,尤其是商业库之间实现机制和细节差别更小些,其功能及性能支持方面也更加强大和完善。SQL Server作为商业库中的后起之秀,作为SQL语句处理过程的主要支撑和保障,其优化器及相关机…...

【动手学深度学习】(十二)现代卷积神经网络

文章目录 一、深度卷积神经网络AlexNet1.理论知识 一、深度卷积神经网络AlexNet 1.理论知识 ImageNet(2010) 图片自然物体的彩色图片手写数字的黑色图片大小468 * 38728*28样本数1.2M60K类数100010 AlexNet AlexNet赢了2012ImageNet竞赛更深更大的LeNet主要改进&#xff…...

【小沐学Python】Python实现TTS文本转语音(speech、pyttsx3、百度AI)

文章目录 1、简介2、Windows语音2.1 简介2.2 安装2.3 代码 3、pyttsx33.1 简介3.2 安装3.3 代码 4、ggts4.1 简介4.2 安装4.3 代码 5、SAPI6、SpeechLib7、百度AI8、百度飞桨结语 1、简介 TTS(Text To Speech) 译为从文本到语音,TTS是人工智能AI的一个模组&#xf…...

TCP通信

第二十一章 网络通信 本章节主要讲解的是TCP和UDP两种通信方式它们都有着自己的优点和缺点 这两种通讯方式不通的地方就是TCP是一对一通信 UDP是一对多的通信方式 接下来会一一讲解 TCP通信 TCP通信方式呢 主要的通讯方式是一对一的通讯方式,也有着优点和缺点…...

2023济南大学acm新生赛题解

通过答题情况的难度系数&#xff1a; 签到&#xff1a;ACI 铜牌题&#xff1a;BG 银牌题&#xff1a;EF 金牌题&#xff1a;DHJKO 赛中暂未有人通过&#xff1a;LMNP A - AB Problem 直接根据公式计算就行。 #include<stdio.h> int main(){int a,b;scanf("%…...

docker-compose安装教程

1.确认docker-compose是否安装 docker-compose -v如上图所示表示未安装&#xff0c;需要安装。 如上图所示表示已经安装&#xff0c;不需要再安装&#xff0c;如果觉得版本低想升级&#xff0c;也可以继续安装。 2.离线安装 下载docker-compose安装包&#xff0c;上传到服务…...

【rabbitMQ】rabbitMQ用户,虚拟机地址(添加,修改,删除操作)

rabbitMQ的下载&#xff0c;安装和配置 https://blog.csdn.net/m0_67930426/article/details/134892759?spm1001.2014.3001.5502 rabbitMQ控制台模拟收发消息 https://blog.csdn.net/m0_67930426/article/details/134904365?spm1001.2014.3001.5502 目录 用户 添加用户…...

Python高级算法——动态规划

Python中的动态规划&#xff1a;高级算法解析 动态规划是一种解决多阶段决策问题的数学方法&#xff0c;常用于优化问题。它通过将问题分解为子问题&#xff0c;并在解决这些子问题的基础上构建全局最优解。在本文中&#xff0c;我们将深入讲解Python中的动态规划&#xff0c;…...