软考-软件设计师

软考中级 软件设计师

学习网址:https://www.bilibili.com/video/BV1xB4y1x7Nv?spm_id_from=333.337.search-card.all.click&vd_source=461545ff50a35eaeaa8218ecdc5f7152
页码标注为教程页

一、软件设计师考试

1.01软件设计师考试介绍

软考-软件设计师_第1张图片软考-软件设计师_第2张图片
软考-软件设计师_第3张图片
软考-软件设计师_第4张图片

二、计算机组组成原理与体系结构

2.01计算机组成与体系结构前言

软考-软件设计师_第5张图片

2.02数据的表示(进制的转换)

软考-软件设计师_第6张图片
软考-软件设计师_第7张图片

软考-软件设计师_第8张图片

2.03数据的表示(原码反码补码移码)

软考-软件设计师_第9张图片

-1的反码:符号位不动,其它按位取反

-1的补码:在反码的基础上+1

移码:一般用来做浮点运算中的阶码,在补码的基础上首位取反
软考-软件设计师_第10张图片

2.04数据的表示(浮点数运算)

软考-软件设计师_第11张图片

浮点数:科学计数法表示数的方式

対阶:e指数(阶码)相同,从低往高对

尾数计算:M的计算

结果格式化:确保尾数的第一个位置不能是0,也不能是1位以上的数

2.04CPU结构(运算器与控制器的组成)

软考-软件设计师_第12张图片
运算器

  1. 算术逻辑单元ALU:ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算
  2. 累加寄存器AC:通用寄存器,寄存需要运算的值,加法和减法
  3. 数据缓冲寄存器DR:对类存储器进行读写操作时进行状态寄存的
  4. 状态条件寄存器PSW:存储在运算的过程中相关的标志位

控制器

  1. 指令寄存器IR:当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制完成其它的组件工作,完成所需的功能
  2. 程序计数器PC:记录下一条要运行的指令的位置
  3. 地址寄存器AR:AR保存当前CPU所访问的内存单元地址。由于内存和CPU存在着操作速度上的差异,所以需要AR保持地址信息,直到内存的读/写操作完成为止
  4. 指令译码器ID:对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能

时序部件:

2.06Flynn分类法简介

软考-软件设计师_第13张图片

2.07CISC和RISC

软考-软件设计师_第14张图片
cisc:计算机还没有大规模通用的时候使用,一间房子这么大

2.08流水线的基本概念

软考-软件设计师_第15张图片

2.09流水线周期及流水线执行时间计算

软考-软件设计师_第16张图片

2.10流水线的吞吐率计算

软考-软件设计师_第17张图片

2.11流水线的加速比计算

软考-软件设计师_第18张图片

软考-软件设计师_第19张图片
]

2.12计算机层次化存储结构

软考-软件设计师_第20张图片

Cache:非必须,但是会造成速度极慢,慢上上百倍,因为时间局部性原理

2.13Cache的基本概念

软考-软件设计师_第21张图片

2.14时间局部性与空间局部性

软考-软件设计师_第22张图片

2.15随机存储器与只读存储器

软考-软件设计师_第23张图片

2.16磁盘的工作原理

软考-软件设计师_第24张图片
软考-软件设计师_第25张图片
软考-软件设计师_第26张图片

2.16计算机总线

软考-软件设计师_第27张图片
数据总线:传输数据

地址总线:地址空间

控制总线:发送控制信号

2.17串联系统与并联系统可靠性计算

软考-软件设计师_第28张图片
软考-软件设计师_第29张图片

2.19校验码的概念

软考-软件设计师_第30张图片

2.20循环校验码(CRC)

软考-软件设计师_第31张图片

101和110按位进行异或操作

软考-软件设计师_第32张图片

生成多项式转成二进制形式:4次方位置有1,3次方位置有1,2次方位置没有为0

补的是多项式中最高次方的数,这里是最高4次方,所以补4个0

再次模2运算(CRC校验),若余数为零则未出错,不为零则有错,这种校验方式只能检错不能纠错

2.21海明校验码

软考-软件设计师_第33张图片

r为校验位的个数

X为传输为个数

信息位直接填入

三、操作系统的基本原理

3.01操作系统概述

软考-软件设计师_第34张图片
软考-软件设计师_第35张图片

3.02进程状态转换图

软考-软件设计师_第36张图片

运行:所有资源配足

就绪(活跃就绪):除CPU外所有资源配足

等待(活跃阻塞):除CPU资源还缺其它资源

3.03前趋图

软考-软件设计师_第37张图片

3.04进程的同步与互斥

软考-软件设计师_第38张图片
软考-软件设计师_第39张图片

3.05PV操作

软考-软件设计师_第40张图片

临界区:代码段

信号量:S,P的S<0阻塞状态

P操作:S-1

