软件设计师-上午题

上午题
在这里插入图片描述
下午题
在这里插入图片描述

视频链接

视频链接

博文推荐

软件设计师

上午题

一、计算机组成与体系结构

1.计算机基本单位

在这里插入图片描述

2.数据的表示

  1. 进制转换

    • R进制转十进制(按权展开法)
    • 十进制转R进制(短除法)
      在这里插入图片描述
    • 二进制转八进制或十六进制
      在这里插入图片描述
  2. 源码、反码、补码、移码
    在这里插入图片描述
    运算过程:原码->反码->补码->移码
    原码:二进制(开头第一个表示符号0正1负)
    反码

    • 正数:反码=原码
    • 负数:在原码基础上,符号位不变,其他位取反

    补码

    • 正数:补码=原码
    • 负数:在反码的基础上,运算+1

    移码:在补码的基础上,符号位取反
    如图例
    在这里插入图片描述
    数值范围
    在这里插入图片描述

3.浮点数元运算(小阶向大阶对齐)
在这里插入图片描述

3.计算机结构

1.计算机组成
运算器=算术逻辑单元(ALU)+累加寄存器(AC)+数据缓冲寄存器(DR)+状态条件寄存器(PSW)
控制器=指令寄存器(IR)+程序计数器(PC)+地址寄存器(AR)+指令译码器(ID)+时序部件
在这里插入图片描述
程序计数器(PC):存储下一条将要执行的指令。
累加器(AC):通用寄存器,为ALU提供一个工作区,用来暂存数据。
指令寄存器(IR):存储即将执行的指令。
地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。

2.结构分类(Flynn)
SISDSIMDMISDMIMD
在这里插入图片描述
4.CISC与RISC
在这里插入图片描述
在这里插入图片描述

3.流水线技术

1.基本概念
在这里插入图片描述
2.计算

  1. 流水线周期:指令分成不同执行段,其中执行最长的为段位流水线周期。
  2. 流水线执行时间:1条指令的总执行时间(第一次执行完成耗费的时间)+(总指令条数-1)*流水线周期
  3. 流水线吞吐率:总指令条数/流水线执行时间
  4. 流水线最大吞吐率:1/流水线周期
  5. 流水线加速比:不使用流水线总执行时间(同步)/使用流水线总执行时间。
    在这里插入图片描述

5.计算机组成

1.层次化存储结构
在这里插入图片描述
2.cache(高速缓存)
在这里插入图片描述
周期:缓存命中率x缓存周期+(1-缓存命中率)x主存周期
3.主存
在这里插入图片描述
RAM:断电后不保留

  • SRAMDRAM都是可读可写的,但DRAM的内容需要定期刷新

ROM:断电后保留

4.寻址方式

  • 立即寻址:操作数就包含在指令中。
  • 直接寻址:操作数存放在内存单元中,指令中直接给出操作数所在的存储单元的地址。
  • 寄存器寻址:操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
  • 寄存器间接寻址:操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
  • 间接寻址:指令中给出操作数地址的地址。

寻址速度由快倒慢依次为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,间接寻址

6.磁盘工作原理

1.磁盘结构
在这里插入图片描述

p17

在这里插入图片描述

7.计算机总线

1.总线
在这里插入图片描述

8.计算机的可靠性

1.串联模式
在这里插入图片描述

2.并联模式
在这里插入图片描述
3.N模冗余模型
在这里插入图片描述
4.串并联混合模型
在这里插入图片描述

9.校验码

1.校验码检错纠错原理(增加码距)
在这里插入图片描述
2.海明校验码(可检错也可纠错)
在这里插入图片描述

设数据位(信息位)是n位,检验位是k位,则n和k必须满足以下关系:
2的k次方≥n+k+1

3.CRC(只能检错)

32.常考解题方法

  1. 内存按字节编址从A5000HDCFFFH的区域其存储容量为()。
    在这里插入图片描述
    2.海明码
    在这里插入图片描述
    3.文件访问:若某文件系统的目录结构如下图所示,假设用户要访问文件fault.swf,且当前工作目录为swshare,则该文件的全文件名为(请作答此空),相对路径和绝对路径分别为()。
    在这里插入图片描述
    全文件名:\swshare\flash\fault.swf
    相对路径:flash
    绝对路径:\swshare\flash\

4.使用图像扫描仪以300DPI的分辨率扫描一幅3×4英寸的图片,可以得到()像素的数字图像。

  • 像素=DPI*3*DPI*4

