该文档聚焦软件设计师考试6 大核心模块的易混淆知识点,涵盖计算机组成与体系结构、操作系统、程序设计语言基础、数据结构、算法基础、系统开发基础,通过定义区分、表格对比、实例说明的方式,清晰梳理了原反补码运算、寻址方式、存储管理、编译与解释、排序算法、内聚耦合等高频易混考点,核心是帮助考生明确相似概念的差异,避免答题失误。
一、计算机组成与体系结构
原、反、补、移码运算
- 原码:最高位为符号位(0 正 1 负),其余为数值绝对值。
- 反码:正数与原码一致;负数为绝对值按位取反(符号位不变)。
- 补码:正数与原码一致;负数为反码末位加 1(符号位不变)。
- 移码:补码的符号位按位取反。
寻址方式对比
寻址方式 核心特征 速度 立即寻址 操作数直接在指令中 最快 直接寻址 指令存放操作数的地址 - 间接寻址 指令存放 “操作数地址的地址” - 寄存器寻址 操作数存于寄存器,指令指定寄存器号 较快 寄存器间接寻址 寄存器存放操作数的地址 - 数据传输方式
- 程序控制(查询)方式:硬件开销小,CPU 利用率低,不可并行。
- 程序中断方式:CPU 无需等待,响应速度提升,可并行。
- DMA 方式:主存与外设高速批量传输,效率最高,可并行。
可靠性、可用性、可维护性
RISC 与 CISC 对比
对比维度 CISC(复杂指令集) RISC(精简指令集) 指令特征 数量多、变长格式、使用频率差异大 数量少、定长格式、单周期指令为主 寻址方式 支持多种 支持方式少 实现方式 微程序控制技术 硬布线逻辑控制为主,支持流水线 其他 研制周期长 优化编译,支持高级语言
二、操作系统
存储管理方式
- 页式存储:程序与内存均划分为等大的块,以块为单位调入内存。
- 段式存储:按作业自然段划分逻辑空间,段长度可不同。
- 段页式存储:先分段再分页,段大小不同,页大小相同。
磁盘调度算法
- SCAN(电梯调度):磁头沿一个方向移动处理请求,到端点后反向继续。
- CSCAN(单向扫描):磁头始终沿同一方向移动,到端点后快速返回起始端(不处理请求),重复扫描。
三、程序设计语言基础
编译与解释的区别
- 编译:将源程序翻译成独立目标程序,运行时无需源程序和编译程序,效率高。
- 解释:直接执行源程序或中间代码,运行时需解释程序参与,边解释边执行,效率低。
- 核心差异:是否生成独立目标程序。
传值与传址调用
传递方式 核心特征 影响 传值调用 形参取实参的值 形参改变不影响实参(单向) 传址调用(引用 / 指针) 形参取实参的地址 形参改变会影响实参(双向)
四、数据结构
顺序存储与链式存储对比
性能类别 具体项目 顺序存储 链式存储 空间性能 存储密度 =1(更优) <1 空间性能 容量分配 事先确定 动态变化(更优) 时间性能 查找运算 O(n) O(n) 时间性能 读运算 O (1)(更优) O (n)(最好 1,最坏 n) 时间性能 插入运算 O (n)(最好 0,最坏 n) O (1)(更优) 时间性能 删除运算 O(n) O (1)(更优) 空串与空格串
- 空串:长度为 0,不含任何字符。
- 空格串:由 1 个或多个空格组成,空格计入长度。
子串与子序列
- 子串:串中连续字符构成的序列(如 “ABC” 的子串 “AB”“BC”)。
- 子序列:提取字符不改变相对位置,无需连续(如 “ABC” 的子序列 “AC”)。
树的遍历
- 前序遍历:根→左→右。
- 中序遍历:左→根→右。
- 后序遍历:左→右→根。
- 层次遍历:按层级顺序(从上到下、从左到右)。
图的遍历
遍历方法 核心逻辑 示例(顶点序列) 时间复杂度 深度优先(垂直优先) 递归访问邻接点,类似树前序 V₁→V₂→V₄→V₈→V₅→V₃→V₆→V₇ 邻接矩阵 O (n²);邻接表 O (n+e) 广度优先(水平优先) 先访问顶点所有邻接点,结合队列 V₁→V₂→V₃→V₄→V₅→V₆→V₇→V₈ 邻接矩阵 O (n²);邻接表 O (n+e)
五、算法基础
排序算法对比
排序类别 排序方法 平均时间复杂度 特殊情况时间复杂度 空间复杂度 稳定性 插入排序 直接插入 O(n²) 基本有序 O (n) O(1) 稳定 插入排序 Shell 排序 O(n¹.³) - O(1) 不稳定 选择排序 直接选择 O(n²) - O(1) 不稳定 选择排序 堆排序 O(nlog₂n) - O(1) 不稳定 交换排序 冒泡排序 O(n²) - O(1) 稳定 交换排序 快速排序 O(nlog₂n) 基本有序 O (n²) O(1) 不稳定 归并排序 - O(nlog₂n) - O(n) 稳定 基数排序 - O(d(n+rd)) - O(rd) 稳定 算法思想特征
算法名称 核心关键点 典型特征 应用场景 分治法 递归技术 拆分相同子问题,递归求解 归并排序、快速排序、二分搜索 贪心法 局部最优策略 局部最优,整体未必最优 背包问题、多机调度、找零钱 动态规划法 最优子结构 + 递归式 存储子问题结果,构造最终解 矩阵乘法、LCS 最长公共子序列 回溯法 探索 + 回退 系统搜索所有解或任一解 N 皇后问题、迷宫、背包问题
六、系统开发基础
内聚性(从低到高)
- 偶然聚合:模块动作无关联或松散关联。
- 逻辑聚合:处理动作逻辑相似,功能无关。
- 时间聚合:处理动作需同一时间执行。
- 过程聚合:动作无关联但需按特定次序执行。
- 通信聚合:动作使用同一数据或产生同一输出。
- 顺序聚合:前一动作输出为后一动作输入。
- 功能聚合:所有部分为同一功能,缺一不可(最优)。
耦合性(从低到高)
- 非直接耦合:模块间无直接关系,通过主模块调用。
- 数据耦合:通过数据参数交换信息(最优)。
- 标记耦合:传递数据结构的子结构(记录信息)。
- 控制耦合:传递控制信息。
- 外部耦合:访问同一全局简单变量。
- 公共耦合:通过公共数据区域传递信息。
- 内容耦合:涉及另一模块内部信息(最差)。
概要设计与详细设计
设计阶段 核心任务 输出文档 概要设计 划分模块、确定模块功能 / 调用关系 / 接口、数据结构设计 概要设计说明书、数据库设计说明书 详细设计 模块算法设计、数据结构细化、数据库物理设计 详细设计说明书 软件维护类型
- 更正性维护:修复已发生的错误。
- 预防性维护:防范未发生但存在的错误。
- 适应性维护:适配信息技术或管理需求变化。
- 完善性维护:扩充功能或改善性能。
4. 关键问题
问题 1:请简述 RISC 和 CISC 指令系统的 3 个核心差异,并说明哪种更适合流水线技术?
答案:核心差异:① 指令特征:CISC 指令数量多、变长格式,RISC 指令数量少、定长格式;② 寻址方式:CISC 支持多种寻址,RISC 支持方式少;③ 实现方式:CISC 采用微程序控制,RISC 以硬布线逻辑控制为主。RISC 更适合流水线技术,因其指令多为单周期、定长格式,寄存器操作多,可高效适配流水线的并行执行逻辑。
问题 2:数据结构中,顺序存储和链式存储在插入、删除运算上的性能差异是什么?请举例说明适用场景。
答案:性能差异:① 插入运算:顺序存储时间复杂度 O (n)(需移动元素),链式存储 O (1)(仅修改指针);② 删除运算:顺序存储 O (n)(需移动元素),链式存储 O (1)(仅修改指针)。适用场景:① 顺序存储适合读操作频繁、元素数量稳定的场景(如静态数组存储学生成绩);② 链式存储适合插入 / 删除频繁、元素数量动态变化的场景(如链表实现的购物车添加 / 删除商品)。
问题 3:软件维护的 4 种类型分别针对什么场景?请指出占比最高的维护类型是什么?
答案:维护类型及场景:① 更正性维护:针对已发生的程序错误(如软件崩溃、功能异常);② 预防性维护:针对存在但未发生的潜在错误(如优化老旧代码避免未来故障);③ 适应性维护:适配外部环境变化(如操作系统升级、管理需求调整);④ 完善性维护:扩充新功能或优化性能(如给办公软件新增导出 Excel 功能)。占比最高的是完善性维护,约占所有维护工作的 50%。