上篇 计算机与软件工程知识篇 3
第1章 数据结构基础 3
1.1 线性表 3
1.1.1 栈 5
1.1.2 队列 6
1.1.3 稀疏矩阵 6
1.1.4 字符串 7
1.1.5 例题分析 8
1.2 树和二义树 9
1.2.1 树 9
1.2.2 二叉树 11
1.2.3 二叉排序树 13
1.2.4 平衡二叉树 15
1.2.5 线索树 15
1.2.6 最优二叉树 15
1.2.7 例题分析 17
1.3 图 26
1.3.1 图的基础知识 26
3.2 最小生成树 28
1.3.3 最短路径 29
1.3.4 拓扑排序 30
1.3.5 关键路径 31
1.3.6 例题分析 32
1.4 排序 39
1.4.1 插入排序 39
1.4.2 选择排序 40
1.4.3 交换排序 44
1.4.4 归并排序 45
1.4.5 基数排序 46
1.4.6 算法复杂性比较 47
1.4.7 例题分析 47
1.5 查找 51
1.5.1 顺序查找 51
1.5.2 二分法查找 52
1.5.3 分块查找 53
1.5.4 散列表 53
1.5.5 例题分析 56
第2章 程序语言基础知识 59
2.1 汇编系统基本原理 60
2.1.1 机器语言与汇编语言 60
2.1.2 汇编程序 60
2.1.3 装配程序 62
2.1.4 宏指令 63
2.2 编译系统基本原理 63
2.2.1 编译概述 63
2.2.2 形式语言基本知识 64
2.2.3 词法分析 66
2.2.4 语法分析 70
2.2.5 语法翻译 75
2.2.6 代码生成 78
2.3 解释系统基本原理 80
2.4 程序语言的数据类型 82
2.4.1 基本数据类型 82
2.4.2 结构化数据类型 84
2.4.3 抽象的数据类型 86
2.4.4 类型和错误检查 86
2.5 程序语言的控制结构 88
2.5.1 表达式 88
2.5.2 语句间的顺序控制 90
2.5.3 过程控制 91
2.6 程序语言的种类、特点及适用范围 93
2.7 例题分析 94
第3章 操作系统基础知识 101
3.1 操作系统的功能、类型和层次结构 101
3.2 处理机管理(进程管理) 103
3.3 存储管理 107
3.4 设备管理 109
3.5 文件管理 111
3.6 作业管理 113
3.7 网络操作系统 114
3.8 嵌入式操作系统 116
3.8.1 嵌入式操作系统概述 116
3.8.2 常用的嵌入式操作系统 117
3.9 例题分析 120
第4章 软件工程基础知识 137
4.1 软件生命周期与软件开发模型 137
4.1.1 软件危机与软件工程 137
4.1.2 软件生命周期 138
4.1.3 软件开发模型 139
4.1.4 例题分析 148
4.2 主要软件开发方法 149
4.2.1 结构化分析和设计 149
4.2.2 面向数据结构的设计 152
4.2.3 例题分析 152
4.2.4 面向对象的分析与设计 155
4.2.5 例题分析 159
4.3 软件测试与软件维护 163
4.3.1 软件测试 163
4.3.2 软件维护 167
4.3.3 例题分析 168
4.4 软件工具与软件开发环境 177
4.4.1 软件工具 177
4.4.2 软件开发环境 178
4.4.3 例题分析 179
4.5 软件质量保证 179
4.5.1 软件质量 179
4.5.2 软件质量特性 180
4.5.3 软件质量保证 183
4.5.4 软件工程标准和软件文档 183
4.5.5 例题分析 184
4.6 软件项目管理 186
4.6.1 软件项目管理的内容 186
4.6.2 软件项目管理的3个阶段 187
4.6.3 软件项目估算 188
4.6.4 软件项目组织与计划 191
4.6.5 风险管理 196
4.6.6 例题分析 196
第5章 数据库系统 201
5.1 数据库管理系统的功能和特征 201
5.2 数据库模型 202
5.2.1 数据库系统的三级结构 202
5.2.2 数据库系统的三级模式 203
5.2.3 数据库系统两级独立性 204
5.3 数据模型 204
5.3.1 数据模型的分类 204
5.3.2 关系模型 205
5.3.3 关系规范化理论 206
5.4 数据操作 208
5.4.1 集合运算 208
5.4.2 关系运算 210
5.5 数据库语言 212
5.5.1 数据定义 212
5.5.2 数据查询 214
5.5.3 数据更新 217
5.5.4 视图 218
5.5.5 数据控制 219
5.6 数据库的控制功能 220
5.6.1 并发控制 220
5.6.2 数据恢复 221
5.6.3 安全性 222
5.6.4 完整性 225
5.7 数据仓库与数据挖掘 227
5.7.1 数据仓库的概念 227
5.7.2 数据仓库的结构 228
5.7.3 数据挖掘技术概述 230
5.7.4 数据挖掘的功能 231
5.7.5 数据挖掘常用技术 232
5.7.6 数据挖掘的流程 233
5.8 分布式数据库 234
5.9 例题分析 236
第6章 多媒体技术及其应用 245
6.1 多媒体技术基本概念 245
6.2 数据压缩标准 246
6.3 图形图像 249
6.4 音频 250
6.5 视频 252
6.6 例题分析 252
第7章 计算机的体系结构和主要部件 261
7.1 机内代码及运算 261
7.1.1 数的进制 261
7.1.2 原码、反码、补码、移码 262
7.1.3 定点数和浮点数 263
7.1.4 BCD(Binary-Coded Decimal)码及其运算 264
7.1.5 文字符号的编码 264
7.1.6 校验码概述 266
7.1.7 奇偶校验 266
7.1.8 海明码和恒比码 267
7.1.9 循环冗余校验码(CyclicalRedundancy Check,CRC) 268
7.2 中央处理器、存储器 269
7.2.1 中央处理器 269
7.2.2 内存 271
7.2.3 外存 272
7.2.4 时序产生器和控制方式 272
7.3 输入/输出及其控制 273
7.3.1 输入/输出设备一览 273
7.3.2 输入/输出控制器 274
7.3.3 外设的识别 275
7.3.4 外设的访问 275
7.3.5 常见输入/输出接口 279
7.3.6 联机、脱机和假脱机 280
7.4 总线结构、指令流和数据流 281
7.4.1 三态门 281
7.4.2 总线 281
7.4.3 常见的个人计算机系统总线的比较 282
7.4.4 总线仲裁 283
7.4.5 指令流、数据流和计算机的分类 285
7.5 流水线技术 286
7.5.1 流水线 286
7.5.2 影响流水线效率的因素 287
7.6 精简指令计算机 288
7.6.1 指令系统 289
7.6.2 CISC和RISC 290
7.6.3 RISC结构特点 291
7.7 并行处理技术和并行处理机 292
7.7.1 概念 292
7.7.2 并行性的等级 293
7.7.3 提高计算机并行性的措施 294
7.7.4 并行处理机 294
7.8 多处理机系统 296
7.8.1 访问存储器方式 296
7.8.2 互联方式 298
7.8.3 多处理机的特点 299
7.9 例题分析 300
第8章 存储器系统 309
8.1 主存储器 309
8.1.1 主要知识点 309
8.1.2 例题分析 310
8.2 辅助存储器 312
8.2.1 磁带存储器 312
8.2.2 磁盘存储器 313
8.2.3 RAID存储器 313
8.2.4 光盘存储器 314
8.2.5 例题分析 315
8.3 Cache存储器 317
8.3.1 主要知识点 317
8.3.2 例题分析 318
第9章 安全性、可靠性与系统性能评测 321
9.1 数据安全与保密 321
9.1.1 数据加密算法 322
9.1.2 身份认证技术 323
9.1.3 信息网络安全协议 324
9.1.4 防火墙技术 326
9.1.5 例题分析 327
9.2 诊断与容错 332
9.2.1 诊断技术 332
9.2.2 容错技术 334
9.3 系统可靠性评价和系统性能评价方法 335
9.3.1 系统可靠性评价的组合模型 335
9.3.2 系统可靠性评价的马尔柯夫模型 337
9.3.3 系统性能评价 338
9.3.4 例题分析 341
第10章 网络基础知识 345
10.1 网络的功能、分类与组成 345
10.1.1 计算机网络的分类 345
10.1.2 按工作模式分类 347
10.1.3 计算机网络的组成 348
10.2 网络协议与标准 354
10.2.1 OSI网络层次参考模型 354
10.2.2 局域网协议 359
10.2.3 广域网协议 362
10.2.4 互联网协议 364
10.3 网络结构与通信 364
10.3.1 总线型拓扑结构 364
10.3.2 星型拓扑结构 364
10.3.3 环型拓扑结构 365
10.3.4 其他拓扑结构 366
10.3.5 拓扑结构的选择 366
10.4 三层结构 367
10.4.1 主机模式 367
10.4.2 客户/服务器模式 367
10.4.3 三层结构与B/S模式 368
10.5 Internet和Intranet初步 370
10.5.1 Internet网络协议 370
10.5.2 Internet应用 373
10.5.3 Intranet初步 375
10.6 网络管理初步 375
10.6.1 网络管理标准 375
10.6.2 网络管理系统 376
10.7 例题分析 377
第11章 软件的知识产权保护 385
11.1 著作权法及实施条例 385
11.1.1 著作权法客体 385
11.1.2 著作权法主体 386
11.1.3 著作权 386
11.2 计算机软件保护条例 387
11.2.1 条例保护对象 388
11.2.2 著作权人确定 388
11.2.3 软件著作权 388
11.3 商标法及实施条例 390
11.3.1 注册商标 390
11.3.2 注册商标专用权保护 390
11.3.3 注册商标使用的管理 391
11.4 专利法及实施细则 391
11.4.1 专利法的保护对象 391
11.4.2 确定专利权人 391
11.4.3 专利权 392
11.5 反不正当竞争法 393
11.5.1 什么是不正当竞争 393
11.5.2 商业秘密 394
11.6 例题分析 394
第12章 软件新技术简介 399
12.1 CMM与软件过程改进 399
12.1.1 CMM基本概念 399
12.1.2 CMM的基本框架 400
12.1.3 软件过程评估和软件能力评价 403
12.1.4 CMMI综述 404
12.1.5 PSP、TSP、CMM之间的关系 406
12.2 可扩展标记语言 407
12.2.1 SGML、HTML与XML的比较 407
12.2.2 XML语法简介 408
12.2.3 XML的应用 409
12.3 工作流 409
12.3.1 工作流概述 409
12.3.2 工作流系统实现 410
12.4 极限编程 415
12.4.1 解析极限编程 415
12.4.2 四大价值观 416
12.4.3 5个原则 417
12.4.4 13个最佳实践 418
12.5 Web Service 423
12.5.1 Web Service简介 424
12.5.2 Web Service的实现 424
12.5.3 Web Service的应用 425
12.6 例题分析 426
第13章 计算机专业英语 429
13.1 综述 429
13.2 试卷分析 429
13.3 例题分析 430
13.4 阅读素材 440
13.5 计算机专业英语词汇及缩略语精选 444
13.5.1 常见计算机词汇 444
13.5.2 常见计算机缩略语 449
第14章 信息化基础知识 455
14.1 信息与信息化 455
14.1.1 信息的定义及其特性 455
14.1.2 信息化 456
14.1.3 信息化对组织的意义 457
14.1.4 组织对信息化的需求 458
14.2 政府信息化与电子政务 459
14.2.1 政府信息化的概念、作用及意义 459
14.2.2 我国政府信息化的历程和策略 460
14.2.3 电子政务的概念、内容和技术形式 463
14.2.4 电子政务的应用领域 465
14.2.5 电子政务建设的过程模式和技术模式 466
14.3 企业信息化与电子商务 469
14.3.1 企业信息化的概念、目的、规划、方法 469
14.3.2 企业资源规划(ERP)的结构和功能 472
14.3.3 客户关系管理(CRM)在企业的应用 474
14.3.4 企业门户 477
14.3.5 企业应用集成 479
14.3.6 供应链管理(SCM)的思想 481
14.3.7 商业智能(BI) 482
14.3.8 电子商务的类型、标准 485
14.4 信息资源管理 487
14.5 信息化的有关政策、法规和标准 489
14.6 例题分析 490
第15章 信息系统基础知识 491
15.1 信息系统 491
15.1.1 信息系统的概念 491
15.1.2 信息系统的功能 492
15.1.3 信息系统的类型 494
15.1.4 信息系统的发展 496
15.2 信息系统建设 499
15.2.1 信息系统建设的复杂性 499
15.2.2 信息系统的生命周期 501
15.2.3 信息系统建设的原则 502
15.2.4 信息系统开发方法 503
15.3 例题分析 506
第16章 标准化知识 509
16.1 标准化概述 509
16.1.1 标准化的基本概念 509
16.1.2 标准化的发展 511
16.2 标准的层次 512
16.3 编码标准 513
16.4 文件格式标准 515
16.5 信息安全标准 515
16.5.1 国际信息安全等级标准 515
16.5.2 国际信息技术安全标准 516
16.5.3 中国的信息安全标准 518
16.6 软件开发规范和文档标准 518
16.7 标准化机构 519
16.8 例题分析 522
下篇 软件设计技术篇 529
第17章 软件设计概述 529
17.1 软件设计基本原则 529
17.1.1 信息隐蔽 529
17.1.2 模块独立性 529
17.2 结构化设计方法 533
17.2.1 系统结构图中的模块 533
17.2.2 系统结构图中的主要成分 535
17.2.3 常用的系统结构图 535
17.3 面向对象设计 538
17.3.1 面向对象的概念 538
17.3.2 面向对象分析方法 539
17.3.3 面向对象设计 540
17.4 用户界面设计 544
17.5 设计评审 545
第18章 数据流图设计 547
18.1 数据流图 547
18.1.1 数据流图基本图形符号 547
18.1.2 数据流图设计要略 548
18.1.3 数据字典 549
18.1.4 分层数据流图 550
18.1.5 分层数据流图的解答要点 550
18.2 系统流程图 551
18.2.1 系统流程图基本处理 551
18.2.2 系统流程图解题要点 551
18.3 程序流程图 552
18.3.1 程序流程图的控制结构 552
18.3.2 程序流程图解题要点 552
18.4 历年例题分析 553
第19章 数据设计 605
19.1 数据设计的步骤和原则 605
19.1.1 数据设计步骤 605
19.1.2 数据设计原则 605
19.2 数据字典 606
19.3 数据字典设计 606
19.3.1 数据流设计 606
19.3.2 数据元素字典设计 607
19.3.3 数据处理字典设计 608
19.3.4 数据结构字典设计 609
19.3.5 数据存储设计 610
19.4 设计数据的逻辑描述 610
19.5 数据设计的逻辑分析工具 610
19.5.1 结构化语言 611
19.5.2 判定表(Decision Table) 611
19.5.3 判定树(Decision Tree) 612
19.6 数据保护性设计 613
19.7 例题分析 613
第20章 测试用例设计 629
20.1 软件测试概述 629
20.2 边界值分析及用例设计 630
20.3 等价类划分及用例设计 631
20.4 语句覆盖及用例设计 633
20.5 判定覆盖及用例设计 635
20.6 条件覆盖及用例设计 636
20.7 判定/条件覆盖及用例设计 637
20.8 条件组合覆盖及用例设计 638
20.9 路径测试及用例设计 639
20.10 例题分析 639
第21章 软件界面设计 647
21.1 输入/输出的识别与分类 647
21.2 理解用户界面 647
21.3 界面设计指导原则 648
第22章 UML分析与设计 651
22.1 UML概述 651
22.1.1 UML是什么 651
22.1.2 UML的发展历史 651
22.1.3 UML结构 652
22.1.4 UML的主要特点 653
22.1.5 UML的应用领域 653
22.2 用例图 654
22.2.1 用例基本概念 654
22.2.2 构建用例模型 656
22.2.3 用例的粒度 659
22.3 类图和对象图 660
22.3.1 类与类图的基本概念 660
22.3.2 构建概念模型 663
22.3.3 类模型的发展 665
22.4 组合结构图 665
22.5 状态图 666
22.6 活动图 666
22.7 交互图 668
22.7.1 顺序图 668
22.7.2 通信图(协作图) 669
22.7.3 时序图 670
22.7.4 交互概况图 670
22.8 构件图 671
22.9 包图 672
22.10 部署图 673
22.11 例题分析 673
第23章 数据库设计 699
23.1 数据的规范化 699
23.1.1 函数依赖 699
23.1.2 码 699
23.1.3 1NF 700
23.1.4 2NF 700
23.1.5 3NF 700
23.1.6 BCNF 701
23.1.7 多值依赖和4NF 701
23.1.8 非规范化处理 701
23.2 数据库设计概述 702
23.2.1 数据库设计特点 702
23.2.2 数据库设计方法 703
23.2.3 数据库设计的基本步骤 707
23.3 需求分析 708
23.3.1 需求分析的任务 708
23.3.2 确定设计目标 710
23.3.3 数据收集与分析 711
23.3.4 面向数据的方法 711
23.3.5 需求说明书 715
23.4 概念结构设计 717
23.4.1 概念结构 718
23.4.2 概念结构设计的方法和步骤 718
23.4.3 数据抽象和局部视图设计 719
23.4.4 视图的集成 730
23.5 逻辑结构设计 737
23.5.1 E-R图向关系模型的转换 738
23.5.2 设计用户子模式 741
23.5.3 数据模型优化 741
23.6 数据库物理设计 743
23.6.1 存储记录的设计 744
23.6.2 关系数据库的集簇设计 745
23.6.3 存取路径的设计 747
23.6.4 物理结构设计的性能评价 749
23.7 例题分析 750
第24章 常用算法设计 761
24.1 算法设计概述 761
24.2 迭代法 762
24.2.1 迭代求解方程 763
24.2.2 迭代求解方程组的解 764
24.3 穷举法 766
24.3.1 组合问题 766
24.3.2 背包问题 767
24.3.3 变量和相等问题 768
24.4 递推法 769
24.4.1 最小数生成问题 769
24.4.2 阶乘计算 770
24.5 递归法 772
24.5.1 斐波那契(Fibonacci)数列 773
24.5.2 字典排序问题 774
24.5.3 本节例题分析 775
24.6 贪婪法 784
24.6.1 背包问题 785
24.6.2 装箱问题 789
24.6.3 马踏棋盘问题 791
24.6.4 货郎担问题 794
24.6.5 哈夫曼编码问题 798
24.6.6 本节例题分析 802
24.7 回溯法 807
24.7.1 组合问题 809
24.7.2 子集和问题 810
24.7.3 八皇后问题 812
24.7.4 迷宫问题 815
24.7.5 本节例题分析 820
24.8 分治法 826
24.8.1 二分法查找 827
24.8.2 汉诺塔问题 828
24.8.3 本节例题分析 829
24.9 其他典型例程汇集 834
24.9.1 有序链表的合并 834
24.9.2 链表多项式加法 835
24.9.3 约瑟夫环问题 837
24.9.4 旅行线路问题 839
24.9.5 迷宫最短路径问题 843
24.9.6 本节例题分析 845
附录A 软件设计师考试大纲(最新版) 847
参考文献 855