标题：微软VisualStudio2010实战兵法
图书信息
书名：构筑敏捷的开发团队 : 微软Visual Studio 2010实战兵法  作者：高阳 等编著
出版社：电子工业出版社
ISBN：978-7-121-10649-1
出版日期：2010年5月
定价：59.00元
开本：16开
页码：536页
内 容 简 介
本书介绍了敏捷开发团队依托Visual Studio 2010、采用Scrum/XP等敏捷过程模型方法从各个方面组织开发其项目的过程，读后使人茅塞顿开。本书从开发到管理的各方面对Visual Studio 2010的新功能进行了详细的介绍，从软件生命周期（SDLC）的角度对其分析、设计、开发、测试等工具列举了较详细的实践示例，并覆盖了使用Visual Studio 2010进行增量构建和集成、版本控制、架构建模设计（探索分析建模）、敏捷驱动开发、测试管理和报表管理等功能的实践内容，从而让读者深入了解Visual Studio 2010应用的精髓，是学习Visual Studio 2010实践的优秀参考书。
本书适合于.NET技术爱好者及初、中级开发、管理和测试等人员参考学习，特别有助于.NET技术人员学习软件项目的管理和应用，也可作为相关培训机构的参考教材，还可以作为高等院校相关专业师生的参考书。
专 家 推 荐
能够帮助您全面掌握Visual Studio 2010在软件工程方面的多项创新。希望您能够从这本书中得到帮助，与我们一同努力，提升软件开发质量与管理水平。
——微软大中华区开发工具及平台事业部总经理  谢恩伟
前    言
随着软件开发日趋国际化，对软件的质量要求和管理要求也随之提高，微软顺应应用程序生命周期管理在业界逐渐被接受和认可的趋势，发布了Visual Studio 2010。它是微软新一代的开发工具和平台，致力于引领下一代平台发展，增强开发人员团队的敏捷思想管理与协作能力，提高IT技术人员的工作效率。
利用各种工具合理化地辅助每个关键环节进行管理（ALM）是Visual Studio 2010的重要特性，它还支持统一建模语言（UML）和特定领域语言（DSL），能够为各类.NET技术人员提供合适的工具，而这也只是微软更大模型平台的一部分。
读者们需要注意的是，微软从2010版本以后，已经不再用VSTS进行命名了，而是采用Visual Studio 2010（包括开发的IDE、架构设计的UML和周期管理TFS等）来统一命名。
本书缘起
在微软Visual Studio 2010工具中，真正的主角已经不再是作为编码工具的VS IDE，而是ALM（Application Lifecycle Management）的核心TFS（Team Foundation Server），这是微软Visual Studio系列产品革命性的进步。由于在其之前的版本中（VSTS 2005/2008）存在安装配置复杂、硬件环境要求高等问题，再加上没有很强大的建模架构设计工具和软件开发敏捷过程模型思想进行指导，所以在微软.NET方向工作的技术圈子中没有得到大规模的有效普及。
如今，微软Visual Studio 2010的一系列产品测试开发过程（CTP→Beta1→Beta2→RC→RTM）功能更加成熟，已经具有安装简单快捷、配置简单、具有功能和易用性均强的建模设计工具，以及具有bug管理协作能力的测试管理工具（Microsoft Test Manager 2010）等特点。这种以团队开发、协作管理、架构建模设计和软件开发过程模型（Scrum、XP等）合为一体的开发工具是软件工程发展的趋势，但是很多.NET编程开发人员却对之了解甚少。
作为一名IT职业经理人和软件开发人员，我们一直留意微软Visual Studio的相关图书，但市面上却很少有图书对其功能与实践进行详细的介绍。我理想中的书应该是一本实践性很强的书，是真正能够帮助从事.NET相关工作人员的图书。如果这本书能实现我的目标，则对大家的技术实践与领悟软件过程思想会有不小的帮助和提升。我们在大量研究和实践的基础上，还查阅了大量相关资料，加强研究，力求融会贯通，其间还得到了微软相关部门的大力支持，费时8个月，终于写成这本书。
本书的主要目的是帮助从事微软相关技术工作和软件开发工作的人员，使其能够迅速熟悉Visual Studio 2010的新功能特点与应用，并可以使用Visual Studio 2010构建自己的开发与测试环境。
在本书里，我们将对.NET开发人员、架构设计人员和测试等人员在工作中所遇到的问题、难点进行分析，并使用Visual Studio 2010加以解决。相信这些问题的解决会给开发人员带来不少收获，并有助于读者拓展视野，更快地掌握Visual Studio 2010主要特性功能的应用及项目过程的管理技巧，从而起到抛砖引玉的作用。
本书主要内容
本书共包括9章，每章的主要内容如下：
第1章“VS 2010实践与软件开发”介绍了Visual Studio的概念及新功能特点，说明了其框架机理，还介绍了其主要的功能应用范围。
第2章“TFS 2010安装场景”介绍了如何搭建Visual Studio 2010单服务器和多服务器环境，并进一步介绍了TFS 2008到TFS 2010的迁移过程和测试实验室管理配置等内容。
第3章“MSF开发模式与流程”介绍了在Visual Studio中如何与MSF相互作用。最后介绍了MSF项目管理的优势，并介绍通过MSF敏捷开发模板进行项目开发与管理等内容。
第4章“VS 2010团队协作管理”介绍了如何使用Visual Studio中的SharePoint（WWS）模板进行团队门户的搭建，说明了可以通过Visual Studio整合Web站点功能进行团队项目管理。
第5章“源码功能控制管理”介绍了它是贯穿整个软件项目周期的重要过程，可以使用Visual Studio 2010源码工具进行源码的分支、合并管理，还介绍了使用自定义源码控制标签和模板等高级管理功能。
第6章“版本控制管理”介绍了在TFS中如何进行源码获取、应用程序编译、单元测试和构建发布的步骤，说明了版本控制不是简单的源码的签入签出，而是涉及到版本的合并、同步和分支等的问题，可以使用TFS来解决。
第7章“Visual Studio 2010建模应用管理”介绍了新增建模（Architecture）等功能，以及相关工具的使用。重点介绍了架构建模功能和工具（包括微软模型浏览器、开发设计工具模型、代码分析和这些架构设计工具）与功能的扩展等内容。
第8章“Visual Studio 2010测试管理”介绍了Visual Studio 2010中的新增测试功能及相关工具的使用，并重点介绍了测试功能和工具（微软测试与实验室管理、测试应用程序生命周期、自动化UI测试）功能的扩展等内容。
第9章“TFS报表管理与定制”介绍了报表的分析、定制与发布管理等内容，说明了生成报表的重要性，并且进一步介绍了报表安全及项目报表制作等内容。
如何阅读本书
这应该算是国内第一本关于Visual Studio 2010的原创图书，读者应该怎样利用这本书更快地掌握Visual Studio 2010呢？
本书章节的安排是依据读者对Visual Studio 2010功能实践的循序渐进的学习顺序设立的，建议初学者从前至后阅读，先从敏捷思想开始，然后再熟悉应用Visual Studio功能实践。由于Visual Studio涉及内容具有很强的实用性，所以建议先将本书通读，主要弄清楚Visual Studio的核心功能（也就是本书的骨架）和敏捷实践方法，再按照书中的实例亲手调试一下。当对Visual Studio 2010整体有了初步认识后，再尝试在实例基础之上进行新功能的实践，从而快速地应用到实际项目工作之中。
Visual Studio 2010是微软新一代的开发工具和平台。它以软件生命周期（SDLC）和软件应用周期（ALM）为主线进行开发、设计、测试等并进行软件管理。读者通过对本书的学习，将掌握Visual Studio敏捷开发思想，站在更高的高度看软件工程，这样才能逐渐使自己的综合知识条理化。
在此基础上，读者还需要去应用这些知识，例如，你可以尝试使用Visual Studio 2010进行设计模型与工作项集成调用，或者使用DGML进行有向图模板设计，等等。在实践的过程中反复查阅本书实例，这样才能达到掌握Visual Studio知识的目的。
致谢
我们要真诚地感谢微软（中国）开发工具及平台事业部、微软（上海）开发团队（TeamArch，Visual Studio Team System 2010 Achitecture）和电子工业出版社对本书的重视与支持，以及所有编辑和相关人员为本书出版所做的一切。在此书的写作过程中，感谢TeamArch的周京生对本书的热心帮助，以及我们的很多微软MVP兄弟朋友和一些网友们的热心支持，他们都对此书提出了有益的建议，对于此书的修改完善起到了重要作用。
Visual Studio 2010功能应用知识的特性很多，本书实际上希望能给读者们起到抛砖引玉的作用，读者们可以把本书看成编程的“Interface”。本书重点是以Visual Studio的新功能与实践为主要介绍点，后续笔者会构思关于Visual Studio Team System敏捷之道软件工程思想方面的图书，相信会使读者对微软的软件工程实践思想有更高的认识。
由于作者水平有限，书中不足及错误之处在所难免，敬请专家和读者给予批评指正。
高阳      
2010年03月   
读者与作者技术交流，可登录箫心论坛
目    录
第1章  VS 2010实践与软件开发 1
1.1  软件开发概述 2
1.1.1  软件开发过程 2
1.1.2  软件开发问题 5
1.1.3  VS 2010中的软件开发 10
1.1.4  项目成功因素与VS 12
1.2  VS 2010功能概述 14
1.2.1  VS 2010的功能模块 14
1.2.2  Visual Studio产品介绍 16
1.2.3  Team Foundation平台 21
1.3  Visual Studio 2010的新特性 22
1.3.1  改进软件开发生命周期 24
1.3.2  保证软件的健壮性和可靠性 26
1.3.3  集成性 27
1.3.4  Visual Studio 2010新功能 27
1.4  VS 2010演示与实战 35
1.4.1  VS 2010演示 35
1.4.2  VS实战 37
1.5  总结 42
第2章  TFS 2010安装场景 44
2.1  Team Foundation 的体系结构 45
2.1.1  Team Foundation的逻辑结构 45
2.1.2  Team Foundation安装安全 45
2.1.3  Team Foundation安装的必备组件 47
2.2  单服务器安装 48
2.2.1  单服务器安装环境 48
2.2.2  单服务器应用场景 49
2.2.3  单服务器安装与配置 50
2.3  多服务器安装 57
2.3.1  多服务器安装环境 57
2.3.2  多服务器应用场景 58
2.3.3  多服务器的安装步骤 60
2.4  从TFS 2008 SP1升级 62
2.4.1  升级安装准备 62
2.4.2  升级安装应用场景 62
2.4.3  升级安装步骤 64
2.5  安装实验室管理 65
2.5.1  实验室管理安装环境 66
2.5.2  实验室管理应用场景 68
2.5.3  实验室管理配置 68
2.6  卸载及安装常见问题 70
2.6.1  卸载TFS 70
2.6.2  安装与配置问题 72
2.7  总结 76 
第3章  MSF开发模式与流程 77
3.1  MSF体系概述 78
3.1.1  MSF简介 78
3.1.2  MSF组成原理 79
3.1.3  MSF与Visual Studio 2010的结合 85
3.2  MSF for Agile 5.0（敏捷）开发模式与流程 87
3.2.1  理解敏捷（Agile） 87
3.2.2  基于Scrum的MSF敏捷
解决方案 88
3.2.3  VS 2010敏捷开发的应用 93
3.3  MSF for CMMI改进开发模式与流程 122
3.3.1  MSF for CMMI简介 122
3.3.2  VS 2010中对于MSF For CMMI支持的新特性 125
3.4  总结 128 
第4章  VS 2010团队协作管理 129
4.1  项目团队协作 130
4.1.1  团队模型及角色 130
4.1.2  团队成员利用VS 2010实现协同办公 133
4.1.3  通过Web方式访问团队项目 135
4.2  团队门户搭建 144
4.2.1  团队门户功能概要 144
4.2.2  团队门户搭建 145
4.3  TFS中的项目管理 162
4.3.1  项目过程模板 162
4.3.2  项目配置管理 165
4.4  总结 168 
第5章  源码功能控制管理 169 
5.1  TFS源码管理 170
5.1.1  源码管理使用场景及常用工具 170
5.1.2  Visual Studio 2010实现源码管理 171
5.1.3  VSS源码迁移到TFS 175
5.2  TFS源码管理设置 181
5.2.1  角色管理 181
5.2.2  安全管理 185
5.2.3  定义签入签出策略 190
5.3  源代码管理的高级功能 195
5.3.1  标签管理 195
5.3.2  分支管理 200
5.3.3  合并管理 203
5.4  总结 206 
第6章  版本控制管理 207
6.1  TF构建概述 208
6.1.1  Team Foundation Build基础 209
6.1.2  Team Foundation Build架构 210
6.1.3  Microsoft Build引擎 211
6.1.4  Team Foundation Build的拓扑与安全性 214
6.2  构建TFS流程 215
6.2.1  同步源代码 215
6.2.3  编译应用程序 216
6.2.4  单元测试和集成测试 223
6.2.5  代码分析 226
6.2.6  发布构建 227
6.2.7  生成验证测试（BVT） 230
6.2.8  发布构建报告 231
6.3  签入策略及签入文件 233
6.3.1  签入策略 233
6.3.2  签入文件 237
6.4  代码版本审查及搁置 239
6.4.1  代码版本审查 239
6.4.2  搁置的概念及用途 242
6.4.3  搁置的应用 243
6.5  确定文件冲突、合并及撤销 245
6.5.1  确定文件冲突及解决 246
6.5.2  合并 246
6.5.3  撤销 248
6.6  总结 249 
第7章  Visual Studio 2010建模应用管理 250
7.1  Visual Studio 2010建模应用基础 251
7.1.1  软件系统建模 252
7.1.2  架构代码分析工具 253
7.1.3  有向图标记语言（DGML） 260
7.1.4  依赖图（Dependency Graph） 262
7.2  模型浏览器（Model Explorer） 266
7.2.1  UML模型浏览器（UML Model Explorer） 266
7.2.2  架构浏览器（Architecture Explorer） 272
7.2.3  规格浏览器（Spec Explorer） 274
7.3  开发软件设计模型（Developing Models for Software Design） 280
7.3.1  架构过程概述 282
7.3.2  UML活动图（UML Activity Diagrams） 287
7.3.3  UML类图（UML Class Diagrams） 293
7.3.4  UML组件图（UML Component Diagrams） 297
7.3.5  UML顺序图（UML Sequence Diagrams） 301
7.3.6  UML用例图（UML Use Case Diagrams） 306
7.3.7  层图表（Layer Diagram） 311
7.4  开发与过程模型扩展 328
7.4.1  模型项目（Modeling Project） 328
7.4.2  模型与工作项集成 331
7.4.3  用户需求模型（Modeling User Requirements） 336
7.4.4  模型和图表扩展（Extending Models and Diagrams） 340
7.5  总结 344
第8章  Visual Studio 2010测试管理 345
8.1  Visual Studio 2010测试体系结构 346
8.1.1  Visual Studio 2010测试概述 346
8.1.2  Visual Studio 2010测试框架 348
8.1.3  微软测试管理框架（Microsoft Test Manager） 349
8.2  微软测试管理（Microsoft Test Manager） 353
8.2.1  Visual Studio 2010与测试应用程序生命周期（Lifecycle） 353
8.2.2  测试中心（Testing Center） 365
8.2.3  实验室中心（Lab Center） 385
8.2.4  网络实验室的配置与管理 400
8.3  Visual Studio 2010自动化测试（Automated Tests） 403
8.3.1  自动化UI测试（Coded UI Test） 403
8.3.2  单元测试（Unit test） 433
8.3.3  负载测试（Load Test） 445
8.4  Visual Studio 2010 测试工具功能扩展 454
8.4.1  管理查询文件夹和安全 454
8.4.2  测试影响分析 456
8.4.3  门控式签入 458
8.4.4  滚动生成 461
8.4.5  微软测试用例迁移工具 462
8.5  总结 469 
第9章  TFS报表管理与定制 471
9.1  报表分析（TFS过程模板内建报表说明） 472
9.1.1  TFS内建报表概述 472
9.1.2  TFS数据仓库 473
9.1.3  Agile模板的常见报表 479
9.2  报表定制（SQL Reporting Services定制项目报表） 488
9.2.1  TFS下的SQL Reporting Services架构及报表生命周期 488
9.2.2  创建自定义报表 490
9.2.3  最佳实践：使用报表设计器创建报表 493
9.3  报表管理 498
9.3.1  报表管理器 498
9.3.2  报表管理方法 503
9.3.3  管理报表服务器内容 505
9.4  报表的安全性设置 511
9.4.1  报表的权限设置 511
9.4.2  在TFS中添加团队成员 517
9.5  使用Excel生成项目报表 519
9.5.1  在Excel中创建新表 519
9.5.2  在Excel中修改报表 521
9.5.3  在项目门户中管理Excel报表 522
9.6  总结 523