第I部分 架构师 3
第1章 软件架构简介 3
1.1可视化设计 3
1.2 Microso的建模策略 4
1.2.1了解模型驱动开发 5
1.2.2了解DSL 6
1.3从对象到服务 6
1.3.1对象和编译时重用 6
1.3.2组件和部署时重用 7
1.3.3分布式组件和运行时重用 8
1.3.4分布式服务和面向服务的架构 9
1.4 Visual Studio 2010 Ultimate的新架构工具 9
1.4.1用例图 9
1.4.2活动图 10
1.4.3顺序图 11
1.4.4组件图 11
1.4.5类图 11
1.4.6层次图 12
1.4.7 Architecture Explorer 12
1.5小结 13
第2章 使用用例图、活动图和顺序图进行自上而下的设计 15
2.1用例图 15
2.1.1了解用例图 16
2.1.2用例图工具箱 17
2.1.3创建用例图 18
2.2活动图 19
2.2.1了解活动图 20
2.2.2活动图工具箱 22
2.2.3创建活动图 24
2.2.4将活动图添加到用例图 25
2.3顺序图 25
2.3.1了解顺序图 25
2.3.2顺序图工具箱 27
2.3.3创建顺序图 27
2.4小结 28
第3章 使用组件图和类图进行自上而下的设计 29
3.1组件图 29
3.1.1了解组件图 30
3.1.2组件图工具箱 31
3.1.3组件图元素的属性 31
3.1.4创建组件图 32
3.1.5显示内部组件部件 37
3.2类图 39
3.2.1了解类图 39
3.2.2类图工具箱 40
3.2.3类图类型的属性 41
3.2.4类图特性的属性 42
3.2.5类图操作的属性 43
3.2.6类图关联的属性 44
3.2.7创建类图 46
3.3小结 48
第4章 使用Architecture Explorer分析应用程序 49
4.1了解基本代码 50
4.2 Architecture Explorer基础 50
4.2.1了解Architecture Explorer窗口 51
4.2.2 Architecture Explorer选项 51
4.2.3 Architecture Explorer的导航功能 52
4.2.4名称空间的浏览选项 53
4.2.5类的浏览选项 55
4.2.6成员的浏览选项 56
4.2.7 Architecture Explorer查询 57
4.3依赖图 58
4.3.1创建第一个依赖图 59
4.3.2不用Architecture Explorer创建依赖图 60
4.3.3依赖图的导航功能 61
4.3.4依赖图图例 63
4.3.5依赖图工具条 64
4.4小结 65
第5章 使用层次图 67
5.1创建层次图 67
5.2层次图的层定义 69
5.2.1为单独的项创建层 69
5.2.2在层次图中添加多个对象 70
5.2.3 Layer Explorer 70
5.3定义依赖关系 71
5.4验证层次图 72
5.5层次图和生成过程 74
5.6小结 75
第Ⅱ部分 开发人员 79
第6章 软件开发简介 79
6.1 Visual Studio 2010为开发人员提供的新功能 80
6.2测试影响分析 80
6.3改进的代码分析功能 80
6.4性能分析器的增强 81
6.5数据库的可扩展性 81
6.6 IntelliTrance的高级调试功能 81
6.7改进的“测试优先”开发体验 81
6.8小结 82
第7章 利用单元测试框架进行单元测试 83
7.1单元测试的基本概念 84
7.1.1单元测试的优点 84
7.1.2编写有效的单元测试 85
7.1.3第三方工具 86
7.2 Visual Studio单元测试 86
7.2.1创建第一个单元测试 86
7.2.2管理和运行单元测试 89
7.2.3测试运行配置 91
7.2.4 Test Results窗口 92
7.2.5调试单元测试 92
7.3使用单元测试框架进行编程 93
7.3.1单元测试的初始化和清除 93
7.3.2使用Assert方法 95
7.3.3使用CollectionAssert类 98
7.3.4使用StringAssert类 99
7.3.5期望的异常 100
7.3.6定义自定义单元测试属性 101
7.3.7 TestContext类 101
7.3.8创建数据驱动的单元测试 102
7.4访问测试的非公有成员 103
7.4.1使用PrivateObj ect访问非公有实例成员 103
7.4.2使用PrivateType访问非公有静态成员 105
7.5代码生成 106
7.6代码覆盖 109
7.6.1启用代码覆盖 110
7.6.2浏览代码覆盖结果 111
7.7测试影响分析 111
7.7.1测试影响分析的先决条件 112
7.7.2明确代码和测试之间的关系 112
7.7.3测试影响分析示例 113
7.8小结 117
第8章 托管代码分析和代码度量 119
8.1分析工具的必要性 120
8.2使用托管代码分析 120
8.2.1内置的托管代码分析规则 121
8.2.2代码分析规则集 122
8.2.3启用托管代码分析 123
8.2.4执行静态代码分析 124
8.2.5违反规则的处理 126
8.3使用命令行分析工具 129
8.3.1 FxCopCmd选项 129
8.3.2 FxCopCmd项目文件 131
8.3.3将代码分析集成在生成过程中 132
8.4创建代码分析规则 132
8.4.1反射与内省 132
8.4.2创建一条新规则 133
8.5代码度量 139
8.6小结 140
第9章 性能和性能分析 143
9.1性能分析概述 143
9.1.1性能分析器类型 144
9.1.2 Visual Studio性能分析 144
9.2使用性能分析器 145
9.2.1创建示例应用程序 145
9.2.2创建性能会话 146
9.2.3使用Performance Explorer 149
9.2.4配置采样式会话 156
9.2.5配置插装式会话 157
9.2.6配置.NET内存分配会话 157
9.2.7配置并发分析会话 158
9.2.8执行性能会话 158
9.2.9管理会话报告 158
9.2.10解读会话报告 160
9.3命令行分析实用工具 166
9.3.1虚拟机 167
9.3.2 JavaScript性能分析 167
9.3.3仅分析自己的代码 168
9.4常见的性能分析问题 168
9.4.1调试符号 169
9.4.2插装和代码覆盖 169
9.5小结 169
第10章 数据库开发、测试和部署 171
10.1数据库更改管理面临的挑战 171
10.2脱机架构开发 172
10.2.1使架构脱机 173
10.2.2迭代开发 173
10.2.3架构测试 174
10.2.4生成和部署 175
10.3创建一个数据库项目 175
10.4数据库项目研究 180
10.4.1 Solution Explorer与Schema View 180
10.4.2 Schema DependencyViewer 181
10.4.3T-SQL文件结构 181
10.5架构修改 182
10.5.1直接编辑T-SQL文件, 182
10.5.2检测架构的语法错误 183
10.5.3数据库重构 183
10.5.4 T-SQL脚本模板 186
10.6部署数据库更改 187
10.7数据生成 190
10.7.1数据生成计划 190
10.7.2数据生成器 192
10.8数据库测试 193
10.8.1函数、触发器和存储过程 193
10.8.2编写高级的数据库单元测试 196
10.8.3有效的数据库测试 196
10.8.4 T-SQL静态分析 198
10.8.5其他数据库工具 200
10.9小结 205
第11章IntelliTrace简介 207
11.1使用Intellitrace进行调试 207
11.1.1调试选项 208
11.1.2事件记录 210
11.1.3调试与回放 212
11.2断点中的新功能 214
11.2.1共享断点 215
11.2.2标记断点 215
11.3可停靠的数据提示 216
11.4小结 218
第Ⅲ部分 测试人员 221
第12章 软件测试简介 221
12.1基于角色的测试工具 221
12.2测试类型 222
12.3诊断数据适配器 223
12.4 MicrosoTest Manager 225
12.5使用Visual Studio管理自动测试 225
12.5.1测试项目 226
12.5.2使用测试分类 228
12.5.3管理测试结果 229
12.5.4使用顺序测试 232
12.5.5测试设置 234
12.5.6 Test Impact ew 235
12.6小结 236
第13章Web性能和负载测试 237
13.1 Web性能测试 237
13.1.1 Web性能测试与可编码用户界面测试 238
13.1.2创建一个示例Web应用程序 238
13.1.3创建站点用户 239
13.1.4创建和配置Web测试 240
13.1.5录制一个Web性能测试 241
13.1.6配置Web性能测试的运行设置 242
13.1.7 Web Server的参数化 243
13.1.8测试设置 244
13.1.9运行Web性能测试 245
13.1.10查看测试执行和结果 246
13.1.11编辑Web性能测试 247
13.1.12数据驱动的Web性能测试 250
13.1.13可编码Web性能测试 252
13.2负载测试 254
13.2.1创建和配置负载测试 255
13.2.2编辑负载测试 262
13.2.3执行负载测试 264
13.2.4浏览和解释负载测试结果 264
13.3从命令行执行测试 268
13.3.1执行测试 268
13.3.2执行测试列表 268
13.3.3其他测试选项 268
13.4分布式负载测试 269
13.4.1安装控制器和代理 269
13.4.2配置控制器 270
13.4.3配置代理 270
13.4.4测试设置 271
13.4.5运行分布式负载测试 271
13.4.6浏览分布式负载测试 272
13.5小结 272
第14章 手动测试 273
14.1 Microsoft Test Manager 273
14.2使用测试计划 274
14.2.1配置测试设置 275
14.2.2版本 276
14.2.3测试影响分析 278
14.2.4测试配置定义 278
14.2.5使用计划内容 279
14.3测试运行和结果记录 283
14.3.1使用MicrosoTestRunner 284
14.3.2支持技术 286
14.3.3保存测试结果 287
14.4运行自动测试 287
14.5小结 289
第15章 可编码用户界面测试 291
15.1使用Coded UI Test Builder创建可编码用户界面测试 292
15.1.1设置示例应用程序 292
15.1.2创建测试项目 292
15.1.3添加可编码用户界面测试 293
15.1.4 Coded UI Test Builder 294
15.1.5生成的代码 296
15.1.6运行测试 298
15.1.7创建数据驱动的测试 298
15.1.8使用using()子句 301
15.1.9增强的断言报告 301
15.2使用动作记录创建可编码用户界面测试 302
15.3支持技术 305
15.4小结 305
第16章Lab Management 307
16.1 Lab Management基本结构 307
16.1.1金质图像 308
16.1.2代理 308
16.2虚拟环境 309
16.3使用虚拟环境进行测试 314
16.3.1创建新的测试设置 314
16.3.2使用虚拟环境运行手动测试 316
16.4使用虚拟环境进行自动的生成一部署一测试 319
16.5物理环境 321
16.6小结 322
第IV部分Team Foundation Server 325
第17章Team Foundation Server简介 325
17.1 Team Foundation Server简介 325
17.2 Team Foundation Server核心概念 326
17.2.1 Team Foundation应用层 327
17.2.2团队项目集合 327
17.2.3团队项目 327
17.2.4过程模板 329
17.2.5工作项跟踪 331
17.2.6版本控制 332
17.2.7团队生成 334
17.3访问Team FoundationServer 334
17.3.1从Visual Studio访问TeamFoundation Server 335
17.3.2 Team Foundation ServerAdministration Console 336
17.3.3通过Web浏览器访问TeamFoundation Server 337
17.3.4在MicrosoExcel中使用Team Foundation Server 338
17.3.5在MicrosoProject中使用Team Foundation Server 339
17.3.6 Team Foundation Server命令行工具 339
17.3.7从Eclipse访问TeamFoundation Server 340
17.3.8 Team Foundation Server与Windows Explorer集成 341
17.3.9通过其他第三方集成工具访问Team FoundationServer 341
17.4 Team Foundation Server 2010的新内容 341
17.4.1项目管理 342
17.4.2版本控制 342
17.4.3生成 342
17.4.4管理 342
17.5选用Team FoundationServer 343
17.5.1驻留Team FoundationServer 343
17.5.2选取计划 343
17.6小结 344
第18章Team Foundation架构 345
18.1 Team Foundation Server逻辑结构 346
18.1.1团队项目集合 347
18.1.2 Team FoundationServer场 349
18.1.3 Team Foundation Server应用程序 349
18.1.4 Team Foundation Server实例 350
18.2物理架构 350
18.2.1硬件要求 351
18.2.2软件要求 352
18.3部署场景 353
18.3.1个体和小团队 354
18.3.2小公司 354
18.3.3大企业 355
18.3.4驻留环境 356
18.3.5从Team Foundation Server老版本升级 357
18.4小结 358
第19章Team Foundation版本控制 359
19.1 Team Foundation版本控制和VSS 2005 360
19.2设置版本控制 360
19.2.1设置安全角色 361
19.2.2设置工作空间 361
19.3 Source Control Explorer 363
19.3.1工作空间 364
19.3.2将项目添加到源文件库 367
19.4签入和签出 367
19.4.1签入一个项 368
19.4.2签出一个项 369
19.4.3创建和管理签入策略 369
19.4.4浏览历史 371
19.4.5标记文件 372
19.5上架 373
19.6分支与合并 374
19.6.1分支 374
19.6.2合并 377
19.7命令行工具 378
19.8小结 379
第20章 分支与合并 381
20.1了解分支与合并 382
20.1.1软件配置管理 382
20.1.2基本定义 382
20.2常见的分支策略 383
20.2.1不分支 383
20.2.2每发布都分支 383
20.2.3代码升级分支 384
20.2.4每功能都分支 384
20.3基本分支计划 385
20.3.1场景 385
20.3.2计划 386
20.3.3实现 386
20.4高级分支计划 398
20.4.1场景 398
20.4.2计划 398
20.4.3实现 399
20.5小结 399
第21章Team Foundation Build 401
21.1 Team Foundation Build简介 402
21.2 Team Foundation Build 2010新功能 403
21.2.1 Windows Workow 4.0 404
21.2.2限制门签入 404
21.2.3私有生成 404
21.2.4生成控制器 405
21.2.5生成通知 405
21.2.6公用自定义属性 405
21.2.7与符号和源服务器集成 406
21.2.8增强的生成删除选项 406
21.3 Team Foundation Build架构 406
21.4生成管理 407
21.4.1 Team Explorer 408
21.4.2 Build Explorer 408
21.4.3生成细节浏览 409
21.4.4创建生成定义 410
21.4.5生成排队 417
21.4.6生成通知 419
21.5团队生成过程 420
21.5.1 DefaultTemplate过程 421
21.5.2生成过程的参数 421
21.5.3自定义生成过程 427
21.6小结 444
第v部分 项目/过程管理 447
第22章 项目管理简介 447
22.1团队项目安装和配置 448
22.1.1创建一个团队项目 449
22.1.2连接Team FoundationServer 452
22.2项目计划 453
22.3一切皆为工作项 454
22.3.1了解工作项 454
22.3.2工作项连接和连接类型 456
22.3.3创建和更新工作项 457
22.3.4工作项查询458Server 461
22.4.1 Office Project和TeamFoundation Server 462
22.4.2 Office Excel和TeamFoundation Server 465
22.5小结 468
第23章 过程模板 469
23.1了解过程模板 469
23.2自带的过程模板 470
23.2.1 MSF for Agile SowareDevelopment 471
23.2.2 MSF for CMMI ProcessImprovement v5.0 480
23.3合作者与社区模板 484
23.4小结 485
第24章 报表、门户和面板 487
24.1 Team Foundation Server报表功能 487
24.1.1 Team Foundation Server操作存储区 488
24.1.2 Team Foundation Server数据仓库 489
24.1.3 Team Foundation ServerOLAP多维数据集 489
24.2 Team Foundation Server报表管理 491
24.2.1创建报表的工具 491
24.2.2使用MicrosoExcel报表 492
24.2.3使用RDL报表 500
24.2.4自带的报表 503
24.2.5项目门户和面板 506
24.3小结 509
第25章 使用计划工作簿制订敏捷计划 511
25.1产品需求总表 512
25.2产品计划工作簿 513
25.2.1产品计划工作簿位置 513
25.2.2设置产品计划工作簿 513
25.2.3使用Product Backlog工作表 515
25.2.4使用Iterations工作表 517
25.2.5使用Interruptions工作表 518
25.3迭代计划 518
25.4 Iteration Backlog工作簿 519
25.4.1 Iteration Backlog工作簿位置 519
25.4.2 Iteration Backlog工作表 520
25.4.3 Capacity Planning工作表 522
25.5迭代跟踪 523
25.5.1问题 524
25.5.2追溯 524
25.6小结 524
第26章 过程模板自定义 525
26.1过程模板自定义 526
26.1.1将一个过程模板下载到桌面 526
26.1.2过程模板的内容 526
26.1.3过程模板插件 528
26.2自定义工具 529
26.2.1 XML编辑器 529
26.2.2 Witadmin命令行工具 531
26.2.3 Process Template Editor 531
26.3将过程模板上传到TeamFoundation Server 538
26.4删除过程模板 539
26.5自定义过程指南 539
26.6小结 539