综合知识(整理)

🍓计算机组成与体系结构

数据的表示

概念
R进制,十进制数,其中R进制包括二进制、八进制、十六进制;
数据转换

  • R进制→十进制,R进制的数每一位都按权展开,然后依次相加;
    也就是说R进制按权展开,每位的权值是Rk,其中R是幂的底数,k是指数;
    指数k依次是 …5 4 3 2 1 0 -1 -2… 其中 小数点前是0,小数点后是-1;
    例如:RRR.RR 二进制数 则按权展开为:R×2
    2+R×21+R×20+R×2*(-1)+R×2*(-2)
    在这里插入图片描述
  • 十进制 → R进制,采用短除法;
    用十进制的数 除以R,记录每次计算的余数,然后倒数书写;
    在这里插入图片描述
  • 二进制与八进制、十六进制转换
    二进制 → 八进制,每3位二进制表示一个八进制;从低到高每三位进行划分,高位不够3位补零
    (开头)小写的o 表示八进制;
    二进制 → 十六进制,每4位二进制表示一个八进制;从低到高每四位进行划分,高位不够4位补零 其中 10 -15 分别采用a-f表示
    (开头)小写的ox、 (末尾)小写的h 表示十六进制;

数值表示范围、浮点运算

码制概念
采用8位表示,数据有政正负之分,最高位标识正负,0=正,1=负;
正数而言,原码、反码、补码都是相同的;
负数而言:
反码 = 除符号位以外,原码所有位数都取反,(0变1,1变0);
补码 = 在反码的基础上加1;
移码 = 正数/负数 补码符号位取反;
在这里插入图片描述
计算中使用补码进行加减法运算,如上图1-1所示;
码制取值范围
在这里插入图片描述
定点整数 = 小数点在数的最低位;定点小数 = 有固定小数位数;
补码和移码比原码和反码少一个数,是-0;
举例:
n=4,那么原码和反码范围是-7~ +7,补码和移码范围是-8 ~ +7
n = 8,原码为 -127 ~ +127 补码为-128 ~ + 127 其中-128 = 1000 0000

浮点数的运算
N = 尾数 × 基数 *指数
计算过程:对阶、尾数计算、结果格式化;
特点:
尾数一般用补码,阶码用移码;(阶码 = 指数)
阶码位数越大,相对而言表示对数越大;
尾数位数越大,说明数的精度越高;
对阶时,小数向大数看齐;且该尾数向右移动,左边补零;
浮点数的存储:阶码符号-阶码-数值符号-尾数

存储器与控制器

计算机结构
计算机的五大部件:运算器、控制器、存储器、输入输出设备;
存储器又分为主存储器(内存)和辅助存储器(外存-硬盘);
CPU = 运算器、控制器、寄存器组、内部总线组成;
运算器:算术逻辑单元(ALU)、累加寄存器(AC)、数据缓冲寄存器(DR)、状态条件寄存器(PSW);

算术逻辑单元 = 数据的算术和逻辑运算;
累加器 = 通用寄存器,为运算提供一个工作空间,用于暂存数据;
数据缓冲寄存器 = 写内存时,暂存指令或数据;
状态条件寄存器 = 存状态标志与控制标志;

控制器:程序计数器(PC)、指令寄存器(IR)、地址寄存器(DR)、指令译码器(IR)、时序部件;

程序寄存器 = 存储下一条要执行的指令的地址;
指令寄存器 = 存储即将执行的指令;
指令译码器 = 对指令中的操作码字段分析解释;
时序部件 = 提供时序控制信号;

状态条件寄存器 考试中可能属于运算器也可能是控制器;

在这里插入图片描述
案例:
程序每一条都是一条指令;
指令 = 指令寄存器保存;
地址 = 地址寄存器保存;
二进制指令变成输出信号 = 指令译码器;
时序 = 时序部件;

指令执行
指令执行阶段包括:取指、译码、执行、写回;

指令执行中的内容是:机器码,二进制数;

Intel x86架构相关内容介绍:

Intel CPU采用x86架构(采用的是复杂指令集CISC);
主要寄存器:
数据寄存器(通用寄存器):
	AXAccumulator Register):16位寄存器,用于算术运算和函数返回值;在32位模式下扩展为EAX64位模式下扩展为RAXBXBase Register):通常与内存寻址结合使用;在32位模式扩展为EBX64位模式扩展为RBXCXCount Register):计数寄存器,常用于循环计数和字符串操作,32位模式为ECX64位模式为RCXDXData Register):数据寄存器,除了常规数据处理外,还用于特定指令如除法、I/O端口操作和乘法;32位模式扩展为EDX64位模式扩展为RDX。
