《系统架构设计师教程》作为全国计算机技术与软件专业技术资格(水平)考试指定用书,系统地介绍了系统架构设计师的基本要求和应掌握的重点内容。全书共分21章,对计算机网络基础、信息系统基础、系统开发基础、软件架构设计等诸多内容,以及信息安全、系统安全等内容做了全面的阐述。特别是对合格架构师应具备的理论与实践的知识作了详细的讲述。
《系统架构设计师教程》为参加软件水平考试——系统架构设计师考生的必备考试用书。凡通过本考试的考生,便具备了全国认可的,本行业的高级工程师资格。
第1章 绪论 1
1.1 系统架构的概念及其发展历史 1
1.1.1 系统架构的概念 1
1.1.2 简要的发展历史 2
1.2 系统架构师的定义与职业素质 4
1.2.1 系统架构师的定义 4
1.2.2 系统架构师技术素质 4
1.2.3 系统架构师管理素质 5
1.2.4 系统架构师与其他团队角色的协调 5
1.3 系统架构师知识结构 7
1.4 从开发人员到架构师 8
第2章 计算机与网络基础知识 11
2.1 操作系统基础知识 11
2.1.1 操作系统的原理、类型和结构 11
2.1.2 处理机与进程管理 12
2.1.3 存储管理 17
2.1.4 设备管理 18
2.1.5 文件管理 19
2.1.6 作业管理 20
2.1.7 网络操作系统 21
2.1.8 常见操作系统简介 22
2.2 数据库系统基础知识 23
2.2.1 关系数据库基础 23
2.2.2 关系数据库设计 27
2.2.3 分布式数据库系统 29
2.2.4 商业智能 30
2.2.5 常见的数据库管理系统 32
2.3 计算机网络基础知识 33
2.3.1 网络概述 33
2.3.2 计算机网络 35
2.3.3 网络管理与网络安全 38
2.3.4 网络工程 39
2.3.5 存储及负载均衡技术 39
2.4 多媒体技术及其应用 41
2.4.1 多媒体技术基本概念 41
2.4.2 多媒体数据压缩编码技术 42
2.4.3 多媒体系统的组成 42
2.4.4 多媒体技术的研究内容 44
2.4.5 多媒体技术的应用领域 45
2.5 系统性能 47
2.5.1 性能指标 47
2.5.2 性能计算 48
2.5.3 性能设计 48
2.5.4 性能评估 49
第3章 信息系统基础知识 51
3.1 信息化概述 51
3.1.1 信息的定义 51
3.1.2 信息的特征 51
3.1.3 信息化的定义 52
3.1.4 信息化的内容 52
3.1.5 信息化的经济社会意义 53
3.1.6 信息化对组织的意义 53
3.1.7 信息化的需求 54
3.1.8 信息化战略 55
3.2 信息系统工程总体规划 56
3.2.1 信息系统工程总体规划的目标范围 56
3.2.2 信息系统工程总体规划的方法论 56
3.2.3 信息系统工程总体规划的软件架构组成 57
3.2.4 总体规划的实现过程 58
3.3 信息化的典型应用 59
3.3.1 政府信息化与电子政务 59
3.3.2 企业信息化与电子商务 61
3.3.3 企业资源规划的结构和功能 64
3.3.4 客户关系管理在企业的应用 68
3.3.5 企业门户 74
3.3.6 企业应用集成 81
3.3.7 供应链管理 83
3.3.8 信息化的有关法律和规定 86
第4章 系统开发基础知识 90
4.1 软件开发方法 90
4.1.1 软件开发生命周期 90
4.1.2 软件开发模型 91
4.1.3 敏捷方法 96
4.1.4 RUP 100
4.1.5 软件系统工具 104
4.2 需求管理 109
4.2.1 需求管理原则 109
4.2.2 需求规格说明的版本控制 110
4.2.3 需求属性 110
4.2.4 需求变更 111
4.2.5 需求跟踪 114
4.2.6 需求变更的代价和风险 115
4.3 开发管理 115
4.3.1 项目的范围、时间、成本 115
4.3.2 配置管理、文档管理 117
4.3.3 软件开发的质量与风险 118
4.4 设计方法 120
4.4.1 结构化分析与设计 120
4.4.2 面向对象的分析设计 120
4.5 软件的重用 121
4.6 逆向工程与重构工程 122
第5章 软件架构设计 125
5.1 软件架构概念 125
5.1.1 软件架构的定义 125
5.1.2 软件架构设计与生命周期 125
5.1.3 软件架构的重要性 130
5.2 基于架构的软件开发方法 131
5.2.1 体系结构的设计方法概述 131
5.2.2 概念与术语 131
5.2.3 基于体系结构的开发模型 132
5.2.4 体系结构需求 133
5.2.5 体系结构设计 134
5.2.6 体系结构文档化 135
5.2.7 体系结构复审 135
5.2.8 体系结构实现 135
5.2.9 体系结构的演化 136
5.3 软件架构风格 137
5.3.1 软件架构风格概述 137
5.3.2 经典软件体系结构风格 137
5.3.3 客户/服务器风格 140
5.3.4 三层C/S结构风格 141
5.3.5 浏览器/服务器风格 142
5.4 特定领域软件体系结构 143
5.4.1 DSSA的定义 143
5.4.2 DSSA的基本活动 144
5.4.3 参与DSSA的人员 145
5.4.4 DSSA的建立过程 146
5.5 系统架构的评估 147
5.5.1 系统架构评估概述 147
5.5.2 评估中重要概念 149
5.5.3 主要评估方法 151
第6章 UML建模与架构文档化 154
6.1 UML现状与发展 154
6.1.1 UML起源 154
6.1.2 UML体系结构演变 155
6.1.3 UML的应用与未来 157
6.2 UML基础 157
6.2.1 概述 157
6.2.2 用例和用例图 158
6.2.3 交互图 162
6.2.4 类图和对象图 163
6.2.5 状态图和活动图 165
6.2.6 构件图 166
6.2.7 部署图 168
6.3 基于UML的软件开发过程 169
6.3.1 开发过程概述 169
6.3.2 基于UML的需求分析 170
6.3.3 面向对象的设计方法 175
6.4 系统架构文档化 181
6.4.1 模型概述 181
6.4.2 逻辑结构 182
6.4.3 进程架构 184
6.4.4 开发架构 185
6.4.5 物理架构 187
6.4.6 场景 188
6.4.7 迭代过程 189
第7章 设计模式 191
7.1 设计模式概述 191
7.1.1 设计模式的历史 191
7.1.2 为什么要使用设计模式 192
7.1.3 设计模式的组成元素 193
7.1.4 设计模式的分类 194
7.2 设计模式实例 195
7.2.1 创建性模式 195
7.2.2 结构性模式 199
7.2.3 行为性模式 204
第8章 XML技术 212
8.1 XML概述 212
8.1.1 XML基本语法 213
8.1.2 标签语法 213
8.1.3 文档部分 214
8.1.4 元素 214
8.1.5 字符数据 217
8.1.6 属性 217
8.1.7 注释 218
8.1.8 CDATA部分 219
8.1.9 格式正规的文档 219
8.2 XML命名空间 220
8.2.1 命名空间 221
8.2.2 定义和声明命名空间 221
8.3 DTD 223
8.3.1 什么是DTD 224
8.3.2 为什么引入DTD 224
8.3.3 DTD的声明 224
8.3.4 元素的声明 227
8.3.5 实体的声明 228
8.3.6 属性的声明 231
8.4 XML Schema 232
8.4.1 逻辑XML Schema的文档结构 233
8.4.2 元素的定义 233
8.5 可扩展样式表语言 236
8.5.1 可扩展样式表语言概述 236
8.5.2 XSLT的常用句法和函数 238
8.6 其他相关规范 244
8.6.1 XPath 244
8.6.2 XLink和XPointer 245
第9章 面向构件的软件设计 247
9.1 构件的概念 247
9.1.1 术语与概念 247
9.1.2 标准化与规范化 253
9.2 构件的布线标准 254
9.2.1 布线标准从何而来 254
9.2.2 从过程到对象 255
9.2.3 深层次问题 256
9.2.4 XML 258
9.3 构件框架 259
9.3.1 体系结构 259
9.3.2 语境相关组合构件框架 263
9.3.3 构件开发 267
9.3.4 构件组装 271
第10章 构件平台与典型架构 275
10.1 OMG方式 275
10.1.1 对象请求代理 275
10.1.2 公共对象服务规范 275
10.1.3 CORBA 构件模型 280
10.1.4 CORBA设施 281
10.2 SUN公司的方式 282
10.2.1 Java构件技术的概述 282
10.2.2 JavaBean 285
10.2.3 基本的Java服务 285
10.2.4 各种构件——Applet,Servlet,Bean和Enterprise Bean 287
10.2.5 高级Java服务 288
10.2.6 Java和Web服务——SunONE 291
10.3 Microsoft的方式 292
10.3.1 第一个基础关联模型——COM 292
10.3.2 COM对象重用 294
10.3.3 接口和多态 295
10.3.4 COM对象的创建和COM库 295
10.3.5 从COM到分布式COM(DCOM) 296
10.3.6 复合文档和OLE对象 298
10.3.7 .NET框架 298
10.4 战略比较 302
10.4.1 共性 302
10.4.2 不同点 303
第11章 信息安全技术 307
11.1 信息安全关键技术 307
11.1.1 加密和解密技术 307
11.1.2 散列函数与数字签名 310
11.1.3 密钥分配中心与公钥基础设施 313
11.1.4 访问控制 315
11.1.5 安全协议 317
11.1.6 数据备份 321
11.1.7 计算机病毒与免疫 324
11.2 信息安全管理和评估 327
11.2.1 安全管理技术 327
11.2.2 安全性规章 328
11.3 信息安全保障体系 329
第12章 系统安全架构设计 331
12.1 信息系统安全架构的简单描述 331
12.1.1 信息安全的现状及其威胁 331
12.1.2 国内外影响较大的标准和组织 333
12.2 系统安全体系架构规划框架及其方法 334
12.3 网络安全体系架构设计 338
12.3.1 OSI的安全体系架构概述 338
12.3.2 鉴别框架 340
12.3.3 访问控制框架 342
12.3.4 机密性框架 343
12.3.5 完整性框架 344
12.3.6 抗抵赖框架 345
12.4 数据库系统的安全设计 347
12.4.1 数据库安全设计的评估标准 347
12.4.2 数据库的完整性设计 347
12.5 案例:电子商务系统的安全性设计 350
第13章 系统的可靠性设计 353
13.1 软件可靠性 353
13.1.1 软件可靠性概述 353
13.1.2 软件可靠性的定义 354
13.1.3 软件可靠性的定量描述 355
13.1.4 可靠性目标 358
13.1.5 可靠性测试的意义 359
13.1.6 广义的可靠性测试与狭义的可靠性测试 360
13.2 软件可靠性建模 361
13.2.1 影响软件可靠性的因素 361
13.2.2 软件可靠性建模方法 362
13.2.3 软件的可靠性模型分类 364
13.2.4 软件可靠性模型举例 366
13.2.5 软件可靠性测试概述 368
13.2.6 定义软件运行剖面 369
13.2.7 可靠性测试用例设计 370
13.2.8 可靠性测试的实施 371
13.3 软件可靠性评价 372
13.3.1 软件可靠性评价概述 372
13.3.2 怎样选择可靠性模型 373
13.3.3 可靠性数据的收集 374
13.3.4 软件可靠性的评估和预测 375
13.4 软件的可靠性设计与管理 376
13.4.1 软件可靠性设计 376
13.4.2 软件可靠性管理 379
第14章 基于ODP的架构师实践 382
14.1 基于ODP的架构开发过程 382
14.2 系统构想 383
14.2.1 系统构想的定义 383
14.2.2 架构师的作用 384
14.2.3 系统构想面临的挑战 384
14.3 需求分析 384
14.3.1 架构师的工作 384
14.3.2 需求分析的任务 385
14.3.3 需求文档与架构 385
14.4 系统架构设计 386
14.4.1 企业业务架构 387
14.4.2 逻辑信息架构 388
14.4.3 计算接口架构 390
14.4.4 分布式工程架构 390
14.4.5 技术选择架构 390
14.5 实现模型 391
14.6 架构原型 392
14.7 项目规划 393
14.8 并行开发 393
14.8.1 软件并行开发的内容及意义 393
14.8.2 并行开发的过程 394
14.9 系统转换 395
14.9.1 系统转换的准备 395
14.9.2 系统转换的方式 396
14.9.3 系统转换的注意事项 396
14.10 操作与维护 396
14.10.1 操作与维护的内容 396
14.10.2 系统维护与架构 397
14.11 系统移植 397
14.11.1 系统移植的形式 397
14.11.2 系统移植的工作阶段划分 398
14.11.3 系统移植工具 398
第15章 架构师的管理实践 399
15.1 VRAPS组织管理原则 399
15.2 概念框架 400
15.3 形成并统一构想 401
15.3.1 形成构想 401
15.3.2 将构想原则付诸实践 402
15.4 节奏:保证节拍、过程和进展 404
15.4.1 节奏定义 405
15.4.2 将节奏原则付诸实践 405
15.5 预测、验证和调整 407
15.5.1 预测、验证和调整的定义 408
15.5.2 将预见原则付诸实践:准则、反模式与模式 408
15.6 协作:建立合作型组织 411
15.6.1 协作定义 411
15.6.2 将协作原则付诸实践:准则、反模式与模式 411
15.7 简化:澄清与最小化 414
15.7.1 简化定义 414
15.7.2 将简化原则付诸实践:准则、反模式与模式 414
交易流程
发货方式
1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;
2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。
退款说明
1、描述:源码描述(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、版本不符等);
2、演示:有演示站时,与实际源码小于95%一致的(但描述中有"不保证完全一样、有变化的可能性"类似显著声明的除外);
3、发货:手动发货源码,在卖家未发货前,已申请退款的;
4、服务:卖家不提供安装服务或需额外收费的(但描述中有显著声明的除外);
5、其他:如质量方面的硬性常规问题等。
注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法对描述进行修改!
注意事项
1、在未拍下前,双方在QQ上所商定的内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);
2、在商品同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外);
3、在没有"无任何正当退款依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
4、虽然交易产生纠纷的几率很小,但请尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于网站工作人员介入快速处理。