本文转自:http://book.51cto.com/art/200907/137430.htm
目录
第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
第16章 层次式架构设计 418
16.1 体系结构设计 418
16.2 表现层框架设计 419
16.2.1 使用MVC模式设计表现层 419
16.2.2 使用XML设计表现层,统一Web Form与
Windows Form的外观 420
16.2.3 表现层中UIP设计思想 421
16.2.4 表现层动态生成设计思想 422
16.3 中间层架构设计 423
16.3.1 业务逻辑层组件设计 423
16.3.2 业务逻辑层工作流设计 424
16.3.3 业务逻辑层实体设计 426
16.3.4 业务逻辑层框架 428
16.4 数据访问层设计(持久层架构设计) 429
16.4.1 5种数据访问模式 429
16.4.2 工厂模式在数据访问层应用 432
16.4.3 ORM、Hibernate与CMP2.0设计思想 435
16.4.4 灵活运用Xml Schema 436
16.4.5 事务处理设计 437
16.4.6 连接对象管理设计 440
16.5 数据架构规划与设计 440
16.5.1 数据库设计与类的设计融合 440
16.5.2 数据库设计与XML设计融合 441
16.6 实战案例——电子商务网站(网上商店PetShop) 442
第17章 企业集成架构设计 447
17.1 企业集成平台 447
17.1.1 企业集成平台的概念 447
17.1.2 集成平台的标准化 449
17.1.3 实现技术的发展趋势 450
17.1.4 集成平台的发展趋势 454
17.2 企业集成平台的实现 456
17.2.1 数据集成 456
17.2.2 应用集成 458
17.2.3 企业集成 460
17.3 企业集成的关键应用技术 462
17.3.1 数据交换格式 462
17.3.2 分布式应用集成基础框架 465
17.4 面向整体解决方案的企业模型 470
17.4.1 企业模型在整体解决方案中的作用 470
17.4.2 整体解决方案中的企业模型重用 471
17.4.3 整体解决方案中企业模型演化 473
17.4.4 模型驱动的企业集成系统演化 475
第18章 面向方面的编程 477
18.1 方面编程的概念 477
18.1.1 AOP产生的背景 477
18.1.2 面向方面的原因 478
18.1.3 AOP技术 481
18.1.4 AOP特性 482
18.1.5 AOP 程序设计 483
18.1.6 AOP的优势 484
18.1.7 当前的AOP技术 486
18.2 AspectJ 486
18.2.1 AspectJ概述 486
18.2.2 AspectJ语言概念和构造 487
18.2.3 AspectJ实践 489
18.3 Spring AOP 492
18.3.1 Spring AOP概述 492
18.3.2 Spring语言概念和构造 494
18.3.3 Sring AOP应用 496
第19章 嵌入式系统设计 499
19.1 嵌入式系统 499
19.1.1 嵌入式系统概念 499
19.1.2 嵌入式系统的基本架构 500
19.1.3 嵌入式操作系统 502
19.1.4 典型嵌入式操作系统 504
19.1.5 嵌入式数据库管理 506
19.1.6 嵌入式网络及其他 507
19.2 嵌入式系统的设计 510
19.2.1 嵌入式系统分析与设计 510
19.2.2 嵌入式软件设计模型 515
19.2.3 嵌入式系统软件开发环境 518
第20章 面向服务的架构 520
20.1 SOA的相关概念 520
20.1.1 SOA的定义 520
20.1.2 业务流程与BPEL 520
20.2 SOA的发展历史 521
20.2.1 SOA的发展历史 521
20.2.2 国内SOA的发展现状与国外对比 522
20.3 SOA的参考架构 523
20.4 SOA主要技术和标准 529
20.4.1 UDDI协议 530
20.4.2 WSDL规范 530
20.4.3 SOAP协议 532
20.5 SOA的特性 532
20.5.1 文档标准化 532
20.5.2 通信协议标准 533
20.5.3 应用程序统一登记与集成 533
20.5.4 服务品质 533
20.6 SOA的作用 534
20.7 SOA设计原则 535
20.8 SOA的设计模式 536
20.8.1 服务注册表模式 536
20.8.2 企业服务总线模式 537
20.9 构建SOA架构时应该注意的问题 540
20.9.1 原有系统架构中的集成需求 540
20.9.2 服务粒度的控制以及无状态服务的设计 541
20.10 SOA实施的过程 542
20.10.1 选择SOA解决方案 542
20.10.2 业务流程分析 543
第21章 案例研究 547
21.1 价值驱动的体系结构:连接产品策略与体系结构 547
21.1.1 价值模型概述 547
21.1.2 体系结构挑战 548
21.1.3 结论 550
21.2 使用RUP和UML开发联邦企业体系结构框架 550
21.2.1 联邦企业体系结构框架概述 551
21.2.2 FEAF 矩阵概述 552
21.2.3 使用RUP支持FEAF 554
21.2.4 结论 557
21.3 Web服务在HL7上的应用--Web服务基础实现框架 558
21.3.1 HL7模型概念 558
21.3.2 体系结构 560
21.3.3 开发HL7 Web服务适配器 562
21.3.4 案例研究 562
21.3.5 结论 563
21.4 以服务为中心的企业整合——案例分析 564
21.4.1 案例背景 564
21.4.2 业务环境分析 564
21.4.3 IT环境分析 567
21.4.4 高层架构设计 567
21.4.5 结论 568
附 录 569