學習VSTS有一段時間,打算把學到的東西整理出來.看看VSTS是個什嗎?理順以下此前接觸到的知識點。
1: VSTS是什麼?
2: VSTS能做什麼?
3: VSTS中有哪些角色?
4: VSTS有哪些組成部分?
5: VSTS如何安裝?
6:設計分布式系統
7:對軟體專案管理的支援
8:單元測試
9:邏輯 DataCenter 設計工具簡介
10:應用程式設計工具簡介
11:企業級原始程式碼控制和工作項目跟蹤
一: VSTS是什麼?
1: 名稱: Microsoft Visual Studio 2005 Team System 。
2:提供生命週期工具。
3:功能:
提供開發分布式應用程式的工具與技術。
提供必需的工具和指導來解決應用程式複雜性及其設計、開發和部署所必需的生命週期問題。
軟體開發生命週期的改進
1)資訊交流:
自動從使用的工具那裡收集資訊,簡化報告過程。
即:採集到的資料儲存在資料倉儲中。
2)整合的工具
將測試和效能工具(例如,單元測試、程式碼分析和效能分析)合并在一起。
3)簡化的、整合的工作流程和過程
將過程體現為實際的工具行為,
做法:將過程整合到團隊成員日常使用的基本工具中。
自動收集跨職能的項目標準,無需人工報告的相關開銷。
內建SDLC 過程的支援,使得支援工作流程。
整合:
1)使用者介面整合:
提供跨整個 SDLC 工具套件的,例如,單元測試、工作項目跟蹤、代碼剖析以及程式碼分析。
2)Data Integration:
使用一個跨工具集的資料倉儲,啟動了一個彙總的項目狀態視圖。
結果:團隊根據能夠收集到的規則來管理項目。
通過平衡利用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:角色:
提供支援整個軟體Team Dev的工具:
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 包括一個新的工作項目跟蹤系統(用於管理開發工作單位和過程實現),
以及一個 入口網站網站(允許開發過程的一個透明層級)。
5:能做什麼
1)建立Team 專案:
設定方法樣板, 建立Windows SharePoint? 服務 (WSS) 團隊網站(該網站如何判斷許可權我倒是不知道)。
2)設定項目:
設定安全許可權(新增成員,使用者組),原始碼控制策略,建立項目結構(迭代次數)
3)項目文檔:
建立文檔(提供模版),儲存在WSS網站中,工作項目的匯入。
4)管理工作項目:
(包括文檔任務、設計任務、開發工作單位、錯誤或需求,軟體開發過程中需要完成的每個任務都可以被認為是一個工作項目),
建立工作項目,工作項目跟蹤
5)開發:
編寫代碼,Managed 程式碼分析
6)測試
a:單元測試:
測試的建立,建立資料驅動的單元測試,執行測試,測試的組織,測試報告,代碼覆蓋,結果發布
b:載入測試:
建立、管理和運行 Web 載入測試
c:測試器
d:手動測試器:
儲存並管理項目現有的各種手動測試
e:錯誤跟蹤:
嵌入在 Team System 之中,並作為任務分配給某人使用
8)團隊網站和報告:
包括管理員、專案管理人員、測試人員、業務使用者、分析人員,以及對開發項目狀態有興趣的任何人
7)原始程式碼控制:
8〉軟體專案管理
6:設計分布式系統
分散式系統設計工具:旨在改進企業級分布式系統的開發、部署和管理。
用系統定義模型(System Definition Model,SDM)作為描述應用程式服務和運行時環境的串連狀況、
配置情況和相互關係的基礎元模型。
1〉應用程式串連設計器(ACD):
協助開發人員或架構師定義和配置組成供部署的系統的應用程式。
2〉邏輯 DataCenter 設計工具(LDD):
用於建立相互串連的邏輯伺服器的關係圖,這些關係圖表示資料中心的邏輯結構。
3〉系統設計工具
用於根據ACD中定義的應用程式組成和配置系統。
4〉部署設計工具
用於定義如何將特定系統部署到目標邏輯 Datacenter。通常,部署設計工具由開發人員和架構師使用。
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:邏輯 DataCenter 設計工具簡介
用於建立相互串連的邏輯伺服器的關係圖,這些關係圖表示資料中心的邏輯結構。
1)建立邏輯 DataCenter 圖表
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 原型
跨平台 app程式(針對所有其他應用程式類型): 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〉管理伺服器操作
監視伺服器並管理警示、備份和恢複項目資料庫、計劃伺服器的容量、
管理伺服器Hotfix以控制來自 Microsoft 的安全警告、
設定並升級基於伺服器的新產品推廣、檢查資料庫的一致性並糾正問題、
診斷效能問題,以及分配伺服器端和資料庫的許可權
3)通過 Web 介面跟蹤工作項目
利用工作項目跟蹤工具包的 Web 介面外殼來跟蹤工作項目
4)原始程式碼控制
5)原始程式碼控制提供者說明
現成為一項 ASP.NET Web 服務。
源檔案和項目中繼資料存放區在SQL Server 資料庫中。
原始程式碼控制操作以原子和事務的方式執行。
1〉團隊內的開發:隔離和聯合
2〉Visual Studio 中原始程式碼控制的整合
3〉其他的 Visual Studio Team Foundation 更改管理功能
4〉擴充性問題