指针和索引寄存器:
	SISource Index):用作源地址索引;在32位模式下扩展为ESI64位模式下扩展为RSIDIDestination Index):用作目的地址索引;32位模式扩展为EDI64位模式扩展为RDIBPBase Pointer):基址指针,常用于栈帧定位和函数调用时作为局部变量基址,32位模式扩展为EBP64位模式扩展为RBPSPStack Pointer):堆栈指针,始终指向当前栈顶,32位模式扩展为ESP64位模式扩展为RSP。
段寄存器:
	CSCode Segment):代码段寄存器,存储程序代码段的段选择字。
	DSData Segment):数据段寄存器,用于默认的数据引用。
	ESExtra Segment):额外数据段寄存器,可以被任何内存引用指令间接使用。
	SSStack Segment):堆栈段寄存器,指定当前堆栈的位置。
	FSGS:在x86架构后期版本中引入,提供额外两个段寄存器以支持额外的数据段访问或特权级保护。
控制寄存器:
	EFLAGS/RFFlags Register):标志寄存器,记录着算术逻辑运算结果的状态标志和其他控制标志。
	在更现代的x86-64架构中,还有更多高级控制寄存器如CR0-CR4等,它们用于控制处理器状态、分页机制、任务切换等。
指令指针(Program Counter, PC):
	EIPInstruction Pointer):在32位模式下,存储下一条要执行指令的偏移地址。
	RIPRelative Instruction Pointer):在64位模式下,取代EIP,同样指示下一条待执行指令的位置。

案例过程分析:
在这里插入图片描述
在这里插入图片描述

Flynn分类

计算机体系结构的分类方法:Flynn分类;(读音:fulin)
分类是通过指令和数据数量分类的;
单指令流单数据流 = 单处理器系统;单指令流多数据流 = 阵列处理器;多指令流单数据流 = 证明不可行;多指令流多数据流 = 多处理机系统;
字母含义:
S = Sigle I = Instruction D = Data M = Multiple
在这里插入图片描述

CISC与RISC

指令
概念 = 指令就是机器语言的一个语句,一组有意义的二进制代码;
由操作码和地址码组成;操作码 = 计算机执行什么指令;地址码包含操作数的地址以及操作结果的存放地址;
寻址方式

立即数寻址:操作数直接在指令中;
	IR = OP 操作数
直接寻址:指令中存放的是操作数的地址;
	IR = OP 直接地址
		主存储器--直接地址(操作数地址)--操作数
间接寻址:指令中存储一个地址,该地址对应的内容是操作数的地址
	IR = OP 间接地址
		主存储器--间接地址--操作数地址--操作数
寄存器寻址:寄存器存储着操作数
	IR = OP 寄存器
		寄存器--操作数
寄存器间接寻址:寄存器存储的是操作数的地址
	IR = OP 寄存器
		寄存器--操作数地址--操作数

复杂指令集CISC与精简指令级RISC
C/RISC = Complex / Reduced Instruction Set Computer
两者的显著区别:

复杂指令集:指令长度变长格式;数量多;多寻址;
精简指令集:指令长度定长格式;数量少;操作寄存器;少寻址;多通用寄存器;流水线

在这里插入图片描述

流水线技术

概念 = 在程序执行过程中,多条指令重叠进行操作的一种准并行处理实现技术;

分析:
在这里插入图片描述
流水线计算
流水线执行时间计算、流水线吞吐量、流水线加速比、流水线效率;
流水线周期 = 执行时间最长的一段;
流水线执行时间 = 第一条指令执行时间 + (剩余指令)*流水线周期;(理论公式)
实践公式:K✖▲t+(n-1)✖▲t
k表示流水线执行的步骤个数;
▲t表示流水线周期,即执行步骤花费实践最长的一个;
n表示指令个数;
案例:
在这里插入图片描述
理论公式与实践公式图解:
在这里插入图片描述
超标量流水线
度 = 有几条流水线;
案例:

= 210条指令,只需要5条指令的时间

流水线吞吐率
TP = 指令条数/流水线执行时间;
最大吞吐率 = 1/流水线周期;

