TFS(Team Foundation Server)介绍和入门
在本文的兩個部分中,我將介紹Team Foundation Server的一些核心特征,重點介紹在本產品的日常應用中是如何將這些特性結合在一起使用的。
作為一名軟件開發人員,在我的職業生涯中,我經常會用到支持軟件開發過程的大量開發工具,如版本控制工具、漏洞跟蹤包、生成腳本語言、單元測試框架 和需求分析工具等等。在.NET平臺上,大量的支持工具能夠很好地獨立工作,但是,為了使得各種工具之間都夠互相協作,還是經常需要一些手動工作。
隨著Visual Studio產品線中Team Foundation Server組件的發布,微軟使得開發團隊在僵化的軟件工程實踐應用中取得了巨大進步。這并不是因為該產品包含的各種新增特性一定是最好的,關鍵因素是它的集成性。
Team Foundation Server起步
Team Foundation Server(TFS)是這樣一種服務器產品,它需要部署到軟件開發環境中,這樣開發人員就可以使用它提供的各種服務。因為TFS是設計用于大規模團隊,因而有兩種拓撲結構供選擇:雙服務器和單服務器。
在單服務器部署中,TFS被安裝在Windous 2003 server上,且該機器上已安裝了SQL Server 2005數據庫服務器、Web服務器IIS以及windows SharePoint Services。這種類型的安裝可以滿足大量用戶需求,并且適用于大部分條件。
雙服務器部署將SQL Server 2005 的數據庫引擎和分析服務組件分開安裝在不同的機器上,這樣就可以實現可擴展性(通過增大用于大量用戶注冊操作的空間以及將處理負載的不同數據倉庫安裝在不同的機器上實現,這種機器最大可達64位。)
安裝了TFS服務器后,客戶端可以通過安裝Team Explorer來訪問服務器。Team Explorer是一組組件,它包括簡單版本的Visual Studio 2005(如果是在已經安裝了Visual Studio 2005的機器上就僅僅是再添加更多功能)和大量用于微軟的Excel和Project的插件,利用Excel和project可以訪問存儲在Team Foundation Server數據庫中的數據。
Team Explorer可用于訪問Team Foundation Server的以下特性:
- 過程引導
- 工作項跟蹤
- 版本控制
- 自動生成
- 報告
創建一個團隊項目
在開發團隊可以使用Team Foundation Server之前,必須先創建一個團隊項目,團隊項目代表了一個所有團隊活動都在這里發生的管理單元。為了創建一個團隊項目,Team Foundation Server管理員需要打開Visual Studio 2005和 Team Explorer工具窗口(從視圖菜單)。當打開Team Explorer 窗口后,就可以建立一個到服務器的連接。
右鍵單擊樹狀視圖中的服務器節點,TFS管理員就可以選擇“新建團隊項目”。事實上,這個選項通常是隱藏的,可見需要新建一個團隊項目的情況是很少的。絕大部分情況下,一個軟件開發團隊在一個大型軟件的生命周期中僅有一個團隊項目。
創建團隊項目時,開發小組需要做的第一件事情是決定使用那個開發模型。
選擇開發模型
Team Foundation Server允許開發小組選擇他們想要使用的任何特定軟件開發方法。下面的列表中提供了兩種開發模型:
- 敏捷模型驅動軟件開發
- 能力成熟度集成模型軟件開發
每個開發模型都有一組特有的定制特性,包括定義工作項(要做的事情、要確定的事情、需求等等),過程管理和報告。下表顯示了兩個默認的開發模型中不同工作項的分解:
| 敏捷模型驅動軟件開發 | 能力成熟度集成模型軟件開發 |
| 漏洞 服務要求的質量 風險 場景 任務 | 漏洞 改變請求 問題 需求 回顧 風險 任務 |
在這種情況下即使工作項的數目和名稱存在差異,也應該指明使用這兩種開發模型通用方法,而不是開發小組來推測他們該如何使用這些工作項類型,開發模型可以包含一些可選的過程管理頁面。
如果對話框中的模型不適合你的具體要求,可以訂制它們以滿足你的要求。事實上,已經有大量可以獲得的第三方開發模型,如Scrum and process MeNtOR。?
訪問工作項存儲器
創建了團隊項目后,開發小組需要做的第一件事是分解已經創建的初始工作項集。這些工作項幫助開發人員完成一系列可以使得軟件項目成功開始的活動,并 且依據不同的開發模型選擇不同的工作項。通過展開團隊項目節點,就可以看到工作項文件夾,繼續展開然后打開查詢文件夾可看到全部或部分工作項。
書寫定制得工作項查詢
最后需要書寫一個新的工作項查詢列表。新定義的查詢可以放在“團隊查詢”和“我的查詢”這兩個文件夾的任何一個。團隊查詢是一個可被項目小組中的所有開發人員訪問的全局可訪問容器,我的查詢是一個由每個程序開發員所有的私有查詢集。
我經常使用的一個有用的查詢是Recycle Bin query,這個查詢可用于打開最近關閉又需要重新打開的工作項(偶然關閉工作項的情況時有發生)。第一步是從工作項節點的背景菜單中選擇“添加查詢”。
在查詢編輯器打開后,簡單的用戶接口就可以基于某些簡單的表達式從工作項列表中過濾出需要的項目。在上面的情況中,查詢設置為返回當前狀態為關閉的團隊項目中的所有工作項。?
應用Team Foundation Server的版本控制
訪問了工作項,就可以應用Team Foundation Server中的版本控制。像TFS中的其它特征一樣,版本控制功能位于SQL Server 2005之上,用于提供良好的性能和可擴展性(實際上,宿主在TFS中的版本控制存儲器的大小估計有千兆字節。開發小組可能遇到的第一個與版本控制相關的 工作項是遷移已經存在的源代碼,這個工作項提供了在遷移源代碼是需要做什么的詳細視圖。
配置一個工作區
在程序員將文件添加到版本控制存儲器之前,需要將版本控制存儲器的邏輯結構映射到本地機器上的文件系統。Team Foundation Server 引入了工作區的概念。工作區是物理位置和文件系統間的一組映射,一個文件系統與一個特殊用戶和計算機組合相匹配。在文件上進行工作的程序員,他們是邏輯的 進出工作區。為了建立一個工作區,程序員需要雙擊Team Explorer中的源碼控制圖標,到工作區下拉菜單。
我發現將整個源代碼樹的根映射到本地驅動器上的一個具體位置并將其作為唯一映射是最簡單的方法。我自己的方法是在我的數據驅動器的根目錄上創建一個 “沙盒”目錄,在它的下級有一個子目錄,將其命名為我連接到的TFS服務器的名字。(我連接到了多個TFS服務器,因此一定要注意避免混淆)。
建立了映射之后,瀏覽源代碼控制瀏覽器將會列出源代碼樹上邏輯位置的本地路徑。至此你就可以添加源代碼到這個容器中。
程序員面對的一個局限是他們不能將文件添加到版本控制存儲器的根中($/),且所有以及文件夾都直接和某個特定團隊項目相關。這里面的邏輯是,一個Team Foundation Server可用于大量項目,每個項目應該在它們自己的區域內工作。?
添加源代碼到Team Foundation Server
在Team Foundation Server中安排源代碼有無數的方式,你為什么選用這種而不用另一種,詳細的原因說明超出本文的范圍。下面選擇的方式僅是一個用于演示例子。特別的地方 是,我選擇添加了三個字文件夾:Trunk, Branches 和Releases,如下圖。
文件夾添加到版本控制系統后,其他的程序員并不會立即看到,他們必須像文件一樣進行注冊。在本例中,在注冊前我將添加一組解決方案和項目文件到這個容器中,然后一起注冊。
除了增強了性能和擴展性外,TFS將其版本控制系統安裝在SQL Server 2005上,這意味著,進行原子提交和注冊的方法是可能的。也就是說,要么全部注冊成功,要么全部失敗。注冊可以在源代碼控制瀏覽器或解決方案瀏覽器上執行(或者在強制改變工具窗口中進行)
版本控制系統和工作項存儲器在注冊時集成在一起。當注冊時,可以將其與一個或多個工作項關聯。例如,因為這是剛引入源代碼,所以我可以瀏覽注冊對話 框中的工作項視圖,選擇工作項3387和它關聯。注意當關聯工作項時無論默認的選擇如何都要將注冊行為設定為 “解決”,這樣做的目的是防止任務關閉工作項,因此較早建立十分有用的Recycle Bin 查詢。
建立一個注冊,就叫做一個改變集,一個源代碼容器不過是一系列不斷彼此堆積起來的改變集。因為在數據庫中改變集是一個可以區分的實體,因此可以將數 據和它關聯在一起,所以上面建立的改變集和工作項3387的關系可以在改變集中瀏覽或者在工作項中瀏覽。下面的屏幕截圖顯示了連到工作項的改變集。
新概念:擱置集
和Team Foundation Server中的版本控制相關的一個新概念是擱置集。擱置集的思想是程序員在過周末休息時,可以將在工作日做的改變放在某個安全的地方。建立一個擱置集相 當簡單,首先,程序員在解決方案瀏覽器中的背景菜單中選擇“擱置必要的改變”,然后出現下面的對話框。
程序員可以給擱置集一個名字,以便以后可以查找和恢復它,和注冊對話框一樣,擱置集也可以添加評論和關聯工作項。擱置集僅包含修改過的文件,因為改變集版本是從版本控制存儲器引出的,所以創建他們的相當簡單。
為了恢復擱置集,可以選擇背景菜單中的“解凍必要改變”選項,程序員可以查找由他們或其他程序員建立的擱置集。
事實上擱置集可以共享,這意味著它們可以很好的執行代碼預覽,增強單注冊點策略,這對一個特別項目在封裝時可能很十分有用。
在本文的下一部分,我將詳細介紹擱置集,TFS中完善的分支支持,TFS是如何支持自動生成的并介紹一下報告功能提供的功能。
功能介紹一:微軟最新配置管理工具
在 當今的環境下,公司業務越來越復雜,軟件開發復雜度也越來越高,此時發現在眾多項目中時有這樣的現象發生:文檔散落在不同地方,代碼缺失,代碼和文檔不一 致,同一系統多個版本,各項目采用不同配置管理工具、無統一的規范,隨著時間推移我們的項目管理風險不斷上升、項目實施難度不斷增加、項目實施質量難以掌 控。如何能夠快速地構造出高質量的應用系統來滿足不斷變化的業務增長所帶來的需求?我們急需要建立一套完善的配置管理體系,來提高生產效率,提高產品質 量,最終實現企業效益最大化。現階段配置管理面臨的挑戰是: l?統一的規范 l?更好的組織性,更高的開發管理水平 l?保護投資 :企業級的過程歷史數據、經驗、數字化資產 l?建立標準的開發環境 l?實現并行開發,縮短產品面市時間 l?自動化管理 l?為創造性的工作釋放更多的時間 l?員工更加專業 而通過微軟的Team Foundation Server(TFS)實施軟件配置管理可以有效解決這些問題,例如能夠集中管理各項目的文檔、代碼,對項目中的文檔、代碼等的變化進行有效管理,能夠方 便地重現某個文件的歷史版本,能夠重新編譯某個歷史版本,使文檔維護工作變得容易、能夠使多團隊并行開發成為現實,同時實行統一的配置管理流程可提高項目 組間人員流動時的工作效率,也是對工作成果的一種有效保護。功能介紹二:外包管理工具
隨著信息技術的飛速發展,軟件已進入了社會生活的方方面面,越來越多的企業將他們的業務系統構建在以軟件為核心的系 統之上,企業通過它們來為自己的客戶提供快速優質的服務。正因為軟件已經成為業務的基礎平臺,企業的核心競爭力在很大程度上取決于軟件系統的質量,要求軟 件系統能夠迅速適應業務需求的變化,同時保證軟件系統的高性能、高可靠性和可維護性。然而對于大部分企業而言,軟件開發并不是他們所擅長的業務,加上軟件 系統的復雜性及很高的質量要求,大部分企業都選擇將軟件開發項目外包出去,由專業的軟件開發(供應)商來負責軟件的開發。但是軟件外包并不意味著企業對于 軟件的開發過程放手不管,企業應該建立與供應商之間的協議,并且監控供應商的開發過程,并對供應商提交的最終系統進行全面的驗收,從而徹底保證供應商能夠 按時交付一個高質量的軟件系統。 軟件項目的成敗在很大程度上取決于對其開發過程的控制,這包括對質量、源代碼、進度、資金、人員等的控制。要進行有效的過程控制,僅僅依靠人的力量是不夠的,還需要有相應的管理工具支持以實現高效的“軟件生命周期管理”。然而由于歷史和現實的原因,軟件生命周期管理流程和工具在我國軟件行業中的應用并不普及,由于缺乏必要的管理流程和工具,很多企業在軟件外包項目中都會或多或少的遇到如下的問題:l?缺少統一的開發管理流程指導,無法保證項目的質量和成功率 l?開發出來的系統不能滿足用戶或者業務需求 l?開發過程不透明,很難監控開發的進展情況 l?不能及時了解項目的進度,經常導致項目延期 l?無法有效的控制項目的變更,增加了項目的風險 l?無法有效實現多地的協同開發,增加外包開發成本(場地,差旅費) l?軟件復用率低下,降低了企業的投資回報率 l?無法開展規范化的測試工作,很多問題要到驗收階段才會暴露出來 l?缺乏軟件開發歷史數據的積累,無法準確估算項目成本 l?缺乏必要的版本管理工具,系統在構建和發布時產生問題 l?缺乏相應的文檔,增加了維護和升級的難度 這些問題導致很多企業對外包項目不能進行有效的控制或是在開發中造成過多的資源浪費(各個系統間太多的重復開發),以及開發出來的系統不能響應市場快速的變化。這些問題直接降低了發包方企業的生產力,增加了企業運營成本。要從根本上切實提高軟件外包開發的管理水平,必須從多方面入手,引入先進的開發流程,借鑒業界的最佳實踐,以及構筑高效的系統開發管理平臺是必然的選擇。 為了解決上述的外包開發管理中的常見問題,我們基于微軟最新發布的軟件生命周期工具,設計了微軟的軟件外包開發管理解決方案,能夠對多平臺和地理分布的開發團隊提供必要的開發流程指導,實現高效的項目管理,促進項目團隊的溝通,并提供了緊密集成的變更和配置管理系統,為企業建立了先進的軟件協同開發管理平臺。 轉:http://blog.csdn.net/camel0564/article/details/3122646總結
以上是生活随笔為你收集整理的TFS(Team Foundation Server)介绍和入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中邮消费金融是邮政银行吗
- 下一篇: 信用卡诈骗立案标准