Team Foundation Team 專案
更新:2007 年 11 月
在 Team Foundation 中,Team 專案是一個集合,其中包括工作項目、程式碼、測試、工作產品、度量資訊 (Metric),以及可讓定義的小組用於追蹤常用之一組相關工作的類似項目。Team 專案的邏輯概念是要幫助您決定要在軟體應用程式的開發中加入或排除哪些項目,然後會透過實體工具、群組和工作流程及諸如此類的 Team 總管和 Team Foundation Server 來實作 Team 專案的概念。您對 Team 專案所劃概念上的界限,對於要如何建構 Team 專案以及何時要從某個 Team 專案轉換到另一個專案,都有很重要的含意。
Team 專案的邏輯定義
邏輯上 (或概念上) 而言,Team 專案是單一基礎結構,其中包含軟體應用程式開發週期中所用的所有個別工具和項目。開發階段中的每一個軟體應用程式或「Team 專案」都會以虛擬方式分組成它自己的命名空間 (此命名空間是該 Team 專案所專用);因此,Team 專案僅是一個容器,可以隔離與開發中的特定軟體應用程式相關所有工具和成品,好讓所有其他 Team 專案無法存取這些工具或成品 (例如,原始程式碼、工作項目和文件)。
Team 專案是指讓小組著重於特定軟體技術或產品之建立工作的中心概念;Team 專案也是與小組處理的軟體應用程式有關成品的虛擬集合。對於小組成員而言,Team 專案的概念可以讓存取與 Team 專案無關之多個成品的問題不再發生,這樣過多的成品會造成混淆,也會延遲軟體的開發過程。Team 專案至少要由一組工具和成品所組成,Team 專案也可包含原始檔控制原則、Team 專案報告站台和 Team 專案入口網站。Team Foundation Team 專案可在 Team 專案的建立期間,讓流程範本去選取哪些工具是相關的,而且要加入到 Team 專案容器中。
Team 專案的概念可增強橫跨小組所用之所有工具之間的報告;在過去,跨工具的報告是一個很大的挑戰,因為不同工具的資料彼此並不相關,例如,如果軟體開發人員想要取得跨工具的缺失報告,將必須區分多個專案中的缺失,因為這些缺失全都儲存在共同的位置。現在,在命名空間中建立了 Team 專案,其中只包含與軟體專案有關的工具和成品,因此,建立了共同的篩選器,讓不同工具中的不同成品可以產生關聯。
單一 Team Foundation Server 伺服器可包含多個 Team 專案,每一個專案都是建立在個別的命名空間中,使得命名空間 A 中名為 X 的文件與命名空間 B 中名為 X 的文件不相同;在個別命名空間中建立 Team 專案,可讓成品或工具對於其所屬的 Team 專案獨一無二,使得包含在 Team 專案 A 中的工具或成品將無法讓處理 Team 專案 B 的軟體開發人員所存取。
Team 專案的實體定義
Team 專案的邏輯定義和概念上的界限可透過 Team 總管達成;Team 總管是 Visual Studio 內的一個可擴充工具視窗,可根據 Team 專案將工具和成品分組。Team 專案至少要包含當流程範本建立此 Team 專案時所指定的工具和成品的組合;Team 專案會根據用於建立此 Team 專案之流程範本的不同,可能也會包含原始檔控制原則、Team 專案報告站台和 Team 專案入口網站。
當您第一次開啟 Team 總管時,它會是空的,所以必須將它連接到 Team Foundation Server。然後,您可以選取要將哪些 Team 專案顯示在 Team Foundation Server 中;Team 總管只會連接到一部 Team Foundation Server,因此,只會顯示一部 Team Foundation Server 中的 Team 專案。小組成員同樣會根據用於建立 Team 專案之流程範本的不同,而可以使用 Team 總管來檢視產品組建的資訊、啟動來源、查詢指派給他們的工作、檢視整體專案狀態、尋找文件、檢視報告,以及建立與 Team 專案有關的工作產品。例如,使用 MSF for Agile Software Development 或 MSF for CMMI Process Improvement 流程範本所建立的 Team 專案將會顯示下列節點:
工作項目:這個節點可讓您有權針對工作項目資料庫建立及檢視查詢,以及建立新的工作項目。專案查詢是在 Team 專案建立期間由流程範本或專案管理員所實作;Team 專案建立期間並不會實作使用者定義的查詢,但是之後會將這些查詢以自訂內容的形式加入。
文件:這個節點提供了工作產品的存取,例如文件、試算表、專案計劃、流程指引,以及開發活動的其他無形產出;這些文件會儲存在 Team 專案入口網站上的單一中央位置。
報告:這個節點可讓您存取包含了 Team 專案之度量資訊的報告,以及取得一個方式從 Team 專案命名空間內所含的各種工具來收集資訊。SQL Reporting Services 報告站台的設計,是要執行跨工具的報告 (透過的方式是將 Team 專案內的各種工具收集而來的各類資訊放在一起) 以及組成報告 (透過的方式是利用從每一個工具匯出的資訊所適用的語意和語法)。
Team Build:這個節點可讓您存取 Team 專案的組建。
原始檔控制:這個節點可讓您存取成品,例如原始程式碼和文字;程式開發人員會使用原始檔控制總管來簽入及簽出原始程式碼,原始檔控制總管是 Team 專案原始程式檔的一個瀏覽器。此外,使用者也可實作許多使用者定義的自訂工具。
Team 專案設定和屬性會因 Team 專案而不同,Team 專案屬性是從 Visual Studio 中的 [小組] 功能表設定,而且會定義群組和使用權限的設定,以識別 Team 專案的成員和他們的存取權限。例如,某位軟體開發人員可能有權可以在 Team 專案中變更文件 X,但對於文件 Y 則沒有權限,而另一位參與相同 Team 專案的軟體開發人員可能有權變更文件 X 和 Y 兩者,此時,指派群組將有助於在此 Team 專案內建立各個子小組,也可以更適當地管理必要的工作。Team 專案設定也包含了 Team 專案內成品的虛擬階層架構群組,此類別結構可能包含了組成 Team 專案的存留週期反覆項目,以及 Team 專案的元件或功能。您也可以針對結構/階層架構將工作項目和其他成品 (例如測試案例) 分類,讓追蹤和報告工作變得更輕鬆。
原始檔控制原則有助於定義原始檔控制設定,原始檔控制設定將描寫簽出設定、簽入原則和簽入提示的特點,也可定義哪些成品可以簽出以及可以被哪些人簽出,此外,也有助於定義一些設定,讓使用者可以回到過去的時間,並簽出不同版本的成品 (這些版本可能已在專案生命週期中產生)。