存储系统

  • 存储结构为什么要进行层次化划分?
    经济成本的原因。存储结构依次为CPU、Cache、内存、外存;
    按照上述顺序,速度越来越慢,存储容量越来越大;
  • Cache
    是连接内存与CPU的桥梁;
    Cache按照内容存储,且改变系统的性能是依据程序的局部性原理;
    在这里插入图片描述
  • 映像
    地址映像 = 将主存与Cache的存储空间划分成若干大小相同的页(块)。
    直接相联映像、全相联映像、组相联映像;
    其中,直接相联映像冲突率最高,全相联映像冲突率最低,组相联映像折中;
    访问速度最快=直接相联映像;
    1G = 1000M 1M = 1000K
    三种Cache地址映像介绍:
    在这里插入图片描述
    Cache中的0页只能放在Cache中的0页位置;主存分成x区x块。如果当前存放的是0区的0页,下一秒需要2区的0页,则需要将该页面去除,替换新的页面。
    在这里插入图片描述
    Cache中的0页可以放任意x页的内容。主存分为x页。
    找地址困难的问题。

在这里插入图片描述
先分区再分组,组内采用全相联映射;该方式划分过于复杂,系统管理耗费资源多。

主存编址与计算
编址 = 给主存内存单元设置编号;
编址方式:按字编址和按字节编址,最小寻址
单位是一个字/字节;
常考题型:存储器的容量 或者 芯片的数量;
常用公式:芯片数量 = 总容量 / 芯片容量;
案例:
在这里插入图片描述
内存地址区间计算 后-前+1,
内存个数是210,四个芯片每个就是28个存储单元,那么每个芯片的容量就是256×16bit。

总线

一条总线,同一时刻,允许一个设备发送,允许多个设备接收;
总线分为:地址、数据、控制;

串联系统与并联系统

求他们的可靠性/可靠度。
在这里插入图片描述
在这里插入图片描述

分为三种系统。
串联系统:可靠性 = 每个系统可靠性相乘
并联系统:可靠性 = 1-每个系统都失效相乘
混合型系统:将并联的部分看作一个串联的部分;

校验码

码距 :任意两个码字之间最少变化的二进制位数称为数据校验的码距。
例如:
0 1 前者变成后者,只需要改变一位,则说明码距是1;
10 01 前者变成后者,需要改动两位,则说明码距是2;
4位二进制表示16种状态,则有16个不同的码字,此时码距是1,即两个相邻码字之间只需要修改一位即可实现变化。

校验码-奇偶校验
可检错,不可纠错;
加一个二级制数(校验位),组成校验码;
两种方式:奇校验和偶校验;
前者,添加校验位,1个数是奇数,传递正确,只能校验奇数位修改;后者,添加校验位,1个数是偶数,传递正确,只能校验偶数位修改;
案例:
1010 偶校验,校验位是0
传递 1000 检验码 10000 1个数奇数,则传递数据异常;
传递 1110 检验码 11100 1个数奇数,则传递数据异常;
1010 奇校验,校验位是1
传递 0010 检验码 00101 1个数偶数,则传递数据异常;
传递 1110 检验码 11101 1个数偶数,则传递数据异常;

校验码-循环冗余校验码
模2除法,在做除法运算的过程中不计其进位的除法;
在这里插入图片描述
假设传递的真实值是10111,验证码就是101110011这串数字,验证过程是改内容除以110是否可以整除。
在这里插入图片描述
校验码-海明码
可以检错,可以纠错;
校验位的个数k,数据位数n,之间的关系是:
2k-1 》=n+k

未分类

编译器和解释器
解释器 = 解释执行的源代码;
执行程序时,才一条条指令的解释,故此速度较慢;
编译器 = 将源代码编译成目标代码;
把源程序的每条语句都编译成机器语言,并保存成二进制文件,这样程序执行时运行速度快;

程序存在死循环,则说明程序存在动态语义错误;
程序设计语言的采用上下文无关文法;该文法:形式语言理论中一种重要的变换文法,用来描述上下文无关语言。

FM方式的数字音乐合成器中,改变数字载波频率可以改变音乐的音调;改变它的信号幅度可以改变音高;

函数参数传递方式:传值和传引用,传引用=形参值修改,实参也同步修改;

🍓操作系统

进程的管理

进程
概念:程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位,由程序块、进程控制块(PCB)和数据块组成;

进程和程序的区别
进程是程序的一次执行过程,没有程序就没有进程;动态的概念;
程序是完成某个特定功能的一系列程序语句的集合;静态的概念;

