软考中级软件设计师的考点可以分成两大科目来梳理:基础知识(上午选择题)侧重知识广度,应用技术(下午主观题)侧重动手设计能力。以下按模块分类列出,并附上简要解释。
一、基础知识科目考点
这科涵盖面广,但单点深度适中,重在概念准确和知识面完整。
1. 计算机组成与体系结构
- 数据表示:原码、反码、补码、移码的转换与运算,浮点数的阶码与尾数含义(阶码决定范围,尾数决定精度)。
- CPU与体系结构:CPU组成、指令系统、CISC与RISC的区别、流水线技术(吞吐率、加速比计算)。
- 存储系统:Cache的作用与命中率、层次化存储体系、主存编址计算。
- 校验码:奇偶校验、海明校验、CRC循环冗余校验的原理与检错纠错能力。
2. 操作系统
- 进程管理:进程状态转换、信号量与PV操作(常结合前趋图考查)、死锁的产生条件与银行家算法。
- 存储管理:页式存储、段页式存储的地址转换,页面置换算法(如LRU、FIFO),页面淘汰时的缺页判断。
- 文件管理:树形目录结构、索引文件结构、位示图的计算。
- 设备管理:磁盘调度算法(如SSTF、SCAN),I/O控制方式。
3. 数据结构与算法 这是软件的“立身之本”,既直接考选择题,也是下午算法题的基础。
- 线性结构:顺序表与链表的区别与操作,栈和队列的特性与应用场景。
- 树与二叉树:二叉树的性质与遍历(前/中/后序),二叉排序树、最优二叉树(哈夫曼树)、平衡二叉树的概念。
- 图:图的存储(邻接矩阵、邻接表),图的遍历(DFS/BFS),拓扑排序与关键路径。
- 查找与排序:二分查找、哈希查找(冲突处理),各类排序算法(快排、堆排、归并等)的时间/空间复杂度与稳定性。
- 算法策略:分治法、动态规划、贪心法、回溯法的基本思想与典型问题。
4. 程序设计语言基础
- 编译与解释:编译过程(词法、语法、语义分析等阶段),编译型与解释型语言的区别(效率与可移植性的权衡)。
- 语言机制:函数调用的参数传递方式(传值与传址),有限自动机与正规式(词法分析基础),表达式求值(后缀表达式)。
5. 软件工程
- 开发模型:瀑布模型、敏捷开发、螺旋模型等的特点与适用场景,常作为高频考点。
- 设计原则:模块的内聚与耦合(高内聚低耦合的具体类型),系统设计的基本原理。
- 测试与维护:黑盒测试(等价类、边界值)与白盒测试(逻辑覆盖),McCabe环路复杂度计算,软件维护的类型(纠错性、完善性等)。
6. 面向对象
- 核心概念:封装、继承、多态的含义与作用。
- UML:类图、用例图、活动图、状态图等各类图的识别与语义。
- 设计模式:创建型、结构型、行为型模式的分类、意图与典型应用场景(如单例、工厂、观察者)。
7. 数据库系统
- 数据模型:E-R模型(实体、属性、联系)向关系模式的转换。
- 关系理论:函数依赖、键(主键/外键)、范式判定(1NF至3NF)、模式分解。
- SQL与并发:基础SQL查询语句,事务的ACID特性,并发控制与封锁协议。
8. 计算机网络与信息安全
- 网络协议:OSI七层模型与TCP/IP协议族各层的功能与协议,子网划分与IP地址计算。
- 安全基础:对称与非对称加密、数字签名、信息摘要、数字证书,常见网络威胁与防范措施。
9. 知识产权与标准化
- 知识产权:软件著作权的保护对象、保护期限、归属判定与侵权认定。
- 标准化:标准的分类与代号,常见信息技术标准的基本知识。
10. 专业英语
- 英文阅读:正确阅读理解计算机领域的英文资料,通常为完形填空形式,考查专业术语理解与语境把握。
二、应用技术科目考点
这科是主观题,题型相对固定,重在把设计方法练成“肌肉记忆”。
1. 数据流图(必答)
- 绘制与补全:补充外部实体、数据存储、加工的名称,补全缺失的数据流。
- 数据平衡:确保顶层图与下层图的数据流守恒,父图与子图的输入输出对应。
2. 数据库设计(必答)
- E-R建模:根据需求描述补充实体、属性、联系,标出联系类型(1:1、1:n、m:n)。
- 关系模式转换:将E-R图转换为关系模式,指定主键与外键,判断范式级别。
3. UML建模(必答)
- 图例补全:根据场景描述补充用例图、类图、时序图、活动图或状态图中的缺失元素(如类名、关系、消息)。
4. C语言算法设计(必答)
- 代码填空:给定一段完整算法代码,挖去关键行,补全代码以符合算法逻辑。
- 算法策略:通常考查分治法、动态规划、贪心法、回溯法的实现细节,注重循环边界、变量初始化与状态转移方程。
5. 程序设计选答(Java / C++ 二选一)
- 语言特性:Java或C++的基本语法、面向对象特性(继承、多态)。
- 设计模式实现:结合设计模式(如观察者、策略、工厂)进行代码填空或补全,考查模式在具体语言中的落地能力。
备考时建议优先攻克“数据结构与算法、软件工程、数据库”这三条主线,它们既在上午题中占分高,又是下午设计题的底层工具。下午题中,数据流图、UML和算法设计几乎每年都出现,针对性练习真题的回报最确定。