5.某文件系统采用多级索引结构,若磁盘块的大小为512字节,每个块号需占3字节,那么根索引采用一级索引时的文件最大长度为()K字节;采用二级索引时的文件最大长度为(请在此空作答)K字节。
在这里插入图片描述
6.表示媒体类似编码条形码等,表现媒体类似于硬件

二、操作系统

1.基本概述

在这里插入图片描述
在这里插入图片描述

2.进程管理

1.进程状态
在这里插入图片描述
2.前驱图

在这里插入图片描述
3.进程的同步与互斥
在这里插入图片描述
在这里插入图片描述
4.pv操作
在这里插入图片描述
在这里插入图片描述
pv操作与前驱图结合
在这里插入图片描述
在这里插入图片描述
C、A、A
5.死锁问题
在这里插入图片描述
最小资源总数=m*(n-1)+1,m为进程数,n为单个进程需要的资源数
死锁的预防与避免
在这里插入图片描述
银行家算法(死锁避免)
在这里插入图片描述
在这里插入图片描述
解题方案
在这里插入图片描述
资源分配
在这里插入图片描述

3.存储管理

1.分区存储管理
在这里插入图片描述
首次适应法:从上往下,第一次满足内存分配块
最佳适应法:先对空闲内存块从小到大排序,取第一次满足内存分配块
最差适应法:先对空闲内存块从大到小排序,取第一次满足内存分配块
循环首次适应法:从上往下构成环状,每次循环分配内存块

2.页式存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.段式存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.段页式存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

p43

先分段、后分页
在这里插入图片描述
在这里插入图片描述

5.快表
在这里插入图片描述
6.页面置换算法
在这里插入图片描述
FIFO
在这里插入图片描述

4.文件管理

1.索引文件结构
在这里插入图片描述
在这里插入图片描述
2.文件和树形目录结构
在这里插入图片描述
3.空间存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.设备管理

1.数据传输控制方式
在这里插入图片描述
2.虚设备与spooling技术
在这里插入图片描述
6.微内核操作系统
在这里插入图片描述

三、计算机网络

1.七层模型(OSI/RM)

在这里插入图片描述

2.网络技术标准与协议

在这里插入图片描述
常用协议端口号

协议端口号
SMTP25
FTP20(数据)、21(控制)
Telnet23
DNS53
HTTPS443
POP3110
HTTP80
DHCP67
SNMP161
TFTP69

3.计算机网络分类

在这里插入图片描述

4.无线网

在这里插入图片描述

5.IPV6

在这里插入图片描述

6.网络规划与设计

在这里插入图片描述
分层设计
在这里插入图片描述

7.IP地址

特殊含义的IP地址
**特殊含义的IP地址**
域名组成:计算机主机名、本地名、组名、最高层域名

8.系统安全分析与设计

对称加密技术
DES(56)、3DES(112)、AESRC-5IEAD
适合大信息数据量
举个例子:我要给你发一个文件,是不得加密,而我发给的文件肯定是加密后的文件,我只有把密钥也发给你,你再通过密钥解加密后的文件,这就是对称加密,加密和解密使用的是同一套密钥
缺点:因为需要把密码一同发给你,仅存在密码可能被截获的可能,安全性不高。
在这里插入图片描述
非对称加密
RSAElgamalECCRabin
适合小信息数据量
加密和解密使用的是不同密钥
公钥:大家都知道的加密方式,通用的。
私钥:只有你自己知道。
密钥必须承兑出现,公钥和私钥均可以用于加密,换句话说,用公钥加密的,用私钥解密;用私钥加密的,用公钥解密。
举个例子:我(发送方)要给你(接收方)发给文件,需要用你的那套密钥加解密,即用你的公钥加密,而你收到文件后,你用自己的私钥解密。
在这里插入图片描述
信息摘要
MD5(128)、SHA(160)
单向加密,不可逆
防止篡改
在这里插入图片描述
数字签名
用于标识要发送的文件是谁发的,具有真实性,不可以抵赖。
简单来说:就是用发送方的私钥加密,接收方使用发送方的公钥验签(是不是对方发的)
私钥加密(签名)、公钥解密(验证)
在这里插入图片描述
数字信封与PGP
本质就是对称加密过程
在这里插入图片描述

9.网络安全

网络安全协议
在这里插入图片描述
VPN的关键技术主要有隧道技术、加解密技术、密钥管理技术和身份认证技术。L2TP、PPTP是两种链路层的VPN协议,TLS是传输层VPN协议,IPsec是网络层VPN协议。