进程的状态
在这里插入图片描述
进程的三态模型
就绪、阻塞、运行。
就绪和运行可以相互转换;
就绪 = 除CPU资源之外所有资源都已经获取;
运行–就绪 = CPU时间片到时间了;出现比当前进程优先级高的进程;
在这里插入图片描述
进程的五态模型:
比三态模型增加了两个静止状态;
运行–静止就绪:人为的挂起;
活跃阻塞–静止阻塞:人为的挂起;

进程的同步与互斥
同步:进程之间的直接制约关系;
互斥:多个进程之间竞争临界资源;

PV操作
临界资源:多个进程需要互斥访问并对其进行共享的资源;
临界区:每个进程中访问临界资源的那段代码;
信号量:是一种特殊的变量;
操作含义表示:

P → 申请资源的操作(等待)
S = S-1 
if S <0 then 进入阻塞队列
else 继续执行

V → 释放资源的操作(唤醒)
S = S + 1
if S <= 0 then 进入阻塞队列
else 继续执行		

(互斥模型):

多进程共享一个打印机(互斥资源);
P(S);
	使用打印机;
	V(S);
	后续代码;
互斥信号量S的初始值是1

(同步模型):
在这里插入图片描述
S1 市场中的产品;S2 唤起消费者消费产品;
简单案例:
在这里插入图片描述
前驱图(PV操作):
在这里插入图片描述

死锁与银行家算法
进程管理是操作系统的核心,如果操作不当,则会导致死锁问题的发生;
死锁 = 一个进程在等待一件不可能发生的事情,那么就产生了死锁;一个或多个进程产生死锁,那么就会造成系统死锁。
案例:
在这里插入图片描述
形成死锁的四个必要条件:
互斥 = 存在临界资源;保持和等待 = 就会存在挂起 ;不可剥夺 = 某些所需要的资源不会被释放;环路等待 = 形成环路;
预防死锁:打破必要条件;
解决方式:鸵鸟策略(不理睬策略);有序资源分配法;银行家算法;
银行家算法:分配资源的原则
当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程;
进程可以分期请求资源,但请求的总数不能超过最大需求量;
当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
银行家算法案例
在这里插入图片描述

存储管理

页式存储
将程序与内存分成相同大小的页,以页为单位进行存储;
存在页表,来检索程序对应页号与内存对应块号之间的关系;
基于该模式,会存在逻辑地址和物理地址;
逻辑地址 = 页号 + 页内地址;
物理地址 = 页帧号 + 页内地址;
优点:利用率高,碎片小,分配及管理简单;
缺点:增加了系统开销,可能产生抖动现象;

考点:
给出页表,然后找页号(程序中编号)和页帧号(内存中编号);
在这里插入图片描述
在这里插入图片描述

段式存储
按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
优点:多道程序共享内存,各段程序修改互不影响;
缺点:内存利用率低,内存碎片浪费大;
在这里插入图片描述
段页式存储
先分段,再分页;一个程序有多个段,每个段有多个页;
每个段的大小不一样。
优点:空间浪费小,存储共享容易,存储保护容易,能动态连接;
缺点:管理软件的增加,复杂度和开销也随之增加;
在这里插入图片描述
页面置换算法
最优算法:系统判断出来哪些页面之后不使用了,直接干掉,替换出去;
随机算法:随机替换页面;
先进先出算法(FIFO):先进来的页面,先出来;有可能形成抖动,也就是最先进来的页面可能被经常使用,则会经常被调进调出;
最近最少使用算法(LRU):使用的是局部性原理,不会产生抖动现象。其置换原理是最近没有被使用的页面被替换掉。
时间局部性:刚被访问的内容,立即又被访问;
空间局部性:刚被访问的内容,临近的空间很快又被访问;

磁盘管理
磁盘有磁道和扇区,每个磁道上存储的内容是相同的;
存取时间 = 寻道时间(找到磁道) + 等待时间(找到扇区);
寻道时间 =磁头移动到磁道所需的时间; 等待时间= 为等待读写的扇区转到磁头下方所有的时间;
在这里插入图片描述
磁盘调度算法
先来先服务:哪个作业先来就先服务哪个;
最短寻道时间优先:按照寻道时间最短的先处理;
扫描算法:电梯算法;
循环扫描算法:单边操作,有一边不处理;