V操作:S+1
软考-软件设计师_第41张图片

生产者第一轮

​ P(S1):S1=0

​ V(S2):S2=1

生产者第二轮

​ P(S1):S1=-1,-1<0

​ 放入到进程的等待1队列,并且阻塞起来

消费者第一轮

​ P(S2):S2=0

​ V(S1):S1=0,S<=0激活

3.06PV操作练习题

软考-软件设计师_第42张图片

Sn:n个购书者

有付款动作时开启收银员进程

​ V操作付款,P操作收银,两个要配对

购书者阻塞等待收银员收费完成

答案:A、C

3.07PV操作与前趋图

软考-软件设计师_第43张图片
软考-软件设计师_第44张图片

箭头开始的位置V操作,箭头结束的位置P操作

3.09死锁问题

软考-软件设计师_第45张图片

3*4=12

13个资源,必然会有一个能全部满足

3.10银行家算法

软考-软件设计师_第46张图片

互斥:不能同时共用资源

保持和等待:各个进程会保持自己的资源,并且等待别人的资源

不剥夺:系统不会剥夺已经分配的资源

环路等待:A、B、C三个进程互相等待
软考-软件设计师_第47张图片
软考-软件设计师_第48张图片
软考-软件设计师_第49张图片

3.11分区存储组织

软考-软件设计师_第50张图片

首次适应法:

最佳适应法:

最差适应法:

循环首次适应法:

3.12页式存储、段式存储、段页式存储

软考-软件设计师_第51张图片
软考-软件设计师_第52张图片
页面大小4K=2的12次方

12位:A29

页号5:对应的物理块号(页帧号)6

淘汰在内存里的:0、1、2,看访问位决定淘汰
软考-软件设计师_第53张图片

段长不固定
软考-软件设计师_第54张图片

3.13页面淘汰算法

  1. 最优(OPT)算法

    1. 理论层面,整个事件发生之后,已经知道序列
    2. 没有办法知道页面顺序
  2. 随机(RAND)算法:随机的淘汰一个

  3. 先进先出(FIFO)算法:有可能产生抖动

    1. 先淘汰最先进入的页面
    2. 例如:用3个页面,比4个缺页要少
  4. 最近最少使用(LRU)算法:不会产生抖动

    1. 淘汰最久没有访问的

    2. 分配的资源越多,表现的性能越好

    3. 根据使用情况,刚刚被访问的不会被淘态

抖动:加资源不会提高性能

缺页:要访问的页面内存里没有

3.14页面淘汰算法题目

软考-软件设计师_第55张图片

  1. 没有使用快表:说明每读一次程序的块,需要现先在内存上面查一下表,之后才能读取相应的内存块,所以每一个块需要进行两次内存的访问,总共有6个块,所以会产生2*6=12次对内存的访问

  2. 约定俗成:默认指令无论占到几个块,都会一次性调入 。

  3. swap指令跨了两个页:swap存放在内存的1023单元中,1个K一个块,每一个单元其实就是一个字节,第一个块的字节是从0号字节-1023单元(字节)

  4. 1023是一个块的最后一个单元,存的时候只能存指令的一半,还有一半放在1号页的最开始的单元当中,跨了两个页

  5. 跨了两个页按照常规的情况会产生两次缺页中断,但是指令中不会产生两次,指令会一次性读入,只产生一次缺页中断

  6. 数据类型的A在2号页有一半,在3号页有一半,会产生两次缺页中断

  7. 总的缺页中断的次数为swapA、B1次,A2次,B2次,1+2+2=5次

3.15索引文件结构

软考-软件设计师_第56张图片

  1. 索引文件结构一般是13个结点,从0至12

  2. 分成直接索引、一级间接索引、二级间接索引、三及间接索引;分几级间接索引主要考虑到文件本身容量的扩展问题

  3. 一个物理盘块假设是4k大小,假设13个块都是直接索引,文件最大4K*13=52K

  4. 规定0~9对应的是直接索引,存放地址直接对应物理盘块,盘块再去存内容4K*10=40K

  5. 第10个结点,不在存物理盘块的直接内容,而是存地址,每一个地址假设占4个字节,一个物理盘块可以存4k/4=1024个地址,则第10个结点存4K*1024

  6. 第11个结点,二级间接索引,存4K×1024×1024

  7. 间接级别越多,访问的效率越低

软考-软件设计师_第57张图片

  1. 逻辑块号从0开始算,逻辑块号04存放在空间5089,5号逻辑块对应的物理块号58
  2. 1个物理盘块1K大,1个地址4个字节,1K/4KB=256,则每个物理盘块存256个地址
  3. 所有261号对应的物理块号,260个逻辑块号存放在50~90,261号存放在187
  4. iaddr[7]采用二级间接索引,所以101存放的是二级地址索引表

3.16树形目录结构

