內 容 簡 介
本書介紹了敏捷開發團隊依託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.3VS 2010中的軟體開發 10
1.1.4項目成功因素與VS 12
1.2VS 2010功能概述 14
1.2.1VS 2010的功能模組 14
1.2.2Visual Studio產品介紹 16
1.2.3Team Foundation平台 21
1.3Visual Studio 2010的新特性 22
1.3.1改進軟體開發生命周期 24
1.3.2保證軟體的健壯性和可靠性 26
1.3.3集成性 27
1.3.4Visual Studio 2010新功能 27
1.4VS 2010演示與實戰 35
1.4.1VS 2010演示 35
1.4.2VS實戰 37
1.5總結 42
第2章TFS 2010安裝場景 44
2.1Team Foundation 的體系結構 45
2.1.1Team Foundation的邏輯結構 45
2.1.2Team Foundation安裝安全 45
2.1.3Team 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.1MSF體系概述 78
3.1.1MSF簡介 78
3.1.2MSF組成原理 79
3.1.3MSF與Visual Studio 2010的結合 85
3.2MSF for Agile 5.0(敏捷)開發模式與流程 87
3.2.1理解敏捷(Agile) 87
3.2.2基於Scrum的MSF敏捷
解決方案 88
3.2.3VS 2010敏捷開發的套用 93
3.3MSF for CMMI改進開發模式與流程 122
3.3.1MSF for CMMI簡介 122
3.3.2VS 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.3TFS中的項目管理 162
4.3.1項目過程模板 162
4.3.2項目配置管理 165
4.4總結 168
第5章源碼功能控制管理 169
5.1TFS源碼管理 170
5.1.1源碼管理使用場景及常用工具 170
5.1.2Visual Studio 2010實現源碼管理 171
5.1.3VSS源碼遷移到TFS 175
5.2TFS源碼管理設定 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.1TF構建概述 208
6.1.1Team Foundation Build基礎 209
6.1.2Team Foundation Build架構 210
6.1.3Microsoft Build引擎 211
6.1.4Team 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.1Visual 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.1UML模型瀏覽器(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.2UML活動圖(UML Activity Diagrams) 287
7.3.3UML類圖(UML Class Diagrams) 293
7.3.4UML組件圖(UML Component Diagrams) 297
7.3.5UML順序圖(UML Sequence Diagrams) 301
7.3.6UML用例圖(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.1Visual Studio 2010測試體系結構 346
8.1.1Visual Studio 2010測試概述 346
8.1.2Visual Studio 2010測試框架 348
8.1.3微軟測試管理框架(Microsoft Test Manager) 349
8.2微軟測試管理(Microsoft Test Manager) 353
8.2.1Visual Studio 2010與測試應用程式生命周期(Lifecycle) 353
8.2.2測試中心(Testing Center) 365
8.2.3實驗室中心(Lab Center) 385
8.2.4網路實驗室的配置與管理 400
8.3Visual 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.4Visual 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.1TFS內建報表概述 472
9.1.2TFS數據倉庫 473
9.1.3Agile模板的常見報表 479
9.2報表定製(SQL Reporting Services定製項目報表) 488
9.2.1TFS下的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