第1章 操作系统 1
1.1 操作系统的类型与结构 1
1.1.1 操作系统的定义 1
1.1.2 操作系统分类 1
1.2 操作系统基本原理 3
1.2.1 处理机与进程管理 3
1.2.2 存储管理 13
1.2.3 设备管理 20
1.2.4 文件管理 24
1.2.5 作业管理 29
1.3 网络操作系统 31
1.3.1 类型与功能 31
1.3.2 网络管理控制 32
第2章 数据库系统 35
2.1 数据库管理系统的类型 35
2.2 数据库模式与范式 36
2.2.1 数据库的结构与模式 36
2.2.2 数据模型 38
2.2.3 数据的规范化 39
2.3 数据操纵和使用 43
2.4 数据库设计 43
2.4.1 数据库设计的特点 44
2.4.2 数据库设计的方法 44
2.4.3 数据库设计的基本步骤 48
2.4.4 需求分析 49
2.4.5 概念结构设计 54
2.4.6 逻辑结构设计 69
2.4.7 物理结构设计 76
2.4.8 数据库应用程序设计 79
2.5 事务管理 80
2.5.1 并发控制 80
2.5.2 故障与恢复 82
2.6 备份与恢复 83
2.7 分布式数据库系统 84
2.7.1 分布式数据库的概念 84
2.7.2 分布式数据库的体系结构 87
2.8 并行数据库系统 91
2.8.1 功能和结构 92
2.8.2 并行处理技术 93
2.9 数据仓库 96
2.9.1 数据仓库的概念 96
2.9.2 数据仓库的结构 97
2.9.3 数据仓库的实现方法 99
2.10 数据挖掘 101
2.10.1 数据挖掘的概念 101
2.10.2 数据挖掘的功能 102
2.10.3 数据挖掘常用技术 103
2.10.4 数据挖掘的流程 104
2.11 常见的数据库管理系统 106
2.11.1 Oracle 106
2.11.2 Sybase 112
2.11.3 Informix 116
2.11.4 SQL Server 119
第3章 数据通信与计算机网络 121
3.1 Web和Internet 121
3.1.1 Internet基础协议 121
3.1.2 Web应用 124
3.2 通信技术 128
3.2.1 移动通信 128
3.2.2 卫星通信 131
3.2.3 有线电视网 132
3.3 通信服务 133
3.3.1 交换技术 133
3.3.2 ISDN技术 134
3.3.3 帧中继技术 136
3.3.4 ATM技术 139
3.3.5 租用线路 144
3.4 Web的各种负载均衡技术 145
3.5 网络存储系统 147
第4章 系统性能评价 149
4.1 性能指标 149
4.1.1 计算机 149
4.1.2 路由器 152
4.1.3 交换机 152
4.1.4 网络 153
4.1.5 操作系统 153
4.1.6 数据库管理系统 154
4.1.7 Web服务器 154
4.2 性能计算 154
4.3 性能设计 156
4.3.1 系统性能调整 156
4.3.2 阿姆达尔解决方案 158
4.3.3 负载均衡 159
4.4 性能评估 161
4.4.1 基准测试程序 161
4.4.2 Web服务器的性能评估 163
4.4.3 Java应用服务器的基准 163
4.4.4 系统监视 164
第5章 开发方法 166
5.1 软件生命周期 166
5.2 软件开发模型 167
5.2.1 瀑布模型 167
5.2.2 演化模型 169
5.2.3 螺旋模型 169
5.2.4 增量模型 170
5.2.5 构件组装模型 171
5.3 统一过程 171
5.4 敏捷方法 174
5.4.1 极限编程 175
5.4.2 特征驱动开发 178
5.4.3 精益软件开发 180
5.5 软件重用 181
5.5.1 软件重用 182
5.5.2 构件技术 182
5.6 形式化方法 183
第6章 系统计划 184
6.1 项目的提出与选择 184
6.1.1 项目的立项目标和动机 184
6.1.2 项目提出的角色和工作范围 186
6.1.3 项目的选择和确定 187
6.1.4 项目提出和选择的结果 190
6.2 可行性研究与效益分析 190
6.2.1 可行性研究的内容 191
6.2.2 成本效益分析 192
6.2.3 可行性分析报告 193
6.3 方案的制订和改进 194
6.4 新旧系统的分析和比较 196
6.4.1 遗留系统的评价方法 197
6.4.2 遗留系统的演化策略 199
6.5 资源估计 201
第7章 系统分析与设计方法 202
7.1 定义问题与归结模型 202
7.1.1 问题分析 202
7.1.2 问题定义 205
7.2 需求分析与软件设计 206
7.2.1 需求分析的任务与过程 206
7.2.2 如何进行系统设计 209
7.2.3 软件设计的任务与活动 210
7.3 结构化分析与设计 211
7.3.1 结构化分析 211
7.3.2 结构化设计 216
7.3.3 模块设计 218
7.4 面向对象的分析与设计 219
7.4.1 面向对象的基本概念 220
7.4.2 面向对象分析 221
7.4.3 统一建模语言 224
7.4.4 结构化方法和面向对象方法的比较 235
7.5 用户界面设计 236
7.5.1 用户界面设计的原则 237
7.5.2 用户界面设计过程 237
7.6 工作流设计 238
7.6.1 工作流设计概述 238
7.6.2 工作流管理系统 239
7.7 系统的文件设计 240
7.8 网络环境下的计算机应用系统的设计 242
7.9 简单分布式计算机应用系统的设计 244
7.10 系统运行环境的集成与设计 245
7.11 系统过渡计划 247
第8章 软件架构设计 248
8.1 软件架构概述 248
8.1.1 软件架构的定义 248
8.1.2 软件架构的重要性 250
8.2 架构需求与软件质量属性 250
8.2.1 软件质量属性 251
8.2.2 6个质量属性及实现 252
8.3 架构设计 258
8.4 软件架构文档化 260
8.5 软件架构评估 264
8.5.1 软件架构评估的方法 264
8.5.2 架构的权衡分析法 264
8.5.3 成本效益分析法 266
8.6 构件及其复用 266
8.6.1 商用构件标准规范 267
8.6.2 应用系统簇与构件系统 268
8.6.3 基于复用开发的组织结构 269
8.7 产品线及系统演化 269
8.7.1 复用与产品线 270
8.7.2 基于产品线的架构 270
8.7.3 产品线的开发模型 271
8.7.4 特定领域软件架构 271
8.7.5 架构及系统演化 272
8.8 软件架构建模 274
8.8.1 架构的模型 274
8.8.2 架构风格 275
8.8.3 架构风格举例 277
8.9 软件架构视图 279
8.9.1 软件视图的分类 279
8.9.2 模块视图类型及其风格 280
8.9.3 C&C视图类型及其风格 282
8.9.4 分配视图类型及其风格 284
8.9.5 各视图类型间的映射关系 285
第9章 设计模式 286
9.1 设计模式概述 286
9.1.1 设计模式的概念 286
9.1.2 设计模式的组成 287
9.1.3 GoF设计模式 287
9.1.4 其他设计模式 289
9.1.5 设计模式与软件架构 289
9.1.6 设计模式分类 290
9.2 设计模式及实现 291
9.2.1 Abstract Factory模式 291
9.2.2 Singleton模式 294
9.2.3 Decorator模式 295
9.2.4 Facade/Session Fa?ade模式 298
9.2.5 Mediator模式 300
9.2.6 Observer模式 302
9.2.7 Intercepting Filter模式 306
9.3 设计模式总结 308
第10章 测试评审方法 309
10.1 测试方法 309
10.1.1 软件测试阶段 309
10.1.2 白箱测试和黑箱测试 311
10.1.3 缺陷的分类和级别 313
10.1.4 缺陷的评估和分析 314
10.1.5 排错 314
10.2 评审方法 315
10.3 验证与确认 316
10.4 测试自动化 318
10.5 测试设计和管理方法 318
10.5.1 测试设计 318
10.5.2 测试管理 319
10.6 面向对象的测试 320
第11章 嵌入式系统设计 323
11.1 嵌入式系统概论 323
11.1.1 嵌入式系统的基本概念 323
11.1.2 嵌入式系统的分类 324
11.2 嵌入式系统的组成 325
11.2.1 硬件架构 325
11.2.2 软件架构 329
11.3 嵌入式应用软件与开发平台 330
11.3.1 嵌入式窗口系统 330
11.3.2 嵌入式窗口系统实例分析 334
11.3.3 嵌入式系统的Java虚拟机 335
11.3.4 嵌入式系统软件开发平台 339
11.3.5 嵌入式开发调试 340
11.4 嵌入式网络系统 344
11.4.1 现场总线网 344
11.4.2 家庭信息网 346
11.4.3 无线数据通信网 350
11.4.4 嵌入式Internet 358
11.5 嵌入式数据库管理系统 359
11.5.1 使用环境的特点 359
11.5.2 系统组成与关键技术 359
11.5.3 实例解析 362
11.6 实时系统与嵌入式操作系统 363
11.6.1 嵌入式系统的实时概念 364
11.6.2 嵌入式操作系统概述 365
11.6.3 一般结构 366
11.6.4 实时嵌入式操作系统 367
11.6.5 内核对象 370
11.6.6 内核服务 374
11.6.7 主流嵌入式操作系统介绍 380
11.7 实时多任务调度与多任务设计 381
11.7.1 并发识别与多任务设计 381
11.7.2 多任务调度算法 384
11.7.3 任务的同步与通信 388
11.7.4 资源分类与资源请求模型 390
11.7.5 死锁 390
11.7.6 优先级反转问题 392
11.8 中断处理与异常处理 396
11.8.1 异常和中断的概念 396
11.8.2 中断处理 397
11.8.3 中断服务例程的设计问题 399
11.9 嵌入式系统开发设计 400
11.9.1 嵌入式系统设计概述 400
11.9.2 开发模型与设计流程 402
11.9.3 嵌入式系统设计的核心技术 404
11.9.4 嵌入式开发设计环境 406
11.9.5 嵌入式软件设计模型 407
11.9.6 需求分析 410
11.9.7 系统设计 412
11.9.8 系统集成与测试 416
11.9.9 嵌入式系统的软件移植 417
11.9.10 可移植性软件的设计 419
第12章 开发管理 423
12.1 项目的范围、时间与成本 423
12.1.1 项目范围管理 423
12.1.2 项目成本管理 424
12.1.3 项目时间管理 425
12.2 配置管理与文档管理 425
12.2.1 软件配置管理的概念 425
12.2.2 软件配置管理的解决方案 426
12.2.3 软件文档管理 429
12.3 软件需求管理 432
12.3.1 需求变更 432
12.3.2 需求跟踪 433
12.4 软件开发的质量与风险 433
12.4.1 软件质量管理 434
12.4.2 项目风险管理 436
12.5 人力资源管理 440
12.6 软件的运行与评价 444
12.7 软件过程改进 444
第13章 软件开发环境与工具 447
13.1 集成开发环境 447
13.1.1 开发环境的组成 447
13.1.2 开发环境的分类 448
13.1.3 分布式开发环境 449
13.2 建模工具 450
13.3 设计工具 454
13.4 编程工具 457
13.5 测试上具 458
13.6 项目管理上具 463
第14章 基于中间件的开发 467
14.1 中间件技术 467
14.1.1 中间件的概念 467
14.1.2 中间件的分类 469
14.1.3 中间件产品介绍 470
14.2 应用服务器技术 470
14.2.1 应用服务器的概念 471
14.2.2 主要的应用服务器 473
14.3 J2EE 474
14.3.1 表示层 475
14.3.2 应用服务层 475
14.4 .NET 478
14.4.1 .NET平台 478
14.4.2 .NET框架 480
14.5 企业应用集成 484
14.6 轻量级架构和重量级架构 487
14.6.1 Struts框架 487
14.6.2 Spring框架 488
14.6.3 Hibernate框架 489
14.6.4 基于Struts、Spring和Hibernate的轻量级架构 490
14.6.5 轻量级架构和重量级架构的探讨 491
第15章 安全性和保密性设计 492
15.1 加密和解密 492
15.1.1 对称密钥加密算法 493
15.1.2 不对称密钥加密算法 494
15.2 数字签名与数字水印 495
15.2.1 数字签名 496
15.2.2 数字水印 498
15.3 数字证书与密钥管理 499
15.3.1 密钥分配中心 499
15.3.2 数字证书和公开密钥基础设施 501
15.4 安全协议 503
15.4.1 IPSec协议简述 504
15.4.2 SSL协议 507
15.4.3 PGP协议 509
15.5 计算机病毒与防治 512
15.5.1 计算机病毒概述 512
15.5.2 网络环境下的病毒发展新趋势 513
15.5.3 计算机病毒的检测与清除 514
15.5.4 计算机病毒的预防 516
15.6 身份认证与访问控制 517
15.6.1 身份认证技术 518
15.6.2 访问控制技术 522
15.7 网络安全体系 524
15.7.1 OSI安全体系结构 524
15.7.2 VPN在网络安全中的应用 526
15.8 系统的安全性设计 529
15.8.1 物理安全问题与设计 529
15.8.2 防火墙及其在系统安全中的应用 529
15.8.3 入侵检测系统 531
15.9 安全性规章 533
15.9.1 安全管理制度 533
15.9.2 计算机犯罪与相关法规 534
第16章 系统的可靠性分析与设计 537
16.1 可靠性概述 537
16.2 系统故障模型 538
16.2.1 故障的来源以及表现 538
16.2.2 几种常用的故障模型 538
16.3 系统配置方法 539
16.3.1 单机容错技术 539
16.3.2 双机热备份技术 540
16.3.3 服务器集群技术 541
16.4 系统可靠性模型 541
16.4.1 时间模型 541
16.4.2 故障植入模型 542
16.4.3 数据模型 543
16.5 系统的可靠性分析和可靠度计算 543
16.5.1 组合模型 544
16.5.2 马尔柯夫模型 546
16.6 提高系统可靠性的措施 548
16.6.1 硬件冗余 548
16.6.2 信息冗余 551
16.7 故障对策和备份与恢复 553
第17章 软件的知识产权保护 554
17.1 著作权法及实施条例 554
17.1.1 著作权法客体 554
17.1.2 著作权法主体 555
17.1.3 著作权 555
17.2 计算机软件保护条例 556
17.3 商标法及实施条例 558
17.4 专利法及实施细则 559
17.5 反不正当竞争法 561
第18章 标准化知识 562
18.1 标准化概论 562
18.2 标准分级与标准类型 565
18.2.1 标准分级 565
18.2.2 强制性标准与推荐性标准 567
18.3 编码标准 568
18.3.1 汉字编码标准 568
18.3.2 少数民族文字编码 569
18.4 数据交换标准 570
18.5 软件开发规范与文档标准 572
18.5.1 软件开发规范 572
18.5.2 软件文档标准 573
18.6 信息安全标准 575
第19章 多媒体技术及其应用 578
19.1 多媒体技术基本概念 578
19.2 数据编码技术 579
19.2.1 数据编码方法 579
19.2.2 数据编码标准 582
19.3 图形图像 586
19.4 音频 587
19.5 视频 588
第20章 信息系统基础知识 591
20.1 信息系统概述 591
20.1.1 信息系统的发展阶段 591
20.1.2 信息系统的组成 592
20.1.3 信息系统实现的复杂性 594
20.1.4 信息系统的生命周期 596
20.1.5 信息系统建设的原则 597
20.1.6 信息系统开发方法 599
20.2 信息系统工程 602
20.2.1 信息系统工程的概念 602
20.2.2 信息系统工程的内容 604
20.2.3 信息系统工程的总体规划 606
20.2.4 总体规划的方法论 612
20.3 政府信息化与电子政务 619
20.3.1 我国政府信息化的历程和策略 619
20.3.2 电子政务的内容和技术形式 622
20.3.3 电子政务建设的过程模式和技术模式 624
20.4 企业信息化与电子商务 628
20.4.1 企业信息化概述 628
20.4.2 企业资源规划 630
20.4.3 客户关系管理 636
20.4.4 产品数据管理 639
20.4.5 企业门户 642
20.4.6 企业应用集成 644
20.4.7 供应链管理 647
20.4.8 电子商务概述 649
20.5 信息资源管理 652
20.5.1 信息孤岛 653
20.5.2 信息资源分类 655
20.5.3 信息资源规划 657
20.5.4 信息资源网建设 659
20.6 知识管理与商业智能 663
20.6.1 知识管理 663
20.6.2 商业智能 665
20.7 业务流程重组 665
参考文献 669