网络威胁与攻击
在这里插入图片描述
在这里插入图片描述
木马和病毒的主要区别:病毒只是仅仅破坏电脑里面的某些文件或者死机之类的,而木马关注的是如何窃取电脑内部的一些重要信息,然后回传给窃取者。

主动攻击包括拒绝服务攻击、分布式拒绝服务( DDos )、信息篡改、资源使用、欺骗、伪装、重放等攻击方法。
被动攻击:利用监听的方式

防火墙
在这里插入图片描述
包过滤技术是一种基于网络层、传输层的安全技术,优点是简单易用,实现的成本较低,包过滤操作对于应用层来说是透明的,它不要求用户与服务器做任何修改,但包过滤技术无法识别基于应用层的恶意入侵。
代理服务技术基于应用层,需要检查数据包的内容,能够对基于高层协议的攻击进行拦截,安全性较包过滤技术要好,缺点是处理速度较慢,不适用于高速网络间的应用,另外,代理使用一个客户程序与特定的中间节点连接,然后中间节点与代理服务器实际连接,因此,使用这类防火墙时外部网络与内部网络不存在直接连接,即使防火墙发生了问题,外部网络也无法与被保护的网络连接。

四、数据库

数据库体系结构

在这里插入图片描述

三级模式和两级映像

三模式

  • 内模式(对应存储文件)
  • 概念模式(对应基本表)
  • 外模式(对应视图)
    二映射
  • 外模式-概念模式映射(视图和表之间的映射关系)
  • 概念模式-内模式映射(表和存储之间的映射关系)

关系代数

笛卡尔积(×)

  • S1×S2,产生的结果包括S1和S2的所有属性列,并且S1中的每条记录依次和S2中所有记录组合成一条记录,最终属性列为S1+S2属性列,记录数为S1*S2记录数。

投影(π)

  • 实际是按条件选择某关系模式中的某列,列也可以用数字表示。

选择(σ)

  • 实际是按条件选择某关系模式中的某条记录。

自然连接

  • 自然连接的结果是显示全部的属性列,但相同的属性列只显示一次,显示两个关系模式中属性相同且值相同的记录
    在这里插入图片描述
    等价于 Π1,2,3,5()

规范化理论

1.Amstring公理体系

在这里插入图片描述
在这里插入图片描述

2.键和约束

超键:能唯一标识此表的属性的组合。
候选键:超键中去掉冗余的属性,剩余的属性就是候选键。
主键:任选一个候选键,即可作为主键。
外键:其他表中的主键。
主属性:候选键内的属性为主属性(若有多个候选键,取并集),其他属性为非主属性。
实体完整性约束:即主键约束,即主键不能为空。
参照完整性约束:即外键约束,外键必须是其他表中已经存在的主键的值,或者为空。
用户自定义完整性约束:自定义表达式约束,如年龄限制在0~150

3.范式

第一范式(1NF):每个属性不可再分。
第二范式(2NF):在满足1NF的基础上,每一个非主属性完全依赖候选键。
第三范式(3NF):在满足2NF的基础上,没有非主属性传递依赖候选键。
BC范式(BCNF):不存在部分依赖,也不存在传递依赖。

单个候选键至少满足2NF
没有非主属性至少满足3NF

4.模式分解

在这里插入图片描述

p={R1(ABCE),R2(CD)}#保持了函数依赖
R1(ABCE)存在关系F1={A->BC,BC->E,E->A}
R2(CD)存在关系F2={C->D}
F = F1 + F2
################################
P={R1(ABE),R2(CD)}#不保持函数依赖
R1(ABE)存在关系F1={E->A}
R2(CD)存在关系F2={C->D}
F != F1 + F2

无损连接分解
定义:指将一个关系模式分解成若干个关系模式后,通过自然连接等运算仍能还原到原来的关系模式

耦合类型

数据耦合∶参数传递交换信息(不是控制参数、公共数据结构、外部变量)
控制耦合∶通过传送开关、标志等控制信息
标记耦合:通过参数表传递
内容耦合:直接访问、代码重叠、多个入口

加密算法

对称加密算法(共享密钥加密):DES、3DES、IDEA、AES

五、数据结构

1.数组与矩阵

1.数组
在这里插入图片描述
二维数组:按行存储->a+(i*n+j)*len。按列存储->a+(j*m+i)*len
2.稀疏矩阵
在这里插入图片描述
代入法
在这里插入图片描述

2.线性表

1.逻辑结构
在这里插入图片描述
2.线性表
在这里插入图片描述
3.链表操作
在这里插入图片描述
4.顺序存储与链式存储对比
在这里插入图片描述
5.队列和栈
在这里插入图片描述

