系统架构设计师教程(第3版)

系统架构设计师教程(第3版)

作者: 
希亚教育软考学院
ISBN: 
9787121242427
出版日期: 
星期三, 十月 1, 2014

简介

  《系统架构设计师教程(第3版)》由希赛教育软考学院组织编写,用以作为计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别的考试辅导指定教材。内容涵盖了的系统架构设计师考试大纲的所有知识点,对系统架构设计师所必须掌握的基础理论知识做了详细的介绍,重在培养系统架构设计师所必须具备的专业技能和方法。
本书内容既是对系统架构设计师考试的总体纲领性的要求,也是系统架构设计师职业生涯的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。

目录

第1章 操作系统 1
1.1 操作系统的类型与结构 1
1.1.1 操作系统的定义 1
1.1.2 操作系统分类 2
1.2 操作系统基本原理 4
1.2.1 进程管理 4
1.2.2 存储管理 13
1.2.3 设备管理 20
1.2.4 文件管理 23
1.2.5 作业管理 27
第2章 数据库系统 30
2.1 数据库管理系统的类型 30
2.2 数据库模式与范式 31
2.2.1 数据库的结构与模式 31
2.2.2 数据模型 33
2.2.3 数据的规范化 35
2.2.4 反规范化 37
2.3 数据操纵和使用 38
2.4 数据库设计 39
2.4.1 数据库设计的特点 39
2.4.2 数据库设计的方法 40
2.4.3 数据库设计的基本步骤 42
2.4.4 需求分析 44
2.4.5 概念结构设计 48
2.4.6 逻辑结构设计 64
2.4.7 物理结构设计 72
2.4.8 数据库应用程序设计 75
2.5 事务管理 77
2.5.1 并发控制 77
2.5.2 故障与恢复 79
2.6 备份与恢复 80
2.7 分布式数据库系统 81
2.7.1 分布式数据库的概念 82
2.7.2 分布式数据库的架构 84
2.8 并行数据库系统 89
2.8.1 功能和结构 89
2.8.2 并行处理技术 91
2.9 数据仓库 94
2.9.1 数据仓库的概念 94
2.9.2 数据仓库的结构 95
2.9.3 数据仓库的实现方法 97
2.10 数据挖掘 99
2.10.1 数据挖掘的概念 99
2.10.2 数据挖掘的功能 100
2.10.3 数据挖掘常用技术 101
2.10.4 数据挖掘的流程 103
2.11 NOSQL 104
2.12 大数据 105
第3章 数据通信与计算机网络 107
3.1 数据通信基础知识 107
3.1.1 信道特性 107
3.1.2 数据传输技术 110
3.2 网络架构与协议 111
3.2.1 网络互联模型 111
3.2.2 常见的网络协议 113
3.2.3 IPv6 115
3.3 局域网与广域网 115
3.3.1 局域网基础知识 116
3.3.2 线局域网 117
3.3.3 广域网技术 119
3.3.4 网络接入技术 120
3.4 网络互连与常用设备 122
3.5 网络工程 124
3.5.1 网络规划 124
3.5.2 网络设计 126
3.5.3 网络实施 128
3.6 网络存储技术 129
3.7 综合布线 131
第4章 系统性能评价 133
4.1 性能指标 133
4.1.1 计算机 134
4.1.2 网络 136
4.1.3 操作系统 137
4.1.4 数据库管理系统 137
4.1.5 Web服务器 138
4.2 性能计算 138
4.3 性能设计 139
4.3.1 系统性能调整 140
4.3.2 阿姆达尔解决方案 142
4.3.3 负载均衡 143
4.4 性能评估 145
4.4.1 基准测试程序 145
4.4.2 Web服务器的性能评估 147
4.4.3 系统监视 147
第5章 开发方法 149
5.1 软件生命周期 149
5.2 软件开发模型 150
5.2.1 瀑布模型 150
5.2.2 演化模型 153
5.2.3 螺旋模型 153
5.2.4 增量模型 154
5.2.5 构件组装模型 155
5.3 统一过程 155
5.4 敏捷方法 158
5.4.1 极限编程 159
5.4.2 特征驱动开发 162
5.5 软件重用 164
5.5.1 软件重用 164
5.5.2 构件技术 165
5.6 基于架构的软件设计 165
5.6.1 ABSD方法与生命周期 166
5.6.2 基于架构的软件开发模型 168
5.7 形式化方法 173
第6章 系统计划 174
6.1 项目的提出与选择 174
6.1.1 项目的立项目标和动机 174
6.1.2 项目提出的角色和工作范围 177
6.1.3 项目的选择和确定 177
6.1.4 项目提出和选择的结果 180
6.2 可行性研究与效益分析 181
6.2.1 可行性研究的内容 182
6.2.2 成本效益分析 183
6.2.3 可行性分析报告 185
6.3 方案的制订和改进 185
6.4 新旧系统的分析和比较 188
6.4.1 遗留系统的评价方法 188
6.4.2 遗留系统的演化策略 191
6.5 资源估计 193
第7章 系统分析与设计方法 195
7.1 定义问题与归结模型 195
7.1.1 问题分析 195
7.1.2 问题定义 198
7.2 需求分析与软件设计 200
7.2.1 需求分析的任务与过程 200
7.2.2 如何进行系统设计 202
7.2.3 软件设计的任务与活动 203
7.3 结构化分析与设计 204
7.3.1 结构化分析 205
7.3.2 结构化设计 210
7.3.3 模块设计 213
7.4 面向对象的分析与设计 214
7.4.1 面向对象的基本概念 215
7.4.2 面向对象分析 216
7.4.3 统一建模语言 219
7.4.4 结构化方法和面向对象方法的比较 231
7.5 用户界面设计 232
7.5.1 用户界面设计的原则 233
7.5.2 用户界面设计过程 233
7.6 工作流设计 234
7.6.1 工作流设计概述 234
7.6.2 工作流管理系统 236
7.7 系统的文件设计 237
7.8 网络环境下的计算机应用系统的设计 239
7.9 简单分布式计算机应用系统的设计 241
7.10 系统运行环境的集成与设计 242
7.11 系统过渡计划 244
第8章 软件架构设计 246
8.1 软件架构概述 246
8.1.1 软件架构的定义 247
8.1.2 软件架构的重要性 248
8.2 架构需求与软件质量属性 249
8.2.1 软件质量属性 249
8.2.2 6个质量属性及实现 251
8.3 架构设计 257
8.4 软件架构文档化 259
8.5 软件架构评估 263
8.5.1 软件架构评估的方法 263
8.5.2 架构的权衡分析法 263
8.5.3 成本效益分析法 265
8.6 构件及其复用 265
8.6.1 商用构件标准规范 266
8.6.2 应用系统簇与构件系统 267
8.6.3 基于复用开发的组织结构 268
8.7 产品线及系统演化 269
8.7.1 复用与产品线 269
8.7.2 基于产品线的架构 270
8.7.3 产品线的开发模型 271
8.7.4 特定领域软件架构 271
8.7.5 架构及系统演化 272
8.8 软件架构建模 273
8.8.1 架构的模型 273
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 各视图类型间的映射关系 286
第9章 设计模式 287
9.1 设计模式概述 287
9.1.1 设计模式的概念 287
9.1.2 设计模式的组成 288
9.1.3 GoF设计模式 288
9.1.4 其他设计模式 290
9.1.5 设计模式与软件架构 291
9.1.6 设计模式分类 291
9.2 设计模式及实现 292
9.2.1 Abstract Factory模式 292
9.2.2 Singleton模式 295
9.2.3 Decorator模式 296
9.2.4 Facade/Session Facade模式 298
9.2.5 Mediator模式 300
9.2.6 Observer模式 301
9.2.7 Intercepting Filter模式 303
9.3 设计模式总结 305
第10章 测试评审方法 307
10.1 测试方法 307
10.1.1 软件测试阶段 307
10.1.2 白盒测试和黑盒测试 309
10.1.3 缺陷的分类和级别 311
10.1.4 调试 312
10.2 评审方法 313
10.3 验证与确认 314
10.4 测试自动化 316
10.5 面向对象的测试 316
第11章 嵌入式系统设计 319
11.1 嵌入式系统概论 319
11.1.1 嵌入式系统的基本概念 319
11.1.2 嵌入式系统的分类 320
11.2 嵌入式系统的组成 322
11.2.1 硬件架构 322
11.2.2 软件架构 326
11.3 嵌入式应用软件与开发平台 327
11.3.1 嵌入式窗口系统 327
11.3.2 嵌入式窗口系统实例分析 331
11.3.3 嵌入式系统的Java虚拟机 332
11.3.4 嵌入式系统软件开发平台 337
11.3.5 嵌入式开发调试 338
11.4 嵌入式网络系统 342
11.4.1 现场总线网 342
11.4.2 家庭信息网 344
11.4.3 线数据通信网 349
11.4.4 嵌入式Internet 357
11.5 嵌入式数据库管理系统 358
11.5.1 使用环境的特点 358
11.5.2 系统组成与关键技术 359
11.5.3 实例解析 362
11.6 实时系统与嵌入式操作系统 363
11.6.1 嵌入式系统的实时概念 363
11.6.2 嵌入式操作系统概述 365
11.6.3 一般结构 366
11.6.4 实时嵌入式操作系统 367
11.6.5 内核对象 370
11.6.6 内核服务 374
11.6.7 主流嵌入式操作系统介绍 381
11.7 实时多任务调度与多任务设计 381
11.7.1 并发识别与多任务设计 382
11.7.2 多任务调度算法 384
11.7.3 任务的同步与通信 389
11.7.4 资源分类与资源请求模型 391
11.7.5 死锁 391
11.7.6 优先级反转问题 393
11.8 中断处理与异常处理 397
11.8.1 异常和中断的概念 397
11.8.2 中断处理 398
11.8.3 中断服务例程的设计问题 401
11.9 嵌入式系统开发设计 401
11.9.1 嵌入式系统设计概述 402
11.9.2 开发模型与设计流程 404
11.9.3 嵌入式系统设计的核心技术 406
11.9.4 嵌入式开发设计环境 408
11.9.5 嵌入式软件设计模型 408
11.9.6 需求分析 412
11.9.7 系统设计 413
11.9.8 系统集成与测试 419
11.9.9 嵌入式系统的软件移植 419
11.9.10 可移植性软件的设计 422
第12章 开发管理 426
12.1 项目的范围、时间与成本 426
12.1.1 项目范围管理 427
12.1.2 项目成本管理 427
12.1.3 项目时间管理 428
12.2 配置管理与文档管理 429
12.2.1 软件配置管理的概念 429
12.2.2 软件配置管理的解决方案 430
12.2.3 软件文档管理 433
12.3 软件需求管理 437
12.3.1 需求变更 437
12.3.2 需求跟踪 438
12.4 软件开发的质量与风险 438
12.4.1 软件质量管理 438
12.4.2 项目风险管理 440
12.5 人力资源管理 445
12.6 软件的运行与评价 450
12.7 软件过程改进 450
第13章 信息系统基础知识 453
13.1 信息系统概述 453
13.1.1 信息系统的发展阶段 453
13.1.2 信息系统的组成 455
13.1.3 信息系统实现的复杂性 456
13.1.4 信息系统的生命周期 459
13.1.5 信息系统建设的原则 460
13.1.6 信息系统开发方法 462
13.2 信息系统工程 465
13.2.1 信息系统工程的概念 465
13.2.2 信息系统工程的内容 467
13.2.3 信息系统工程的总体规划 470
13.2.4 总体规划的方法论 476
13.3 政府信息化与电子政务 483
13.3.1 我国政府信息化的历程和策略 483
13.3.2 电子政务的内容和技术形式 487
13.3.3 电子政务建设的过程模式和技术模式 490
13.4 企业信息化与电子商务 493
13.4.1 企业信息化概述 493
13.4.2 企业资源规划 496
13.4.3 客户关系管理 502
13.4.4 产品数据管理 506
13.4.5 企业门户 509
13.4.6 企业应用集成 511
13.4.7 供应链管理 514
13.4.8 电子商务概述 516
13.5 信息资源管理 520
13.5.1 信息孤岛 520
13.5.2 信息资源分类 523
13.5.3 信息资源规划 524
13.5.4 信息资源网建设 528
13.6 知识管理与商业智能 531
13.6.1 知识管理 531
13.6.2 商业智能 533
13.7 业务流程重组 534
第14章 基于中间件的开发 537
14.1 中间件技术 537
14.1.1 中间件的概念 538
14.1.2 中间件的分类 539
14.1.3 中间件产品介绍 540
14.2 应用服务器技术 541
14.2.1 应用服务器的概念 542
14.2.2 主要的应用服务器 544
14.3 J2EE 545
14.3.1 表示层 546
14.3.2 应用服务层 547
14.4 .NET 549
14.4.1 .NET平台 550
14.4.2 .NET框架 551
14.5 企业应用集成 556
14.6 轻量级架构和重量级架构 559
14.6.1 Struts框架 559
14.6.2 Spring框架 560
14.6.3 Hibernate框架 561
14.6.4 基于Struts、Spring和Hibernate的轻量级架构 562
14.6.5 轻量级架构和重量级架构的探讨 563
第15章 安全性和保密性设计 565
15.1 加密和解密 565
15.1.1 对称密钥加密算法 566
15.1.2 不对称密钥加密算法 567
15.2 数字签名与数字水印 569
15.2.1 数字签名 569
15.2.2 数字信封 571
15.3 数字证书与密钥管理 572
15.3.1 密钥分配中心 572
15.3.2 数字证书和公开密钥基础设施 573
15.4 安全协议 576
15.4.1 IPSec协议简述 577
15.4.2 SSL协议 580
15.4.3 PGP协议 583
15.5 计算机病毒与防治 586
15.5.1 计算机病毒概述 586
15.5.2 网络环境下的病毒发展新趋势 588
15.5.3 计算机病毒的检测与清除 589
15.5.4 计算机病毒的预防 591
15.6 身份认证与访问控制 592
15.6.1 身份认证技术 592
15.6.2 访问控制技术 597
15.7 网络安全体系 600
15.7.1 OSI安全架构 600
15.7.2 VPN在网络安全中的应用 602
15.8 系统的安全性设计 605
15.8.1 物理安全问题与设计 605
15.8.2 防火墙及其在系统安全中的应用 605
15.8.3 入侵检测系统 607
15.9 安全性规章 609
15.9.1 安全管理制度 609
15.9.2 计算机犯罪与相关法规 611
第16章 系统的可靠性分析与设计 614
16.1 可靠性概述 614
16.2 系统故障模型 615
16.2.1 故障的来源以及表现 615
16.2.2 几种常用的故障模型 616
16.3 系统配置方法 616
16.3.1 单机容错技术 617
16.3.2 双机热备份技术 617
16.3.3 服务器集群技术 618
16.4 系统可靠性模型 619
16.4.1 时间模型 619
16.4.2 故障植入模型 619
16.4.3 数据模型 620
16.5 系统的可靠性分析和可靠度计算 621
16.5.1 组合模型 621
16.5.2 马尔柯夫模型 623
16.6 提高系统可靠性的措施 625
16.6.1 硬件冗余 625
16.6.2 信息冗余 628
16.7 备份与恢复 629
第17章 软件的知识产权保护 631
17.1 著作权法及实施条例 631
17.1.1 著作权法客体 631
17.1.2 著作权法的主体 632
17.1.3 著作权 633
17.2 计算机软件保护条例 634
17.3 商标法及实施条例 635
17.4 专利法及实施细则 636
17.5 反不正当竞争法 638
第18章 标准化知识 640
18.1 标准化概论 640
18.2 标准分级与标准类型 643
18.2.1 标准分级 643
18.2.2 强制性标准与推荐性标准 645
18.3 软件开发规范与文档标准 646
18.3.1 软件开发规范 646
18.3.2 软件文档标准 647
第19章 应用数学 649
19.1 运筹方法 649
19.1.1 网络计划技术 649
19.1.2 线性规划 653
19.1.3 决策论 656
19.1.4 对策论 659
19.1.5 排队论 661
19.1.6 存储论 664
19.2 数学建模 666
第20章 虚拟化、云计算与物联网 669
20.1 虚拟化 669
20.1.1 虚拟化技术的分类 669
20.1.2 虚拟化的模式 671
20.2 云计算 672
20.2.1 云计算的特点 673
20.2.2 云计算的类型 674
20.2.3 云计算的应用 674
20.3 物联网 675
20.3.1 物联网的层次结构 676
20.3.2 物联网的相关领域与技术 677
20.3.3 物联网的应用 680