软考-软件设计师_第58张图片

电话不加区号是相对路径

3.17位示图法

软考-软件设计师_第59张图片

  1. 空闲区表法:用一个表来记录哪些地方是空闲的

  2. 空闲链表法:把空闲区都链起来,空间分配时从链表取

  3. 成组链接法:分组也分链

  4. 位示图法:画一个位示图,1表达的区域已经被占用,0表示还是空闲
    软考-软件设计师_第60张图片

  5. 从0开始编号,4195是第4196个物理块

  6. 4196/32=131.125,存在132个字当中

  7. 位置从第0位置开始算
    软考-软件设计师_第61张图片

3.18数据传输控制方式

软考-软件设计师_第62张图片

  1. 程序控制方式:又被称为程序查询方式,由CPU控制,外设处于非常被动的方式,不会主动反馈信息
  2. 程序中断方式:外设完成任务,发出中断
  3. DMA方式:也称为直接存储控制方式,有专门的DMA控制器,CPU只需在开头时做一些控制

3.19虚设备与Spooling技术

软考-软件设计师_第63张图片

Spooling技术:先把需要打印的程序放在缓冲区,进入到输出井,把输出井里面的文件顺序打印

核心是开辟了缓冲区,解决了外设的低速和高速的设备之间的差距

3.20微内核操作系统

软考-软件设计师_第64张图片

四、数据库系统

4.01数据库系统前言

软考-软件设计师_第65张图片

4.02数据库三几模式两级映射

软考-软件设计师_第66张图片

物理数据库:文件

内模式:如何去存储数据

概念模式:表

外模式:数据库里面的视图

外模式-概念模式映射:表和视图之间的映射关系,表发生变化只需要改映射,不需要改应用程序

概念模式-内模式映射:内部的存储形式和表的情况的映射关系

4.03数据库设计过程说明

软考-软件设计师_第67张图片

ER模型:实体之间的联系

4.04ER模型

软考-软件设计师_第68张图片

方框:表示实体

椭圆:表示属性

菱形:表示联系

MN:表示多对多的关系

一般先画局部的ER图,然后集成
软考-软件设计师_第69张图片

结构冲突:抽象级别不同;例如:老师在一个ER图中是一个表,在拎一个ER图中只是一个字段

ER模型转关系模式
软考-软件设计师_第70张图片

1:1联系:中间的联系可以转成关系模式,也可以转到与其关联的任意一个实体里面

1:n联系:中间的联系可以转成关系模式,也可以转到n的实体里面;例如;公司和员工为1:n,在员工里面新加字段记录部门号

m:n联系,选课的联系必须转成单独的实体

4.05关系代数

软考-软件设计师_第71张图片

并:把两个集合合并在一起,都有的内容只显示一次

交:把公共部分找出来形成一个新的关系

差:我有的你没有,通俗点来说就是把S1中的S1、S2公共部分去掉
软考-软件设计师_第72张图片

笛卡尔积×:前面的字段来自于S1,后面的字段来自于S2;S1的第一条记录要与S2的每一条记录形成组合;字段数为两个集合的总和,记录数为两个记录的乘积

投影:选择列的操作,可以用属性名或者数字编码号

选择:选择行的操作,可以用属性名或者数字编码号
软考-软件设计师_第73张图片

联接:一般要写联接的条件,会把都有的字段保留一个,没有条件为自然联接,S1、S2中相同的字段做=值联接

4.06规范化理论—函数依赖

软考-软件设计师_第74张图片

X能够确定Y,则称X函数依赖Y

数据库中:学号能够函数确定姓名

部分函数依赖:A、B能确定C,并且A能确定C

传递函数依赖:A能确定B、B能确定C、则A能确定C、但是B不能确定A

4.07规范化理论的价值与用途

在这里插入图片描述

4.08规范化理论—求候选关键字

软考-软件设计师_第75张图片

超键:唯一标识元祖,可能存在冗余属性

候选键:唯一标识元祖,消除冗余属性的超键

主键:唯一

外键:别的关系的主键,很多时候需要对表做关联

候选键和主键的区别:候选键可以有多个,主键只能有一个

候选键和超键的区别:(学号、姓名)性别,学号、姓名的组合键能确定性别,学号也能确定性别,组合键为超键,学号为候选键
软考-软件设计师_第76张图片

入度为0的属性:没有箭头指向它

4.09规范化理论—范式

软考-软件设计师_第77张图片

级别不断提高,规范化程度越高,数据的力度越小,基本上进行数据表的拆分,带来性能方面的问题
在这里插入图片描述
在这里插入图片描述

主属性:属性属于候选键的一部分,在候选关键字里出现过的属性

例:学号和课程号才能唯一确定成绩,解决办法:将课程号和学分取出来建立新的关系模式,原来表里的学分去掉
软考-软件设计师_第78张图片