3.广义表

在这里插入图片描述
表头:表中第一个元素
表尾:除了表中的第一个元素,剩余的为表尾
长度:表中元素个数
深度:表中嵌套括号的重数
例2答案:b = head(head(tail(LS1)))

4.树和二叉树

在这里插入图片描述
节点的度:当前节点的直接子节点个数
树的度:所有节点的度最大值
在这里插入图片描述
二叉树遍历
在这里插入图片描述
前序遍历:根节点先访问,根左右;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
反向构造二叉树
在这里插入图片描述
前、中
树转二叉树
在这里插入图片描述
查找二叉树(排序二叉树)
在这里插入图片描述

左子节点小于根节点,右子节点大于根节点

最优二叉树(哈夫曼树)
满足大顶堆
树的路径长度:访问到权值的跳跃数
权:当前节点的值
带权路径长度:权值树的路径长度
树的带权路径长度(树的代价):所有叶子节点的(权值
树的路径长度)之和
哈夫曼树的目的:构造最小的树的代价
基于贪心算法
在这里插入图片描述
线索二叉树
在这里插入图片描述
平衡二叉树
在这里插入图片描述
满足查找二叉树

|所有节点的左子树深度-右子树深度|≤1

小顶堆

左子节点和右子节点均大于根节点

大顶堆

左子节点和右子节点均小于根节点

5.图

1.基本概念
在这里插入图片描述
2.邻接矩阵
在这里插入图片描述
3.邻接表
在这里插入图片描述
4.图的遍历
在这里插入图片描述
5.拓扑排序
在这里插入图片描述
6.最小生成树(普利姆算法、克鲁斯卡尔算法)
将图转换成树(没有环路)
在这里插入图片描述
普利姆算法
在这里插入图片描述
克鲁斯卡尔算法
在这里插入图片描述

6.排序和查找

1.顺序查找
在这里插入图片描述
2.二分查找
前提:有序
在这里插入图片描述
在这里插入图片描述
3.散列表(哈希表)
在这里插入图片描述
排序
1.基本概念与分类
在这里插入图片描述
1.直接插入排序
在这里插入图片描述
2.希尔排序
针对数据量大的规模
在这里插入图片描述
3.直接选择排序
在这里插入图片描述
4.堆排序
在这里插入图片描述
5.冒泡排序
在这里插入图片描述
6.快排
分治法
在这里插入图片描述
7.归并排序
两个有序归并为有序
在这里插入图片描述
8.基数排序
在这里插入图片描述
小结
在这里插入图片描述

六、程序设计语言

1.编译与解释

编译程序中语法分析器接受以单词为单位的输入,并产生有关信息供以后各阶段使用。算符优先法、LR分析法和递归下降法是几种常见的语法分析技术。LR分析法主要有SLR(1)、LR(O)、LR(1)和LALR(1)等4种,其中**LR(1)**的分析能力最强,**LR(O)**的分析能力最弱。
在这里插入图片描述

2.文法

在这里插入图片描述
文法类型
在这里插入图片描述
语法推导树
在这里插入图片描述

3.有限自动机

在这里插入图片描述
正规式
在这里插入图片描述
在这里插入图片描述

七、法律法规与标准化分类

1.保护期限

在这里插入图片描述

2.知识产权人确定

在这里插入图片描述
在这里插入图片描述

3.侵权判定

在这里插入图片描述
在这里插入图片描述

4.标准的分类

在这里插入图片描述
在这里插入图片描述

八、多媒体基础

1.基本概念

音频
在这里插入图片描述
A/D转换:采样、量化、编码
常见音频格式:WAVE、MIDI、MP3

图像
在这里插入图片描述
在这里插入图片描述

2.计算问题

在这里插入图片描述

3.常见多媒体标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.数据压缩技术

在这里插入图片描述
在这里插入图片描述

九、系统开发

1.开发模型

在这里插入图片描述
1.瀑布模型(SDLC)
适用场景:需求明确

缺点:需求多变,不宜维护
在这里插入图片描述
2.原型、演化、增量
原型只用于需求开发阶段,需求可以不明确,先构造简易系统
增量模型:先用较短时间开发核心模块给用户体验,在用户提出建议后再进行更新,迭代(风险低)
在这里插入图片描述
3.螺旋模型
在这里插入图片描述
4.v模型
测试针对每个阶段,尽早发现问题,解决问题
在这里插入图片描述
5.喷泉模型
面向对象
在这里插入图片描述
7.构建组装模型(CBSD)
低代码
在这里插入图片描述
在这里插入图片描述
8.快速开发模型
在这里插入图片描述
9.统一过程开发模型(UP)
在这里插入图片描述
10.敏捷开发

