目 录
第Ⅰ部分 入门
第1章 Team Foundation Server 2010
介绍 3
1.1 什么是Team Foundation Server 3
1.2 Team Foundation Server 2010的
新特性 4
1.2.1 项目管理 4
1.2.2 版本控制 5
1.2.3 生成 5
1.2.4 管理 5
1.3 购买方式 6
1.3.1 试用 6
1.3.2 批量许可 6
1.3.3 MSDN订阅 7
1.3.4 Microsoft Partner Network 7
1.3.5 零售 7
1.3.6 托管Team Foundation Server
实例 8
1.4 本章小结 8
第2章 规划Team Foundation Server
部署 9
2.1 标识和解决软件工程中令人
头疼的问题 9
2.1.1 让发布或项目更加透明 10
2.1.2 不同团队和角色之间的协作 10
2.1.3 自动编译、测试、封装和
部署 10
2.1.4 管理测试计划 10
2.1.5 并行开发 11
2.2 如何采用Team Foundation
Server 11
2.2.1 采用时间表 11
2.2.2 分阶段的方法 11
2.2.3 托管Team Foundation
Server 12
2.2.4 标识受到影响的团队 13
2.2.5 达成共识 13
2.2.6 Team Foundation Server
管理员 14
2.2.7 试点项目 14
2.3 迁移的策略 15
2.3.1 版本控制 15
2.3.2 工作项跟踪 16
2.4 构建团队项目集合和团队
项目 16
2.4.1 考虑Team Foundation Server
的限制 18
2.4.2 服务器限制 19
2.5 为Team Foundation Server
环境所做的准备 20
2.5.1 了解架构和扩展选项 20
2.5.2 硬件要求 22
2.5.3 虚拟化 22
2.5.4 规划软件先决条件 23
2.5.5 服务账户 25
2.5.6 文件共享文件夹 26
2.5.7 SMTP服务器 26
2.5.8 防火墙相关事宜和使用的
端口 27
2.5.9 友好的DNS名称 27
2.5.10 早期的Visual Studio版本 28
2.6 本章小结 28
第3章 安装与配置 29
3.1 安装之前的准备 29
3.1.1 Team Foundation Server 2010 29
3.1.2 Team Foundation Server 2010
安装指南 30
3.1.3 SQL Server 2008 31
3.1.4 操作系统 31
3.1.5 SharePoint 31
3.1.6 客户端软件 31
3.1.7 服务包及其他更新程序 32
3.2 搭建Team Foundation Server 33
3.3 配置Team Foundation Server 36
3.4 创建第一个团队项目 39
3.5 配置友好的DNS名称 41
3.6 本章小结 42
第4章 连接Team Foundation
Server 43
4.1 Team Foundation Server
的架构 43
4.2 Team Foundation Server
的寻址 45
4.3 Team Foundation Server
的安全性与角色 46
4.3.1 用户 47
4.3.2 组 47
4.3.3 权限 48
4.4 Team Explorer 48
4.4.1 了解Visual Studio 2010中的
Team Explorer 48
4.4.2 从旧版Visual Studio连接Team
Foundation Server 2010 56
4.4.3 从Eclipse和跨平台连接Team
Foundation Server 57
4.5 连接Team Foundation Server
的其他方式 60
4.5.1 通过Web浏览器访问
Team Foundation Server 60
4.5.2 在Microsoft Excel中使用Team
Foundation Server 61
4.5.3 在Microsoft Project中使用
Team Foundation Server 62
4.5.4 Windows Explorer与Team
Foundation Server的集成 63
4.5.5 Expression Blend与Team
Foundation Server的集成 63
4.5.6 将Microsoft Test Manager连接
到Team Foundation Server 63
4.5.7 通过第三方集成访问Team
Foundation Server 64
4.6 本章小结 64
第Ⅱ部分 版本控制
第5章 版本控制概述 67
5.1 版本控制的概念 67
5.1.1 存储库 68
5.1.2 工作副本 68
5.1.3 工作文件夹映射 69
5.1.4 获取 69
5.1.5 添加 69
5.1.6 签出 69
5.1.7 变更集 70
5.1.8 签入 70
5.1.9 历史记录 70
5.1.10 分支与合并 71
5.2 常用的版本控制产品 71
5.2.1 Visual SourceSafe 71
5.2.2 Apache Subversion 72
5.2.3 Team Foundation Server 72
5.2.4 分布式版本控制系统 73
5.3 本章小结 74
第6章 使用Team Foundation版本
控制 75
6.1 Team Foundation Server版本
控制入门 76
6.2 Team Foundation Server版本
控制概念 78
6.2.1 工作区 78
6.2.2 工作文件夹映射 79
6.2.3 获取 82
6.2.4 签出 84
6.2.5 锁定 86
6.2.6 签入挂起的更改 87
6.2.7 撤消挂起的变更 90
6.2.8 变更集 91
6.2.9 搁置集 92
6.2.10 分支 93
6.3 使用Source Control Explorer 94
6.3.1 Pending Changes视图 94
6.3.2 查看历史 97
6.3.3 使用标签标记文件 97
6.3.4 错误恢复 99
6.4 Eclipse中的Team Foundation
Server版本控制 100
6.4.1 为Eclipse安装Team
Foundation Server插件 101
6.4.2 在Team Foundation Server
中共享Eclipse项目 102
6.4.3 从Team Foundation Server
导入项目 105
6.4.4 Eclipse客户端与Visual Studio
客户端之间的差异 107
6.5 通过命令行使用Team
Foundation Server版本控制 108
6.5.1 获取帮助 108
6.5.2 使用命令行 109
6.6 Team Foundation Version Control
Power Tools与第三方实用
工具 109
6.6.1 Microsoft Visual Studio Team
Foundation Server Power
Tools 109
6.6.2 Team Foundation Server
MSSCCI提供程序 110
6.6.3 Team Foundation Sidekicks 111
6.7 配置版本控制 111
6.7.1 安全和权限 111
6.7.2 团队项目的源代码管理
设置 114
6.7.3 文件类型 115
6.7.4 本地用户设置 115
6.8 将版本控制切换到Team
Foundation Server 118
6.8.1 Visual SourceSafe用户的Team
Foundation Server指南 118
6.8.2 Subversion用户的Team
Foundation Server指南 120
6.9 本章小结 122
第7章 确保代码质量 123
7.1 代码质量的概念 123
7.2 签入策略 124
7.2.1 监视签入策略的重写 126
7.2.2 Power Tools中的签入策略
安装包 127
7.2.3 创建自定义签入策略 128
7.2.4 部署签入策略 131
7.3 封闭签入 132
7.3.1 使用封闭签入的原因 133
7.3.2 何时不使用封闭签入 133
7.3.3 设置封闭签入生成 134
7.3.4 验证签入 134
7.3.5 协调本地工作区 135
7.4 管理代码评审 136
7.4.1 搁置集 136
7.4.2 代码评审者签入注释 137
7.4.3 第三方工具 137
7.5 本章小结 138
第8章 从旧版本控制系统中迁移 139
8.1 迁移与升级 139
8.1.1 升级 140
8.1.2 迁移 140
8.2 迁移历史记录或最新版本 140
8.3 从Visual SourceSafe迁移 141
8.3.1 准备使用VSS Converter
工具 142
8.3.2 分析 Visual SourceSafe
存储库 143
8.3.3 迁移 145
8.4 Team Foundation Server
Integration Platform 146
8.5 流行的第三方迁移工具 148
8.5.1 Subversion、CVS和
StarTeam 148
8.5.2 ClearCase 148
8.6 本章小结 148
第9章 分支与合并 151
9.1 揭开分支的神秘面纱 151
9.1.1 分支 151
9.1.2 合并 152
9.1.3 冲突 152
9.1.4 分支关系 153
9.1.5 baseless合并 153
9.1.6 正向/逆向集成 153
9.2 常用的分支策略 154
9.2.1 不要进行分支 154
9.2.2 按每个版本进行分支 156
9.2.3 按代码提升进行分支 156
9.2.4 按功能进行分支 157
9.3 实现分支策略 158
9.3.1 情境 158
9.3.2 计划 159
9.3.3 实施 159
9.3.4 处理变更集 163
9.3.5 通过分支跟踪变更 173
9.4 本章小结 175
第10章 常见的版本控制场景 177
10.1 为分支建立文件夹结构 177
10.1.1 应用程序的源代码 178
10.1.2 自动化测试的源代码 178
10.1.3 架构资源 178
10.1.4 数据库架构 178
10.1.5 安装程序资源 179
10.1.6 生成和部署资源 179
10.2 第三方的源代码和依赖关系 179
10.2.1 在分支内的文件夹 180
10.2.2 团队项目级别上的
文件夹 181
10.3 内部共享库 182
10.3.1 在版本控制中选择一个
位置 183
10.3.2 将共享库程序集存储为
依赖关系 184
10.3.3 将共享库分支到产品系列
分支中 185
10.4 使用Team Foundation Server
管理工件 186
10.4.1 SQL Reporting Services
加密密钥的备份 186
10.4.2 过程模板 187
10.4.3 自定义的生成程序集 188
10.4.4 主生成过程模板 189
10.4.5 自定义工具的源代码 189
10.5 本章小结 190
第Ⅲ部分 项目管理
第11章 工作项跟踪简介 193
11.1 Team Foundation Server 2010
中项目管理的增强功能 193
11.1.1 丰富的工作项关系 193
11.1.2 Agile工作簿 194
11.1.3 测试用例管理 194
11.1.4 增强的报表功能 195
11.1.5 SharePoint Server
仪表板 195
11.2 工作项 196
11.2.1 工作项类型 196
11.2.2 区域与迭代 198
11.3 过程模板 200
11.3.1 MSF for Agile Software
Development 200
11.3.2 MSF for CMMI Process
Improvement 201
11.3.3 Visual Studio Scrum 204
11.3.4 第三方过程模板 205
11.3.5 自定义过程模板 205
11.4 管理工作项 205
11.4.1 使用Visual Studio 206
11.4.2 使用Microsoft Excel 210
11.4.3 Agile工作簿 211
11.4.4 使用Microsoft Project 212
11.4.5 使用Team Web Access 212
11.4.6 使用第三方工具 213
11.5 项目服务器集成 214
11.6 本章小结 215
第12章 自定义过程模板 217
12.1 过程模板解析 217
12.1.1 插件文件 218
12.1.2 默认的安全组和权限 219
12.1.3 初始区域和迭代节点 220
12.1.4 工作项类型定义 220
12.1.5 初始工作项 228
12.1.6 工作项查询和文件夹 228
12.1.7 Microsoft Project列
映射 228
12.1.8 版本控制的权限和设置 229
12.1.9 SharePoint项目团队门户
的文档库设置 229
12.1.10 SQL Reporting Services
报表定义 230
12.2 使用过程模板编辑器 230
12.2.1 安装过程模板编辑器 230
12.2.2 使用过程模板 231
12.2.3 使用XML编辑器和
WITAdmin 232
12.3 部署过程模板的更新 233
12.3.1 在Team Foundation Server
中上传过程模板 233
12.3.2 编辑现有团队项目的
工作项 233
12.4 常见的工作项类型自定义 234
12.4.1 添加新的状态 235
12.4.2 显示自定义链接类型 235
12.4.3 使用显示名称变更(新的
syncnamechanges属性) 236
12.4.4 使用富文本说明 237
12.5 引入自定义的工作项控件 237
12.5.1 工作项客户端 238
12.5.2 工作项控件接口 238
12.5.3 部署自定义控件 242
12.5.4 工作项自定义控件部署
清单 242
12.5.5 在工作项类型定义中使用
自定义控件 242
12.6 本章小结 243
第13章 报表和SharePoint仪表板 245
13.1 Team Foundation Server 2010
的新功能 245
13.1.1 跨集合的报表支持 246
13.1.2 关系仓库的变化 246
13.1.3 对Analysis Services多维
数据集的变更 246
13.1.4 可选且更丰富的SharePoint
集成功能 247
13.2 Team Foundation Server
数据仓库 248
13.2.1 操作存储区 248
13.2.2 关系仓库数据库和仓库
适配器 248
13.2.3 查询关系仓库数据库 249
13.2.4 Analysis Services多维
数据集 251
13.2.5 数据仓库权限 253
13.3 SharePoint集成 253
13.3.1 SharePoint Extensions 253
13.3.2 Excel Services和仪表板
兼容性 253
13.3.3 SharePoint配置工具 254
13.4 创建报表 255
13.4.1 工具 255
13.4.2 通过工作项查询生成
Excel报表 256
13.4.3 SQL Server Reporting
Services报表 258
13.4.4 SharePoint仪表板 261
13.5 高级自定义 263
13.5.1 自定义项目门户网站 263
13.5.2 自定义仓库适配器 264
13.5.3 TfsRedirect.aspx 264
13.6 本章小结 264
第Ⅳ部分 Team Foundation Build
第14章 生成自动化概述 269
14.1 建设一座房屋 269
14.2 生成自动化的定义 270
14.3 编写生成脚本 271
14.3.1 Make 271
14.3.2 Apache Ant 273
14.3.3 Apache Maven 274
14.3.4 NAnt 274
14.3.5 MSBuild 274
14.3.6 Windows Workflow
Foundation 278
14.4 使用生成自动化服务器 278
14.4.1 CruiseControl 279
14.4.2 CruiseControl.NET 279
14.4.3 Hudson 279
14.4.4 Team Foundation Server 280
14.5 采用生成自动化 280
14.6 本章小结 282
第15章 使用Team Foundation
Build 283
15.1 Team Foundation Build简介 283
15.2 Team Foundation Build架构 284
15.3 设置Team Foundation Build
服务 285
15.3.1 安装Team Foundation
Build 286
15.3.2 配置Team Foundation Build
Service 287
15.3.3 生成代理上需要
的其他软件 293
15.4 操作生成 293
15.4.1 创建生成定义 293
15.4.2 对生成进行排队 302
15.4.3 生成操作的通知和警报 304
15.4.4 管理生成 305
15.4.5 管理生成质量描述 309
15.4.6 管理生成控制器和
生成代理 310
15.5 理解生成过程 311
15.5.1 DefaultTemplate过程 311
15.5.2 使用Team Foundation Server
生成Ant和Maven项目 322
15.6 本章小结 323
第16章 自定义生成过程 325
16.1 Windows Workflow Foundation
入门 325
16.1.1 Visual Basic.NET
表达式 326
16.1.2 自定义工作流变量 327
16.1.3 自定义生成参数 328
16.1.4 工作流活动 333
16.2 使用MSBuild和WF
的时机 338
16.3 自定义生成工作流活动 339
16.3.1 创建自定义生成活动的
做法 339
16.3.2 把活动集成到生成过程
模板中 351
16.3.3 部署自定义生成活动 354
16.4 自定义生成报表输出 356
16.4.1 创建日志数据的可视化
工具 356
16.4.2 生成汇总报表自定义栏 356
16.5 自定义给程序集添加版本号
标记的生成过程 357
16.5.1 定义自定义生成过程的
参数 357
16.5.2 支持功能的可选性 358
16.5.3 定义局部工作流变量 358
16.5.4 初始化局部工作流变量 359
16.5.5 查找匹配的程序集信息
文件 359
16.5.6 添加自定义的TfsVersion
活动 359
16.6 本章小结 361
第Ⅴ部分 管理
第17章 Team Foundation Server
管理简介 365
17.1 管理员类型 365
17.1.1 基础设施管理员 365
17.1.2 Team Foundation Server
管理员 366
17.1.3 项目管理员 366
17.2 逻辑架构 366
17.2.1 客户层 367
17.2.2 应用层 367
17.2.3 数据层 367
17.3 内置的管理工具 368
17.3.1 Team Foundation
Administration Console 368
17.3.2 命令行配置工具 384
17.4 其他管理工具 386
17.4.1 Team Foundation Server
Power Tools 386
17.4.2 Best Practices Analyzer 386
17.4.3 Team Foundation Server
Administration Tool 388
17.4.4 Team Foundation
Sidekicks 388
17.5 本章小结 389
第18章 可伸缩性和高可用性 391
18.1 Team Foundation Server 2010
的新增功能 391
18.2 限制因素 392
18.2.1 Microsoft的建议 393
18.2.2 数据层 394
18.2.3 应用层 395
18.2.4 Web访问 396
18.2.5 数据仓库 396
18.2.6 Team Foundation代理 397
18.3 原则 398
18.4 解决方案 399
18.4.1 数据层 399
18.4.2 应用层和Web访问 403
18.4.3 Team Foundation代理 405
18.4.4 虚拟化 406
18.5 本章小结 406
第19章 灾难恢复 407
19.1 业务连续性和恢复目标 407
19.2 明确责任 408
19.3 备份Team Foundation
Server 408
19.3.1 需要备份的组件 408
19.3.2 数据库备份的类型 409
19.3.3 所需考虑的重要因素 411
19.4 创建一个备份计划 412
19.4.1 Team Foundation Server
的备份计划细节 417
19.4.2 将备份还原到原始
服务器 420
19.5 本章小结 427
第20章 安全和权限 429
20.1 用户 429
20.1.1 域用户 429
20.1.2 本地用户 430
20.1.3 标识同步 431
20.2 组 432
20.2.1 域组 433
20.2.2 分布组 433
20.2.3 本地组 433
20.2.4 Team Foundation Server
组 433
20.3 权限 435
20.3.1 服务器权限 435
20.3.2 团队项目集合权限 436
20.3.3 团队项目权限 437
20.3.4 工作项跟踪 438
20.3.5 版本控制权限 440
20.3.6 报表 442
20.4 安全管理 443
20.4.1 拒绝、允许和未设置的
权限 443
20.4.2 使用活动目录组 443
20.4.3 避免授予个别用户权限 444
20.4.4 使用继承 444
20.5 工具 444
20.5.1 命令行工具 444
20.5.2 Team Foundation Server
Administration Tool 445
20.6 本章小结 445
第21章 监控服务器的运行状况和
性能 447
21.1 系统的运行状况 448
21.2 SQL Server 449
21.2.1 动态管理视图(DMV) 449
21.2.2 当前正在运行的进程 449
21.2.3 SQL的等待类型 454
21.2.4 存储的运行状况 455
21.2.5 内存竞争 456
21.3 Team Foundation Server 457
21.3.1 命令日志 457
21.3.2 活动的服务器请求 458
21.3.3 服务器跟踪 459
21.3.4 客户端性能跟踪 460
21.3.5 作业历史 461
21.3.6 存储使用率 462
21.3.7 数据仓库 463
21.4 工具 464
21.4.1 Performance Analysis of
Logs(PAL)工具 464
21.4.2 Team Foundation Server Best
Practices Analyzer(BPA) 465
21.4.3 Team Foundation Server
Management Pack for System
Center Operations Manager
(SCOM) 466
21.5 本章小结 467
第22章 测试和实验室管理 469
22.1 软件测试 469
22.1.1 测试用例管理 470
22.1.2 实验室管理 471
22.2 测试架构 471
22.3 Microsoft测试管理器 473
22.3.1 测试计划 474
22.3.2 测试套件 474
22.3.3 测试用例 474
22.3.4 测试运行 475
22.3.5 可诉错误 475
22.3.6 测试设置 476
22.3.7 测试附件清理器 477
22.3.8 将生成分配给测试计划 477
22.3.9 分析受影响的测试 478
22.3.10 保留生成 478
22.3.11 自定义工作项类型 479
22.4 测试自动化 479
22.5 Visual Studio 2010实验室
管理 480
22.5.1 安装和配置实验室管理 481
22.5.2 维护一个运行状况良好的
测试实验室 487
22.5.3 疑难解答 489
22.6 本章小结 489
第23章 版本升级 491
23.1 升级Team Foundation Server
2005和2008 491
23.1.1 就地升级和迁移至新硬件
的比较 492
23.1.2 规划升级 493
23.2 升级的先决条件 494
23.2.1 SQL Server 494
23.2.2 SharePoint 494
23.3 使用配置实用程序 495
23.3.1 升级向导 495
23.3.2 验证升级 496
23.3.3 合并旧有的服务器 496
23.4 升级旧有的团队项目 497
23.4.1 启用分支可视化 497
23.4.2 启用测试用例管理 498
23.4.3 升级工作项类型定义 498
23.4.4 自动化生成 499
23.4.5 部署新的报告 499
23.4.6 部署新的SharePoint团队
门户网站 500
23.5 本章小结 500
第24章 与地理分布式团队协同
工作 501
24.1 确认面临的挑战 501
24.1.1 广域网(WAN)的延迟 502
24.1.2 网络流量来源 502
24.2 解决方案 504
24.2.1 中心服务器加远程代理
服务器 504
24.2.2 多台分布于各处的
服务器 504
24.2.3 镜像 504
24.2.4 远程桌面 505
24.2.5 连接到互联网的“外联网”
服务器 505
24.2.6 镜像到与互联网相联的
服务器 505
24.2.7 元数据筛选 505
24.3 生成服务器 505
24.3.1 本地生成服务器 506
24.3.2 远程生成服务器 506
24.4 Team Foundation Server
代理 506
24.4.1 Team Foundation Server
代理的工作方式 506
24.4.2 兼容性 506
24.4.3 配置代理 506
24.4.4 播种代理 509
24.4.5 个人代理 509
24.5 使用Team Foundation Server
集成工具实施镜像 509
24.5.1 功能 510
24.5.2 范例 511
24.6 脱机工作 512
24.6.1 版本控制 513
24.6.2 强制脱机 513
24.6.3 工作项 514
24.7 其他注意事项 514
24.7.1 维护Windows和时区 514
24.7.2 SQL Server企业版的联机
索引操作 515
24.7.3 分布式应用层 515
24.7.4 SQL镜像 516
24.8 本章小结 516
第25章 扩展Team Foundation
Server 517
25.1 客户端对象模型 518
25.1.1 连接服务器 519
25.1.2 Team Project Selection
对话框 520
25.1.3 处理多个API版本 520
25.1.4 显示工作项表单 521
25.1.5 分发客户端对象模型 522
25.2 SOAP事件订阅 523
25.2.1 可用事件类型 524
25.2.2 生成一个端点 525
25.2.3 添加订阅 525
25.2.4 列出所有的事件订阅 526
25.3 服务器端对象模型 526
25.3.1 服务器可扩展接口 526
25.3.2 服务器插件 528
25.4 Visual Studio的扩展性 541
25.5 Excel敏捷工作簿 542
25.5.1 手动绑定迭代积压工作 542
25.5.2 代码隐藏 543
25.6 其他资源 544
25.7 本章小结 545