首先也要达到第二范式(主键只有单属性),单属性关键字时不存在部分函数依赖

解决方案:将DNO、DNAME、LOCATION独立出来,成为一个独立的关系模式,消除传递依赖
软考-软件设计师_第79张图片

主属性:属性属于候选键的一部分

非主属性:不属于候选键的一部分

例:候选键:SJ、ST,则主属性为STJ,没有非主属性,肯定是3NF

通俗来说,所有函数依赖写出来。函数依赖的左边部分必须是候选键

函数依赖SJ->T、T->J,第二个函数依赖左边部分不是候选键,所以不是BC范式B

4.10规范化理论—范式练习题

软考-软件设计师_第80张图片

4.11规范化理论—模式分解

软考-软件设计师_第81张图片
软考-软件设计师_第82张图片

第一行:原关系中拥有的一系列属性,全部列出来

第一列:要拆分的关系模式

a和b代表的:真正拥有的属性a1代表成绩拥有学号这个是字段。b表示没有包含这个字段,数字代表行列
软考-软件设计师_第83张图片
软考-软件设计师_第84张图片

4.12数据库并发控制

软考-软件设计师_第85张图片

事务

  1. 原子性:不可拆分
  2. 一致性:事务执行之前,数据保持一直的状态,执行之后,也保持一直状态,类似于能量守恒
  3. 隔离性:事务之间独立进行,互不影响
  4. 持续性:事务结束之后,结果的影响是持续的
    软考-软件设计师_第86张图片

丢失更新:会覆盖第一次运行的结果

不可重复读:读第二次时,中间会有可能对数据进行更新,导致两次读取的数据不同

读脏数据:读到了临时值
软考-软件设计师_第87张图片

X锁:读锁

S锁:写锁

4.13数据库的完整性约束

软考-软件设计师_第88张图片

实体完整性约束:使用数据库时给数据表定义主键,约束的是主键的值不能重复,不能为空

参照完整性约束:外键的完整性,不能随便乱填,填入的数据必须是对应表的主键的内容,除了正确,允许为空

用户自定义完整性:自定义完整性

触发器:写脚本来约束数据库内容的要求,来完成复杂的要求

4.14数据库的安全

软考-软件设计师_第89张图片

4.15数据库备份与恢复

软考-软件设计师_第90张图片

热备份:利用备份软件,可以有选择性的恢复
软考-软件设计师_第91张图片

例:从周日至周六的备份为:完增增增差增增

则周三数据出问题要先恢复周日的完全备份,再恢复周一和周二的增量备份

则周四出问题要先恢复周一的完全备份,再直接恢复周四的差量备份
软考-软件设计师_第92张图片

4.16数据仓库与数据挖掘

软考-软件设计师_第93张图片

数据仓库:存储数据库的陈旧数据;大规模的查询、分析、统计;面向主题不是面向用户;会记录一些集成式的数据

数据集市:部门级的数据仓库

OLAP服务器:联机分析处理服务器,专门做数据处理工作

数据挖掘工具:挖到人类不知道的信息
软考-软件设计师_第94张图片

4.17反规范化技术

软考-软件设计师_第95张图片

4.18大数据的基本概念

软考-软件设计师_第96张图片
软考-软件设计师_第97张图片

五、计算机网络

5.01七层模型

软考-软件设计师_第98张图片

中继器:接受一边的信息,从另一边传出

集线器:多端口的中继器

网桥:连接两个同类型网络的设备

交换机:多端口的网桥,用来连接多个设备

网卡:被设计用来允许计算机在计算机网络上进行通讯的计算机硬件

三层交换机:具有部分路由器功能的交换机

路由器:连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的智能性网络设备

5.02网络技术标准与协议

软考-软件设计师_第99张图片

ICMP:Internet网控制协议

ARP:地址解析协议,IP转MAC

RARP:反地址解析协议

TCP:可靠的协议,通讯时会建立连接,有验证机制,传输时会有反馈信息,通讯之前会进行三次握手的活动

UDP:不可靠的协议,通讯时不会建立连接,只把数据包从原地址发往目标地址
软考-软件设计师_第100张图片

HTTP:超文本传输协议

FTP:文件传输协议

Telnet:远程登录

POP3、SMTP:邮件传输

DHCP:动态的IP地址分配

TFTP:小文件传输协议

SNMP:简单网络管理协议

DNS:域名
软考-软件设计师_第101张图片

Samba:文件共享协议,可以跨平台

CIFS、NFS:文件共享协议

5.03网络类型与拓扑结构

软考-软件设计师_第102张图片

5.04网络规划与设计

软考-软件设计师_第103张图片
软考-软件设计师_第104张图片
软考-软件设计师_第105张图片

5.05IP地址与子网划分

软考-软件设计师_第106张图片

