第1章 软件设计师考试分析 1
1.1 软件设计师考试简介 1
1.1.1 考试简介 1
1.1.2 考试内容和形式 2
1.1.3 适合人群 2
1.2 历次考试知识点分布 3
1.2.1 上午考试知识点分布 3
1.2.2 下午考试知识点分布 8
1.3 考试大纲比较分析 10
1.4 考试复习要点 11
第2章 计算机硬件基础 12
2.1 考点分析 12
2.2 计算机组成 13
2.2.1 计算机的基本组成 13
2.2.2 Flynn的分类 14
2.2.3 并行处理 15
2.2.4 精简指令系统计算机 16
2.2.5 总线和接口 17
2.3 数据运算 20
2.3.1 各种码制 20
2.3.2 定点数和浮点数 21
2.3.3 逻辑运算 22
2.4 寻址方式 23
2.5 中断 24
2.6 存储体系 26
2.6.1 主存储器 26
2.6.2 高速缓冲存储器 27
2.6.3 磁盘 29
2.6.4 RAID 30
2.7 流水线 31
2.7.1 参数计算 31
2.7.2 影响流水性的主要因素 32
2.7.3 非线性流水线 32
2.8 性能评估 33
2.8.1 可靠性相关概念 33
2.8.2 可靠性计算 34
2.8.3 容错 36
2.8.4 指令周期 37
第3章 数据结构与算法 38
3.1 考点分析 38
3.2 线性表 39
3.2.1 栈 39
3.2.2 队列 40
3.2.3 链表 41
3.2.4 二维数组 43
3.2.5 广义表 43
3.3 二叉树 4
3.3.1 二叉树的性质 44
3.3.2 二叉树的遍历 46
3.3.3 二叉排序树 47
3.3.4 最优二叉树 47
3.3.5 平衡二叉树 49
3.4 排序 49
3.4.1 插入排序 50
3.4.2 选择排序 51
3.4.3 交换排序 52
3.4.4 归并排序 54
3.4.5 基数排序 54
3.4.6 排序算法的比较 56
3.5 查找 56
3.5.1 二分法查找 56
3.5.2 散列表 57
3.6 图 58
3.6.1 图的基本概念 58
3.6.2 图的存储结构 59
3.6.3 图的遍历 60
3.6.4 拓扑排序 61
3.6.5 最短路径 61
3.6.6 关键路径 63
3.7 常用算法设计 64
3.7.1 算法设计概述 65
3.7.2 迭代法 66
3.7.3 穷举搜索法 66
3.7.4 递归法 67
3.7.5 分治法 67
3.7.6 动态规划法 68
3.7.7 回溯法 69
3.7.8 贪婪法 70
3.7.9 分支限界法 71
3.7.10 概率算法 71
第4章 操作系统 73
4.1 考点分析 73
4.2 存储管理 74
4.2.1 虚拟存储器的分类 74
4.2.2 局部性原理 76
4.2.3 虚存管理 77
4.3 进程管理 78
4.3.1 进程的状态 78
4.3.2 信号量与PV操作 80
4.3.3 死锁问题 84
4.4 文件管理 86
4.4.1 文件的基本概念 86
4.4.2 树形目录结构 86
4.4.3 存储空间管理 88
4.4.4 管道 89
4.5 作业管理 90
4.5.1 作业的状态 90
4.5.2 处理机调度 91
4.5.3 作业调度算法 91
4.6 设备管理 91
4.6.1 设备管理的功能 92
4.6.2 设备驱动程序 92
4.6.3 虚拟设备 92
4.7 Shell程序 93
第5章 程序设计语言 95
5.1 考点分析 95
5.2 基本概念 96
5.2.1 编译系统基础知识 96
5.2.2 解释系统基础知识 97
5.3 语言的分类 98
5.4 控制结构 100
5.4.1 常量与变量 100
5.4.2 三种控制结构 100
5.4.3 函数调用 103
5.5 文法 104
5.5.1 文法的定义 104
5.5.2 文法的分类 107
5.6 自动机与正规式 108
5.6.1 有限自动机 108
5.6.2 正规表达式 110
第6章 计算机网络 113
6.1 考点分析 113
6.2 网络体系结构 114
6.2.1 OSI参考模型 114
6.2.2 TCP/IP协议族 117
6.2.3 IP地址和子网掩码 120
6.3 传输介质与设备 122
6.3.1 传输介质 122
6.3.2 网络设备 125
6.4 组网技术 127
6.4.1 网络系统建设 127
6.4.2 网络分类 130
6.4.3 接入网技术 131
6.5 网络管理 134
6.5.1 代理服务器 134
6.5.2 网络管理工具 135
6.6 网络应用 135
6.6.1 可扩展置标语言 136
6.6.2 开放式网格服务体系 140
6.6.3 电子政务 142
6.6.4 电子商务 143
6.6.5 万维网 143
6.6.6 电子邮件 144
6.6.7 DNS 144
6.6.8 IIS 145
6.6.9 VOD 146
第7章 数据库系统 148
7.1 考点分析 148
7.2 数据库模型 149
7.2.1 数据库系统的三级模式 149
7.2.2 数据模型的分类 151
7.2.3 关系模型 151
7.3 关系代数 153
7.3.1 集合运算 153
7.3.2 关系运算 155
7.3.3 元组演算 157
7.4 SQL语言 159
7.4.1 基本表操作 159
7.4.2 视图操作 162
7.4.3 完整性约束 162
7.4.4 授权机制 167
7.5 函数依赖与范式 169
7.5.1 函数依赖与范式 169
7.5.2 模式分解 172
7.5.3 多值依赖与4NF 174
7.6 E-R模型设计 176
7.6.1 E-R图的画法 176
7.6.2 E-R图的集成 177
7.6.3 E-R图向关系模式的转换 178
7.7 事务处理 179
7.7.1 事务的概念 179
7.7.2 封锁机制 180
第8章 系统开发和运行维护 182
8.1 考点分析 182
8.2 系统开发模型 183
8.2.1 开发生命周期模型 183
8.2.2 系统开发方法论 193
8.3 需求分析 194
8.3.1 需求分析概述 194
8.3.2 数据流图 196
8.3.3 数据字典 200
8.3.4 系统转换策略 202
8.4 软件设计 203
8.4.1 软件设计阶段 203
8.4.2 软件设计活动 204
8.4.3 结构化设计 205
8.5 程序编写 207
8.5.1 程序设计风格 207
8.5.2 程序效率 211
8.6 软件测试 212
8.6.1 测试的目的 212
8.6.2 测试的类型 212
8.6.3 测试的阶段 215
8.6.4 性能测试 217
8.6.5 第三方测试 218
8.6.6 面向对象测试基础 219
8.7 软件维护 219
8.8 项目管理 220
8.8.1 软件项目估算 220
8.8.2 进度计划与监控 221
8.8.3 质量管理 222
8.8.4 软件过程改进 224
8.8.5 配置管理 227
8.8.6 风险管理 229
8.8.7 软件文档 231
第9章 面向对象方法 234
9.1 考点分析 234
9.2 面向对象分析 235
9.2.1 Coad/Yourdon方法 235
9.2.2 Booch方法 236
9.2.3 OMT方法 237
9.2.4 OOSE 238
9.3 面向对象语言 238
9.3.1 类和对象 239
9.3.2 封装和消息 241
9.3.3 多态性 242
9.4 统一建模语言 243
9.4.1 UML的结构 243
9.4.2 UML的图形 244
9.4.3 用例之间的关系 251
9.4.4 类之间的关系 253
9.5 设计模式 255
9.5.1 设计模式的概念 255
9.5.2 设计模式的组成 256
9.5.3 设计模式的方法分类 258
9.5.4 设计模式目录的内容 260
第10章 多媒体基础 262
10.1 考点分析 262
10.2 多媒体基础 263
10.2.1 多媒体计算机 263
10.2.2 媒体的分类 263
10.2.3 存储媒体 264
10.2.4 同步化多媒体集成语言 264
10.3 压缩编码技术 265
10.3.1 数据压缩的基础 266
10.3.2 数据压缩技术的分类 267
10.3.3 数据压缩标准 267
10.4 音频数据 269
10.4.1 音频技术概述 269
10.4.2 音频数据存储和传输 269
10.4.3 音频数据格式 270
10.5 颜色空间 271
10.5.1 亮度、色调和饱和度 271
10.5.2 颜色空间 271
10.5.3 图形与图像 273
10.6 视频数据 275
10.6.1 视频文件格式 275
10.6.2 流媒体 276
第11章 安全性知识 279
11.1 考点分析 279
11.2 密钥技术 280
11.2.1 数据加密技术 280
11.2.2 认证技术 282
11.2.3 数字证书 283
11.2.4 Kerberos 283
11.3 安全体系 284
11.3.1 防火墙 285
11.3.2 入侵检测 287
11.3.3 病毒和木马扫描 289
11.3.4 安全扫描 289
11.3.5 日志审计系统 290
11.3.6 公共密钥基础设施 290
11.4 网络攻击 291
11.4.1 网络攻击的类型 292
11.4.2 常见的网络攻击 292
11.5 虚拟专用网 294
11.5.1 VPN的基本要求 295
11.5.2 隧道技术 295
第12章 标准化知识 298
12.1 考点分析 298
12.2 标准化法 299
12.2.1 标准的制定 299
12.2.2 标准的表示 300
12.3 软件标准 301
12.3.1 我国的软件开发标准 301
12.3.2 ISO9000标准族 305
12.4 构件标准 306
12.4.1 CORBA基础知识 306
12.4.2 EJB基础知识 308
12.4.3 DCOM基础知识 308
第13章 知识产权知识 310
13.1 考点分析 310
13.2 专利法 311
13.2.1 专利法的保护对象 311
13.2.2 确定专利权人 311
13.2.3 专利权 312
13.3 著作权法 313
13.3.1 著作权法客体 313
13.3.2 著作权法主体 313
13.3.3 著作权 314
13.4 计算机软件保护条例 315
13.4.1 保护对象 316
13.4.2 著作权人确定 316
13.4.3 软件著作权 316
13.4.4 法律责任 317
13.5 反不正当竞争法 318
13.5.1 什么是不正当竞争 318
13.5.2 法律责任 319
13.5.3 商业秘密 319
2008年5月软件设计师考试试题分析与解答 320
主要参考文献 385