极限编程(XP)∶敏捷开发的典型方法之一,是一种轻量级(敏捷)、高效,低风险、柔性、可预测的、科学的软件开发方法,它由价值观、原则、实践和行为4个部分组成。其中4大价值观为沟通、简单性、反馈和勇气

水晶法(Crystal) :水晶方法体系与XP一样,都有以人为中心的理念,但在实践上有所不同。水晶方法体系考虑到人们一般很难严格遵循一个纪律约束很强的过程,认为每一种不同的项目都需要一套不同的策、约定和方法论。因此,与XP的高度纪律性不同,水晶方法体系探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。

并列争球法(Scrum) :用选代的方法,其中把每30天一次的迭代称为一个“冲刺”,并按需求的优先级来实现产品。多个自组织和自治小组并行地递增实现产品。协调是通过简短的日常会议来进行的。

自适应软件开发 (ASD) : ASD的核心是三个非线性的、重迭的开发阶段:猜测,合作与学习

在这里插入图片描述
11.ISO/IEC
在这里插入图片描述

2.信息系统开发方法

3.需求开发

1.需求分类与获取
需求分析的输出包括:数据字典,数据流图,ER图
在这里插入图片描述

4.结构化设计

1.基本原则
在这里插入图片描述
2.内聚于耦合
在这里插入图片描述
3.系统结构/模块结构
在这里插入图片描述

5.软件测试

1.测试原则与类型
在这里插入图片描述
2.测试用例设计
黑盒测试
边界值分析:测略小于一边,略大于一边以及本身的值
错误推测:根据经验推测哪里会产生问题
因果图:由果推因

白盒测试

在这里插入图片描述
3.测试阶段
在这里插入图片描述
4.McCabe复杂度
在这里插入图片描述

6.软件运行和维护

在这里插入图片描述

7.CMMI

在这里插入图片描述
CMMI的能力等级能力等级(Capability Level, CL) 是指在一个单独的过程域中执行的良好程度。
CMMI 包括6个能力等级:
CLO: 不完整级:过程域的一个或多个目标没有被满足。
CL1: 已执行级:过程通过转换可识别的输入工作产品,产生可识别的输出工作产品。能实现过程域的特定目标。
CL2: 已管理级:过程作为已管理的过程被制度化。
CL3: 已定义級:过程作为已定义的过程被制度化。
CL4: 量化管理级:过程作为量化管理的过程被制度化。
CL5: 优化级:过程作为优化的过程被制度化。

8.项目管理

在这里插入图片描述
1.时间管理
在这里插入图片描述
2.风险管理
在这里插入图片描述

9.其他

1.系统生命周期各个阶段的产出物情况为:
系统规划阶段产出:系统设计任务书(系统建设方案、实施计划)。
系统分析阶段产出:系统方案建议书。
系统设计阶段产出:架构设计文档、概要设计说明书、详细设计说明书、程序规格说明书、概要测试计划、详细测试计划、各类设计图。
系统测试阶段产出:操作手册。
系统验收阶段产出:确认测试报告,项目验收报告。
2.在ISO/IEC软件质量模型中,功能性是与一组功能及其指定的性质的存在有关的一组属性,其子特性包括适应性、准确性、互用性、依从性、安全性

十、面向对象

1.设计原则
在这里插入图片描述
2.UML
在这里插入图片描述
在这里插入图片描述

类图:用来表示类、接口以及它们之间的静态结构和关系。
组件图:描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。
部署图:描述了系统内部的软件如何分布在不同的节点上,用来表示软件和硬件的映射关系。
对象图:类图的一个实例,是系统在某个时间点的详细状态的快照,用来表示两个或者多个对象之间在某一时刻之间的关系。
包图:描绘了系统在包层面上的结构设计,用来表示包和包之间的依赖关系。
组合结构图:可以理解为类的组合关系。
轮廓图:提供了一种通用的扩展机制,用于为特定域和平台定制UML模型。
用例图:指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图,用来描述整个系统的功能。
活动图:具体业务流程。
状态图:对象在整个生命周期期间所呈现的状态。
序列图:描述对象之间发送消息的时间顺序显示多个对象之间的动态协作的过程。
时序图:用来表示元素状态或者值随时间的变化而变化的视图。

3.多态分类
强制多态:类型自动转换
过载多态:重载
包含多态:泛型

十一、翻译

下午题

软件设计师-下午题

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值