读取磁盘数据的时间:
找磁道的时间;找到扇区的时间(旋转延迟时间);传输时间;
案例:
在这里插入图片描述
每个块之间移动间距是10个磁道,一个磁道移动到另一个磁道需要10ms,那么一个块被找到需要100ms,每块的旋转延迟和传输时间之和是102ms,所以读取1块需要202ms,100块就需要20200ms。

文件管理

绝对路径与相对路径

索引文件

位示图

🍓计算机网络与信息安全

计算机网络通信协议分层

待整理归纳;

在这里插入图片描述

🍓程序语言基础

程序编译的过程

程序编译的整体执行过程是:预处理、编译、汇编、链接四个步骤。
编译过程包括:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成(汇编代码);
在这里插入图片描述
词法分析,通过词法分析器实现,并使用正规式与有限自动机来实现描述。

有限状态自动机与正规式

正规式
概念 = 正规式是定义正规集的数学工具,是说明单词模式(pattern)的一种表示法;
使用 = 多数程序设计语言的单词的语法均可用正规文法来表示;
涉及三种基本操作:
选择,取并集,符号| 举例:比如两个集合R和S的选择操作,就是R|S
连接,字符串之间的拼接,举例:两个字符串之间的拼接,就是RS
闭包,所需字符*,举例:闭包R * 是指把R与自身连接零次或多次形成的集合的并集;
在这里插入图片描述
在这里插入图片描述
有限状态自动机FA
概念 = FA有一个状态集合,每一个输入都会让FA的状态进行转移;
分类 = 确定性有限状态自动机(DFA)和非确定性有限状态自动机(NFA)
DFA = 同一输入转移到多个不同的状态或者存在空字符串ε的状态转移的FA;
NFA = 对于任何确定的输入都只有唯一确定的转移且不存在空字符串ε的状态转移的FA;

考察点1:
所谓被有限自动机识别,就是依次输入字符串中的字符,判断其是否能使用有限自动机从初状态开始到终态结束,如果能,则可以被识别。
在这里插入图片描述

内容准备

无向图
其邻接矩阵,每次边存储两次,则A[i][j] = A[j][i]
大小是nn,非零元素个数2n,零元素是nn-2n

邻接矩阵:
对于具有n个顶点的图G=(V,E),其邻接矩阵是一个n阶方阵,且是对称的。

有向图
邻接矩阵为非对称矩阵,则说明是有向图,各顶点的出度等于矩阵行中1的个数;

稀疏矩阵
压缩方法:三元组顺序表、行逻辑链接的顺序表、十字链表;
三对角矩阵:

🍓数据库基础

数据库设计的三范式

第一范式(1NF):原子性(存储的数据应该具有“不可再分性”)
在这里插入图片描述
在学生字段中,存在可以分割的数据,则不满足第一范式要求;

第二范式(2NF):唯一性(消除非主键部分依赖联合主键中的部分字段)(一定要在第一范式已经满足的情况下)
在这里插入图片描述
主键是由学生和课程联合组成,第二范式要求非主属性完全依赖主属性,该案例中应该完全依赖于(学生和课程)这个联合主键,但是学分依赖于课程,成绩依赖于学生,不满足第二范式要求。

第三范式(3NF):独立性,消除传递依赖(非主键值不依赖于另一个非主键值)
在这里插入图片描述
当所有非主属性都依赖于主属性时,则满足第三范式;
上述案例中,非主属性(院系电话)依赖于非主属性(院系),则不满足第三范式;

关系模式分解

关系模式概念:
	是对关系的描述,形式为RA1A2,A3....An) 其中Ax是属性。
关系模式分解的概念:
	把一个关系模式分解成若干个关系模式的过程;
	把低一级的关系模式分解成若干个高一级的关系模式的方法不唯一;
	当分解后的关系模式与原关系模式等价,分解方法才有意义;
		判定方法:分解后的关系模式中是否存在无损连接、是否保持函数依赖
无损连接:
	分解后的关系模式只有两种,{U1U2}U1U2的交集 是否等于U2-U1 是则无损连接,否则有损连接;
	分解后多种关系模式判定:
		根据函数依赖集{AD}以及分解后的模式AB-AE-CE-BCD-AC判断是否为无损连接分解
		初始画表,如果模式中存在元素x,则项值为a(列序号);反之则为(行列号)
		依次判断每个模式,AD,看是否存在一行数据,该两项值均为a;
		存在 则对应表格的d列均修改成a4;
		不存在,则A项为a1的所在行的D项,均修改成第一行D项的值;
		所有函数依赖均查询完成之后,存在某一行数据全是a,则该关系连接分解为无损连接;