A、B、C:普通地址

172.18.129.0/24:代表转为2进制后前24位网络号
软考-软件设计师_第107张图片
软考-软件设计师_第108张图片

划分成子网:拿若干个主机位充当子网号

2的k次方=N个子网
软考-软件设计师_第109张图片
软考-软件设计师_第110张图片

5.06特殊含义的IP地址

软考-软件设计师_第111张图片

5.07HTML

软考-软件设计师_第112张图片

5.08无线网

软考-软件设计师_第113张图片

5.09网络接入技术

软考-软件设计师_第114张图片

PSTN:拨号上网,现在刷卡POS机还在用

5.10IPV6

软考-软件设计师_第115张图片

六、系统安全分析与设计

6.01信息系统安全属性

软考-软件设计师_第116张图片

6.02对称加密与非对称加密

软考-软件设计师_第117张图片
软考-软件设计师_第118张图片

每个人的私钥能打开个人的公钥,用个人的公钥加密

对称加密大内容,非对称加密秘钥

6.03信息摘要

软考-软件设计师_第119张图片

传送信息和信息摘要,得到信息产生摘要,和得到的摘要对比,相同则没有问题

6.04数字签名

软考-软件设计师_第120张图片

A发送给B,用A的私钥加密,A的公钥解密

加密:数字签名的加密过程

解密:数字签名的解密过程

公钥满世界跑,谁都有,只是身份验证

6.05数字信封与PGP

软考-软件设计师_第121张图片

把正文用对称的方式加密,把密钥用非对称的方式传输

6.06设计邮件加密系统(实例)

软考-软件设计师_第122张图片

6.07各个网络层次的安全保障

软考-软件设计师_第123张图片

隔离:物理隔离,不同的网络

屏蔽:墙面刷隔离图层

PPTP、L2TP:隧道协议,在互联网开出两条安全的隧道

防火墙:软件和硬件软件结合的

IPSec:针对IP包加密

6.08网络威胁与攻击

软考-软件设计师_第124张图片
软考-软件设计师_第125张图片

6.09防火墙技术

软考-软件设计师_第126张图片

应用级:开箱检查

屏蔽子网:外网和内网之间的被屏蔽子网

七、数据结构与算法基础

7.01数据结构与算法基础

软考-软件设计师_第127张图片

7.02数组

软考-软件设计师_第128张图片

a+13*2

7.03稀疏矩阵

软考-软件设计师_第129张图片

稀疏矩阵:一个矩阵中大量的元素都是0
软考-软件设计师_第130张图片

A00带入到A、B、C、D中,对的不一定对,错的肯定错

7.04数据结构的定义

软考-软件设计师_第131张图片

树形结构:没有环路

图:有可能有环路

7.05顺序表与链表

软考-软件设计师_第132张图片
软考-软件设计师_第133张图片

单链表删除结点:p->next=q->next

单链表插入结点:s->next=p->next,p->=s

7.06顺序存储与链式存储

软考-软件设计师_第134张图片

7.07队列与栈

软考-软件设计师_第135张图片

循环队列:队空和队满无法判断,使用单独的一个空间存放,少存一个元素

7.08广义表

软考-软件设计师_第136张图片

表头:最外层的第一个表元素

表尾:除了第一个元素其它所有的元素组成的广义表
在这里插入图片描述

7.09树与二叉树的基本概念

软考-软件设计师_第137张图片

结点的度:一个结点拥有的孩子结点数,1为2,3为1,7为0

树的度:一个树的结点的最高度数,为2

叶子结点:没有孩子结点,7、8

分支结点:有分支

内部结点:既不是叶子,也不是根节点,2、3、6

层次:1、2、3、4层

7.10满二叉树与完全二叉树

在这里插入图片描述

满二叉树:没有缺失的结点

完全二叉树:除了最下面的一层,上面的和从左到右的都是满的

非完全二叉树:中间有缺失

7.11二叉树遍历

页码:122
软考-软件设计师_第138张图片

关键在于根节点访问的前、中、后

前序遍历:12457836

中序遍历:42785136

后序遍历:48752631

层序遍历:自上而下、自左至右逐层访问树中各节点的过程

7.12反向构造二叉树

软考-软件设计师_第139张图片
软考-软件设计师_第140张图片

7.13树转二叉树

软考-软件设计师_第141张图片

7.14查找二叉树(排序二叉树)

软考-软件设计师_第142张图片

查找二叉树:左子树小于跟结点,右子树大于根节点

7.15最优二叉树(哈夫曼树)

软考-软件设计师_第143张图片

哈夫曼树:最小的带权路径长度

树的路径长度:路径累加

权:出现的频度

带权路径长度:路径长度*权值

树的带权路径长度(树的代价):

7.16线索二叉树

软考-软件设计师_第144张图片

