第Ⅰ部分 入门 3
第1章Team Foundation Server2010介绍 3
1.1什么是Team Foundation Server 3
1.2 Team Foundation Server2010的新特性 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 Server2010 29
3.1.2 Team Foundation Server2010安装指南 30
3.1.3 SQL Server2008 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 Studio2010中的Team Explorer 48
4.4.2从旧版Visual Studio连接Team Foundation Server2010 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
第Ⅱ部分 版本控制 67
第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安装TeamFoundation 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 ServerIntegration 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
第Ⅲ部分 项目管理 193
第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 SoftwareDevelopment 200
11.3.2 MSF for CMMI ProcessImprovement 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 Server2010 的新功能 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 ReportingServices报表 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 269
第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 VisualBasic.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
第Ⅴ部分 管理 365
第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 Server2010的新增功能 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 ofLogs(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 Studio2010实验室管理 480
22.5.1安装和配置实验室管理 481
22.5.2维护一个运行状况良好的测试实验室 487
22.5.3疑难解答 489
22.6本章小结 489
第23章 版本升级 491
23.1升级Team Foundation Server2005和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