第1章 软件过程改进 1
1.1 CMM综述 1
1.1.1 CMM的基本概念 2
1.1.2 CMM的基本框架 3
1.1.3 CMM的主要内容 5
1.1.4 CMM的内部结构 6
1.1.5 SPA和SCA的比较分析 7
1.2 组织如何实施CMM 8
1.3 CMM存在的问题 11
1.4 ISO 9001与CMM的比较 12
1.5 CMMI综述 14
1.6 CMM与CMMI的比较 16
1.7 个体软件过程 17
1.8 团队软件过程 20
1.8.1 TSP概述 20
1.8.2 TSP设计和实施原则 21
1.8.3 TSP的度量 22
1.8.4 TSP的流程 22
1.9 CMM/TSP/PSP三者的结合 23
本章参考文献 24
第2章 J2EE与.NET平台 25
2.1 J2EE平台概述 25
2.1.1 分布式的多层应用程序 25
2.1.2 J2EE构件 27
2.1.3 J2EE容器 30
2.1.4 J2EE的部署 31
2.1.5 Java EE 31
2.2 .NET平台概述 33
2.2.1 .NET Framework 34
2.2.2 通用语言运行时 37
2.3 J2EE和.NET平台的比较 39
2.3.1 JVM与CLR 39
2.3.2 对多层分布式应用的支持 40
2.3.3 安全性 42
2.3.4 其他特性的比较 43
本章参考文献 44
第3章 中间件技术 45
3.1 中间件概述 45
3.1.1 中间件的分类 46
3.1.2 中间件的优点 48
3.2 中间件的应用 48
3.2.1 中间件技术在集成中的应用 49
3.2.2 J2EE中间件实现 50
3.3 中间件与电子商务 51
3.3.1 电子商务中间件架构 51
3.3.2 电子商务应用服务器 52
3.3.3 通信平台 53
3.3.4 安全平台 53
3.4 构件技术与中间件 54
3.5 中间件的发展趋势 57
本章参考文献 58
第4章 Web Service及其应用 59
4.1 Web Setvice概述 59
4.1.1 Web Setvice模型 60
4.1.2 Web Service协议堆栈 62
4.2 WSDL 66
4.2.1 WSDL概述 66
4.2.2 使用WSDL文档 67
4.2.3 WSDL文档结构 68
4.3 UDDI 76
4.3.1 UDDI数据模型 77
4.3.2 注册Web服务 81
4.3.3 调用Web服务 82
4.4 SOAP 82
4.4.1 消息封装和编码规则 83
4.4.2 SOAP应用 84
4.5 构造一个简单的Web Service 88
4.5.1 编写服务器端 88
4.5.2 编写客户端 89
本章参考文献 90
第5章 异构数据库的集成 91
5.1 异构数据库体系结构 91
5.1.1 异构性 91
5.1.2 数据库转换 92
5.1.3 数据的透明访问 93
5.2 异构数据库互连 94
5.2.1 数据库之间的差异 94
5.2.2 SAG与DRDA 95
5.2.3 ODBC与JDBC 96
5.2.4 利用网关互连 99
5.2.5 数据库互连方法发展展望 101
本章参考文献 102
第6章 商业智能与数据仓库 103
6.1 商业智能概述 103
6.1.1 商业智能的来龙去脉 103
6.1.2 什么是商业智能 105
6.1.3 商业智能的需求 107
6.1.4 商业智能的体系结构 108
6.2 数据仓库技术 114
6.2.1 操作型数据和分析型数据 115
6.2.2 与传统数据库的区别 116
6.2.3 数据仓库的特点 116
6.2.4 数据仓库的模型设计 118
6.2.5 数据集市 121
6.2.6 其他相关概念 123
6.2.7 元数据 123
6.3 数据仓库设计与开发 125
6.3.1 数据仓库的设计过程 125
6.3.2 创建数据仓库的方式 126
本章参考文献 129
第7章 数据挖掘 131
7.1 数据挖掘概述 131
7.1.1 数据挖掘的定义 131
7.1.2 数据挖掘的功能 133
7.2 数据挖掘常用技术 133
7.3 数据挖掘的结构与流程 137
7.3.1 数据挖掘系统的结构 137
7.3.2 数据挖掘的流程 138
7.4 数据挖掘的热点应用 139
本章参考文献 141
第8章 操作数据存储 142
8.1 ODS概述 142
8.1.1 ODS的特点 142
8.1.2 ODS的作用 143
8.1.3 ODS的分类 144
8.1.4 ODS和DW的联系与区别 144
8.1.5 从DB向ODS转化的实现机制 147
8.2 ODS的应用 148
8.3 ODS系统的设计 149
8.3.1 ODS数据转换层 149
8.3.2 ODS平台特性 149
8.3.3 ODS系统中间件 150
8.3.4 ODS系统数据建模 151
8.3.5 ODS系统设计步骤 153
本章参考文献 154
第9章 企业应用集成 155
9.1 EAI概述 155
9.1.1 谁需要EAI? 156
9.1.2 EAI的内容 156
9.1.3 EAI的技术基础 157
9.2 EAI集成模型 158
9.2.1 表示集成 158
9.2.2 数据集成 159
9.2.3 功能集成 160
9.3 EAI与标准化 161
9.4 EAI的实施 163
本章参考文献 165
第10章 可扩展标记语言 166
10.1 XML概述 166
10.1.1 XML的特点 167
10.1.2 XML的作用 168
10.1.3 XML的应用 170
10.2 解析XML 171
10.2.1 XML与HTML的区别 171
10.2.2 XML文档 172
10.2.3 CSS与XSL 175
10.3 XML编程接口 178
10.3.1 API接口 178
10.3.2 XML开发工具 180
10.3.3 XML建模 181
本章参考文献 182
第11章 软件架构 183
11.1 软件架构概述 183
11.2 软件架构建模 185
11.2.1 逻辑视图 186
11.2.2 开发视图 187
11.2.3 进程视图 188
11.2.4 物理视图 190
11.2.5 场景 190
11.3 软件架构风格 192
11.3.1 分层系统 193
11.3.2 C2风格 194
11.3.3 客户/服务器风格 195
11.3.4 三层C/S结构风格 197
11.3.5 浏览器/服务器风格 200
11.3.6 公共对象请求代理架构 201
11.3.7 异构结构风格 204
11.4 特定领域软件架构 204
11.4.1 DSSA的活动 205
11.4.2 DSSA的建立过程 206
11.5 面向服务的架构 207
11.5.1 SOA的概念 207
11.5.2 SOA的特征 208
11.5.3 SOA的优点和缺点 211
11.5.4 SOA的生命周期 213
11.5.5 SOA与其他技术的关系 215
11.6 富互联网应用架构 216
11.6.1 RIA的概念 216
11.6.2 RIA模型 219
11.6.3 RIA客户端开发技术 220
11.7 基于架构的软件开发模型 223
11.7.1 架构需求 223
11.7.2 架构设计 224
11.7.3 架构文档化 225
11.7.4 架构复审 226
11.7.5 架构实现 226
11.7.6 架构演化 227
11.8 软件架构评估 228
本章参考文献 230
第12章 设计模式 232
12.1 设计模式概述 232
12.2 设计模式的组成 234
12.2.1 设计模式的基本成分 234
12.2.2 设计模式的描述 236
12.3 设计模式的分类 237
12.4 设计模式的实现 241
12.5 MVC架构的设计与实现 244
12.5.1 MVC架构 244
12.5.2 MVC的设计与实现 245
本章参考文献 247
第13章 统一建模语言 248
13.1 UML概述 248
13.1.1 UML的发展历史 248
13.1.2 UML的应用领域 249
13.2 UML的结构 250
13.2.1 结构概述 250
13.2.2 事物 251
13.2.3 关系 252
13.2.4 图形 254
13.3 用例图 255
13.4 类图和对象图 257
13.5 交互图 259
13.5.1 顺序图 259
13.5.2 通信图 260
13.5.3 定时图 260
13.6 状态图 262
13.7 活动图 262
13.7.1 基本活动图 263
13.7.2 带泳道的活动图 263
13.7.3 交互概览图 264
13.8 构件图 265
13.9 部署图 266
本章参考文献 267
第14章 统一过程 268
14.1 统一过程的特点 268
14.2 统一过程生命周期 269
14.2.1 初始阶段 270
14.2.2 细化阶段 272
14.2.3 构建阶段 273
14.2.4 交付阶段 273
14.2.5 技术评审 274
14.3 统一过程项目管理 275
本章参考文献 278
第15章 企业信息系统 279
15.1 企业资源计划 279
15.1.1 ERP的作用 279
15.1.2 ERP的发展过程 280
15.2 供应链管理 281
15.2.1 供应链的概念 282
15.2.2 供应链管理的概念 283
15.2.3 供应链管理系统 285
15.3 财务管理 289
15.3.1 财务管理软件的发展 289
15.3.2 财务管理软件的功能 291
15.4 客户关系管理 295
15.4.1 客户关系模型 295
15.4.2 CRM的功能 297
15.5 产品生命周期管理 298
15.6 企业信息化的其他内容 300
15.7 信息化项目实施的风险和控制 304
15.7.1 来自人的风险和规避 304
15.7.2 来自流程的风险和规避 306
15.7.3 来自项目管理的风险和规避 307
15.7.4 来自数据的风险和规避 308
本章参考文献 308
第16章 工作流技术 309
16.1 工作流概述 309
16.1.1 工作流的特征 309
16.1.2 工作流的应用现状 310
16.1.3 工作流与传统管理软件 311
16.1.4 工作流与BPR 312
16.2 工作流系统的实现 313
16.2.1 过程建模 314
16.2.2 工作流运行控制 315
16.2.3 工作流管理中的人机交互 316
16.3 工作流与ERP 318
16.3.1 实现ERP和OA集成 318
16.3.2 集成方案介绍 318
本章参考文献 320
第17章 软件产品线 321
17.1 软件产品线概述 321
17.2 软件产品线的过程模型 322
17.2.1 双生命周期模型 322
17.2.2 SEI模型 323
17.2.3 三生命周期模型 323
17.3 软件产品线的组织结构 324
17.3.1 SEI组织结构 325
17.3.2 组织模型 326
17.4 软件产品线的建立方式 326
17.5 框架和应用框架技术 328
17.5.1 框架的概念 328
17.5.2 框架的建立方式 329
17.6 软件产品线基本活动 330
17.6.1 过程模型 330
17.6.2 产品线分析 331
17.6.3 产品开发 333
17.7 软件产品线架构的设计 334
17.7.1 产品线架构概述 334
17.7.2 产品线架构的标准化和定制 336
17.8 软件产品线架构的演化 337
17.8.1 背景介绍 338
17.8.2 各种产品版本 339
本章参考文献 344
第18章 敏捷方法 345
18.1 敏捷宣言 345
18.2 敏捷原则 346
18.3 敏捷方法论 347
18.3.1 水晶方法 348
18.3.2 动态系统开发方法 349
18.3.3 特征驱动开发 350
18.3.4 自适应软件开发 353
18.3.5 Scrum方法 354
18.4 极限编程 355
18.4.1 四大价值观 356
18.4.2 十二个最佳实践 357
本章参考文献 363
第19章 P2P技术 364
19.1 P2P概述 364
19.1.1 产生的背景 364
19.1.2 研究内容和目标 365
19.1.3 对互联网的影响 366
19.1.4 需要解决的关键问题 367
19.2 网络拓扑结构 368
19.2.1 集中式结构模式 369
19.2.2 分布式非结构化模式 370
19.2.3 分布式结构化模式 370
19.2.4 混合结构模式 371
19.3 P2P的关键技术 372
19.3.1 P2P的技术特点 373
19.3.2 P2P的流量特性 374
19.4 P2P的应用 374
19.4.1 主要应用 375
19.4.2 流行的P2P软件 378
19.5 存在的问题与解决办法 380
19.6 P2P与网络安全 381
本章参考文献 383
第20章 网格计算与普适计算 384
20.1 网格计算概述 384
20.1.1 网格计算的定义 384
20.1.2 网格系统的特点 385
20.1.3 网格计算的应用领域 386
20.2 网络体系结构 386
20.3 网格计算的环境 388
20.4 普适计算概述 389
20.4.1 普适计算的发展 389
20.4.2 普适计算的特性 390
20.4.3 普适计算的应用领域 390
20.5 普适计算系统的组成 391
20.6 普适计算的关键问题 392
本章参考文献 392
第21章 云计算与SaaS 394
21.1 云计算概述 394
21.1.1 云计算的概念 394
21.1.2 云计算的应用 395
21.1.3 云计算机的特点 396
21.1.4 云计算与网格计算 397
21.2 云计算的架构 397
21.3 SaaS概述 399
21.3.1 SaaS的定义 399
21.3.2 SaaS的特点 399
21.3.3 SaaS与ASP 400
21.4 SaaS应用的问题 401
21.4.1 SaaS的信任危机 401
21.4.2 SaaS的安全问题 402
21.4.3 SaaS带来的观念转变 403
21.5 SaaS系统设计 403
21.5.1 多租户系统设计 404
21.5.2 可配置性 404
21.5.3 离线应用 405
21.5.4 成熟度模型 406
本章参考文献 407
第22章 快速开发工具 409
22.1 快速开发工具概述 409
22.2 常见的快速开发工具 410
22.2.1 Microsoft工具 410
22.2.2 Borland工具 411
22.2.3 SUN工具 413
22.2.4 IBM工具 414
22.2.5 Sybase工具 417
22.2.6 Oracle工具 419
本章参考文献 420
第23章 多核技术 421
23.1 多核与多线程 421
23.2 多核架构 422
23.3 多核编程 424
本章参考文献 426
第24章 片上系统 427
24.1 SoC的组成与优点 427
24.2 SoC与SiP 428
24.3 SoC设计 429
24.3.1 设计概述 430
24.3.2 软硬件协同设计技术 430
24.3.3 设计重用技术 433
24.3.4 与底层相结合设计技术 434
24.3.5 设计方法与流程 435
24.4 SoC验证 437
本章参考文献 439
第25章 面向方面的编程 440
25.1 AOP概述 440
25.1.1 与OOP的比较 441
25.1.2 软件开发过程 442
25.1.3 优点和应用领域 442
25.2 AOP的相关技术 443
25.2.1 关注点分离 443
25.2.2 反射技术 445
25.2.3 编织技术 446
25.2.4 横切技术 447
25.3 支持AOP的开发工具 449
25.3.1 AspectJ 449
25.3.2 AspectWerkz 449
25.3.3 JBoss AOP 450
25.3.4 Spring AOP 451
25.4 AOP的应用 451
本章参考文献 452