Visual Studio Team System
Visual Studio Team System
Creation tegration tegration
Visual Studio Team System 是一套高生產力的、集成的、可擴展的生命周期開發工具,它擴展了Visual Studio 產品線,增強了軟體開發團隊中的溝通與協作。利用Visual Studio Team System,開發團隊能夠在開發過程的早期以及在整個開發過程中確保更高的可預見性和更好的質量。Visual Studio Team System 還包含了微軟解決方案框架(Microsoft Solution Framework),MSF提供了一套經過長期考驗的軟體開發過程,能夠幫助開發團體交付企業級解決方案。VSTS的用戶覆蓋在整個軟體開發生命周期中(Software Development Life Cycle - SDLC),為軟體開發項目流程中不同角色的人員提供相應的工具,並且最重要的是將這些工具很好地整合在一起。所謂可擴展性就是它提供了一套標準的開發介面,任何開發商都可以基於該介面開發出第三方的組件,從而使該工具更加豐富,靈活而強大,實際上在VS2005發布后就有很多ISV(獨立軟體供應商)發布了他們的基於2005的插件。
Visual Studio Team System包含了微軟解決方案框架(MSF),Microsoft 解決方案框架 (MSF) 是一種成熟的、系統的技術項目方法,它基於一套制定好的原理、模型、準則、概念、指南,以及來自 Microsoft 的、經過檢驗的做法。
MSF的定義並不是一套項目管理的步驟, MSF所提供的是一套指導性的原理、模型、準則、概念等,比如MSF核心有八個基礎原理,他們是:
· | 推動開放式溝通; |
· | 為共同的前景工作; |
· | 賦予小組成員權利; |
· | 建立清晰的責任和共同的職責; |
· | 關注交付業務價值; |
· | 保存靈巧,預測變化; |
· | 質量投資; |
· | 學習所有的經驗; |
這些基本原理是MSF的核心,它們貫穿於項目開發過程中的各個方面。
MSF的準則包括項目管理準則、風險管理準則和就緒管理準則。這些準則對於 MSF 小組和過程模型的良好運作十分重要。它們起源不在 MSF 之內;它們在行業內部得到了很好的檢驗,並有全面的知識體系來支持。MSF 具有與基礎原理和模型相配套的特定準則,並在需要的時候用它們對框架的其他元素進行補充。總之,MSF 並沒有嘗試去完全重建這些準則,而是去突出在被應用到 MSF 環境里的時候它們是如何去適應的。
MSF 的遠景目標是為軟體專業人員提供由軟體專業人員開發的高效、集成和可擴展的流程指導。
高效:MSF 的一個關鍵遠景目標是提高人們的工作效率。MSF 的流線型和自定義的流程指導表示,提供對高效性的支持。利用清單和指導(而不是詳細的內容),用戶可以迅速確定完成一項任務或活動的需求。
集成:通過整套工具的無縫集成、以及幫助和 MSF 內容的集成,在工具內即可提供解決方案和指導。所有這些元素均可輕鬆地在 MSDN 及整個工具集的所有方面進行更新。可以對內容本身進行組織,以實現輕鬆維護
可擴展:流程指導和幫助在 MSF 內是完全自定義的。用戶可以選擇一個靈活或正式的方法,整合基於方案的開發,並通過內容確定他們自己的路徑。
MSF 指導關注的是對“人與流程”的管理。因為軟體開發小組的需要和做法在不斷發展,所以收集到 MSF 中的材料也同步進行不斷地更改和擴展。另外,MSF 與 Microsoft Operations Framework (MOF) 相互配合,從而為操作環境提供平穩過渡,這是長期項目成功的要求。
VSTS中為用戶提供了兩套過程模板(Process Template),在這裡我還是給出它的英文名稱,請原諒我,因為我實在找不出合適的中文名稱來翻譯這兩個模板,不過我相信讀者都能夠明白他們字面上的意思。
MSF for Agile Software Development
MSF for CMMI Process Improvement
這兩個模板包括了工作項類型的定義以及狀態轉換流程、源碼控制的策略、安全設置、項目站點的內容、預定義的報告等等,也許你現在並不理解他們的含義,後面我們會有一章專門介紹所有這些內容。你只要知道這兩個模板定義了很多項目開發中要用到的元素,並且你可以完全自己定製這些元素,使得它們適合用戶自己的項目。其中Agile模板適於小型團隊的開發,比較輕巧,簡單。CMMI模板則是一套比較完全而複雜的模板,其中提供了滿足SEI CMMI三級的基本要求的敏捷開發模式。
除此以外,VSTS中還有很詳細的幫助文檔,介紹每一種過程模板的開發流程。
VSTS是以角色為基礎的,包含項目開發中的各類角色成員:
· | 項目經理(Project Manager) |
· | 軟體架構師(Software Architect) |
· | 開發工程師(Software Developer) |
· | 測試工程師(Software Tester) |
· | 解決方案構架師(Team Foundation Server) |
各類角色成員通過使用VSTS而在項目開發過程中緊密地結合起來,及時有效的完成角色的任務。
Product Suites:
· | VS2005 Team Edition for Software Architects |
· | VS2005 Team Edition for Software Developers |
· | VS2005 Team Edition for Software Testers |
· | VS2005 Team Foundation Server |
· | VS2005 Team Test Load Agent |
· | VS2005 Team Suite |
Team Suite 是VSTS的組成部分,它為核心軟體開發團隊中的每個角色成員提供了相應的工具,比如軟體設計,開發和測試,以及團隊溝通和管理方面,是成員之間形成自由,無縫的連接。通過和Visual Studio Team Foundation Server的整合使用,, Team Suite幫助項目管理者更好的控制產品在軟體生命周期中的每個環節。
· | Team Foundation Server |
· | Team Foundation Client |
其中,TFS是伺服器端,基於SQL Server2005的支持,它由Application Tier—AT,Data Tier—DT,Team Foundation Build,Team Foundation Server Proxy組成。在TFS端有Dual – server和Single – server的概念,對於Dual – server,即AT和DT分別安裝在兩台獨立運行的伺服器上,分別完成各自的功能;Single – server,即AT, DT安裝在同一台伺服器上。所有項目涉及到需要管理的數據都保存在TFS上,無論是Work Items , Source control , Build , Documents還是Reporting,它們的存取都是通過對TFS的訪問來實現的。
TFC被稱作客戶端,它通過四種方式來實現與伺服器的連接,Team Explorer (VS2005IDE),MS Excel,MS Project,IE Browser (SharePoint portal)。這四種方式通稱作Project Management,它負責從客戶端建立連接到伺服器,查詢數據,創建新項目,瀏覽項目網站(Team Portal),創建查詢等等。
· | Work Item Tracking(WIT) 整合了所有的工具用來創建,追蹤,管理用戶自定義的工作項目。 |
· | Version Control 是類似於但是比SourceSafe更高效,功能更全面的代碼管理工具。 |
· | TFS Build 作為Build工具提供了強大的build功能,例如自動編譯併發布,定時編譯。 |
· | TFS Reporting 基與Yukon Analysis Services 可以通過工具實現整體數據報告和趨勢分析報告。 |
· | TFS Process Guidance |
· | MSF – Microsoft Solution Framework |
· | 可以使用Office 管理項目數據,通過Project和Excel能直接對工作項目數據進行同步更新管理。 |
· | Project Portal 是為整個項目建立的WebService,基於Windows SharePoint-Services,方便用戶隨時隨地通過瀏覽器來訪問項目數據,查看報表,監督項目進度等。 |
WIT是Team Project中對數據項目,如Task , Scenario , Bug等進行跟蹤,管理;並且所有的數據項目用戶都可以採取自定義化處理,用戶能夠根據項目的實際需要定製適合的Work Item.特別是ClearQuest Converter提供了將IBM Rational中的數據,經過格式轉化導入TFS 資料庫的功能。
安裝VSTF的基本需求包括:
系統要求: Windows server 2003 SP1 (Ent / Std)
軟體需求:
· | SQL Server 2005 (Ent / Std) , with hotfix KB912838 |
· | .NET framework 2.0 with hotfix KB913363 |
· | Windows SharePoint Service 2.0 with SP2 |
· | Excel 2003 , MS Project 2003 (client side) |
帳戶需求:
· | TFSSETUP (必須已加入administrator組) |
· | TFSSERVICE |
· | TFSREPORT |
· | TFSPROXY |
硬體需求:
Configuration | Tiers | CPU | HD | Memory |
One server, less than 20 users. | Application and data tier server | single processor, 2.2 GHz | 8 GB | 1 GB |
One server; 20 to 100 users. | Application and data tier server | dual processors, 2.2 GHz | 30 GB | 2 GB |
Two servers; 100 to 250 users. | Application tier server Data tier server | single processor, 2.2 GHz dual processors, 2.2 GHz | 20 GB 80 GB | 1 GB 2 GB |
Two servers; 250 to 500 users. | Application tier server Data tier server | dual processors, 2.2 GHz quadruple processors, 2.2 GHz | 40 GB 150 GB | 2 GB 4 GB |
單伺服器部署方式:
· | 將伺服器配置成Application Server |
· | 更新Windows(W2003 SP1) |
· | 安裝SQL Server 2005,並嘗試http://hostname/reports可以打開 |
· | 安裝SQL Server 2005的補丁KB912838 |
· | 安裝WSS2.0 (with Server Farm mode),訪問http://hostname |
· | 安裝Team Foundation Server |
雙伺服器部署方式:
DT:
· | SQL Server 2005 |
· | Team Foundation Server Data Tier |
AT
· | Application Server |
· | SQL Server Reporting Services |
· | WSS with SP2 |
· | Team Foundation Server Application Tier |
下面介紹一下關於ProjectManagement更加細節的部分。
Visual Studio Team System
當把TFC安裝到用戶的客戶端機器上后,就意味著已經可以使用和項目相關的一些管理工具或功能了,在VS2005,Excel 和MS Project里都會出現“Team”菜單和工具欄,在這些菜單和工具欄中,提供了相應的功能,如連接TFS,下載Work items,發布或刷新work items等。
Team Explorer是在Visual Studio環境里用來管理項目數據的工具,以下簡稱TE,我們可以通過運行菜單或者點擊工具欄來打開Team Explorer窗口,如圖2.1所示。它是一個樹狀結構的管理工具,根目錄是TFS的域名,每一次只能連接一個伺服器。在伺服器根目錄下面,是保存在該目錄下的所有項目的名稱,我們可以選擇其中的一個或者多個顯示出來。
當我們需要創建一個新的產品項目的時候,可以通過TE工具窗口來實現,在伺服器根節點上執行右鍵菜單“New Team Project…”,將會打開一個創建新工程的嚮導(“Project Creation Wizard”)跟隨嚮導,用戶可以自定義一些設置,選擇合適的模板或用戶自定義模板。確定是否要創建Source Control.
其中模板的選擇是尤為重要的,因為選擇不同的模板就意味著定義了所使用的Work Item類型以及安全設置等信息。通常情況下VSTF會提供2個符合MSF規範的樣例模板,如“MSF for Agile software development” and “MSF for CMMI process improvement”,這兩個模板分別適用於規模和複雜程度不同的項目。當然,Team Foundation的可擴展性允許用戶自定義模板,並使用自定義模板創建新項目。
在Team Foundation中,允許用戶定義任何數據類型當作是過程中所使用的工作項目,比如Bug , Task , Scenario , Risk等等。也可以定義工作項目的組成,狀態,還有傳輸過程等信息。
在TE里,有一個節點叫做“Work Items”,在這個節點下面可以對bugs,tasks等進行查詢,修改,管理。通常用戶可以通過選擇”Work Items”下的Query來查詢Work Items. 這裡有兩個查詢的文件夾,一個是Team Queries,它保存的Queries是對當前TFS所有用戶都可見的,而另一個My Queries只保存當前用戶的石油記錄。
名字叫做Documents的文件夾的功能是存放和項目相關的一些文檔和資料。這些文檔也可以通過訪問Team Portal而獲得。
Reports文件夾用來管理和生成項目的報告。可以創建新的報告或是打開已經存在的報告。Team Foundation是通過使用SQL 2005的reporting服務來實現此功能的。
通過Team Builds節點,實現對項目Build服務的管理,比如可以創建新的Build類型,打開已有的Build類型或即時編譯。
源代碼管理窗口通過Source Control節點打開。
創建新Project的同時TFS也為該項目創建了相應的網站支持(Team Portal)。Team Portal使用Share Point服務提供支持。Team Portal可以通過IE瀏覽器訪問,也可以右鍵選擇“Show Project Portal…”打開。
集成到Excel中的TFC功能來實現連接Team Foundation伺服器, 查詢數據,修改記錄,同步/保存結果。能夠自由選擇需要導入Excel的列。
可以通過類似的方法使用MS Project來實現同樣的功能,功能來實現連接Team Foundation伺服器, 查詢數據,修改記錄,同步/保存結果。