线索二叉树:二叉树中很多指针都是空的,利用空闲的资源,左子树结点线索指向前序结点,右子树结点线索指向后序结点

7.17平衡二叉树

软考-软件设计师_第145张图片

7.18图的概念及存储

软考-软件设计师_第146张图片
软考-软件设计师_第147张图片
软考-软件设计师_第148张图片

7.19图的遍历

软考-软件设计师_第149张图片
软考-软件设计师_第150张图片

7.20拓扑排序

页码:143
软考-软件设计师_第151张图片

7.21图的最小生成树(普里姆算法与克鲁斯卡尔算法)

页码:141

最小生成树:对于连通网来说,边是带权值的,生成树的各边也带权值,因此把生成树各边的权值总和称为生成树的权,把权值最小的生成树称为最小生成树

选n-1条边加起来最小

普里姆算法:从任意一个结点出发,定为红点集,其它的是蓝点集,找出从红点集到蓝点集合里面最短的距离,选择A能到的距离最短的蓝点集连接并变为红点集,然后看两个红点集到蓝点集最短的距离

7.22算法的特性

页码:416
软考-软件设计师_第152张图片

算法设计:正确性、可读性、健壮性、高效性

算法的表示:自然语言、流程图、程序设计语言、伪代码

7.23算法的时间复杂度与空间复杂度

页码:417
软考-软件设计师_第153张图片

7.24顺序查找与二分查找

页码:150
软考-软件设计师_第154张图片
软考-软件设计师_第155张图片

二分查找:有序序列,n+1/2取整,取过的已经比较过了,不需要再比较
软考-软件设计师_第156张图片
软考-软件设计师_第157张图片

7.25散列表

软考-软件设计师_第158张图片

7.26排序

页码:165
软考-软件设计师_第159张图片
软考-软件设计师_第160张图片

软考-软件设计师_第161张图片

7.27直接插入排序

页码:165
软考-软件设计师_第162张图片

7.28希尔排序

页码:168
软考-软件设计师_第163张图片

7.29直接选择排序

软考-软件设计师_第164张图片

7.30堆排序

页码:170
软考-软件设计师_第165张图片
软考-软件设计师_第166张图片

7.31冒泡排序

页码:166
软考-软件设计师_第167张图片

7.32快速排序

页码:169
软考-软件设计师_第168张图片

7.33归并排序

页码:173
软考-软件设计师_第169张图片

7.34基数排序

软考-软件设计师_第170张图片

7.35排序算法的时间复杂度和空间复杂度

软考-软件设计师_第171张图片

八、程序设计语言与语言处理程序基础

8.01程序设计语言与语言处理程序前言

软考-软件设计师_第172张图片

8.02编译过程

软考-软件设计师_第173张图片

8.03文法的定义以及语法推导树

软考-软件设计师_第174张图片
软考-软件设计师_第175张图片

能推导出其它元素的为非终结符,例如S

不能推导出其它元素的为终结符,例如a

8.04有限自动机与正规式

软考-软件设计师_第176张图片

从起点找到一条到终点的路,看路径连起来的串是否符合要求
软考-软件设计师_第177张图片

8.05有限自动机例题

软考-软件设计师_第178张图片

从初态A能不能通过输入4个数到终态C

8.06表达式

软考-软件设计师_第179张图片

8.07函数调用(传值与传址)

软考-软件设计师_第180张图片
软考-软件设计师_第181张图片

传值:形参取的实参的值

传址:形参取的实参的地址
软考-软件设计师_第182张图片

传值会导致实参发生变化

8.08各种程序语言特点

软考-软件设计师_第183张图片

九、法律法规

9.01法律法规知识(知识产权)前言

软考-软件设计师_第184张图片

9.02法律法规知识(保护期限)

软考-软件设计师_第185张图片

9.03法律法规知识(知识产权人确定)

软考-软件设计师_第186张图片
软考-软件设计师_第187张图片

9.04法律法规知识(侵权判定)

软考-软件设计师_第188张图片
软考-软件设计师_第189张图片

9.05标准化基础知识(标准的分类与标准的编号)

软考-软件设计师_第190张图片
软考-软件设计师_第191张图片

十、多媒体基础

10.01多媒体基础前言

软考-软件设计师_第192张图片

10.02音频相关概念

软考-软件设计师_第193张图片

10.03图像相关概念

饱和度:色彩的艳丽程度
软考-软件设计师_第194张图片

RGB发光

CMY反光,K黑色

10.04媒体的种类

软考-软件设计师_第195张图片

10.05多媒体的计算问题

软考-软件设计师_第196张图片

图像容量计算

​ 知道像素,位数:像素*2

​ 知道像素,色数:像素*颜色深度的B位

10.06常见多媒体标准

软考-软件设计师_第197张图片

10.7数据压缩技术基础

