第1章 Visual Studio 2012应用生命周期管理介绍 1
1.1应用生命周期管理 2
1.2 Visual Studio 2012产品系列 2
1.3应用生命周期管理挑战 4
1.4进入Visual Studio 2012的世界 5
1.5应用生命周期管理活动简介 6
1.5.1需求 6
1.5.2系统设计与建模 6
1.5.3代码生成 6
1.5.4测试 7
1.5.5反馈 7
1.5.6运营 7
1.5.7一切尽在本书中 8
1.6小结 8
第Ⅰ部分 Team Foundation Server 11
第2章 Team Foundation Server简介 11
2.1 Team Foundation Server简介 11
2.2获取Team Foundation Server 12
2.2.1托管Team Foundation Server 13
2.2.2独立安装 14
2.3 Team Foundation Server核心概念 15
2.3.1 Team Foundation Server 15
2.3.2团队项目集合 16
2.3.3团队项目 16
2.3.4团队 19
2.3.5过程模板 20
2.3.6工作项跟踪 21
2.3.7版本控制 22
2.3.8团队生成 24
2.4访问Team Foundation Server 25
2.4.1从Visual Studio访Team Foundation Server 25
2.4.2通过Web浏览器访问Team Foundation Server 27
2.4.3在微软Excel中使用Team Foundation Server 28
2.4.4在微软Project中使用Team Foundation Server 29
2.4.5Team Foundation Server命令行工具 29
2.4.6从Eclipse访问Team Foundation Server 29
2.4.7 Team Foundation Server与Windows Explorer集成 30
2.4.8通过其他第三方集成工具访问Team Foundation Server 30
2.5Team Foundation Server 2012中的新内容 31
2.5.1版本控制 31
2.5.2 Web访问 32
2.5.3 Team Explorer 32
2.5.4团队 32
2.5.5工作项跟踪 32
2.5.6云平台 33
2.6采用Team Foundation Server 33
2.7小结 34
第3章 Team Foundation版本控制 35
3.1 Team Foundation版本控制和VSS 2005 37
3.2设置版本控制 37
3.3 Source Control Explorer 38
3.3.1设置工作区 39
3.3.2获取代码 40
3.3.3在版本控制中共享项目 41
3.4签入挂起变更 44
3.4.1签入一项 44
3.4.2创建和管理签入策略 48
3.4.3查看历史 50
3.4.4标记文件 51
3.5搁置 52
3.5.1工作区 53
3.5.2服务器工作区 56
3.5.3本地工作区 56
3.6命令行工具 57
3.7小结 58
第4章 分支与合并 59
4.1揭秘分支 59
4.1.1分支 60
4.1.2合并 60
4.1.3冲突 60
4.1.4分支关系 61
4.1.5无基合并 61
4.1.6正向/逆向集成 62
4.2常见的分支策略 62
4.2.1不分支 62
4.2.2每个发布都分支 63
4.2.3代码升级分支 64
4.2.4功能分支 65
4.3实施分支策略 66
4.3.1场景 66
4.3.2方案 67
4.3.3实施 68
4.3.4处理变更集 73
4.3.5通过分支跟踪变更 83
4.4小结 84
第5章 Team Foundation Build 85
5.1 Team Foundation Build简介 86
5.2 Team Foundation Build2012的新功能 87
5.2.1托管生成服务 88
5.2.2输出到版本控制 88
5.2.3批处理限制门签入 89
5.2.4生成服务协议的变化 90
5.2.5更新的生成报告 90
5.3 Team Foundation Build架构 90
5.4生成管理 92
5.4.1 Team Explorer 92
5.4.2 Build Explorer 92
5.4.3生成细节视图 93
5.4.4创建生成定义 94
5.4.5生成排队 101
5.4.6生成通知 103
5.5团队生成过程 105
5.5.1 DefaultTemplate过程 105
5.5.2生成过程的参数 107
5.6小结 112
第6章 Team Foundation Server常用自定义 113
6.1对象模型 114
6.1.1客户对象模型 115
6.1.2服务器对象模型 115
6.1.3生成过程对象模型 115
6.1.4简单的对象模型示例 115
6.1.5用于Java的TFS SDK 117
6.2自定义Team Foundation Build 117
6.2.1创建自定义生成过程模板 117
6.2.2创建自定义生成工作流活动 119
6.3自定义Team Foundation版本控制 119
6.4 Team Foundation Server事件服务 120
6.5自定义工作项跟踪 121
6.5.1修改工作项类型定义 121
6.5.2创建自定义工作项控件 122
6.6小结 123
第Ⅱ部分 生成正确的软件 127
第7章 生成正确的软件简介 127
7.1利益相关者 128
7.2故事板 129
7.3捕获利益相关者的反馈 130
7.4单独的工作项视图 131
7.5第三方需求管理解决方案 132
7.5.1 TeamSpec 132
7.5.2 TeamLook 133
7.5.3 inteGREAT 134
7.6小结 135
第8章 故事板 137
8.1使用故事板的原因 137
8.2 PowerPoint Storyboarding 139
8.2.1故事板形状 140
8.2.2版式 141
8.2.3屏幕截图 142
8.2.4 My Shapes分类 146
8.2.5动画 147
8.2.6超链接 148
8.2.7故事板链接 148
8.3小结 150
第9章 获取利益相关者的反馈 151
9.1请求反馈 152
9.2小结 157
第Ⅲ部分 项目管理 161
第10章 项目管理简介 161
10.1 Team Foundation Server2012中的项目管理增强 162
10.1.1丰富的工作项关系 162
10.1.2敏捷计划工具 163
10.1.3测试用例管理 164
10.1.4反馈管理 164
10.1.5增强报表 164
10.1.6 SharePoint Server仪表板 165
10.2工作项 165
10.2.1工作项类型 165
10.2.2区域和迭代 168
10.3过程模板 170
10.3.1 MSF for Agile Software Development 170
10.3.2 MSF for CMMI Process Improvement 172
10.3.3 Visual Studio Scrum 175
10.3.4第三方过程模板 176
10.3.5自定义过程模板 176
10.4管理工作项 176
10.4.1使用Visual Studio 177
10.4.2使用Microsoft Excel 181
10.4.3使用Microsoft Project 182
10.4.4使用Team Web Access 183
10.5 Project Server集成 184
10.6小结 185
第11章 敏捷计划和跟踪 187
11.1定义团队 188
11.2维护产品积压 192
11.3计划迭代 194
11.4跟踪工作 196
11.5自定义选项 199
11.6小结 199
第12章 报表、门户和面板 201
12.1 Team Foundation Server报表功能 202
12.2使用Team Foundation Server报表 204
12.2.1创建报表的工具 204
12.2.2使用Microsoft Excel报表 205
12.2.3使用RDL报表 214
12.3小结 215
第Ⅳ部分 架构 219
第13章 软件架构介绍 219
13.1设计可视化 219
13.2 Microsoft的建模策略 221
13.2.1了解模型驱动开发 221
13.2.2了解领域特定语言 222
13.2.3“理解代码”体验 222
13.3 Visual Studio Ultimate2012提供的架构工具 223
13.3.1用例图 223
13.3.2活动图 224
13.3.3顺序图 225
13.3.4组件图 225
13.3.5类图 226
13.3.6层次图 226
13.3.7 Architecture Explorer 227
13.4 Visual Studio Ultimate 2012中的新架构工具 227
13.4.1架构菜单选项 227
13.4.2依赖图增强 228
13.4.3 Visual Studio可视化和建模SDK 228
13.5小结 228
第14章 使用用例图、活动图、顺序图、组件图和类图进行自上而下的设计 229
14.1用例图 230
14.1.1创建用例图 230
14.1.2用例图工具箱 233
14.2活动图 234
14.2.1创建活动图 234
14.2.2活动图工具箱 237
14.2.3将活动图添加到用例图 238
14.3顺序图 238
14.3.1创建顺序图 238
14.3.2顺序图工具箱 241
14.4组件图 241
14.4.1创建组件图 242
14.4.2组件图工具箱 246
14.5类图 247
14.5.1创建类图 247
14.5.2类图工具箱 249
14.5.3从UML类图生成代码 250
14.6小结 251
第15章 使用Architecture Explorer和依赖图分析应用程序 253
15.1了解基本代码 254
15.2 Architecture Explorer基础 255
15.2.1了解Architecture Explorer窗口 255
15.2.2 Architecture Explorer选项 256
15.2.3 Architecture Explorer的导航功能 257
15.2.4命名空间的浏览选项 258
15.2.5类的浏览选项 260
15.2.6成员的浏览选项 261
15.3依赖图 262
15.3.1创建第一个依赖图 263
15.3.2不用Architecture Explorer创建依赖图 264
15.3.3依赖图的导航功能 265
15.3.4依赖图图例 268
15.3.5依赖图工具栏 269
15.3.6 Visual Studio 2012中对依赖图所做的增强 269
15.4小结 271
第16章 使用层次图建模和实施应用程序架构 273
16.1创建层次图 274
16.2层次图的层定义 275
16.2.1为单独的工件项创建层 276
16.2.2在层次图中添加多个对象 276
16.2.3 Layer Explorer 277
16.3定义依赖关系 278
16.4验证层次图 280
16.5层次图和生成过程 281
16.6小结 282
第Ⅴ部分 软件开发 285
第17章 软件开发简介 285
17.1 Visual Studio 2012为开发人员提供的新功能 286
17.1.1单元测试 286
17.1.2改进的代码分析功能 287
17.1.3代码度量 287
17.1.4代码克隆分析 287
17.1.5性能分析器 287
17.1.6 IntelliTrace的高级调试功能 288
17.2 My Work 288
17.2.1暂停和恢复 289
17.2.2代码评审 289
17.3小结 292
第18章 单元测试 293
18.1单元测试的基本概念 294
18.1.1单元测试的优点 294
18.1.2编写有效的单元测试 295
18.1.3第三方工具 296
18.2 Visual Studio单元测试 296
18.2.1创建第一个单元测试 297
18.2.2管理和运行单元测试 299
18.2.3调试单元测试 300
18.3使用单元测试框架进行编程 301
18.3.1单元测试的初始化和清除 301
18.3.2使用Assert方法 304
18.3.3使用CollectionAssert类 307
18.3.4使用StringAssert类 308
18.3.5期望的异常 309
18.3.6定义自定义单元测试属性 309
18.3.7 TestContext类 310
18.4 Microsoft Fakes简介 311
18.4.1存根与填充码的选择 311
18.4.2使用存根 312
18.4.3使用填充码 314
18.5测试适配器 316
18.6小结 317
第19章 代码分析、代码度量和代码克隆分析 319
19.1分析工具的必要性 320
19.2使用代码分析 320
19.2.1内置的代码分析规则 321
19.2.2代码分析规则集 322
19.2.3启用代码分析 323
19.2.4执行静态代码分析 325
19.2.5违反规则的处理 327
19.3使用命令行分析工具 330
19.3.1 FxCopCmd选项 330
19.3.2 FxCopCmd项目文件 332
19.3.3将代码分析集成在生成过程中 333
19.4创建代码分析规则 334
19.5代码度量 334
19.6代码克隆分析 336
19.6.1找出代码克隆 336
19.6.2检查代码克隆分析的结果 337
19.6.3代码克隆分析的工作原理 337
19.6.4从代码克隆分析中排除项 338
19.7小结 339
第20章 性能和性能分析 341
20.1性能分析概述 342
20.1.1性能分析器类型 342
20.1.2 Visual Studio性能分析 343
20.2使用性能分析器 343
20.2.1创建示例应用程序 343
20.2.2创建性能会话 345
20.2.3使用Performance Explorer 348
20.2.4配置采样式会话 356
20.2.5配置插装式会话 357
20.2.6配置.NET内存分配会话 357
20.2.7配置并发分析会话 358
20.2.8执行性能会话 358
20.2.9管理会话报告 359
20.2.10解读会话报告 360
20.3命令行分析实用工具 368
20.3.1 JavaScript性能分析 369
20.3.2仅分析自己的代码 370
20.4常见的性能分析问题 371
20.4.1调试符号 371
20.4.2插装和代码覆盖 371
20.5小结 371
第21章 使用IntelliTrace进行调试 373
21.1 IntelliTrace的基本功能 373
21.1.1 IntelliTrace示例 374
21.1.2导航IntelliTrace事件视图 376
21.1.3收集方法调用信息 376
21.1.4收集详细信息 379
21.1.5保存IntelliTrace会话 380
21.1.6 IntelliTrace选项 384
21.2 IntelliTrace在生产环境中的应用 386
21.2.1安装IntelliTrace独立收集器 386
21.2.2配置IntelliTrace PowerShell commandlet 388
21.2.3收集执行信息 388
21.3小结 389
第Ⅵ部分 测试 393
第22章 软件测试简介 393
22.1基于角色的测试工具 394
22.2测试类型 394
22.3诊断数据适配器 395
22.4 Microsoft Test Manager 397
22.5使用Visual Studio管理自动测试 398
22.5.1测试项目类型 399
22.5.2 Test Explorer 400
22.5.3代码覆盖 402
22.5.4使用顺序测试 402
22.5.5测试设置 404
22.6小结 405
第23章 手动测试 407
23.1 Microsoft Test Manager 407
23.2使用测试计划 409
23.2.1配置测试设置 410
23.2.2版本 412
23.2.3测试影响分析 413
23.2.4测试配置定义 414
23.2.5使用计划内容 415
23.3测试运行和结果记录 420
23.3.1使用Test Runner 422
23.3.2动作记录的支持技术 425
23.3.3记录bug并保存测试结果 426
23.4探索式测试 427
23.5运行自动测试 430
23.6小结 431
第24章 可编码用户界面测试 433
24.1使用Coded UI Test Builder创建可编码用户界面测试 434
24.1.1设置示例应用程序 434
24.1.2创建测试项目 435
24.1.3 Coded UI Test Builder 436
24.1.4生成的代码 440
24.1.5运行测试 443
24.1.6创建数据驱动的测试 443
24.1.7失败的测试 445
24.1.8拍摄快照 446
24.1.9 UI Map Editor 446
24.2使用动作记录创建可编码用户界面测试 448
24.3支持技术 452
24.4小结 452
第25章 Web性能和负载测试 453
25.1 Web性能测试 454
25.1.1 Web性能测试与可编码用户界面测试 454
25.1.2创建一个示例Web应用程序 454
25.1.3创建站点用户 455
25.1.4创建和配置Web测试 456
25.1.5记录一个Web性能测试 457
25.1.6配置Web性能测试的运行设置 459
25.1.7 Web Server的参数化 460
25.1.8测试设置 461
25.1.9运行Web性能测试 462
25.1.10查看测试执行和结果 463
25.1.11编辑Web性能测试 464
25.1.12数据驱动的Web性能测试 468
25.1.13可编码Web性能测试 470
25.2负载测试 472
25.2.1创建和配置负载测试 473
25.2.2编辑负载测试 481
25.2.3执行负载测试 484
25.2.4浏览和解释负载测试结果 484
25.3分布式负载测试 487
25.3.1安装控制器和代理 488
25.3.2配置控制器 488
25.3.3配置代理 489
25.3.4运行分布式负载测试 489
25.4小结 490
第26章 Lab Management 491
26.1 Lab Management基本结构 492
26.1.1黄金虚拟机镜像 493
26.1.2代理 493
26.2 SCVMM环境 494
26.3使用虚拟环境进行测试 500
26.3.1创建新的测试设置 500
26.3.2使用虚拟环境运行手动测试 502
26.4使用虚拟环境进行自动的生成-部署-测试 506
26.5标准环境 509
26.6小结 510