原文:http://www.qddn.net/blogs/xumingxsh/archive/2006/01/19/4513.aspx
學習VSTS有一段時間,打算把學到的東西整理出來.看看VSTS是個什麼?理順以下此前接觸到的知識點。
1: VSTS是什麼?
2: VSTS能做什麼?
3: VSTS中有哪些角色?
4: VSTS有哪些組成部分?
5: VSTS如何安裝?
6:設計分布式系統
7:對軟體項目管理的支援
8:單元測試
9:邏輯資料中心設計器簡介
10:應用程式設計器簡介
11:企業級源代碼管理和工作項跟蹤
一: VSTS是什麼?
1: 名稱: Microsoft Visual Studio 2005 Team System 。
2:提供生命周期工具。
3:功能:
提供開發分布式應用程式的工具與技術。
提供必需的工具和指導來解決應用程式複雜性及其設計、開發和部署所必需的生命周期問題。
軟體開發生命周期的改進
1)資訊交流:
自動從使用的工具那裡收集資訊,簡化報告過程。
即:采集到的資料儲存在資料倉庫中。
2)內建的工具
将測試和性能工具(例如,單元測試、代碼分析和性能分析)合并在一起。
3)簡化的、內建的工作流和過程
将過程展現為實際的工具行為,
做法:将過程內建到團隊成員日常使用的基本工具中。
自動收集跨職能的項目标準,無需人工報告的相關開銷。
内置SDLC 過程的支援,使得支援工作流。
內建:
1)使用者界面內建:
提供跨整個 SDLC 工具套件的,例如,單元測試、工作項跟蹤、代碼剖析以及代碼分析。
2)資料內建:
使用一個跨工具集的資料倉庫,啟動了一個聚合的項目狀态視圖。
結果:團隊根據能夠收集到的規則來管理項目。
通過平衡利用SDLC 的資料來管理項目規則。
不僅限于缺陷跟蹤,而是包括測試結果、代碼涵蓋、代碼生成、任務進度等。
團隊還能夠建立自定義報告。
3)過程內建:
将過程與工具相內建,確定在項目各階段之間或各種項目角色之間丢失内容。
擴充性
Visual Studio Team System 利用
Visual Studio Team Foundation Core Services (TFCS) [Team Foundation核心服務]将工具內建在一起。
TFCS 提供內建工具,無需工具間的緊密耦合。
SDLC 工具可以利用與第三方可用的擴充性功能相同的擴充性功能。
擴充性展現在內建的三個層次:UI、資料和過程。
1)使用者界面擴充性:
Visual Studio 內建開發環境 (IDE)的擴充。[未做深入調查。]
2)資料擴充性
TFCS 能将第三方工具用于資料倉庫。
3)過程擴充性:
題外話:如何內建各種工具?即:如何實作擴充性?[團隊基礎 (Team Foundation) 內建服務]
1)VSTS提供一組服務并定義API,允許工具內建。
2)能插入到使用者界面以供使用。
3)能将資料添加到報告倉庫中并在報告中利用這些資料。
3:角色:
提供支援整個軟體開發團隊的工具:
1)架構師
提供直覺地建構面向服務的解決方案的工具。是什麼工具呢?
2)開發人員
提供進階的靜态分析、代碼剖析、代碼涵蓋以及單元測試工具。
3)測試人員
提供了用于管理和運作各種測試(包括單元測試、手工測試和 Web 測試)的工具,以及檢驗性能的進階負載測試工具。
4)項目管理人員
提供一套項目管理工具(Microsoft Excel、Microsoft Project 和 Windows SharePoint Services),
與 Microsoft Office 內建
站點提供項目狀态視圖,及追溯風險承擔者的功能。即:資料收集的自動化。
5)團隊協作
Portfolio Explorer:
從項目站點獲得的工作産品內建到 IDE,讓團隊能進行有效的通路。
還提供一個可擴充的工作項跟蹤系統和企業級别的源代碼管理。
4:組成:
Visual Studio 2005 Team System 包括 Visual Studio Team Foundation 平台和一套工具。Team Foundation 包括:
工作項跟蹤
項目管理
源代碼管理
內建服務
描述:
Team System 的核心是內建的更改管理元件,
這些元件是:
工作項跟蹤
源代碼管理
政策支援
通知和報告生成功能
這些元件統稱為 Visual Studio Team Foundation。
Visual Studio 2005 Team System 中的附加工具有:
Architecture and Design
Public Builds
Code Analysis 和 Testing
另一種Team Foundation 組成:
1)資料層:
由SQL Server 2005組成,存儲工作項、版本控制源檔案、測試結果及其他用于衡量項目的關鍵名額。
2)應用層:
由基于網絡的和前端的應用組成。與 (IIS) 內建。
這些應用包括Team Foundation核心服務和SharePoint Services。
應用層還是Team Foundation Windows services的宿主。
Team Foundation應用層也包括Team Foundation Build和Team Foundation Server Proxy。
Team Foundation Build提供自動建構服務。
Team Foundation Server Proxy對版本控制的源檔案進行緩存,以提高版本控制操作在窄帶連接配接情況下的性能。
3)客戶層
由Team Explorer組層,它作為一個獨立的應用程式或者內建在Visual Studio 2005中 (不包括Visual Studio 2005 Express 版本)。
客戶層也內建了Project和Excel,可以檢視項目資訊,向Team Foundation Server釋出資訊。
第三種組成:
Team System 包括一個新的工作項跟蹤系統(用于管理開發任務和過程實作),
以及一個 Web 門戶網站(允許開發過程的一個透明級别)。
5:能做什麼
1)建立團隊項目:
設定方法模闆, 建立Windows SharePoint? 服務 (WSS) 團隊站點(該站點如何判斷權限我倒是不知道)。
2)配置項目:
設定安全權限(添加成員,使用者組),源代碼控制政策,建立項目結構(疊代次數)
3)項目文檔:
建立文檔(提供模版),存儲在WSS站點中,工作項的導入。
4)管理工作項:
(包括文檔任務、設計任務、開發任務、錯誤或需求,軟體開發過程中需要完成的每個任務都可以被認為是一個工作項),
建立工作項,工作項跟蹤
5)開發:
編寫代碼,托管代碼分析
6)測試
a:單元測試:
測試的建立,建立資料驅動的單元測試,執行測試,測試的組織,測試報告,代碼覆寫,結果釋出
b:加載測試:
建立、管理和運作 Web 加載測試
c:測試器
d:手動測試器:
存儲并管理項目現有的各種手動測試
e:錯誤跟蹤:
嵌入在 Team System 之中,并作為任務配置設定給某人使用
8)團隊站點和報告:
包括管理人員、項目管理人員、測試人員、業務使用者、分析人員,以及對開發項目狀态有興趣的任何人
7)源代碼管理:
8〉軟體項目管理
6:設計分布式系統
分布式系統設計器:旨在改進企業級分布式系統的開發、部署和管理。
用系統定義模型(System Definition Model,SDM)作為描述應用程式服務和運作時環境的連接配接狀況、
配置情況和互相關系的基礎元模型。
1〉應用程式連接配接設計器(ACD):
幫助開發人員或架構師定義和配置組成供部署的系統的應用程式。
2〉邏輯資料中心設計器(LDD):
用于建立互相連接配接的邏輯伺服器的關系圖,這些關系圖表示資料中心的邏輯結構。
3〉系統設計器
用于根據ACD中定義的應用程式組成和配置系統。
4〉部署設計器
用于定義如何将特定系統部署到目标邏輯資料中心。通常,部署設計器由開發人員和架構師使用。
7:對軟體項目管理的支援
1〉共享資料和自定義視圖
自動捕獲視圖(通過推理所建立的關系來提供上下文資訊),
建立視圖(在不同的視圖中選擇群組織資料)
2〉在 Microsoft Excel 中建構工作項清單
提供Excel 附加元件,将Excel的清單對象,連接配接到工作項資料庫中。
建立工作項的兩種方式:
Portfolio Explorer
Excel
3〉使用 Microsoft Project 維護項目計劃
提供了Project 附加元件,将項目計劃和項目團隊資料連接配接在一起。
4〉Portfolio Explorer
公文包項目,将團隊建立的成果存放在一起。
Portfolio Explorer,可以從IDE 中導航到工作産品(例如,功能規範、風險評估和項目計劃)。
團隊成員可以檢視産品版本的資訊、進入到源代碼、查詢配置設定給他們的任務、檢視整體項目狀态、
定位文檔、檢視報告和建立與項目有關的工作産品。
5〉項目站點
存儲工作産品并對其進行版本控制。
在 Portfolio Explorer 中建立新的文檔節點,則會在項目站點中建立新的文檔檔案夾。
6〉團隊溝通和協作
a:工作項資料庫
存儲每個公文包項目的工作項。
有錯誤、風險、需求、方案、功能和任務。
錯誤的典型工作流是活動、待定、解決和關閉。
b:将代碼簽入與工作項相關聯
7〉:管理軟體流程
通過将流程內建到工具中,可以在成員間自動處理和交接。
組成一個流程的元素有:文檔模闆、工作項和工作流、報告、安全組、簽入政策和流程指導。這
些元素打包到一個方法模闆中。
a:現成的方法模闆
MSF
MSF Agile 和 MSF Formal。
b:流程指導
提供上下文的流程指導。
c:文檔模闆
d:工作項和工作流
工作項類型由方法模闆确定。
每個工作項都有一套字段和規則,可以确定該工作項的工作流程,及團隊成員配置設定和執行任務情況。
工作項跨 Portfolio Explorer、Microsoft Project 和 Microsoft Excel 內建。
工作項類型有錯誤、風險、任務、方案、功能和需求。
可添加。
e:退出條件
是一些特殊的任務,在退出特定活動或重要事件之前必須完成。
f:報告
描述項目的狀态和運作狀況。
可以通過 Portfolio Explorer 和項目站點進行通路。
可以添加或建立報告。
g:安全組
将組和權限與項目站點、工作項資料庫和其他資料庫同步。
h:簽入政策
i:自定義軟體流程
8〉通過 Rich Metrics Reporting 進行管理
報告服務。
9〉現成的報告
預定義的報告
a:代碼品質報告
b:計劃進度報告
c:計劃穩定性報告
d:測試合理性報告
10〉與 Microsoft SQL Server 2005 Reporting Services 相內建
8:單元測試
Team Test 是 Visual Studio 內建的單元測試架構,它支援:
測試方法存根 (stub) 的代碼生成。
運作測試。
從資料庫加載測試資料。
代碼覆寫分析。
包含了一套測試功能。
1)建立代碼。
2)建立測試
3)運作測試:
測試結果 (Test Results) 視窗,
“ConstructorTest[Results]”視窗:檢視測試的額外細節
4)異常檢查
5)從資料庫中加載測試資料
a:增加一個測試資料庫
b:将資料與測試關聯
屬性視窗,
資料連接配接字元串(Data Connection String),資料表名 (Data Table Name) 屬性
DataSourceAttribute屬性,
TestContext.DataRow調用:它在運作時由測試執行引擎自動指派
TestContext提供了 TestDirectory和 TestName資料,以及 BeginTimer()和EndTimer()方法。
c:實作和重構目标方法
為測試編寫實作了
6)代碼覆寫
7)初始化和清除測試
由屬性 TestInitializeAttribute和 TestCleanupAttribute修飾。
9:邏輯資料中心設計器簡介
用于建立互相連接配接的邏輯伺服器的關系圖,這些關系圖表示資料中心的邏輯結構。
1)建立邏輯資料中心關系圖
a:工具箱
資料中心元素:
DatabaseServer:資料庫的伺服器
GenericServer:未指定類型的伺服器
IISWebServer: Web 伺服器
WindowsClient:企業中的桌上型電腦,用于模組化對最終使用者的計算機限制
Zone:分隔的邏輯邊界,如防火牆。
端點元素:
DatabaseClientEndpoint:資料庫連接配接的使用者。
GenericClientEndpoint:非特定連接配接的用戶端。
GenericServerEndpoint:非特定連接配接的伺服器端。
HTTPClientEndpoint:HTTP 連接配接的用戶端。
WebSiteEndpoint:HTTP 連接配接的伺服器端。
ZoneEndpoint:區域邊緣的通信端點。
b:設定和限制編輯器 (SCE)
限制有三種類型:
隐式限制:隐式限制可以通過擴充性 SDK 進行建立
預先定義的限制
使用者定義的限制
2)建立初始模型
1〉将元素添加到模型
2〉連接配接伺服器
3〉用限制模組化政策
5〉為模型定義限制和設定
6〉區域
7〉在模型中使用區域
8〉從 IIS 導入設定
10:應用程式設計器簡介
幫助開發人員或架構師定義和配置組成供部署的系統的應用程式。
1)建立分布式系統解決方案
1〉應用程式與原型
工具箱包括兩種基于 ASP.NET 的原型:
ASP.NETWebServiceASP.NETWebService
ASP.NETWebApplication 原型
Windows 應用程式: WindowsApplication 原型
Office 應用程式: OfficeApplication 原型
外部或第三方 Web 服務: ExternalWebService 原型
外部資料庫: ExternalDatabase 原型
BizTalk Web 服務: BizTalkWebService 原型
通用應用程式(針對所有其他應用程式類型): GenericApplication 原型
2〉設計應用程式
3〉終結點和連接配接
4〉Web 服務詳細資訊
Define Operations/Web Service Details
5〉設定和限制
2)設計面向服務的應用程式
Implement All Applications
11:企業級源代碼管理和工作項跟蹤
1)內建工作項跟蹤和源代碼管理
VSTS中四種類型的構件:
work items
source files
changesets:當将檔案的修訂簽入到源代碼管理中時,
會在版本控制資料庫中建立一個具有唯一辨別符的新 changeset 構件,
以包含修訂和相關的中繼資料。
前三項是進行簽入操作的産品
builds
1〉将源檔案連結到工作項
2〉将工作項連結到 Changesets
3〉将版本連結到工作項
2)Checkin 政策
政策警告
3)生成報告
生成單個工作項的程序報告,跟蹤它直至完成,甚至可以檢視與其解析相關的代碼。
開發人員可以将代碼 checkin 和需要它的工作項和建構關聯起來。
4)工作項跟蹤功能
常見工作項類型示例包括:錯誤、需求、任務、風險和進度。
1〉建立工作項查詢
工作項查詢生成器
2〉通過解析和測試處理檢測到的錯誤
發現和錯誤
配置設定錯誤
解決錯誤
3〉根據團隊需要調整工作項窗體
4〉為窗體設定規則和權限
5〉管理伺服器操作
監視伺服器并管理告警、備份和恢複項目資料庫、計劃伺服器的容量、
管理伺服器修補程式以控制來自 Microsoft 的安全警告、
設定并更新基于伺服器的新産品推廣、檢查資料庫的一緻性并糾正問題、
診斷性能問題,以及配置設定伺服器端和資料庫的權限
3)通過 Web 接口跟蹤工作項
利用工作項跟蹤工具包的 Web 接口外殼來跟蹤工作項
4)源代碼管理
5)源代碼管理提供程式說明
現成為一項 ASP.NET Web 服務。
源檔案和項目中繼資料存儲在SQL Server 資料庫中。
源代碼管理操作以原子和事務的方式執行。
1〉團隊内的開發:隔離和聯合
2〉Visual Studio 中源代碼管理的內建
3〉其他的 Visual Studio Team Foundation 更改管理功能
4〉擴充性問題
SDLC:軟體開發生命周期
參考文章:
http://www.microsoft.com/china/msdn/library/langtool/vsts/0504TeamSystem.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/DataCenterDesigner1.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/DataCenterDesigner2.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/dnvs05introappdesigner1.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/dnvs05introappdesigner2.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/sentvstsover.mspx
http://www.microsoft.com/china/msdn/library/langtool/vsts/dnvsentvstspm.mspx