反之,则为有损连接;

🍓数据结构

树的遍历方式?

树变成森林?

树结点的度之和 与 叶子结点的关系?

字符集构建哈夫曼树?

二叉排序树与其关键码序列的关系?

哈夫曼编码方式?
基于贪心算法实现;

固定长度编码与哈夫曼编码方式?

🍓算法设计与分析

🍓软件工程基础知识

软件生命周期

问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、维护。

软件开发模型

软件开发模型:是对软件开发过程的一个规范性指导。

瀑布模型:
	分为三个阶段,定义、开发、维护;
	6个活动,软件计划、需求分析、软件设计、程序编程、软件测试、运行维护。
适用于:
	大规模系统;
	需求比较明确的开发;
缺点:
	缺乏灵活性,容易产生需求偏差;
	前后过程之间存在强依赖性;
理解:
	软件开发中常采用的而结构化生命周期方法,是瀑布模型;

在这里插入图片描述

V模型:
	核心思想:研发与测试同时工作;
	单元测试,针对编码阶段,以详细设计为依据;
	集成测试,针对详细设计,以概要设计为依据;
	系统测试,针对概要设计,以需求分析为依据;
	验收测试,用户进行的测试;
特点:
	重视测试;
缺点:
	将测试放在编码之后;

在这里插入图片描述

原型化模型:
	首先提交一个快速原型交付用户使用,然后根据用户评价对模型进行修改;
	快速原型:包括软件基础的所有功能;
优点:
	克服了瀑布模型的缺点,减少开发风险;
缺点:
	维护困难,不适合大型系统;
理解:
	原型模型允许开发人员快速地构造整个系统或系统地一部分以理解或澄清问题。
演化模型:
	首先开发核心部分,根据用户使用过程中提出的建议进行修改,进一步产生新的版本,直到用户满意为止;
适用于:
	需求不明确的情况;
增量模型:
	整体软件分成若干个构件,分别交付每个构件;
	是一种快速构造可运行产品的好方法;
优点:
	适应变换,降低开发风险,适用于需要快速发布产品的市场环境;

在这里插入图片描述

螺旋模型:
	瀑布模型与演化模型的结合,强调有风险分析;
	适用于开发高风险的项目;
适用于:
	大型复杂的系统开发;
	需求动态变动的系统;
优点:
	支持用户需求的动态变化,降低风险;(演化模型起作用)
缺点:
	增加开发成本;

在这里插入图片描述

喷泉模型:
	面向对象的开发模型;
	6个阶段,分析、设计、实现、测试、维护、演化;每个阶段没有明显的界限;
	迭代开发;
优点:
	各个阶段没有明显的界限,可以同步开发;
缺点:
	各个阶段可以重叠,开发过程中需要大量的开发人员,不利于项目管理。

在这里插入图片描述

统一过程:RUP
	用例驱动、以架构为中心,迭代和增量;
	过程:初始、细化、构建、交付;

敏捷开发

敏捷方法:
	四种方法:自适应开发、水晶方法、特性驱动开发、极限编程XP
	

在这里插入图片描述

软件测试-白盒测试

测试案例中,存在判断块A(条件a、b)、判断块B(条件c、d)、普通语句CD
语句覆盖:每条语句(判断、普通)至少执行一次;
	判断的真假 以及 普通模块 都得至少执行一次;
判定覆盖:每个判定中真假值都至少有一次;
	判断块AB,其中结果truefalse至少都得执行一次;
条件覆盖:每个判定的每个条件的真假值都至少有一次;
	每个条件a、b、c、d的truefalse至少都都执行一次;
判定条件覆盖:判定覆盖+条件覆盖
条件组合覆盖:判定中每个条件的所有可能组合至少出现一次;
	那么条件ab组合为TT TF FT FF 也就是ab、cd的组合都至少出现一次;
路径覆盖:所有的路径至少执行一次;
	将所有的通路至少执行一次;

参考博客:https://blog.csdn.net/mumiandeci/article/details/134891393?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-134891393-blog-90411581.235v43pc_blog_bottom_relevance_base6&spm=1001.2101.3001.4242.1&utm_relevant_index=3

McCabe度量法:
	将流程图,简化为有向图;
	p = 表示任意两点v1和v2之间存在v1到v2,及v2到v1的;
	环路复杂度 = 弧数 - 节点数 + 2p
	

🍓开发方法(结构化与面向对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值