软考-软件设计师_第198张图片

空间冗余:拍照时背景全白,存像素点无用,某个空间有大面积相同

时间冗余:讲课时视频,不动的地方记录下来下一帧继续使用

视觉冗余:视觉不能发现的地方不存

信息熵冗余:不同的信息编码冗余度不一样,合理的编码降低冗余度

结构冗余:某个结构部件有大量的冗余 ,整片地面只记录一个地板砖的图案

知识冗余:从知识层面来说可以不用记录的冗余,可以通过分析得到

10.8有损压缩和无损压缩

软考-软件设计师_第199张图片

有损压缩:不能还原成原貌,JPG

无损压缩:能还原成原貌,压缩包

十一、软件工程

11.01瀑布模型

软考-软件设计师_第200张图片

开发模型:软件工程中指导开发的一种思想,一种体系
软考-软件设计师_第201张图片

结构化方法的模型

根本性问题:需求分析难以把控

适用于需求明确或者二次开发

11.02原型模型、演化模型、增量模型

软考-软件设计师_第202张图片

原型:构造一个简易的系统,定位于需求不明确的情况,在项目开发的初期定义一个简易系统,可以是一个界面,也可以做一个初步的系统,用于给用户演示,往往只运用于开发的需求分析阶段

演化模型:由原型进行多重演化

增量的模型:在核心的需求上进行增加功能

11.03螺旋模型

软考-软件设计师_第203张图片

螺旋模型:由多个模型组成,所以各个模型的特点都具备

引入了风险分析

11.04V模型

软考-软件设计师_第204张图片

强调和细化测试,左侧和右侧有对应关系,同时开启,从测试的眼光看待问题

11.05喷泉模型与RAD

最大的特点:面向对象

11.06构建组装模型(CBSD)

软考-软件设计师_第205张图片

提高了复用性

构建一个构件库,选择取用

11.08敏捷开发方法

软考-软件设计师_第206张图片

11.09信息系统开发方法

软考-软件设计师_第207张图片

11.10需求的分类

软考-软件设计师_第208张图片

11.11结构化设计

软考-软件设计师_第209张图片
软考-软件设计师_第210张图片

11.12测试原则与类型

软考-软件设计师_第211张图片

灰盒:黑盒白盒结合

11.13测试用例设计

软考-软件设计师_第212张图片

11.14测试阶段

软考-软件设计师_第213张图片

11.15McCabe复杂度计算

软考-软件设计师_第214张图片

假设一个图中有向边为m条,n个结点

分叉的位置是否抽象为结点没有区别

11.16系统运行与维护

软考-软件设计师_第215张图片

11.17软件能力成熟度模型集成(CMMI)

页码:246
软考-软件设计师_第216张图片

11.18项目管理基础知识

软考-软件设计师_第217张图片
软考-软件设计师_第218张图片

Gantt图不能清晰的描述各个任务之间的依赖关系
软考-软件设计师_第219张图片

十二、需求工程

12.1面向对象基本概念

软考-软件设计师_第220张图片

对象:人和物的属性抽象出来

类:把对象的共性抽取出来,实体类与数据相关,边界类有与外界系统进行交互的职能,控制类进行类与类之间的衔接和控制

抽象:

封装:把相关的数据封装在一起,不能直接操作数据,而需要接口进行操作

继承与泛化:子类继承父类的相关特性,多个类有共性,把共性抽出来形成上层类为泛化

多态:同样的操作控制不同的对象,传参不同调用的方法不同

接口:一种特殊的类,只有方法的定义。没有方法的实现

消息:对象之间进行交互的方式,异步传输

组件:构件

模式和复用:模式就是经验的继承

12.2面向对象设计(设计原则)

软考-软件设计师_第221张图片

单一职责原则:设计目的单一的类,这个类设计出来的目的只有一个,职责越多,和其它类关联的概率越大

开放封闭原则:不要去做程序的修改,要的话就做程序的扩展,维护的过程中,修改程序的时候很容易引入错误

李氏替换原则:子类可以替换父类,子类继承自父类,拥有父类的特性,时刻记得

12.3UML

软考-软件设计师_第222张图片

图:用提供的图工具对项目进行表示

12.4面向对象设计(设计模式的概念)

软考-软件设计师_第223张图片

12.5面向对象设计(设计模式的分类)

软考-软件设计师_第224张图片

工厂方法:只要下指令就能产生相应的对象

抽象方法:按系列生产相应的对象

适配器模式:通过适配器进行统一操作,把原来不统一的地方统一起来

12.6面向对象分类(创建者模式)

软考-软件设计师_第225张图片

12.7面向对象设计(结构性模式)

软考-软件设计师_第226张图片

12.8面向对象设计(行为模式)

软考-软件设计师_第227张图片
软考-软件设计师_第228张图片

十三、数据流图

