软件设计师中级复习小总结
计算机与体系结构
K = 1024 k = 1000 B 字节 b 位
1字节 = 8位
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
KB,MB,GB之间的换算关系是:1024KB=1MB,1024MB=1GB,1024GB=1TB
K,M,G本质上是数量级单位,B代表字节,所以KB,MB,GB就分别表示千字节,兆字节,吉字节。而KB,MB,GB的默认缩写为K,M,G,与全称并没有区别。
一、数据的表示
R进制转十进制使用按权展开法,其具体操作方式为:将R进制数的每一位数值用R形式表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1.
例如二进制10100.01=1×24+1×22+1×2-2
例如七进制604.01=6×72+4x70+1×7-2
十进制转R进制使用短除法。例如将94转换为二进制数。
二进制转八进制与十六进制数
二进制 ——————–> 八进制 三位二进制转换一位八进制
二进制 ——————–> 十六进制 四位二进制转换一位十六进制 十六进制超过十,使用大写英文字母表示
A = 10,B = 11,C = 12,D = 13,E = 14,F = 15
数值1 | 数值-1 | 1-1 | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 1000 0001 | 0111 1111 | 1000 0000 |
正数:符号位 0
原码、反码、补码都是相同的。
移码: 补码符号位取反,其余位不变
负数:符号位 1
原码 二进制数
原码——>反码: 符号位不变,其余位取反
反码——>原码:符号位不变,其余位取反
原码——>补码:符号位不变,每位取反 + 1
补码——>原码:符号位不变,每位取反 + 1
移码:补码符号位取反,其余位不变
釆用8位补码表示整型数据时,可表示的数据范围为-128〜127,因此进行127+1运算会产生溢出。
补码适合做 加减乘除 运算
二、数值的表示范围
三、浮点数的运算
浮点数表示:
N = 尾数 * 基数 ^ 指数
运算过程:
对阶 > 尾数计算 > 结果规格化
特点:
-
一般尾数用补码,阶码用移码
-
阶码的位数决定数的表示范围,位数越多范围越大
-
尾数的位数决定数的有效精度,位数越多精度越高
-
对阶时,小数向大数看齐
-
对阶是通过较小数的尾数右移实现的
四、计算机结构
按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断。
不可屏蔽中断源一旦提出请求,CPU必须无条件响应,
而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。**典型的非屏蔽中断源的例子是电源断电,一旦出现,必须立即无条件地响应,否则进行其他任何工作都是没有意义的。典型的可屏蔽 中断源的例子是打印机中断,CPU对打印机中断请求的响应可以快一些,也可以慢一些, 因为让打印机等待是完全可以的。**对于软中断,它不受中断允许标志位(IF位)的影响, 所以属于非屏蔽中断范畴。
运算器:
- 算式逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC: 通用寄存器,为ALU提供一个工作区,用在暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW:存状态标志与控制标志
(争议:也有将其归为控制器的)
控制器:
- 程序计算器PC:存储下一条要执行指令的地址
- 指令寄存器IR: 存储即将执行的指令 对用户是完全透明
- 指令译码器ID: 对指令中的操作码字段进行分析解释
- 时序部件: 提供时序控制信号
五、计算机体系结构分类-Flynn
体系结构类型 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流SISD | 控制部分:一个 处理器:一个 主存模块: 一个 | 单处理器系统 | |
单指令流多数据流SIMD | 控制部分: 一个 处理器:多个 主存模块:多个 | 各处理器以异步的形式执行同一条指令 | 并行处理机 阵列处理机 超级向量处理机 |
多指令流单数据流MISD | 控制部分:多个 处理器:一个 主存模块:多个 | 被证明不可能,至少是不实际 | 目前没有,有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个 处理器:多个 主存模块:多个 | 能够实现作业、任务、指令等各级全面并行 | 多处理机系统 多计算机 |
六、指令的基本概念
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下:
操作码部分指出了计算机要执行什么性质的操作,如加法、减法、取数、存数等。地址码字段需要包含各操作数的地址及操作结果的存放地址等,从其地址结构的角度可以分为三地址指令、二地址指令、一地址指令和零地址指令.
七、寻址方式
立即寻址方式
特点: 操作数直接在指令中,速度快,灵活性差
直接寻址方式
特点:指令中存放的是操作数的地址
间接寻址方式
特点: 指令中存放了一个地址,这个地址对应的内容是操作数的地址
寄存器寻址方式
特点:寄存器存放操作数
寄存器间接寻址方式
特点:寄存器内存放的是操作数的地址
八、CISC与RISC
指令系统类型 | 指令 | 寻址方式 | 实现方式 | 其它 |
---|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术(微码) | 研制周期长 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主适合采用流水线 | 优化编译,有效支持高级语言 |
CISC与RISC比较,分哪些维度?
指令数量、指令使用频率,寻址方式,奇存器,流水线文持,高级语言支持
CISC:复杂,指令数量多,频率差别大,多寻址
RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线
**九、流水线 **
概念
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比、流水线效率
流水线是指在程序执行时**多条指令重叠**进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线-流水线计算
流水线周期为执行时间最长的一段
流水线计算公式为
1条指令执行时间+指令条数-1)*流水线周期
①理论公式:(t1+t2+…+tk) + (n-1) * △ t
②实践公式:k*△t+(n-1) *△t
做题先验证理论公式,找不到答案,再去验证实践公式
小练习:
一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取指=3△t、分析时间t分析=2△t、执行时间t执行=4△t的情况下,若按串行方式执行,则10条指令全部执行完需要()△t;若按流水线的方式执行,流水线周期为()△t,则10条指令全部执行完需要()△t.
答案: 90 (3 + 2 + 4) * △t * 10 = 90△t
答案:4△t 时间最长的
答案:45 (3 + 2 + 4) * △t + (10 - 1)* 4△t = 45△t
流水线吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在**单位时间内流水线所完成的任务数量或输出的结果数量。**
计算流水线吞吐率的最基本的公式如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JW4HV0sZ-1673799032443)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192111.png)]
流水线最大吞吐率:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EEbiksJ-1673799032445)(…/…/…/typora/image/image-20201023130316165.png)]
十、层次化存储结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-He8uRJ58-1673799032446)(…/…/…/typora/image/image-20201104122743613.png)]
指令寄存器(IR)用于暂存从内存取出的、正在运行的指令,这是由系统使用的寄存器,程序员不能访问。
存储器数据寄存器(MDR)和存储器地址寄存器(MAR)用于对内存单元访问时的数据和地址暂存,也是由系统使用的,程序员不能访问。
程序计数器(PC)用于存储指令的地址,CPU根据该寄存器的内容从内存读取待执行的指令,程序员可以访问该寄存器。
CPU | 寄存器 最快,但是容量小,成本高 |
---|---|
Cache | 按内容存取 |
内存(主存) | 分两类: 随机存储器(RAM) 只读存储器(ROM) |
外存(辅存) | 硬盘、光盘、U盘等 |
速度
外存(辅存) < 内存(主存) < Cache < CPU
容量
外存(辅存) > 内存(主存) > Cache > CPU
局部性原理是层次化存储结构的支撑
十一、Cache
概念
在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快).
使用Cache改善系统性能的依据是程序的局部性原理。
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
映像
直接相联映像∶硬件电路较简单,但冲突率很高。
全相联映像:电路难于设计和实现,只适用于小容量的cache,冲突率较低。
组相联映像:直接相联与全相联的折中。
地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块).
例如,某机的主存容量为1GB,划分为2048页,每页512KB;Cache容量为8MB,划分为16页,每页512KB.
十二、 主存编址与计算
存储单元
按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
按字节编址:存储体的存储单元是字节存储单元;即最小寻址单位是一个字节。(一个字节 = 八位)
根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数,即:
总片数=总容量/每片的容量
例:若内存地址区间为4000H~43FFH,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是多少?
43FFH - 4000H + 1 = 4400H - 4300H = 2^10
1024 * 16 / 4 = 256 * 16 bit
十三、总线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ahRK1SDL-1673799032449)(…/…/…/typora/image/image-20201104122831593.png)]
内存容量为4GB,即内存单元的地址宽度为32位。字长为32位即要求数据总线的宽度为32位,因此地址总线和数据总线的宽度都为32。
地址总线的宽度就是处理机寻址范围,若地址总线为n位,则可寻址空间为2的n次方字节。所以本题的可寻址空间为:4 * 1024 * 1024 * 1024 * 位,所以地址总线宽度为32
计算机中主机与外设间进行数据传输的输入输出控制方法有程序控制方式、中断方式、DMA等。
在程序控制方式下,由CPU执行程序控制数据的输入输出过程。
在中断方式下,外设准备好输入数据或接收数据时向CPU发出中断请求信号,若CPU决定响应该请求,则暂停正在执行的任务,转而执行中断服务程序进行数据的输入输出处理,之后再回去执行原来被中断的任务。
在DMA方式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU的负担,可以大大节省系统资源。
一条总线同一时刻仅允许一个设备发送,但允许多个设备接收。
总线的分类:
数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
地址总线(Address Bus)∶用来指定在RAM (Random Access Memory)之中储存的数据的地址。
控制总线(Control Bus)∶将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus.
十四、串联系统与并联系统
十五、N模式混合系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ACgt303U-1673799032453)(…/…/…/typora/image/image-20201023142127457.png)]
十六、校验码
校验码基础知识
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距。(码距越大,越利于纠错和检错)
例如,用4位二进制表示16种状态,则有16个不同的码字,此时码距为1.如0000与0001.
奇偶校验
奇偶校验码的编码方法是:由若干位有效信息(如一个字节个二进制位(校验位)组成校验码。
奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。.
奇偶校验,可检查1位的错误,不可纠错。
循环校验码CRC
CRC校验,可检错,不可纠错
CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错,
循环冗余校验码编码规律如下:
-
把待编码的N位有效信息表示为多项式MX);
-
把MX)左移K位,得到MX)×XK,这样空出了K位,以便拼装K位余数(即校验位);
-
选取一个K+1位的产生多项式G(X),对MX)×X做模2除;
-
把左移K位以后的有效信息与余数R()做模2加减,拼接为CRC码,此时的CRC码共
把接收到的CRC码用约定的生成多项式GX)去除,如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有惟一的对应关系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BntC17wd-1673799032455)(…/…/…/typora/image/image-20201023111017529.png)]
海明校验码
海明校验,可检错,也可纠错。
海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据
汉明码也利用了奇偶位校验的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。2P≥P+D+1,其中P代表汉明码的个数,D代表数据位的个数。
海明码: 本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入K个校验位,通过扩大码距实现检错和纠错。
设 数据位是n位,校验位是K位,则n和k必须满足以下关系:2 ^ k - 1 >= n + k
中央处理单元CPU
中央处理单元组成:由运算器、控制器、寄存器组和内部总线组成。
中央处理单元功能:实现程序控制、操作控制、时间控制、数据处理功能。
运算器组成:由算术逻辑单元ALU(实现对数据的算术和逻辑运算)、累加寄存器AC(运算结果或源操作数的存放区)、数据缓冲寄存器DR(暂时存放内存的指令或数据)、和状态条件寄存器PSW(保存指令运行结果的条件码内容,如溢出标志等)组成。
运算器功能:
执行所有的算术运算,如加减乘除等;
执行所有的逻辑运算并进行逻辑测试,如与、或、非、比较等。
控制器组成:由指令寄存器IR(暂存CPU执行指令)、程序计数器PC(存放指令执行地址)、地址寄存器AR(保存当前CPU所访问的内存地址)、指令译码器ID(分析指令操作码)等组成。
控制器功能:控制整个CPU的工作,最为重要,包括程序控制、时序控制等。
操作系统
进程管理
进程的概念
进程是程序在一个数据集合上运行的过程,它是系统进行**资源分配和调度的一个独立单位。**它由程序块、进程控制块(PCB)和数据块三部分组成。
进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。
程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在。程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
进程的同步与互斥
PV操作
临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
临界区:每个进程中访问临界资源的那段代码称为临界区
信号量:是一种特殊的变量
P是荷兰语的Passeren,V是荷兰语的Verhoog.
P:申请资源操作 V:释放资源的操作
多个进程共享一台打印机的问题(互斥模型)
死锁问题
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
例:系统有5个进程:A、B、C、D、E。这5个进程都需要4个系统资源。如果系统至少有多少个资源,则不可能发生死锁。
(4 - 1)* 5 + 1 = 16
银行家算法
银行家算法:分配资源的原则
★当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
★进程可以分期请求资源,但请求的总数不能超过最大需求量。
★当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
存储管理
页式存储管理
页式存储: 将程序与内存均划分为同样大小的块,以页为单位将程序调入内存
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销,可能产生抖动现象
段式存储组织
段式存储: 按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
优点: 多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
段页式存储组织
段页式存储**:段式与页式的综合体**。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段的大小不同.
优点:空间浪灵小、存储共享容易、存储保护容易、能动态连接
缺点:由于管理软件的增加,复杂性和开销也随之增加,的硬件以及占用的内容也有所增加,使得执行速度大大下降
页面置换算法
最优(Optimal,OPT)算法
随机(RAND)算法
先进先出(FIFO)算法:有可能产生“抖动”。例如,432143543215列,那3个页面,比A个缺页要少
最近最少使用(LRU)算法:不会“抖动”,LRU的理论依据是"局部性原理”。
时间局部性:刚被访问的内容,立即又被访问。
空间局部性:刚被访问的内容,临近的空间很快被访问.
磁盘管理
磁盘格式化是指把一张空白的盘划分成一个个小区域并编号,以供计算机储存和读取数据。格式化是一种纯物理操作,是在磁盘的所有数据区上写零的操作过程,同时对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。由于大部分硬盘在出厂时已经格式化过,所以只有在硬盘介质产生错误时才需要进行格式化。
磁盘分区就是将磁盘划分成一块块的存储区域。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统、能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。
磁盘里的文件都是按存储时间先后来排列的,理论上文件之间都是紧凑排列而没有空隙的。但是,用户常常会对文件进行修改,而且新增加的内容并不是直接加到原文件的位置的,而是放在磁盘存储空间的最末尾,系统会在这两段之间加上联系标识。当有多个文件被修改后,磁盘里就会有很多不连续的文件。一旦文件被删除,所占用的不连 续空间就会空着,并不会被自动填满,而且,新保存的文件也不会放在这些地方,这些 空着的磁盘空间,就被称作“磁盘碎片”。因此,硬盘的每个分区里都会有碎片。碎片太多,其他的不连续文件相应也多,系统在执行文件操作时就会因反复寻找联系标识,工作效率大大降低,直接的反映就是感觉慢。
磁盘清理将删除计算机上所有不需要的文件(这些文件由用户或系统进行确认)。
磁盘碎片整理,就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件重新整理,释放出更多的磁盘空间,可提高电脑的整体性能和运行速度。
存取时间=寻道时间+等待时间,
寻道时间是指磁头移动到磁道所需的时间;
等待时间为等待读写的扇区转到磁头下方所用的时间。
磁盘调度算法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R9jGAD2d-1673799032475)(…/…/…/typora/image/image-20201106101133048.png)]
先来先服务(FCFS)
最短寻道时间优先(SSTF)
扫描算法(SCAN)
循环扫描(CSCAN)算法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zhUYx5ve-1673799032475)(…/…/…/typora/image/image-20201023163049637.png)]
读取磁盘数据时间计算
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJRkcOpm-1673799032478)(…/…/…/typora/image/image-20201023163253472.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W0VbA6JJ-1673799032478)(…/…/…/typora/image/image-20201023163359072.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2QUVLmF-1673799032479)(…/…/…/typora/image/image-20201028113523640.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PLMGp24q-1673799032480)(…/…/…/typora/image/image-20201104123536545.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qk3hL8CQ-1673799032481)(…/…/…/typora/image/image-20201104123634543.png)]
作业管理
作业状态与作业管理
作业调度算法
先来先服务法
时间片轮转法
短作业优先法
最高优先权优先法
高响应比优先法
响应比 = 作业的等待时间 / 作业执行时间
索引文件结构
直接索引: 10k 范围 0 —– 10239
一级间接索引 256K
二级间接索引 256K * 256k 64M
三级间接索引 16G
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JxVrjEQb-1673799032483)(…/…/…/typora/image/image-20201023161314982.png)]
文件管理
树型目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p5GUS9ls-1673799032484)(…/…/…/typora/image/image-20201104123425213.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WhQcOI2L-1673799032485)(…/…/…/typora/image/image-20201023161404168.png)]
空闲存储空间的管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BL1lzcLP-1673799032486)(…/…/…/typora/image/image-20201023161613544.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOaZschH-1673799032487)(…/…/…/typora/image/image-20201023161926062.png)]
设备管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A6lBbHUj-1673799032488)(…/…/…/typora/image/image-20201104141028353.png)]
数据传输控制方式
程序控制(查询)方式:分为无条件传送和程序查询方式两种.
方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率.
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效(与CPU没有任何关系)
通道方式
I/O处理机
效率
程序控制(查询)方式 < 程序中断方式 < DMA方式 < 通道方式 < I/O处理机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4ZnQtDi-1673799032490)(…/…/…/typora/image/image-20201023162739127.png)]
虚设备与SPOOLING技术
SPOOLing是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing技术通过磁盘实现。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ztRYOHUM-1673799032492)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192146.png)]
数据库系统
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xEtCipKN-1673799032493)(…/…/…/typora/image/image-20201104124410363.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q7lC2bCP-1673799032493)(…/…/…/typora/image/image-20201023163537996.png)]
三级模式
两层映射
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5My7rfLs-1673799032495)(…/…/…/typora/image/image-20201023163743913.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nYyp479f-1673799032496)(…/…/…/typora/image/image-20201023164302350.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q9mhS6W1-1673799032497)(…/…/…/typora/image/image-20201023163830035.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8f1NmjL-1673799032498)(…/…/…/typora/image/image-20201023170412158.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dm8LQXPy-1673799032499)(…/…/…/typora/image/image-20201023163950773.png)]
E-R模型
根据局部应用设计好各局部E-R图之后,就可以对各个局部E-R图进行合并。
合并的目的在于解决分E-R图中相互间存在的冲突,消除分E-R图之间存在的信息冗余,使之成为能够被全系统所有用户共同理解和接受的统一的、精炼的全局概念模型。
分E-R图之间的冲突主要分为
- 结构冲突
- 属性冲突
- 命名冲突
反映的是实体与实体之间的关系
1:1联系
1:N联系
M:N联系
一个实体型转换为一个关系模式
联系转关系模式:
1∶1联系∶可将联系合并至任意一端的实体关系模式中。
1:n联系:可将联系合并至n端实体关系模式中。
m:n联系:联系必须单独转成关系模式。
三个以上实体间的一个多元联系
·在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p,最少可转换为______个关系模式. C
A. 2 B. 3 C. 4 D. 5
A B C (A、B、C) 答案:4
关系代数
自然连接
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kXl1fzgB-1673799032503)(…/…/…/typora/image/image-20201023170816803.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EA2ADBU-1673799032504)(…/…/…/typora/image/image-20201023182049203.png)]
规范化理论
关系模式R(学生姓名,选修课程名,任课教师名,任课教师地址)
数据冗余
修改异常
插入异常
删除异常
设R(U)是属性U上的一个关系模式,X和Y是U的子集,r为R的任一关系,如果对于r中的任意两个元组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y.
关系模式:R(A,B,C)
依赖集1:{AB -> C,A->C}
依赖集2∶{A->B,B->C)
键
求候选键
图示法求候选键
1、将关系的函数依赖关系,用“有向图”的方式表示。
2、找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
3、若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并加入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。
主属性与非主属性
定义:组成候选码的属性就是主属性,其它的就是非主属性
例:关系模式CSZ(CITY,ST,ZIP),其属性组上的函数依赖集为:F={(CITY,ST)→ZIP,ZIP→CITY}
其中CITY表示城市,ST表示街道,ZIP表示邮政编码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4AtVZNsu-1673799032507)(…/…/…/typora/image/image-20201023183110717.png)]
范式
第一范式(1NF)
在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式
例如:关系模式R(系名称,高级职称人数)是否满足1NF,如果不满足,应如何调整?
第二范式(2NF)
当且仅当关系模式R是第一范式(1NF ),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式
思考题:关系模式SC(学号,课程号,成绩,学分),其中:(学号,课程号)→成绩,课程号→学分,会存在哪些问题(从数据冗余、更新异常、插入异常、删除异常这几个方面来考虑),解决方案是什么?
第三范式(3NF)
当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式
思考题:学生关系(学号,姓名,系号,系名,系位置)个属性分别代表学号,姓名,所在系号,系名称,系地址。思考该关系模式会存在那些问题(从数据冗余、更新异常、插入异常、删除异常这几个方面来考虑),解决方案是什么?
BC范式(BCNF)
BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。
例:关系模式STJ(S,T,J)中,S表示学生,T表示老师,J表示课程。每一老师只教一门课程。每门课程有若干老师,某一学生选定某门课,就对应一个固定老师。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IpeN5d2m-1673799032511)(…/…/…/typora/image/image-20201023183944705.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YdcJrukH-1673799032512)(…/…/…/typora/image/image-20201023185454964.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TALbHfYO-1673799032513)(…/…/…/typora/image/image-20201023185815903.png)]
模式分解
保持函数依赖分解
设数据库模式p={R1,R2,…,Rk}是关系模式R的一个分解,F是R上的函数依赖集,p中每个模式Ri上的FD集是Fi。如果{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵),那么称分解p保持FD.
例:设关系模式R(U,F),其中U={A,B,C,D,E,} F={A→BC,C→D,BC→E,E→A},则分解p={R1(ABCE),R2(CD)]是否保持函数依赖?而分解p={R1(ABE),R2(CD))}是否保持函数依赖?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hugmBS5m-1673799032513)(…/…/…/typora/image/image-20201023190222190.png)]
无损分解
什么是有损,什么又是无损?
有损:不能还原。无损:可以还原。
无损联接分解;指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式
表格法
将一个具有函数依赖:学号→姓名,课程号→课程名,(学号,课程号)→分数的关系模式:成绩(学号,姓名,课程号,课程名,分数),分解为:成绩(学号,课程号,分数);学生(学号,姓名);课程(课程号,课程名).
初始表如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aQxvucle-1673799032515)(…/…/…/typora/image/image-20201023190627564.png)]
公式法(两个关系模式)
定理:如果R的分解为p={R1,R2},F为R所满足的函数依赖集合,分解P具有无损联接性的充分必要条件是:
R1∩R2→(R1-R2)
或
R1∩R2→( R2-R1)
其中,R1∩R2表示模式的交,为R1与R2中公共属性组成,R1-R2或R2-R1表示模式的差集,R1-R2表示R1,中去除R1,和R2的公共属性所组成。当模式R分解成两个关系模式R1和R2时,如果R1与R2的公共属性能函数决定R1中或R2中的其它属性,这样的分解就具有无损联接性。
例:设R=ABC,F={A→B},则分解R1={R(AB),R2(AC)}与分解p2={R1(AB),R3(BC)}是否都为无损分解?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xWFmd5M-1673799032516)(…/…/…/typora/image/image-20201023191610827.png)]
SQL语言
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zqJn5qVf-1673799032517)(…/…/…/typora/image/image-20201028120042438.png)]
建表
查询
并发控制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dAQt5oZQ-1673799032522)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192209.png)]
数据库完整性约束
实体完整性约束
参照完整性约束
用户自定义完整性约束
触发器
不同的数据模型具有不同的数据结构形式。目前最常用的数据结构模型有层次模型 (hierarchical model)、网状模型(network model)、关系模型(relational Model)和面向对象数据模型(object oriented model)。其中层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代非常流行,在数据库系统产品中占据了主导地位。到了20世纪80年代,逐渐被关系模型的数据库系统取代,但某些地方,由于历史的原因,目前层次和网状数据库系统仍在使用。
关系模型是目前最常用的数据模型之一。关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用二维表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。给定变量的值随时间可能发生变化;类似地,当关系被更新时,关系实例的内容也随时间发生了变化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e6Sh3U7E-1673799032524)(…/…/…/typora/image/image-20201023192507465.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5fjKW9NB-1673799032525)(…/…/…/typora/image/image-20201023192639827.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2icKBZSN-1673799032525)(…/…/…/typora/image/image-20201023192805819.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KihZql0Y-1673799032526)(…/…/…/typora/image/image-20201023192922603.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tT8MHJ6Z-1673799032527)(…/…/…/typora/image/image-20201023193053072.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3RutTb55-1673799032527)(…/…/…/typora/image/image-20201023193131509.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EXma7vPS-1673799032528)(…/…/…/typora/image/image-20201023193308082.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hj94Nn9B-1673799032529)(…/…/…/typora/image/image-20201023193512684.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WyEelVG6-1673799032530)(…/…/…/typora/image/image-20201023193625436.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VNg6zTTg-1673799032531)(…/…/…/typora/image/image-20201023194248233.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gkzNEWvI-1673799032532)(…/…/…/typora/image/image-20201023194426991.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XCuNrYHD-1673799032533)(…/…/…/typora/image/image-20201023194524838.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VyX9MDlp-1673799032534)(…/…/…/typora/image/image-20201023203025593.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vZo1koSO-1673799032535)(…/…/…/typora/image/image-20201023203240535.png)]
计算机网络和信息安全
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KgaYvBMd-1673799032540)(…/…/…/typora/image/image-20201104161057628.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qPSl4ikt-1673799032541)(…/…/…/typora/image/image-20201028121907587.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yxcT6HL0-1673799032541)(…/…/…/typora/image/image-20201028121933195.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YTpQKtwD-1673799032542)(…/…/…/typora/image/image-20201028120823542.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPIYKRMb-1673799032543)(…/…/…/typora/image/image-20201024102946061.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JrGjJMKf-1673799032543)(…/…/…/typora/image/image-20201023142452903.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cB0YFdtZ-1673799032544)(…/…/…/typora/image/image-20201023203448864.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zjfa2pH7-1673799032545)(…/…/…/typora/image/image-20201023203607197.png)]
OSI/RM七层模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-897EWVat-1673799032545)(…/…/…/typora/image/image-20201023203809134.png)]
层次 | 名称 | 主要功能 | 主要设备及协议 |
---|---|---|---|
7 | 应用层 | 实现具体的应用功能 | POP3、FTP、HTTP、TeInet、 SMTP DHCP、TFTP、SNMP、DNS 网关 |
6 | 表示层 | 数据的格式与表达、加密、压缩 | |
5 | 会话层 | 建立、管理和终止会话 | |
4 | 传输层 | 端到端的连接 | TCP、UDP |
3 | 网络层 | 分组传输和路由选择 | 三层交换机、路由器 ARP、RARP、IP、ICMP |
2 | 数据链路层 | 传送以帧为单位的信息 | 网桥、交换机(多端口网桥) PPTP、L2TP、SLIP、PPP |
1 | 物理层 | 二进制传输 | 中继器、集线器(多端口中继器) |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VFH2UJkD-1673799032546)(…/…/…/typora/image/image-20201023204049567.png)]
TCP/IP协议族
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K70N6Mt2-1673799032547)(…/…/…/typora/image/image-20201023204440345.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZws5oOl-1673799032548)(…/…/…/typora/image/image-20201106102315009.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-98HBBGBd-1673799032551)(…/…/…/typora/image/image-20201104162144457.png)]
TCP/IP协议族 | 默认端口 | 功能 |
---|---|---|
POP3 | 110端口 | 可靠邮件收取 |
SMTP | 25端口 | 可靠邮件发送 |
FTP | 20数据端口/21控制端口 | 可靠文件传输协议 |
TFTP | 不可靠的小文件传输协议 | |
HTTP | 80端口 | 超文本传输协议,网页传输 |
DHCP | 67端口 | 不可靠IP地址自动分配 |
SNMP | 161端口 | 不可靠简单网络管理协议 |
DNS | 53端口 | 不可靠域名解析协议,记录域名与IP的映射关系 |
TCP | 可靠的传输层协议 | |
UDP | 不可靠的传输层协议 | |
ICMP | 因特网控制协议,PING命令来自该协议 | |
IGMP | 组播协议 | |
ARP | 地址解析协议,IP地址转换为MAC(物理)地址 | |
RARP | 反向地址解析协议,MAC(物理)地址转IP地址 | |
Telnet | 可靠远程连接协议 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-irz4LI5x-1673799032552)(…/…/…/typora/image/image-20201023205121628.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfxEa0LZ-1673799032552)(…/…/…/typora/image/image-20201023205823205.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nt8jYXmu-1673799032553)(…/…/…/typora/image/image-20201023210115568.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jkUPBRys-1673799032553)(…/…/…/typora/image/image-20201023210352015.png)]
IP地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aNWxN04E-1673799032555)(…/…/…/typora/image/image-20201024100204589.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Lg7dIWb-1673799032555)(…/…/…/typora/image/image-20201024100509361.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9Oz9mm0-1673799032556)(…/…/…/typora/image/image-20201024100638079.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIQQ4F3P-1673799032556)(…/…/…/typora/image/image-20201024101154397.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5o3p4LpK-1673799032557)(…/…/…/typora/image/image-20201024101431169.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QBqq0CSI-1673799032558)(…/…/…/typora/image/image-20201024101556610.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIqpCm7E-1673799032558)(…/…/…/typora/image/image-20201024101814783.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ImGnuuLv-1673799032558)(…/…/…/typora/image/image-20201024102022962.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kbIM6314-1673799032559)(…/…/…/typora/image/image-20201024102239181.png)]
答案:C
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rxca7bvg-1673799032559)(…/…/…/typora/image/image-20201024102820419.png)]
子网划分
1.子网掩码
2.将一个网络划分成多个子网(取部分主机号当子网号)
3.将多个网络合并成一个大的网络(取部分网络号当主机号)
例1,将B类IP地址168.195.0.0划分成27个子网,子网掩码为多少?
例2,将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台,则子网掩码为多少?
网络规划与设计
计算机网络的分类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aZnwO5W0-1673799032563)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192218.png)]
网络接入技术
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J5GuETlF-1673799032563)(…/…/…/typora/image/image-20201104124630562.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mNFT0Kcw-1673799032564)(…/…/…/typora/image/image-20201104124703643.png)]
HTML
主域名服务器在接收到域名请求后,首先查询的是
- 本地服务器
- 本地的hosts文件
- 本地域名服务器
- 传送到网络上
- 查询网络上的域名服务器
信息安全
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lm2LMKuO-1673799032567)(…/…/…/typora/image/image-20201105190255692.png)]
帧中继(Frame Relay,FR)是为克服X.25交换网的缺陷、提高传输性能而发展起来的高速分组交换技术。帧中继网络不进行差错和流量控制,并且通过流水方式进行交换,所以比X.25网络的通信开销更少,传输速度更快。
帧中继提供面向连接的虚电路服务,因而比DDN专线更能提高通信线路利用率, 用户负担的通信费用也更低廉。在帧中继网中,用户的信息速率可以在一定的范围内变化,从而既可以适应流式业务,又可以适应突发式业务,这使得帧中继成为远程传输的理想形式。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6A9moOp-1673799032567)(…/…/…/typora/image/image-20201106095632940.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qj8y3mFW-1673799032568)(…/…/…/typora/image/image-20201023143441516.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1iHxiIRk-1673799032568)(…/…/…/typora/image/image-20201023143726768.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T9Yq1pv1-1673799032569)(…/…/…/typora/image/image-20201023143943501.png)]
对称加密技术
使用同一套密钥
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PHTGqN3s-1673799032569)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192221.png)]
非对称加密技术
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mYUp7yks-1673799032570)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192222.png)]
公钥加密验证,私钥解密签名
**数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。**接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
数字签名是个加密的过程,数字签名验证是个解密的过程。
内务内控管理,主要是为了管理内部网络,防止越权访问,以及内部泄露信息。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSTmvO9f-1673799032571)(…/…/…/typora/image/image-20201023144411601.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-stYG22gK-1673799032571)(…/…/…/typora/image/image-20201023145249179.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JDELk6sn-1673799032572)(…/…/…/typora/image/image-20201023145359454.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-onq0xPx4-1673799032572)(…/…/…/typora/image/image-20201023144653343.png)]
消息摘要
数字摘要:有单向散列函数加密成固定长度的散列值
常用的消息摘要算法有MD5,SHA等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5
PKI公钥体系
网络安全
AUX接口(Auxiliary)是指音频输入接口,可以输出包括mp3在内的电子声频设备的音频(一般的耳机插孔),可通过车上的音响来输出这些设备内的音乐。
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
各个网络层次的安全保障
主动攻击与被动攻击
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AFU3ggXC-1673799032574)(…/…/…/typora/image/image-20201104123233493.png)]
DOS(拒绝服务)与DDoS
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ojv0WxAz-1673799032576)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192226.png)]
防火墙
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVkQRcuJ-1673799032576)(…/…/…/typora/image/image-20201024103206818.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k0ciLcmt-1673799032577)(…/…/…/typora/image/image-20201024103756889.png)]
WEB服务器 放在DMZ区(既对外网提供服务,也对内网提供服务)
安全防范体系
- 物理环境的安全性
- 操作系统的安全性
- 网络的安全性
- 应用的安全性
- 管理的安全性
计算机病毒与木马
网络攻击的主要手段包括口令入侵、放置特洛伊木马程序、拒绝服务(DoS)攻击、端口扫描、网络监听、欺骗攻击和电子邮件攻击等。
口令入侵是指使用某些合法用户的账号和口令登录到目的主机,然后再实施攻击活动。
特洛伊木马(Trojans)程序常被伪装成工具程序或游戏,一旦用户打开了带有特洛伊木马程序的邮件附件或从网上直接下载,或执行了这些程序之后,当用户连接到互联网上时,这个程序就会向黑客通知用户的IP地址及被预先设定的端口。
拒绝服务(DoS)攻击目的是使计算机或网络无法提供正常的服务。最常见的拒绝服务攻击有网络带宽攻击和连通性攻击。**带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求无法通过。**连通性攻击是指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。
端口扫描就是利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否处于激活状态、主机提供了哪些服务、提供的服务中是否含有某些缺陷等。
网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息。使用网络监听工具可轻而易举地截取包括口令和账号在内的信息资料。
欺骗攻击是攻击者创造一个易于误解的上下文环境,以诱使受攻击者进入并且做出缺乏安全考虑的决策。**IP欺骗是欺骗攻击的一种,IP欺骗实现的过程是:使得被信任的主机丧失工作能力,同时采样目标主机发出的TCP序列号,猜测出它的数据序列号。**然后,伪装成被信任的主机,同时建立起与目标主机基于地址验证的应用连接。如果成功,黑客可以使用一种简单的命令放置一个系统后门,以进行非授权操作。
ARP攻击(ARP欺骗)是欺骗攻击的一种,通过伪造IP地址和MAC地址,能够在网络中产生大量的ARP通信量使网络阻塞,如果伪造网关的IP地址和MAC地址对,则所有发往网关的IP包将因为MAC地址错误而无法到达网关(ARP攻击一般会将MAC地址改为发起ARP攻击的主机地址),造成无法跨网段通信。
处理ARP攻击的方法为首先断开ARP攻击主机的网络连接,然后用“arp-d”命令清除受攻击影响的ARP缓存。
病毒:编制或者在计算机程序中插入的破不计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码.直接破坏电脑
木马:计算机木马是一种后门程序,常被黑客用作控制远程计算机的工具 窃取机器中的信息以窃取为主
特洛伊木马是一种通过网络传播的病毒,分为客户端和服务器端两部分,服务器端位于被感染的计算机,特洛伊木马服务器端运行后会试學建立网络连接,所以计算机感染特洛伊木马后的典型现象是有未知程序试图建立网络连接。
系统病毒(前缀:Win32、PE、W32,如:KCOM—Win32.KCOM)
蠕虫病毒(如:恶鹰——Worm.BBeagle)
木马病毒、黑客病毒(如:QQ消息尾巴木马——Trojan.QQ3344)
脚本病毒(如:红色代码——Script.Redlof)
宏病毒(如:美丽莎——Macro.Melissa)
后门病毒(如∶灰鸽子——Backdoor.Win32.Huigezi )
病考种植程序病毒(冰河播种者——Dropper.BingHe2.2C)
破坏性程序病毒(杀手命令—Harm.Command.Killer)
玩笑病毒(如:女鬼Jioke.Grl ghost)
捆绑机病毒(如∶捆绑QQ——Binder.QQPass.QQBin)
计算机病毒的分类方法有许多种,按照最通用的区分方式,即根据其感染的途径以及采用的技术区分,计算机病毒可分为文件型计算机病毒、引导型计算机病毒、宏病毒和目录型计算机病毒。
文件型计算机病毒感染可执行文件(包括EXE和COM文件)。
引导型计算机病毒影响软盘或硬盘的引导扇区。
目录型计算机病毒能够修改硬盘上存储的所有文件的地址。
宏病毒感染的对象是使用某些程序创建的文本文档、数据库、电子表格等文件,从文件名可以看出Macro.Melissa是一种宏病毒,
漏洞扫描系统的基本概念。
漏洞扫描系统是一种自动检测目标主机安全弱点的程序,漏洞扫描系统的原理是根据系统漏洞库对系统可能存在的漏洞进行一一验证。黑客利用漏洞扫描系统可以发现目标主机的安全漏洞从而有针对性的对系统发起攻击;系统管理员利用漏洞扫描系统可以查找系统中存在的漏洞并进行修补从而提高系统的可靠性。漏洞扫描系统不能用于发现网络入侵者,用于检测网络入侵者的系统称为**入侵检测系统**。漏洞扫描不是入侵检测系统
网络安全方面的基础知识。
数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是:数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”;数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”, 在技术和法律上有保证,可见数字签名是对签名真实性的保护。
重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
它是一种攻击类型,这种攻击会不断恶意或欺诈性地重复一个有效的数据传输,重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。从这个解释上理解,加密可以有效防止会话劫持,但是却防止不了重放攻击。重放攻击任何网络通讯过程中都可能发生。重放攻击是计算机世界黑客常用的攻击方式之一,它的书面定义对不了解密码学的人来说比较抽象。
拒绝服务(英文名称denial of service;DoS)是指通过向服务器发送大量垃圾信息或干扰信息的方式,导致服务器无法向正常用户提供服务的现象。
利用域名解析服务器不验证请求源的弱点,攻击者伪装成攻击目标域名向全世界数以百万计的域名解析服务器发送查询请求,域名服务器返回的数据要远大于请求的数据,导致目标遭受了放大数十倍的DDoS攻击。被利用的域名服务器因此每天会收到大量的恶意请求,它也不断的遭受较小规模的DDoS攻击。
数据截获,就是通过一个网络设备或软件,窃取通信双方的交流信息。
数据流分析,就是对网络中的流量信息等进行检测。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I8KzNMm3-1673799032580)(…/…/…/typora/image/image-20201028112557537.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bt5P37RS-1673799032581)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201023142644.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ad9maZsw-1673799032582)(…/…/…/typora/image/image-20201023143100041.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mSCKINM-1673799032583)(…/…/…/typora/image/image-20201024103921184.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vE6J6Mjm-1673799032583)(…/…/…/typora/image/image-20201024104012755.png)]
系统开发基础
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEsuYUSp-1673799032584)(…/…/…/typora/image/image-20201104124254274.png)]
重点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JoyKjn0s-1673799032585)(…/…/…/typora/image/image-20201025165952942.png)]
软件开发模型
软件风险一般包括**不确定性和损失两个特性**,其中不确定性是指风险可能发生,也可能不发生;损失是当风险确实发生时,会引起的不希望的后果和损失。救火和危机管理是对不适合但经常采用的软件风险管理策略。已知风险和未知风险是对软件风险进行分类的一种方式。员工和预算是在识别项目风险时需要识别的因素。
软件维护的内容一般包括准确性维护、适应性维护、完善性维护和预防性维护。
正确性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。.
适应性维护是指使应用软件适应信息技术变化和管理需求变化而进行的修改。
完善性维护主要是指对己有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
预防性维护是指为了适应未来的软硬件环境的变化,主动增加预防性的新功能,以使应用系统适应各类变化而不被淘汰。
常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。
瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型,适合于软件需求很明确的软件项目。
V模型是瀑布模型的一种演变模型,将测试和分析与设计关联进行,加强分析与设计的验证。
原型模型是一种演化模型,通过快速构建可运行的原型系统,然后根据运行过程中获取的用户反馈进行改进。
演化模型特别适用于对软件需求缺乏准确认识的情况。
螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析。
瀑布模型(需求明确)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QE07tWM9-1673799032586)(…/…/…/typora/image/image-20201025170921795.png)]
V模型(重视测试)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YxRx0Yst-1673799032588)(…/…/…/typora/image/image-20201025171021024.png)]
喷泉模型(面向对象)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-coaCA8YQ-1673799032589)(…/…/…/typora/image/image-20201025171510196.png)]
原型化模型(对于需求要求最低)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yQyoK0x0-1673799032590)(…/…/…/typora/image/image-20201025171200047.png)]
演化模型
螺旋模型
增量模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f88fdzKu-1673799032592)(…/…/…/typora/image/image-20201025171335553.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXqDW8BX-1673799032593)(…/…/…/typora/image/image-20201025171630295.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9eW4bwt-1673799032594)(…/…/…/typora/image/image-20201025171755094.png)]
统一过程
- 初始
- 确定项目范围和边界
- 识别系统的关键用例
- 展示系统的候选架构
- 估计项目费用和时间
- 评估项目风险
- 细化
- 分析系统问题领域
- 建立软件架构的基础
- 淘汰最高风险元素
- 构建
- 开发剩余构建
- 构建组装与测试
- 基于构件的软件开发,主要强调在构建软件系统时复用已有的软件“构件”,在检索到可以使用的构件后,需要针对新系统的需求对构件进行**合格性检验、适应性修改**,然后集成到新系统中。
- 交付
- 进行β测试(验收测试的一种)
- 制作发布版本
- 用户文档定稿
- 确认新系统
- 培训、调整产品
风险分析
风险分析实际上是4个不同的活动:风险识别、风险预测、风险评估和风险控制。
风险识别是试图系统化地确定对项目计划(估算、进度、资源分配)的威胁。
风险预测又称为风险估算,它从两个方面评估一个风险:风险发生的可能性或概率;以及如果风险发生时所产生的后果。
风险评估根据风险及其发生的概率和产生的影响预测是否影响 参考水平值。
风险控制的目的是辅助项目组建立处理风险的策略,有效的策略应考虑风险避免、风险监控、风险管理及意外事件计划。
敏捷方法(轻量级 小步快跑)
敏捷开发方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JkPiBkgJ-1673799032596)(…/…/…/typora/image/image-20201025171937514.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AOeHrqp3-1673799032597)(…/…/…/typora/image/image-20201025172604577.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fL2SKOl8-1673799032598)(…/…/…/typora/image/image-20201025172804651.png)]
(1)XP (Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人目的.它源于Smalltalk圈子,特别是Kent Beck和Ward Cunningham在20世纪80年代末的密切合作.XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的
(2)Cockburn的水晶系列方法,水晶系列方法是由Alistair Cockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它.
(3)开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同因为一般的敏捷方法都强调项目组成员在同一地点工作。开放源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的“补丁,文件发给维护者。然后由维护者将这些“补丁”或是新增的代码并入源码库。
(4)SCRUM(并列争球法).SCRUM已经出现很久了,像前面所论及的方法一样该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。
(5)Coad的功用驱动开发方法(FDD-Feature Driven Development)
FDD是由Jeff De Luca和大师Peter Coad提出来的。像其他方法一样,它致利于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周.
在FDD中,编程开发人员分成两类:首席程序员和“类”程序员(class owner)。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而“类”程序则主要做源码编写。
(6)ASD方法,ASD (Adaptive Software Development)方法由Jim Hightsmith提出,其核心是三个非线性的、重的开发阶段:猜测、合作与学习
极限编程(XP)是敏捷开发的典型方法之一,是一种轻量级(敏捷)、高效、低风 险、柔性、可预测的、科学的软件开发方法,
它由价值观、原则、实践和行为4个部分组成。
其中4大价值观为沟通、简单性、反馈和勇气。
敏捷开发方法XP是一种轻量级、高效、低风险、柔性、可预测的、科学的软件开发方法,其特性包含在12个最佳实践中。
(1)计划游戏:快速制定计划、随着细节的不断变化而完善;
(2)小型发布:系统的设计要能够尽可能早地交付;
(3)隐喻:找到合适的比喻传达信息;
(4)简单设计:只处理当前的需求使设计保持简单;
(5)测试先行:先写测试代码再编写程序;
(6)重构:重新审视需求和设计,重新明确地描述它们,以符合新的和现有的需求;
(7)结队编程;
(8)集体代码所有制;
(9)持续集成:可以按日甚至按小时为客户提供可运行的版本;
(10)每周工作40个小时;
(11)现场客户;
(12)编码标准。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L10br1zD-1673799032599)(…/…/…/typora/image/image-20201028114302704.png)]
在可重复级,建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性。
在已定义级,所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。
在已管理级,收集对软件过程和产品质量的详细度量,对软件过程和产品都有定量的理解与控制。
在优化级,过程的量化反馈和先进的新思想、新技术促使过程不断改进。
软件开发方法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPkqr74I-1673799032600)(…/…/…/typora/image/image-20201025171806766.png)]
- 结构化方法(面向数据流的开发方法)
- 用户至上
- 严格区分工作阶段,每阶段有任务和结果
- 强调系统开发过程的整体性和全局性
- 系统开发过程工程化,文档资料标准化
- 自顶向下,逐步分解(求精)
- 原型法
- 面向对象方法(喷泉模型)
- 更好的复用性
- 关键在于建立一个全面、合理、统一的模型
- 分析、设计、实现三个阶段,界限不明确
- 面向服务的方法(SOA)
需求分析(做什么)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S4ukLHjZ-1673799032601)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192234.png)]
判定表
- 基本条件项
- 条件项
- 基本动作项
- 动作项
RUP应用了角色、活动、制品和工作流4种重要的模型元素,其中角色表述“谁做”,制品表述“做什么”,活动表述“怎么做”,工作流表述“什么时候做”。
软件设计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E4RNPpLR-1673799032602)(…/…/…/typora/image/image-20201105190512719.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6vR76fX9-1673799032602)(…/…/…/typora/image/image-20201104161023978.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q4GK6lFX-1673799032603)(…/…/…/typora/image/image-20201104154529064.png)]
**概要设计**文档主要包括:软件体系总体结构设计;数据结构及数据库设计。
可视化设计
可视化程序设计是以“所见即所得”的编程思想为原则,力图实现编程工作的可视化,即随时可以看到结果,程序与结果的调整同步。
与传统的编程方式相比,“可视化程序设计”仅通过直观的操作方式即可完成界面的设计工作。
可视化程序设计语言的特点主要表现在两个方面:
一是基于面向对象的思想,引入了控件的概念和事件驱动;
二是程序开发过程一般遵循以下步骤,即先进行界面的绘制工作,再基于事件编写程序代码,以响应鼠标、键盘的各种动作。
可视化程序设计最大的优点是设计人员可以不用编写或只需编写很少的程序代码,就能完成应用程序的设计,这样就能极大地提高设计人员的工作效率。
软件的可维护性是指维护人员理解、改正、改动和改进这个软件的难易程度,是软件开发阶段各个时期的关键目标。软件系统的可维护性评价指标包括
- 可理解性
- 可测试性
- 可修改性
- 可靠性
- 可移植性
- 可使用性和效率
软件系统文档是**系统建设过程的“痕迹”,是系统维护人员的指南,是开发人员与用户交流的工具。**软件系统文档不仅包括应用软件开发过程中产生的文档,还包括硬件采购和网络设计中形成的文档;**不仅包括有一定格式要求的规范文档,还包括系统建设过程中的各种来往文件、会议纪要、会计单据等资料形成的不规范文档。**软件系统文档可以提高软件开发的可见度,提高软件开发效率,且便于用户理解软件的功能、性能等各项指标。
用于系统开发人员与项目管理人员在项目期内进行沟通的文档主要有系统开发计划,包括工作任务分解表、PERT图、甘特图和预算分配表等。
总体规划和开发合同用于与系统分析人员在系统规划和系统分析阶段的沟通。
测试计划用于系统测试人员与系统开发人员之间的沟通。
软件测试
软件测试方法分为静态测试和动态测试。
静态测试是被测试程序不在机器上运行而采用人工检测和计算机辅助静态分析手段对程序进行检测。
动态测试是通过运行程序发现错误。对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。
黑盒测试法在完全不考虑软件的内部结构和特性的情况下,测试软件的外部特性。对于无法获得源代码的第三方组件,可采用黑盒对组件进行测试。
基本路径覆盖、分支覆盖和环路覆盖需要根据程序的内部结构和逻辑进行测试。
黑盒测试也称为功能测试,在完全不考虑软件的内部结构和特性的情况下来测试软件的外部特性。
常用的黑盒测试技术包括等价类划分、边界值分析、错误猜测和因果图的报告。
白盒测试也称为结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的执行路径和过程进行测试,检查是否满足设计的需要。常用的白盒测试技术包括逻辑覆盖和基本路径测试。
可维护性是所有软件都应具有的基本特点,必须在开发阶段保证软件具有可维护的特点。在系统分析阶段的复审过程中,应该指出软件的可移植性问题以及可能影响软件维护的系统界面;在系统设计阶段的复审期间,应该从容易修改、模块化和功能独立的目的出发,评价软件的结构和过程:在系统实施阶段的复审期间,代码复审应该强调编码风格和内部说明文档这两个影响可维护性的因素。可测试性是可维护性的一个评价指标。
- 等价类划分
- 确定无效与有效等价类
- 设计用例尽可能多的覆盖有效类
- 设计用例只覆盖一个无效类
- 边界值分析
- 处理边界情况是最容易出现错误
- 选取的测试数据应该恰好等于、稍小于或稍大于边界值
McCabe复杂度(环路)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CythenY-1673799032607)(…/…/…/typora/image/image-20201026105246411.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aylBf17f-1673799032607)(…/…/…/typora/image/image-20201026105459503.png)]
软件复杂性度量是软件度量的一个重要分支。软件复杂性度量的参数有很多,主要包括:
(1)规模,即指令数或者源程序行数;
(2)难度,通常由程序中出现的操作数所决定的量来表示;
(3)结构,通常用与程序结构有关的度量来表示;
(4)智能度,即算法的难易程度。
公式
V(G) = m - n + 2
V(G) = 封闭区间数 + 1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wi5LG5u1-1673799032608)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192239.png)]
说明:其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yjOEkLOz-1673799032608)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192240.png)]
答案: B D
软件工程国家标准
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b2L3mKiG-1673799032609)(…/…/…/typora/image/image-20201104124130846.png)]
软件文档管理指南-按阅读对象分类
-
开发文档
- 可行性研究和项目任务书
- 需求规格说明
- 功能规格说明
- 设计规格说明(包括程序和数据规格说明)
- 开发计划
- 软件集成和测试计划
- 质量保证计划、标准、进度
- 安全和测试信息
-
产品文档
- 培训手册
- 参考手册和用户指南
- 软件支持手册
- 产品手册和信息广告
-
管理文档
- 开发过程的每个阶段的进度和进度变更的记录
- 软件变更情况的记录
- 相对开发的判定记录
- 职责定义
软件配置管理是一组管理整个软件生存期各阶段中变更的活动,主要包括变更标识、变更控制和版本控制。
软件质量保证
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCSdQQLb-1673799032609)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192241.png)]
重点
软件过程改进-CMMI(软件成熟度模型)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WcHAz87A-1673799032610)(…/…/…/typora/image/image-20201025170343926.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DAUgFXqp-1673799032610)(…/…/…/typora/image/image-20201025170456280.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ZKMNQ8U-1673799032611)(…/…/…/typora/image/image-20201025170636958.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2QQMD0bF-1673799032612)(…/…/…/typora/image/image-20201025170816072.png)]
能力成熟度集成模型CMMI是CMM模型的最新版本,基于连续式表述的CMMI 共有6个(0〜5)能力等级,
对应于未完成级、已执行级、已管理级、已定义级、量化管理级、优化级。每个能力等级对应到一个一般目标,以及一组一般执行方法和特定方法。
能力等级0指未执行过程,表明过程域的一个或多个特定目标没有被满足;
能力等级1指过程通过转化可识别的输入工作产品,产生可识别的输出工作产品,关注于过程域的特定目标的完成;
能力等级2指过程作为已管理的过程制度化,针对单个过程实例的能力;
能力等级3指过程作为已定义的过程制度化,关注过程的组织级标准化和部署;
能力等级4指过程作为定量管理的过程制度化;
能力等级5指过程作为优化的过程制度化,表明过程得到很好地执行且持续得到改进。
CL1(已执行的):其共性目标是过程将可标识的输入工作产品转换成可标识的输出工作产品,以实现支持过程域的特定目标。
CL2(已管理的):其共性目标集中于已管理的过程的制度化。
CL3(已定义级的):其共性目标集中于已定义的过程制度化。
CL4(定量管理的):其共性目标集中于可定量管理的过程的制度化。
CL5(优化的);使用量化(统计学)手段改变和优化过程域,以满足客户要求的改变和持续改进计划中的过程域的功效。
软件成熟度模型CMM是对软件组织进化阶段的描述,该模型在解决软件过程存在问题方面取得了很大的成功,因此在软件界产生了巨大影响,促使软件界重视并认真对待过程改进工作。
过程能力成熟度模型基于这样的理念:改进过程将改进产品,尤其是软件产品。软件组织为提高自身的过程能力,把不够成熟的过程提升到较成熟的过程涉及4个方面,这4个方面构成了软件过程改进的框架,即过程改进基础设施、过程改进线路图、软件过程评估方法和软件过程改进计划。在进行评估后需要把发现的问题转化为软件过程改进计划。而过程改进通常不可能是一次性的,需要反复进行。每一次改进要经历4个步骤:评估、计划、改进和监控。
项目管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ltXcHZ8V-1673799032614)(…/…/…/typora/image/image-20201025173418060.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKR6Mmr2-1673799032615)(…/…/…/typora/image/image-20201026100748834.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ouoWPid7-1673799032616)(…/…/…/typora/image/image-20201026101007883.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4GrEko1y-1673799032616)(…/…/…/typora/image/image-20201026101313083.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QeE06wnv-1673799032617)(…/…/…/typora/image/image-20201026101510290.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJ5MdHmt-1673799032618)(…/…/…/typora/image/image-20201026102649431.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aQwyX5nP-1673799032618)(…/…/…/typora/image/image-20201026102922954.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ID4kCqbF-1673799032619)(…/…/…/typora/image/image-20201026103134753.png)]
重点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Gzi80gQ-1673799032620)(…/…/…/typora/image/image-20201026103232753.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-axa14slc-1673799032621)(…/…/…/typora/image/image-20201026103352653.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PMjsvsmj-1673799032622)(…/…/…/typora/image/image-20201026103529793.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M9pC17d8-1673799032623)(…/…/…/typora/image/image-20201026103718943.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKNzJpfq-1673799032624)(…/…/…/typora/image/image-20201026103905728.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nnhtgP45-1673799032625)(…/…/…/typora/image/image-20201026104034327.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjzxiL71-1673799032626)(…/…/…/typora/image/image-20201026104223174.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nQKVW4Nn-1673799032626)(…/…/…/typora/image/image-20201026104348743.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CqU83gAP-1673799032627)(…/…/…/typora/image/image-20201026104612940.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bbSAwiW5-1673799032628)(…/…/…/typora/image/image-20201026104800819.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vBk1pPz1-1673799032629)(…/…/…/typora/image/image-20201026104938572.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uv4pyse4-1673799032630)(…/…/…/typora/image/image-20201026105105310.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cun3GfHH-1673799032631)(…/…/…/typora/image/image-20201026105151503.png)]
10.项目干系管理
时间管理
关键路径法
关键路径法是在制订进度计划时使用的一种进度网络分析技术。关键路线法沿着项目进度网络路线进行正向与反向分析,从而计算出所有计划活动理论上的最早开始与完成日期、最迟开始与完成日期,不考虑任何资源限制。
总时差(松地时间)∶在不延误总工期的前提下,该活动的机动时间。活动的总时差等于该活动最迟完成时间与最早完成时间之差,或该活动最迟开始时间与最早开始时间之差。
软件项目计划的一个重要内容是安排进度,常用的方法有Gantt图和PERT图。Gantt 图用水平条状图描述,它以日历为基准描述项目任务,可以清楚地表示任务的持续时间和任务之间的并行,但是不能清晰地描述各个任务之间的依赖关系。PERT图是一种网络模型,描述一个项目任务之间的关系。可以明确表达任务之间的依赖关系,即哪些任务完成后才能开始另一些任务,以及如期完成整个工程的关键路径。
前导图法(单代号网络图,PDM)
求关键路径: 就是求工期最长的路
活动排序-箭线图法(双代号网络图,ADM)
软件维护
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jy5HZxi7-1673799032633)(…/…/…/typora/image/image-20201104160914050.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8K5E2gaU-1673799032634)(…/…/…/typora/image/image-20201028115149890.png)]
辅助软件维护过程中的活动的软件称为“软件维护工具”,它辅助维护人员对软件代码及其文档进行各种维护活动。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VL6ZD7sC-1673799032635)(…/…/…/typora/image/image-20201025172853532.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gWYStX3Y-1673799032635)(…/…/…/typora/image/image-20201025173018260.png)]
软件维护工具主要有
1、版本控制工具;
2、文档分析工具;
3、开发信息库工具;
4、逆向工程工具;
5、再工程工具;
6、配置管理支持工具。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FJaM65Ce-1673799032636)(…/…/…/typora/image/image-20201028114435890.png)]
系统设计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DmxgjBUH-1673799032636)(…/…/…/typora/image/image-20201026100406354.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hH9c1aRT-1673799032637)(…/…/…/typora/image/image-20201026110040342.png)]
重点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QgpABMFY-1673799032638)(…/…/…/typora/image/image-20201106100104590.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9W6VoIl2-1673799032638)(…/…/…/typora/image/image-20201026110302896.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gSim6GjW-1673799032639)(…/…/…/typora/image/image-20201026110454955.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nskDRKl-1673799032639)(…/…/…/typora/image/image-20201028114915871.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qogftIZK-1673799032640)(…/…/…/typora/image/image-20201028114949389.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-leupHqhu-1673799032640)(…/…/…/typora/image/image-20201026125243712.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uJgcU9km-1673799032641)(…/…/…/typora/image/image-20201026125402483.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VTD3mX3M-1673799032641)(…/…/…/typora/image/image-20201026125557125.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YPalk7jx-1673799032642)(…/…/…/typora/image/image-20201026132526713.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOG21FlH-1673799032642)(…/…/…/typora/image/image-20201026132741825.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9OBSUjmt-1673799032643)(…/…/…/typora/image/image-20201026135136855.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTNPrexU-1673799032644)(…/…/…/typora/image/image-20201026135851954.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CoCYladl-1673799032645)(…/…/…/typora/image/image-20201026140107459.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17nitfFY-1673799032646)(…/…/…/typora/image/image-20201026140447213.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x5BHcrvs-1673799032647)(…/…/…/typora/image/image-20201026140556983.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VvCRkc8L-1673799032647)(…/…/…/typora/image/image-20201026140643996.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXDwl9kj-1673799032648)(…/…/…/typora/image/image-20201028112849897.png)]
面向对象技术
面向对象的基本概念
- 对象:属性(数据) + 方法(操作) + 对象ID
- 类(实体类/控制类/边界类)
- 继承与泛化:复用机制
- 封装:隐藏对象的属性和实现细节,仅对外公开接口
- 多态:不同对象收到同样的消息产生不同的结果
- 接口:一种特殊的类,他只有方法定义没有方法实现
- 重载:一个类可以有多个同名而参数类型不同的方法
- 模板类
- 消息和消息通信:消息是异步通信的
面向对象设计的7大原则
- 单一职责原则;设计目的单一的类
- 开放-封闭原则:对扩展开放,对修改封闭
- 李氏替换原则:子类可以替换父类
- 依赖倒置原则:要依赖与抽象,而不是具体实现;针对接口编程,不要针对具体的实现编程(容易被重写打破)
- 接口隔离原则:使用多个专门的接口比使用单一的总接口要好
- 组合重用原则:要尽量使用组合,而不是继承关系达到重用的目的
- 迪米特原则(最少知识法则):一个对象应该对其他的对象有尽可能少的了解
UML
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k1iOi50z-1673799032648)(…/…/…/typora/image/image-20201104124023522.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vvu7Tyab-1673799032649)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192247.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zXiMkgWu-1673799032650)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192248.png)]
类图
依赖关系
一个事物发生变化影响另一个事物
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LqpDmU4h-1673799032650)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192249.png)]
泛化关系
特殊/一般关系
关联关系
描述了一组链,链是对象之间的连接
一个实线表示 ——————————————
聚合关系
整体与部分生命周期==不同==
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lp7tVcK6-1673799032651)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192251.png)]
组合关系
整体与部分生命周期==相同==
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZY6Hrqj-1673799032652)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192252.png)]
实现关系
接口与类之间的关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r7o2SNW3-1673799032652)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192253.png)]
设计模式的分类
创建型模式
-
工厂方法(factory method)模式
-
抽象工厂(abstract factory)模式
-
原型(prototype)模式
-
单例(singleton)模式
-
构建器(builder)模式
结构型模式
- 适配器(adapter)模式
- 桥接(bridge)模式
- 组合(composite)模式
- 装饰(decorator)模式
- 外观(facade)模式
- 享元(flyweight)模式
- 代理(proxy)模式
行为型模式
- 职责链(chain of responsibility)模式
- 命令(command)模式
- 解释器(interpreter)模式
- 迭代器(iterator)模式
- 中介者(mediator)模式
- 备忘录(memento)模式
- 观察者(observer)模式
- 状态(state)模式
- 策略(strategy)模式
- 模板(template method)方法模式
- 访问者(visitor)模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G8Zl4NSt-1673799032655)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192256.png)]
数据结构与算法基础
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VYbLbvFd-1673799032656)(…/…/…/typora/image/image-20201024141947059.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E6gtddSH-1673799032656)(…/…/…/typora/image/image-20201024142142046.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZW83wro5-1673799032657)(…/…/…/typora/image/image-20201024142320486.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ILN7XYeN-1673799032658)(…/…/…/typora/image/image-20201024142438611.png)]
数组
a + (2 * 5 + 3) * 2 = a + 26
稀疏矩阵
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LO65A5fm-1673799032660)(…/…/…/typora/image/image-20201024150619169.png)]
线性表
顺序存储与链式存储对比
队列与栈
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zxQxpREG-1673799032665)(…/…/…/typora/image/image-20201024142742547.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2mdpZnuL-1673799032665)(…/…/…/typora/image/image-20201024142925026.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qZfszPu8-1673799032666)(…/…/…/typora/image/image-20201024143127937.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MKNuz8QI-1673799032666)(…/…/…/typora/image/image-20201024143340200.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vIQMGolW-1673799032667)(…/…/…/typora/image/image-20201024144018617.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oHt4LxS1-1673799032668)(…/…/…/typora/image/image-20201024144841030.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UxaHi0Nj-1673799032668)(…/…/…/typora/image/image-20201024145100630.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgxEfiNv-1673799032669)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192304.png)]
习题:元素按照a、b、c的次序进入栈,请尝试写出所有可能的出栈序列
广义表
1.广义表是n个表元素组成的有限序列,是线性表的推广。
2.通常用递归的形式进行定义,记做:LSO(a0,a1…an).
3.注:其中LS是表名,ai是表元素,它可以是表(称做子表),也可以是数据元素(称为原子).其中n是广义表的长度(也就是最外层包含的元素个数),n O的广义表为空表;而递归定义的重数就是广义表的深度,直观地说,就是定义中所含括号的重数(原子的深度为0,空表的深度为1),
4.基本运算:取表头head(Ls)和取表尾tail(Ls).
5.若有:LS1=(a. (b,c), (d,e))
6.head(LS1)=a
7.tail(LS1)=((b,c), (d,e))
8.例1,有广义表LS1=(a,(b,c), (d,e)),则其长度为?深度为?
9.例2,有广义表LS1=(a,(b,c),(d,e)),要将其中的b字母取出,操作就为?
例题1答案:长度为3,深度为2。
例题2答案:head(head(tail(LS1)).
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6dOMMYs-1673799032670)(…/…/…/typora/image/image-20201024150918428.png)]
树与二叉树
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Odp8msK0-1673799032671)(…/…/…/typora/image/image-20201024151030982.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gpDGLi3M-1673799032671)(…/…/…/typora/image/image-20201024151246364.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9CjtskSr-1673799032672)(…/…/…/typora/image/image-20201030104816691.png)]
设树中的节点总数为n、分支数目为m,那么n=5+4+2+叶子节点数,m=5X1+4X2+2X3。
在树中,节点总数等于分支数目加上1,即n=m+1。
因此,叶子节点数=5X1+4X2+2X3+1-5-4-2=9
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0lbZhJx-1673799032674)(…/…/…/typora/image/image-20201024151919981.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QwZTNorD-1673799032675)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192308.png)]
二叉树的重要特性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OB6Lyee8-1673799032676)(…/…/…/typora/image/image-20201024151840213.png)]
-
在二叉树的第 i 层上最多有 2 ^ (i - 1)个节点(i >= 1);
-
深度为K的二叉树最多有2 ^ k - 1个节点(k >= 1);
-
对于任何一颗二叉树,如果其叶子结点树为 n0,度为2的节点数为n2,则n0 = n2 + 1
-
如果对一棵有n个节点的完全二叉树的节点按层序编号(从第1层到[log2 ^ n] + 1层,每层从左到右)
如果i = 1,则节点 i 无父节点,是二叉树的根;如果 i > 1,则父节点是 [i / 2];
如果2 * i > n,则节点 i 为叶子节点,无左子节点;否则,其左子节点是节点 2 * i;
如果2 * i + 1 > n,则节点 i 无右子节点,否则,其右子节点是节点 2 * i + 1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H7PwqF9i-1673799032676)(…/…/…/typora/image/image-20201024152150090.png)]
二叉树的遍历
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HJD1gLCF-1673799032677)(…/…/…/typora/image/image-20201024152518620.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XoQiu5zo-1673799032677)(…/…/…/typora/image/image-20201024152608579.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0X1dFnie-1673799032678)(…/…/…/typora/image/image-20201024152806073.png)]
前序遍历:1 2 4 5 7 8 3 6
中序遍历:4 2 7 8 5 1 3 6
后序遍历:4 8 7 5 2 6 3 1
层次遍历:1 2 3 4 5 6 7 8
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ldxok63f-1673799032678)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192309.png)]
反向构造二叉树
由前序序列为 ABHFDECG 中序序列为HBEDFAGC构造二叉树(前序找根,中序找左右)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0qLFDYw4-1673799032679)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192310.png)]
树转二叉树
- 孩子节点-左子树节点
- 兄弟节点-右孩子节点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pggf6j6F-1673799032680)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192311.png)]
查找二叉树
二叉排序树
左孩子小于根
右孩子大于根
插入节点
- 若该键值结点已存在,则不再插入,如:48;
- 若查找二叉树为空树,则以新结点为查找二叉树;
- 将要插入结点键值与插入后父结点键值比较,就能确定新结点是父结点的左子结点,还是右子结点。
删除节点
- 若待删除结点是叶子结点,则直接删除;
- 若待删除结点只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,如:56;
- 若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除节点s,节点s必属于上述1 2 情况之一,如89.
最优二叉树(哈夫曼树)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xXU5WJx-1673799032681)(…/…/…/typora/image/image-20201024153903013.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8WnORDYP-1673799032681)(…/…/…/typora/image/image-20201024154056468.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-whebaS7j-1673799032682)(…/…/…/typora/image/image-20201024154320238.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AThp7ldH-1673799032682)(…/…/…/typora/image/image-20201024154512801.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-acB5yifr-1673799032683)(…/…/…/typora/image/image-20201024154652763.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DyNilboO-1673799032683)(…/…/…/typora/image/image-20201024154823864.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8sGAK1fk-1673799032684)(…/…/…/typora/image/image-20201024155022607.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jzh3O8Mk-1673799095109)(null)]
假设一组权值 构造哈夫曼树
5,29,7,8,14,23,3,11
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2mCDyaSX-1673799032685)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192314.png)]
线索二叉树
根据相应遍历 判断前驱后继。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbMK52yc-1673799032686)(…/…/…/typora/image/image-20201024153806614.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0r1iRWP-1673799032687)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192315.png)]
平衡二叉树
任意节点的左右子树深度相差不超过 1
每个节点的平衡度只能为 -1, 0 或 1
图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VqEEl0aP-1673799032687)(…/…/…/typora/image/image-20201024155307535.png)]
完全图
邻接矩阵
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CYZ921VT-1673799032689)(…/…/…/typora/image/image-20201024161243525.png)]
所存储的元素
邻接表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xp9V0B7i-1673799032691)(…/…/…/typora/image/image-20201024161344144.png)]
首先把每个顶点的邻接顶点用链表表示出来,然后用一个一维数组来顺序存储上面的每一个链表的头指针
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Gv8gCzr-1673799032692)(…/…/…/typora/image/image-20201024161538018.png)]
图的遍历
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FaGLEocV-1673799032695)(…/…/…/typora/image/image-20201024161741149.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eauQpFv6-1673799032696)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192320.png)]
拓扑排序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QN0MyNw4-1673799032699)(…/…/…/typora/image/image-20201024162331968.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NBdTIuy7-1673799032700)(…/…/…/typora/image/image-20201024162454369.png)]
图的最小生成树
根据生成树的定义,有n个顶点的连通图的生成树中恰好有n-1条边。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g7oBERAU-1673799032704)(…/…/…/typora/image/image-20201024161922206.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KeLk0prD-1673799032705)(…/…/…/typora/image/image-20201024162204119.png)]
程序设计语言与语言处理程序基础
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWgJjwio-1673799032705)(…/…/…/typora/image/image-20201024105802731.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ce8OpXWG-1673799032706)(…/…/…/typora/image/image-20201024110058058.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkmOz2rp-1673799032707)(…/…/…/typora/image/image-20201024110350134.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VPvxgFlQ-1673799032708)(…/…/…/typora/image/image-20201024110645009.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bFkaApGZ-1673799032709)(…/…/…/typora/image/image-20201024110749151.png)]
编译过程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1wvF3Oc-1673799032710)(…/…/…/typora/image/image-20201106100928979.png)]
编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。
词法错误:非法字符,关键字或标识符拼写错误
语法错误:语法结构出错,if endif不匹配,缺分号
语义错误:死循环,零除数,其他逻辑错误
词法分析是编译过程的第一阶段,其任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个的“单词”符号。
语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”、“语句”和“程序”等。
语义分析阶段主要检查源程序是否包含语义错误,并收集类型信息供后面的代码生成阶段使用。只有语法和语义都正确的源程序才能被翻译成正确的目标代码。
目标代码生成是编译器工作的最后一个阶段。这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码,这个阶段的工作与具体的机器密切相关。
源程序不可避免地会有一些错误,这些错误大致可分为语法错误和语义错误。
语法错误是指语言结构上的使用错误,是指编译时所发现的程序错误,如单词拼写错误、标点符号错、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。
编译程序是一种将高级语言程序翻译成目标程序的系统软件,它对源程序的翻译过程分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成,以及符号表管理和出错处理。
编译和解释是语言处理的两种基本方式。编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段,以及符号表管理和出错处理模块。
解释过程在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。
这两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。解释器翻译源程序时不产生独立的目标程序,而编译器则需将源程序翻译成独立的目标程序。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wm1NdS1W-1673799032710)(…/…/…/typora/image/image-20201024110910205.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6yoKGsPE-1673799032711)(…/…/…/typora/image/image-20201024111109853.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MYJ3a4iQ-1673799032712)(…/…/…/typora/image/image-20201024111159949.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k3jPKHKu-1673799032713)(…/…/…/typora/image/image-20201024111406931.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JyKjZLdK-1673799032714)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192324.png)]
文法定义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-krtpWAWd-1673799032715)(…/…/…/typora/image/image-20201024111604298.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbsQ5Fdh-1673799032715)(…/…/…/typora/image/image-20201024112008081.png)]
一个形式文法是一个有序四元组G=(V,T,S,P),其中
1)V:非终结符。不是语言组成部分,不是最终结果,可理解为占位符。
2)T:终结符。是语言的组成部分,是最终结果。V∩T=∅
3 )S:起始符。是语言的开始符号。
4)P:产生式。用终结符替代非终结符的规则。形如α→β
正则闭包;A ^ +=A1UAUA3U…UAnU…(也就是所有幂的组合).
闭包:A=A°UA ^ +(在正则闭包的基础上,加上A°= 6}).
例如a’=a,aa,aaa…,而(ab)*=ab,abab,ababab…}
一个文法的语言是该文法能产生的句子的集合。一个文法产生的句子是从文法开始符号出发推导出的所有终结符号串。
类型 | 别称 | 说明 | 对应自动机 |
---|---|---|---|
0型 | 短语文法 | G的每条产生式a→β满足a属于V的正则闭包, 且至少含有一个非终结符,而B属于V的闭包 | 图灵机 |
1型 | 上下文有关文法(语义) | G的任何产生式a→β满足|a| <= |β|,仅仅 S → ε例外,但S不得出现在任何产生式右部 | 线性界限自动机 |
2型 | 上下文无关文法(语法) | G的任何产生式为A→β,A为非终结符,β为V的闭包 | 非确定的下推自动机 |
3型 | 正规文法 | G的任何产生式为A→α B或A→α,α属于非 终结符的闭包,A、B都属于非终结符 | 有限自动机 |
语法推导树
一棵语法树应具有以下特征:
1.每个结点都有一个标记,此标记是V的一个符号;
2.根的标记是S;
3.若一结点n至少有一个它自己除外的子孙,并且有标记A,则A肯定在V,中;
4.如果结点n的直接子孙,从左到右的次序是结点nn2…nk,其标记分别是:A1,A2…,那么A->A1,A2…Ak一定是P中的一个产生式.
有限自动机
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NwHo3SWw-1673799032718)(…/…/…/typora/image/image-20201024120939034.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-is504Ilp-1673799032719)(…/…/…/typora/image/image-20201024121100428.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-krOBHFCy-1673799032720)(…/…/…/typora/image/image-20201024121257233.png)]
M=(S,Σ,δ,S0,Z)
1)S是一个有限集,每个元素为一个状态
2)Σ是一个有穷字母表,每个元素为一个输入字符
3)δ是转换函数:是一个单值对照
4)S0,属于S,是其唯一的初态
5)Z是一个终态集(可空)
有限状态自动机可以形象地用状态转换图表示,设有限状态自动机:
DFA =(S,A B, C, f,(1,0,δ,S, if),
其中:
δ(S,0)= B,(S,1)= A,δ(A,0)= f,δ(A,1)= C,δ(B,0)=C,δ(B,1)=f,δ(C,0)= f,δ(C,1)= f
正规式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RzucFApV-1673799032725)(…/…/…/typora/image/image-20201024120452079.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KkKUEHw-1673799032725)(…/…/…/typora/image/image-20201024120729237.png)]
正规式是描述程序语言单词的表达式,对于字母Σ,其上的正规式机器表示的正规集可以递归定义如下
-
ε 是一个正规式,他表示集合L(ε)= {ε}
-
若a是Σ上的字符,则a是一个正则式,他所表示的正规L(a)= {a}.
-
若正规式r和s分别表示正规集L(r) = L(s),则
a. r | s是正规式,表示集合 L(r) ∪ L(s)
b. r * s是正规式,表示集合 L(r) L(s)
c. r ^ *是正规式,表示集合 (L®) *;
d. r 是正规式,表示集合 L(r)
**仅有有限次的使用上述三个步骤定义的表达式才是Σ上的正规式。**由此可见,正规式要么为空,要么由字母、或、连接、闭包运算符组成。其中闭包运算符 “ * ” 具有最高优先级,连接运算具有次高优先级,或运算符 “|” 具有最低的优先级
答案 C
数据类型与程序控制结构
表达式
答案 D
函数调用
传值与传址
各种程序语言的特点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ShhzoTo4-1673799032729)(…/…/…/typora/image/image-20201104123721473.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AR1ZzmiM-1673799032730)(…/…/…/typora/image/image-20201104123807566.png)]
多媒体基础知识
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aFlltmoT-1673799032730)(…/…/…/typora/image/image-20201024104428463.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wiSJygL-1673799032731)(…/…/…/typora/image/image-20201024104553443.png)]
音频相关概念
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kpTSeinP-1673799032732)(…/…/…/typora/image/image-20201105190410008.png)]
图像相关概念
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7FjWgfv-1673799032733)(…/…/…/typora/image/image-20201104122926934.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OCzMKHcm-1673799032734)(…/…/…/typora/image/image-20201024104729162.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1bcGcz1b-1673799032736)(…/…/…/typora/image/image-20201024104850140.png)]
亮度:画面的明亮程度。
色调(红,绿):颜色的种类,如红色、绿色、蓝色等不同颜色就是指色调。同时画面整体颜色倾向,也是色调。
饱和度:色彩的纯洁性,即颜色的艳丽程度。
图像的分辨率越高,图像深度越深,则数字化后的图像效果越逼真,图像数据量也越大。其图像数据量可用下面的公式估算:
图像数据量=图像的总像素X图像深度
其中图像的总像素为图像的水平方向像素乘以垂直方向像素数。例如,一幅640X480的256色图像,其图像文件大小约为640X480X8≈300KB。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WnZGIKNg-1673799032738)(…/…/…/typora/image/image-20201024105039280.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F5A9QqzJ-1673799032740)(…/…/…/typora/image/image-20201024105216485.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-URrr02x4-1673799032741)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192335.png)]
向下取整 答案 D
媒体的种类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GybOFHpE-1673799032742)(…/…/…/typora/image/image-20201024104217507.png)]
感觉媒体:指直接作用于人的感觉器官,使人产生直接感觉的媒体。如:声音、图形、图像、动画等。
表示媒体:指为了加工、处理和传输感觉媒体而人为研究、构造出来的一种媒体,常见的有各种编码方式,如文本编码、图像编码和声音编码等,
显示媒体(表现媒体):表现和获取信息的物理设备。如:输入显示媒体键盘、鼠标和麦克风等;输出显示媒体显示器、打印机和音箱等。输入输出设备
交换(转换)媒体
存储媒体:存储数据的物理设备,如磁盘、光盘和内存等。
传输媒体:传输数据的物理载体,如电缆、光缆和交换设备等。
数据压缩基础
空间冗余(几何冗余)
时间冗余
视觉冗余
信息熵冗余
结构冗余
知识冗余
其它冗余
冗余是指对于实现系统规定功能是多余的那部分资源,包括硬件、软件、信息和时间。通常冗余技术分为4类:
(1)结构冗余,按其工作方法可以分为静态、动态和混合冗余;
(2)信息冗余,指的是为了检测或纠正信息在运算或传输中的错误另外加的一部分信息;
(3)时间冗余,是指以重复执行指令或程序来消除瞬时错误带来的影响;
(4) 冗余附件技术,是指为实现上述冗余技术所需的资源和技术。
有损压缩与无损压缩
一类是无损压缩编码法(Lossless compression coding),也称冗余压缩法或者熵编码法;另一类是有损压缩编码法(Loss compression coding),也称为熵压缩法。
常见的多媒体标准
MPEG是Moving Picture Expert Group的简称,最初是指由国际标准化组织(ISO) 和国际电工委员会(IEC)联合组成的一个研究视频和音频编码标准的专家组。同时MPEG也用来命名这个小组所负责开发的一系列音、视频编码标准和多媒体应用标准。这个专家组至今为止已制定和制定中的标准包括MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21标准。
其中MPEG-1、MPEG-2和MPEG-4主要针对音、视频编码技术,
而MPEG-7是多媒体内容描述接口标准,
MPEG-21是多媒体应用框架标准。
VCD使用了MPEG-1标准作为其音、视频信息压缩编码方案,而MPEG-2标准中的音、视频压缩编码技术被应用到DVD中。
知识产权与标准化
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zxVR00Pj-1673799032744)(…/…/…/typora/image/image-20201104123059614.png)]
国务院于1991年6月4日发布了《计算机软件保护条例》。该条例指出:计算机软件是指计算机程序及有关文档。受保护的软件必须由开发者独立开发,即必须具备原创性,同时,必须是已固定在某种有形物体上而非存在于开发者的头脑中。新条例自2002年1月1日起施行。1991年6月4日国务院发布的《计算机软件保护条例》同时废止。
软件开发者的开发者身份权保护期不受限制。软件著作权的其他权利保护期为25年,截止于软件首次发表后第25年的12月31日,保护期满前,软件著作权人可以向软件登记机关申请续展25年,但**保护期最长不超过50年。**因继承或单位分立、合并等法律行为使著作权人主体发生合法变更时,不改变相应软件著作权的保护期。因依法签订使用权或使用权许可合同而转让有关权利时,转让活动的发生不改变有关软件著作权的保护期。当拥有软件著作权的单位终止或拥有软件著作权的公民死亡而无合法继承者时,除开发者身份权外,有关软件的其他各项权利在保护期满之前进入公有领域。
计算机软件所有人应向软件登记机构办理软件著作权登记。软件登记机构发放的登记证明文件,是软件著作权有效或者登记申请文件中所述事实确定的初步证明。
凡已办登记的软件,在软件权利发生转让活动时,受让方应当在转让合同正式签订后3个月内向软件登记管理机构备案,否则不能对抗第三者的侵权活动。中国藉的软件著作权人将其在中国境内开发的软件权利向外国人许可或转让时,应当报请国务院有关主管部门批准并向软件登记管理机构备案。
软件著作权人,是指依法享有软件著作权的自然人、法人或者其他组织。软件著作权自软件开发完成之日起产生。除法律另有规定外,软件著作权属于软件开发者,即实际组织开发、直接进行开发,并对开发完成的软件承担责任的法人或者其他组织;或者依靠自己具有的条件独立完成软件开发,并对软件承担责任的自然人。如无相反证据,在软件上署名的自然人、法人或者其他组织为开发者。
委托开发、合作开发软件著作权的归属及行使原则与一般作品著作权归属及行使原则一样,但职务计算机软件的著作权归属有一定的特殊性。自然人在法人或者其他组织中任职期间所开发的软件有下列情形之一的,该软件著作权由该法人或者其他组织享有,该法人或者其他组织可以对开发软件的自然人进行奖励:
(1)针对本职工作中明确指定的开发目标所开发的软件;
(2)开发的软件是从事本职工作活动所预见的结果或者自然的结果;
(3)主要使用了法人或者其他组织的资金、专用设备、未公开的专门信息等物质技术条件所开发并由法人或者其他组织承担责任的软件。
用户购买了具有版权的软件,仅仅有了使用权,想想正版的windows系统,只能安装一次。
在我国,商标权是指注册商标专用权,只有依法进行商标注册后,商标注册人才能取得商标权,其商标才能得到法律的保护。商标权不包括商标设计人的权利,主要注重商标所有人的权利,即**注册商标所有人具有其商标的专用权。**商标设计人的发表权、署名权等人身权在商标的使用中没有反映,所以不受商标法保护。商标设计人可以通过其他法律来保护属于自己的权利,如可以将商标设计图案作为美术作品通过著作权法来保护;与产品外观关系密切的商标图案还可以申请外观设计专利通过专利法加以保护。软件商标制作人、软件商标使用人均未涉及软件注册商标,所以均不能成为软件商标权的权利人。
著作权从软件作品性的角度保护其表现形式,源代码(程序)、目标代码(程序)、 软件文档是计算机软件的基本表达方式(表现形式),受著作权保护;
专利权从软件功能 性的角度保护软件的思想内涵,即软件的技术构思、程序的逻辑和算法等的思想内涵,当计算机软件同硬件设备是一个整体,涉及计算机程序的发明专利,可以申请方法专利,取得专利权保护。
商标权是为商业化的软件从商品、商誉的角度为软件提供保护,利用商标权可以禁止他人使用相同或者近似的商标、生产(制作)或销售假冒软件产品。商标权受保护的力度大于其他知识产权,对软件的侵权行为更容易受到行政查处。
而商业秘密权是商业秘密的合法控制人采取了保密措施,依法对其经营信息和技术信息享有的专有使用权,我国《反不正当竞争法》中对商业秘密的定义为“不为公众所知悉、能为权利人带来经济利益、具有实用性并经权利人采取保密措施.的技术信息和经营信息”。软件技术秘密是指软件中适用的技术情报、数据或知识等,包括程序、设计方法、技术方案、功能规划、开发情况、测试结果及使用方法的文字资料和图表,如程序设计说明书、 流程图、用户手册等。软件经营秘密指具有软件秘密性质的经营管理方法以及与经营管理方法密切相关的信息和情报,其中包括管理方法、经营方法、产销策略、客户情报(客户名单、客户需求),以及对软件市场的分析、预测报告和未来的发展规划、招投标中的标底及标书内容等。
保护期限
知识产权人确定
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gEcTBImW-1673799032749)(…/…/…/typora/image/image-20201101191306199.png)]
侵权判定
中国公民、法人或其他组织的作品,不论是否发表,都享有著作权
开发软件所用的思想,处理过程,操作方法或者数学概念不受保护
著作权不适用于下列情形:
在我国,软件著作权采用“自动保护”原则。《计算机软件保护条例》第十四条规定:“软件著作权自软件开发完成之日起产生。”即软件著作权自软件开发完成之曰起自动产生,不论整体还是局部,只要具备了软件的属性即产生软件著作权,既不要求履行任何形式的登记或注册手续,也无须在复制件上加注著作权标记,也不论其是否已经发表都依法享有软件著作权。
一般来讲,一个软件只有开发完成并固定下来才能享有软件著作权。如果一个软件—直处于开发状态中,其最终的形态并没有固定下来,则法律无法对其进行保护。因此,条例(法律)明确规定软件著作权自软件开发完成之日起产生。当然,现在的软件开发经常是一项系统工程,一个软件可能会有很多模块,而每一个模块能够独立完成某一项功能。自该模块开发完成后就产生了著作权。所以说,自该软件开发完成后就产生了著作权。
法律、法规,国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文
时事新闻
历法、通用数表、通用表格和公式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jVffvvdq-1673799032751)(…/…/…/typora/image/image-20201024140947160.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QLuemGbz-1673799032752)(…/…/…/typora/image/image-20201024141108271.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MZZ13Ns4-1673799032753)(…/…/…/typora/image/image-20201024141216098.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ibwtleh9-1673799032754)(…/…/…/typora/image/image-20201024141409546.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wfXCzSD-1673799032755)(…/…/…/typora/image/image-20201024141527906.png)]
标准化
标准的分类
国际标准:ISO、IEC等国际标准化组织
国家标准:GB—中国、ANSI美国、BS—英国、JIS—日本
区域标准:又称为地区标准,如PASC—太平洋地区标准会议、CEN—欧洲
标准委员会、ASAC—亚洲标准咨询委员会、ARSO—非洲地区标准化组织
行业标准:GJB—中国军用标准、MIT-S一美国军用标准、IEEE一美国电气电子工程师协会
地方标准:国家的地方一级行政机构制订的标准
企业标准
项目规范
标准的编号
国际、国外标准准代号:标准代号+专业类号+顺序号+年代号
我国国家标准代号∶强制性标准代号为GB、推荐性标准代号为GB/T
指导性标准代号为GB/Z、实物标准代号GSB
行业标准代号∶由汉语拼音大写字母组成(如电子行业为SJ)
地方标准代号:由DB加上省级行政区代码的前两位
企业标准代号:由Q加上企业代号组成
数据流图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOLcOKRw-1673799032756)(…/…/…/typora/image/image-20201106095916320.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KrZja5n7-1673799032756)(…/…/…/typora/image/image-20201026140836154.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03MqYR3O-1673799032757)(…/…/…/typora/image/image-20201026140944886.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WgjqocDw-1673799032758)(…/…/…/typora/image/image-20201026141134148.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RuRSv0vY-1673799032758)(…/…/…/typora/image/image-20201026141247987.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ReEPjrKw-1673799032759)(…/…/…/typora/image/image-20201026141400746.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cGispmdD-1673799032760)(…/…/…/typora/image/image-20201026141532566.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k0kkfFp5-1673799032760)(…/…/…/typora/image/image-20201026141738621.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28CBml7L-1673799032762)(…/…/…/typora/image/image-20201026141923116.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kiKEkSql-1673799032764)(…/…/…/typora/image/image-20201026142051055.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5XR3LPG3-1673799032767)(…/…/…/typora/image/image-20201026142201837.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8ciizFnq-1673799032768)(…/…/…/typora/image/image-20201026142408462.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4MRtEDVV-1673799032771)(…/…/…/typora/image/image-20201026142535325.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CXpEoyK-1673799032773)(…/…/…/typora/image/image-20201026142653819.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iwUdhJMU-1673799032773)(…/…/…/typora/image/image-20201026143002978.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RwNb3dYL-1673799032774)(…/…/…/typora/image/image-20201026143045246.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K4DJOsO3-1673799032775)(…/…/…/typora/image/image-20201026143229215.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qlwFVQ6h-1673799032776)(…/…/…/typora/image/image-20201026143400475.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LCRL2WgY-1673799032776)(…/…/…/typora/image/image-20201026143511364.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S5PWptDe-1673799032777)(…/…/…/typora/image/image-20201026143611813.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGxPsmlJ-1673799032778)(…/…/…/typora/image/image-20201026143649061.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vlxRumMN-1673799032778)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192343.png)]
数据字典
数据流,数据项,数据存储和基本加工。
数据流图的平衡原则
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HQ3QKSdK-1673799032783)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192348.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PeRe9AGH-1673799032784)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192349.png)]
答题技巧
一、补充实体
实体可能是:
(1)人物角色:如客户、管理员、主管、经理、老师、学生
(2)组织机构:如银行、供应商、慕捐机构
(3)外部系统:如银行系统、工资系统、后台数据库(当要开发的是中间件时)
二、补充存储
存储的文字方面特征:“** 文件”“ ** 表” “** 库” “ ** 清单” “** 档案”
三、补充数据流
1、数据平衡原则
- 顶层图与0层图对比,是否有顶层图有,但0层图无的数据流,或反之。
- 检查图中每个加工,是否存在只有入没有出,或只有出没有入,或根据输入的数据无法产生对应的输出情况
2、 按题目说明与图进行匹配
说明中的每一句话,都能与途中有对应的关系,当把说明中的实体与数据流标识出来之后,容易缩小对应的范围,找出纰漏
3、 补充加工名
加工是用于处理数据流的,所以要补充加工名,可以把该加工涉及到的数据流,在说明中标识出来,再在数据流名称所在句子中,找“动词 + 名词” 的结构,分析是否可以作为加工。
“动词 + 名词” 如:生成报告,发出通知,批改作业,记录分数,当然这只是普遍情况,也有例外,如物流跟踪,用户管理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XEMCTmG1-1673799032785)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192351.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-czr7cbsF-1673799082904)(null)]
E1: 非信用卡用户 E2:信用卡客户 E3:银行
加工 写成(动 + 宾)结构
数据库设计
概念模式设计阶段是根据对用户信息需要的分析设计E-R图,对于属性的分析,派生属性是指可以由其他属性经过运算得到的属性,因而派生属性产生冗余,通常不存储, 如员工实体Emp的年龄;多值属性是指一个实体在该属性上会同时取多个属性值,这些值也都必须存储,如员工实体Emp的联系方式。数据约束也是描述用户信息的,根据参照完整性约束的定义,Emp实体中的部门号属性应为外码,应该用Foreign Key进行外键约束。复合属性可以细分为更小的部分(即划分为别的属性)。
标准SQL对数据库对象(基本表、索引和视图等)的创建、修改和删除定义了一组操作分别为CREATE、ALTER和DROP;对基本表和视图中数据的插入、删除和修改定义了操作分别为INSERT、DELETE和UPDATE,这两组操作不能混淆。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c74QKCrh-1673799032788)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192356.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N5kJTDNO-1673799032789)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192357.png)]
E-R图向关系模型的转换
转换的基本原则就是;实体和联系分别转换成关系,属性则转换成相应的关系的属性
- 一对一联系
- 一对多联系
- 多对多联系
- 多元联系
答题技巧
详细分析试题说明
熟练掌握基本知识
UML建模
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H9h2JKTN-1673799032789)(…/…/…/typora/image/image-20201028115524439.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vj2UtiMh-1673799032790)(…/…/…/typora/image/image-20201026144908192.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u4l6PEdv-1673799032791)(…/…/…/typora/image/image-20201026144955059.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VoU7ouQL-1673799032791)(…/…/…/typora/image/image-20201026145113013.png)]
用例图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5VAykSgj-1673799032792)(…/…/…/typora/image/image-20201026145512178.png)]
用例图描述一组用例、参与者及他们之间的关系
关系包括
包含关系
其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们.
扩展关系
如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。
箭头指向的是原用例, 箭头指向扩展出后面的 用例
基本事件流:必须去做的动作 除了备选事件流 就是 基本事件流
备选事件流:扩展出来的动作 一般查找对应的关键字 “如果” 条件判断语句等。
如果中既包含 基本事件流,又包含备选事件流
泛化关系
泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。
用例建模的流程
- 识别参与者(必须)
- 合并需求获得用例(必须)
- 细化用例描述(必须)
- 调整用例模型(可选)
类图与对象图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TI0qdKkm-1673799032797)(…/…/…/typora/image/image-20201026145308691.png)]
类图(class diagram):类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
对象图(object diagram):对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的.
填类名,方法名,属性名
填多重度
填关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ZSRBMnN-1673799032798)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192404.png)]
顺序图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4VRFiO0n-1673799032799)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192405.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxXbQOnl-1673799032800)(…/…/…/typora/image/image-20201028115641987.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3P88CmOc-1673799032801)(…/…/…/typora/image/image-20201026145644119.png)]
活动图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnEKjoZH-1673799032801)(…/…/…/typora/image/image-20201026150051756.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jlngeamy-1673799032802)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192406.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ulSRpsO-1673799032803)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192407.png)]
状态图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xZTO3yvC-1673799032803)(…/…/…/typora/image/image-20201026145941909.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cLAvctTy-1673799032804)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192408.png)]
通信图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uHyRarYN-1673799032805)(…/…/…/typora/image/image-20201026145823038.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9cNMocaB-1673799032806)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192409.png)]
构件图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Es1Z357a-1673799032806)(…/…/…/typora/image/image-20201026150120068.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BlJnL7CQ-1673799032807)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192410.png)]
部署图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3NNFOmXw-1673799032807)(…/…/…/typora/image/image-20201026150201277.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZOP91uaD-1673799032808)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192411.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zZlYB6al-1673799032809)(…/…/…/typora/image/image-20201026150314294.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-byHxB9iR-1673799032809)(…/…/…/typora/image/image-20201026150432053.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OilxfWUI-1673799032810)(…/…/…/typora/image/image-20201026150536144.png)]
设计模式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Etj94zDl-1673799032810)(…/…/…/typora/image/image-20201026150706668.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tduIRST-1673799032811)(…/…/…/typora/image/image-20201026150825406.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jeGLl1DN-1673799032812)(…/…/…/typora/image/image-20201026151008216.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KavKjvGu-1673799032813)(…/…/…/typora/image/image-20201026151221277.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ua23RNS-1673799032814)(…/…/…/typora/image/image-20201026151323875.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vvMU6Q1y-1673799032814)(…/…/…/typora/image/image-20201026151528315.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XJC07ejN-1673799032815)(…/…/…/typora/image/image-20201026151638983.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wI4nEMRZ-1673799032816)(…/…/…/typora/image/image-20201026151808448.png)]
数据结构及算法的应用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W8uTePS7-1673799032816)(…/…/…/typora/image/image-20201030174158623.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yOac5N25-1673799032817)(…/…/…/typora/image/image-20201024165702404.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6kgYnP3d-1673799032817)(…/…/…/typora/image/image-20201024170301001.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GDERxizY-1673799032818)(…/…/…/typora/image/image-20201024170407158.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tLGIgSBq-1673799032819)(…/…/…/typora/image/image-20201024170632574.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DEwxZphv-1673799032819)(…/…/…/typora/image/image-20201024170830897.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWLz1CHW-1673799032820)(…/…/…/typora/image/image-20201024171123370.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p2MVDLek-1673799032821)(…/…/…/typora/image/image-20201024171337133.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBsbjDXZ-1673799032821)(…/…/…/typora/image/image-20201024171445685.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V40Prqwr-1673799032822)(…/…/…/typora/image/image-20201024171602959.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7PwyqY5-1673799032822)(…/…/…/typora/image/image-20201024171822842.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJgnq14F-1673799032823)(…/…/…/typora/image/image-20201024171919543.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i1ki7FpV-1673799032823)(…/…/…/typora/image/image-20201024172111485.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BKx65OBj-1673799032824)(…/…/…/typora/image/image-20201024172336304.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5aC0ZHK-1673799032825)(…/…/…/typora/image/image-20201024172453068.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GGwMiRnJ-1673799032826)(…/…/…/typora/image/image-20201024172808221.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q48Voc3K-1673799032827)(…/…/…/typora/image/image-20201024172913216.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d7B1B5fe-1673799032828)(…/…/…/typora/image/image-20201024173123323.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IQWotics-1673799032828)(…/…/…/typora/image/image-20201024173231799.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5umErik5-1673799032829)(…/…/…/typora/image/image-20201024173426215.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0CPqJFbc-1673799032830)(…/…/…/typora/image/image-20201024174031213.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LFjmeQg0-1673799032830)(…/…/…/typora/image/image-20201024174222991.png)]
分治法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w2haA44a-1673799032831)(…/…/…/typora/image/image-20201025111850450.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BODfwEOF-1673799032831)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192412.png)]
回溯法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-066DRqMr-1673799032832)(…/…/…/typora/image/image-20201025111940018.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jiHUTXht-1673799032833)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018192413.png)]
贪心法(局部最优)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pNXXqurE-1673799032833)(…/…/…/typora/image/image-20201025120106566.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEVsyBHJ-1673799032834)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018191923.png)]
动态规划法(全局最优)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9wAih0y-1673799032835)(…/…/…/typora/image/image-20201025112044727.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tsyeHbqH-1673799032836)(…/…/…/typora/image/image-20201025120900427.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9O7q71nd-1673799032836)(…/…/…/typora/image/image-20201025121028148.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cCiDMopn-1673799032837)(…/…/…/typora/image/image-20201025121332656.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YHvnNopG-1673799032838)(…/…/…/typora/image/image-20201025121618428.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kb7kLFD8-1673799032838)(…/…/…/typora/image/image-20201025121731367.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0AU7FZv-1673799032839)(…/…/…/typora/image/image-20201025122009032.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2ur7ZtES-1673799032839)(…/…/…/typora/image/image-20201025122235739.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a5vkQ4gd-1673799032840)(…/…/…/typora/image/image-20201025122602574.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nf29gQVX-1673799032840)(…/…/…/typora/image/image-20201025122844915.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vYnHxIZN-1673799032841)(…/…/…/typora/image/image-20201025123049968.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HKsk4MGq-1673799032842)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018191917.png)]
时间复杂度总结
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C8Wjjrod-1673799032843)(…/…/…/typora/image/image-20201106102202599.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G4j7aHAB-1673799032843)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018191910.png)]
面向对象程序设计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y3gerEa8-1673799032844)(…/…/…/typora/image/image-20201104150638941.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17hmvy0A-1673799032845)(…/…/…/typora/image/image-20201104150801198.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cEB4zUnv-1673799032846)(…/…/…/typora/image/image-20201026144138880.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Sn5q1eK-1673799032847)(…/…/…/typora/image/image-20201026144327377.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXEV4DbP-1673799032847)(…/…/…/typora/image/image-20201026144524963.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mhy9LmWz-1673799032848)(…/…/…/typora/image/image-20201026144724625.png)]
采用面向对象的软件开发,通常有面向对象分析、面向对象设计、面向对象实现。
面向对象分析是为了获得对应用问题的理解,其主要任务是抽取和整理用户需求并建立问题域精确模型。
面向对象设计是采用协作的对象、对象的属性和方法说明软件解决方案的一种方式,强调的是定义软件对象和这些软件对象如何协作来满足需求,延续了面向对象分析。
面向对象实现主要强调釆用面向对象程序设计语言实现系统。
面向对象测试是根据规范说明来验证系统设计的正确性。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cP6cO1ys-1673799032848)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018191849.png)]
实体类主要负责数据和业务逻辑;
边界类负责和用户进行交互,即用户界面;
控制类则负责实体类和界面类的交互。
Outlook Express有以下一些优点:
•可以脱机处理邮件,有效利用联机时间,降低了上网费用。
•可以管理多个邮件账号,在同一个窗口中使用多个邮件账号。
•可以使用通讯簿存储和检索电子邮件地址。
•在邮件中添加个人签名或信纸。
•发送和接收安全邮件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D0jtpvg7-1673799032849)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201018191345.png)]
需求分析阶段的任务是:对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在了解现行系统的概况,确定新系统功能的过程中,确定系统边界、收集支持系统目标的基础数据及其处理方法。
逻辑设计阶段的任务之一是对关系模式进一步的规范化处理。因为生成的初始关系模式并不能完全符合要求,会有数据冗余、更新异常存在,这就需要根据规范化理论对关系模式进行分解,以消除冗余和更新异常。不过有时根据处理要求,可能还需要增加部分冗余以满足处理要求。逻辑设计阶段的任务就需要作部分关系模式的处理,分解、合并或增加冗余属性,提高存储效率和处理效率。
变量是计算机内存单元的抽象,在程序中表示数据,具有名称、类型、值、地址、作用域、存储类别等属性,其值在运行过程中由指令进行修改。常量也用于在程序中表示数据,但常量在程序运行过程中不能修改,常量也具有类型,如整型常量、浮点型常量、字符串常量等,也称为字面量或文字。
汇编
汇编语言源程序中的每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码)。
伪指令语句用于指示汇编程序如何汇编源程序,常用于为汇编程序提供以下信息:
该源程序如何分段,有哪些逻辑段在程序段中,哪些是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等。
伪指令语句除定义的具体数据要生成目标代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程 序在汇编源程序时,通过执行一段程序来完成的,而不是在运行目标程序时实现的。
目前主要有两种不同标准的汇编语言指令格式:Windows下的汇编语言基本上都遵循Intel风格的语法,如MASM、NASM,而Unix/Linux下的汇编语言基本上都遵循AT&T 风格的语法。
汇编语言语句的通用格式如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DlktIHXc-1673799032850)(https://gitee.com/Code_Farming_Liu/image/raw/master/img/20201019144408.png)]
汇编语言语句格式中的“名称”并不是所有语句都必需的。如果语句中带有“名称”, 则大多数情况下“名称”都表示的是内存中某一存储单元的地址,也就是其后面各项在内存中存放的第一个存储单元的地址。
COCOMOⅡ中规模表示为源代码千行数(KSLOC)。常用的方法有工作分解结构、类比评估技术、Parkson法则、专家判定技术、功能点分析法等。其中功能点分析法 是基于数学理论、适用于项目的各个阶段,是COCOMO I1提倡的一种方法。有三种不同的规模估算选择:对象点,功能点和代码行。
Prolog(ProgramminginLogic的缩写)是一种逻辑编程语言。
Python,Java/C++都是一种面向对象的解释型计算机程序设计语言,Lisp是一种函数式编程语言。
目录文件是长度固定的记录式文件。大多数操作系统如UNIX,DOS采用多级目录机构 ,称为树型目录结构。 从根目录出发到任一非叶结点或树页结点都有且只有一条路径。系统为用户提供一个目前使用的工作目录,称为当前目录。 目录分解法:将目录项分为:名号目录项,基本目录项。 目录文件也分为名号目录文件和基本目录文件。 文件存取控制通过文件的共享,保护和保密三方面体现。 文件的共享是一个文件可以允许多个用户共同使用。空闲块也就是用户没有用到的部分。用户程序和用户数据对系统的影响相对来说比较小。
增量模型
对于增量模型:优点
1)第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险
2)由于很快发布第一个版本,因此可以减少用户需求的变更
3)允许增量投资,即在项目开始时可以仅对一个或两个增量投资
缺点:
1)如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定
2)如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布
3)由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力。
耦合度
耦合度,是对模块间关联程度的度量。耦合的强弱取决于**模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。**模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。
软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。
归纳法
是指从测试所暴露的问题出发,收集所有正确或不正确的数据,分析他们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。
试探法
调试人员分析错误的症状,猜测问题所在的位置,利用在程序中设置输出语句,分析寄存器,存储器的内容等手段获得错误的线索,一步步地试探和分析错误的所在。这种方法效率低,适合结构比较简单的程序。
回溯法
调试人员从发现错误的位置开始,人工沿着程序的控制流程往回跟踪代码,直到找出错误根源为止。这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而不可操作。
对分查找法
这种方法主要用于缩小错误范围,如果已经知道程序中的变量在若干位置的正确取值,可以在这些位置上给这些变量以正确值,观察程序运行的输出结果,如果没有发现问题,则说明赋予变量一个正确值开始到输出结果之间程序没有错误,问题可能在除此之外的程序中,否则错误就在所观察的这部分程序中,对含有错误的程序段再使用这种方法,直接把故障范围缩小到比较容易诊断为止。
演绎法
根据测试结果,列出所有可能的错误;分析已有的数据,排除不可能和彼此矛盾的原因;对其余的原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体;用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就找出错误,否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假设知道发现错误为止。
Data Extraction:数据抽取;
联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部 分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。
On-Line Transaction Processing联机事务处理过程(OLTP)也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-toSciXjf-1673799032851)(…/…/…/typora/image/image-20201028112402096.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rrx8sx0t-1673799032852)(…/…/…/typora/image/image-20201104124337566.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zbgl0t7s-1673799032853)(…/…/…/typora/image/image-20201104152424293.png)]
失效的图明天在补充…