13.1数据流图前言

软考-软件设计师_第229张图片

13.2数据流图基本概念

软考-软件设计师_第230张图片
软考-软件设计师_第231张图片

13.3数据流图的分层(DFD)

软考-软件设计师_第232张图片

13.4数据字典

软考-软件设计师_第233张图片

13.5数据流图的平衡原则

软考-软件设计师_第234张图片
软考-软件设计师_第235张图片

13.6数据流图的平衡原则

软考-软件设计师_第236张图片

13.7数据流图案例分析1

软考-软件设计师_第237张图片
软考-软件设计师_第238张图片
软考-软件设计师_第239张图片
软考-软件设计师_第240张图片
软考-软件设计师_第241张图片

13.8数据流图案例分析2

软考-软件设计师_第242张图片
软考-软件设计师_第243张图片
软考-软件设计师_第244张图片

十四、数据库设计

14.01数据库设计前言

软考-软件设计师_第245张图片

14.02数据库设计过程

软考-软件设计师_第246张图片

14.03ER模型

软考-软件设计师_第247张图片
软考-软件设计师_第248张图片

14.04数据库设计答题技巧

  1. 详细分析相关的说明,通过说明找相关的类
  2. 熟练的掌握基础知识

14.05数据库设计案例分析1

软考-软件设计师_第249张图片

14.06数据库设计案例分析2

软考-软件设计师_第250张图片
软考-软件设计师_第251张图片
软考-软件设计师_第252张图片
软考-软件设计师_第253张图片

员工和经理的关系特殊标识
软考-软件设计师_第254张图片

部门的关系都有,缺的是联系,a填商场编号

员工的关系都有,缺的是联系,b填部门编号

c填员工号

外键用来把本表和其它表联系起来

十五、UML建模

15.1UML建模前言

软考-软件设计师_第255张图片

15.2UML图(用例图)

软考-软件设计师_第256张图片

include包含关系,登记外借信息必然会使用用户登录,必须

extend扩展关系,查询书籍在某些时候会使用修改书籍,不必须

15.3UML图(类图)

软考-软件设计师_第257张图片
软考-软件设计师_第258张图片

泛化关系:对于类,用实线

组合关系:

聚合关系:

15.4UML图(顺序图)

表现处理事务的时间顺序
软考-软件设计师_第259张图片

15.5UML图(活动图)

软考-软件设计师_第260张图片

粗横线:代表从粗横线位置产生了多少个并行的线程
软考-软件设计师_第261张图片

15.06UML图(状态图)

软考-软件设计师_第262张图片

键线代表事件

15.07UML图(通信图)

软考-软件设计师_第263张图片

上面一排的对象引出相应的生命线(虚线)

15.08UML案例分析1

软考-软件设计师_第264张图片
软考-软件设计师_第265张图片
软考-软件设计师_第266张图片
软考-软件设计师_第267张图片

十六、数据结构及算法应用

16.01数据结构级算法应用前言

软考-软件设计师_第268张图片

16.02分治法

软考-软件设计师_第269张图片

解决问题可以用到同样的算法

16.03分治法(递归技术)

软考-软件设计师_第270张图片

16.04分治法(二分查找)

软考-软件设计师_第271张图片

16.05回溯法

软考-软件设计师_第272张图片

16.06贪心法

软考-软件设计师_第273张图片

解决01背包问题,每个物品一个,尽可能多的有价值的东西

16.07动态规划法

软考-软件设计师_第274张图片

会把前面的问题求出来存在数组里

16.08数据结构及算法应用案例分析1

软考-软件设计师_第275张图片
软考-软件设计师_第276张图片
软考-软件设计师_第277张图片

16.09数据结构级算法应用案例2

软考-软件设计师_第278张图片
软考-软件设计师_第279张图片
软考-软件设计师_第280张图片

把一个问题拆为两个为1/2的问题解决

十七、面向对象程序设计

17.01面向对象的程序设计1

软考-软件设计师_第281张图片

软考-软件设计师_第282张图片
软考-软件设计师_第283张图片
软考-软件设计师_第284张图片
软考-软件设计师_第285张图片

软考-软件设计师_第286张图片

软考-软件设计师_第287张图片

17.02面向对象程序设计案例分析1

软考-软件设计师_第288张图片

抽象工厂模式:多个不同的工厂,只要指定相应的工厂,又这个工厂生产的相应的类就是同一个系列的类,生产的类就是同一个系列的类
软考-软件设计师_第289张图片
软考-软件设计师_第290张图片
软考-软件设计师_第291张图片

17.03面向对象程序设计案例分析2

软考-软件设计师_第292张图片

类爆炸:在类的基础上开发了很多分支导致类很庞大
软考-软件设计师_第293张图片
软考-软件设计师_第294张图片

你可能感兴趣的:(经验分享)