本文基于 Visual Studio 2005 December Community Technology Preview。文中包含的所有信息均有可能变更。
本文讨论:
| 本文使用下列技术: |
![*](http://www.microsoft.com/library/gallery/templates/MNP2.Common/images/3squares.gif)
本页内容
![]() | MSF Agile |
![]() | 创建团队项目 |
![]() | 项目计划和工作项 |
![]() | 项目文档 |
![]() | 设计您的应用程序 |
![]() | Team Foundation Version Control |
![]() | 编写更好的代码 |
![]() | 托管代码分析 |
![]() | 单元测试 |
![]() | 加载测试 |
![]() | 测试器、手动测试器和错误跟踪 |
![]() | Team Build |
![]() | 团队站点和报告 |
![]() | 小结 |
软件开发通常被认为是一个困难的过程。关于如何改进应用程序开发过程以产生更好、更一致的结果,人们已经进行了大量的研究,并编写了大量书籍。困难并不在于人们想不出新的、更好的主意来开发软件,而是无法以有意义的方式实际实现这些想法。使用 Visual Studio®2005 Team System,Microsoft 正在步入一个重要的阶段来帮助开发小组生成健壮的软件系统。
Team System 利用一个新的源代码管理系统扩展了 Visual Studio 2005 的功能。Team System 也包含适用于开发人员的单元测试和代码分析工具。然而,Microsoft 已经拓宽了它关注的焦点,即不仅仅提供用于开发人员的工具,现在还包括了支持整个开发团队的工具。Team System 包括用于帮助项目管理人员、架构师、开发人员、测试人员,甚至是开发管理人员的工具。Team System 包括一个新的工作项跟踪系统(用于管理开发任务和过程实现),以及一个 Web 门户网站(允许开发过程的一个透明级别)。
本文,我会通过 Visual Studio 2005 December Community Technology Preview (CTP) 对 Team System 进行概述。我会说明如何建立开发项目,并探讨从项目初期到测试阶段的所有开发过程步骤。较之于在提供产品最终版本时需要进行 Team System 的安装而言,安装 December CTP 附带的 Team System 版本要略困难一些。CTP 支持一个非常特殊的环境,该环境需要有多台计算机或虚拟机才能进行安装。尽管 DVD 或下载中提供的安装指导是正确的,但是为了使一切都正常运行,您可能需要其他一些帮助。您也可以参考我的注释,以及在以下网络日记中发布的其他一些相关内容:weblogs.asp.net/cmenegay、blogs.msdn.com/robcaron 和 blogs.msdn.com/askburton。项目方法
过去,Visual Studio 只是一个针对开发人员的工具。因此,它为开发项目的其他阶段(例如,需求收集、设计和测试)提供了很少的帮助。然而,Team System 旨在支持更多的项目相关人员,而不仅仅是开发人员。它意在支持整个开发生命周期,以及该生命周期中涉及到的人。
Team System 最大的优势在于它是根据对过程的理解生成的。除了认为具有某种形式的过程可能是有益的之外,Microsoft 很少对有关过程究竟如何作出假设,因此内置了很大的灵活性。Team System 使用 Microsoft 称为“方法模板”的工具来定义过程。您可以开发自己的方法,也可以使用 Team System 附带的某个方法,甚至可以获取第三方的方法模板。
过去,很多开发团队并没有实现正规过程,这是因为采纳并实现正规过程需要投入大量的时间和金钱。使用 Team System,该过程将成为团队日常使用的工具的一部分,从而可为更多的开发团队所使用。
Microsoft 目前建立了一个称为 Microsoft®Solutions Framework (MSF) 的开发过程,它目前的版本是 3.0。MSF 还没有广为开发人员所采用,甚至在 Microsoft 也是如此,也许它被认为是难于学习和使用的。Microsoft 正在将 MSF 更新为 4.0 版本,并确认会随 Team System 一起提供 MSF 4.0 的两个不同版本:MSF Formal(在 Beta 1 Refresh 中也称为 MSF Complete)和 MSF Agile。[编者更新 — 3/24/2005:MSF Formal 已重命名为 MSF for CMMI Process Improvement,而 MSF Agile 已重命名为 MSF for Agile Software Development。]这两种方法都是作为模板实现的,并集成到 Visual Studio。December 2004 CTP 只包含对 MSF Agile 的支持。具有正规过程的公司很可能会将其现有过程移到 Team System 中,而那些以前没实现正规方法的公司将使用 MSF Formal 或 MSF Agile。
然而,并不是开发过程的所有成员都有(或者甚至希望拥有)Visual Studio。为了满足非开发人员的需要,还提供了 Project Portal 和 Team Foundation Client,从而可以使更多的用户可访问 Team System 的许多新功能。从本质上讲,Team Foundation Client 是移除了所有开发功能并保留了所有 Team System 功能的 Visual Studio 2005 版本。这意味着本文涉及到的大部分过程也应该应用于 Team Foundation Client。
MSF Agile
MSF Formal 是一个旨在获得 CMMI Level 3 Compliance 的过程,而 MSF Agile 意在更加灵活,在设计上是重复的。没有单独的过程能够很好地适合所有项目,因此公司可能根据具体开发工作的需要来采用过程。对 MSF Agile 早期概况的了解,可以从 MSF for Agile Software Development 下载。
MSF Agile 支持以下五种角色:架构师、业务分析师、开发人员、项目管理人员和测试人员。当您阅读以下几个关于过程和团队开发的段落时,请紧记这五个不同的角色,以及业务用户/发起人和 IT 管理。Team System 具有适用于所有这些不同个体类型的功能。
创建团队项目
既然我已经简要介绍了 Team System 的全部用途,现在我要说明项目的建立过程,该项目在 Beta 1 Refresh 中称为公文包项目(在后续版本中将称为团队项目)。加载 Visual Studio 2005 December CTP 之后,您首先需要连接到一台 Team Foundation Server (TFS),该服务器应该运行在某个其他系统或虚拟机上。TFS 是一个提供许多 Team System 团队功能的服务器平台。TFS 提供的一些功能是新的源代码控制系统、工作项跟踪和团队门户网站。
要将 Visual Studio 连接到 TFS 计算机,请使用“Tools”菜单下的选项“Connect to Team Foundation Server”。该安装说明会帮助您连接到 TFS 计算机。连接后,您会看到 Team Explorer 窗口。Team Explorer 是 TFS 的视图,它与提供有关 SQL Server 数据库信息的 Server Explorer 非常类似。Team Explorer 是一个很棒的工具。您可能想尽快熟悉它,因为您会定期使用它。
连接到 TFS 之后,您可以创建团队项目。团队项目是 TFS 的主要优势之一。团队项目是一个可在其中访问并使用与项目相关的所有构件(包括设计文档、工作项和项目计划)的地方。您将为进行的每个开发项目创建一个团队项目。要在 Team Explorer 中进行此操作,请使用“New Team Project”工具栏按钮。也可以从 Team Explorer 右键单击 TFS Server,并在那里创建团队项目。您还具有将现有团队项目添加到 Team Explorer 窗体的选项。在建立团队项目时,您必须选择您要使用哪种方法模板,如图 1 所示。另外,您具有建立新源代码控制文件夹或从现有代码基分支的选项。我会以 MSF Agile 为例进行阐述。
![](https://i-blog.csdnimg.cn/blog_migrate/001b24e7505de51efe9ce0edb4e1bd7a.png)
图 1 创建一个新团队项目
当您建立一个团队项目时,会发生一些情况。关键的一点是 Windows SharePoint® 服务 (WSS) 团队站点的创建。TFS 与 WSS 集成以提供其大量的文档管理功能。WSS 也有可供 TFS 使用的协作功能。如果您打开浏览器并转到 http://tfsserver/sites/project,您会看到由 TFS 创建的团队站点主页。这是一个 WSS 站点,可供任何具有适当权限的人访问。这是一种可以使业务用户和管理访问并了解项目状态的好方式。
有了团队项目后,您可能想在进一步开展项目之前配置项目。为此,可以在 Team Explorer 中右键单击您的项目,并选择“Team Project Settings | Classifications”。“Settings”菜单选项允许您设置安全权限和源代码控制策略,以及建立您的项目结构。如果选择 MSF Agile,默认情况下,目前您的项目中添加了三个迭代。您可以对这些迭代进行重命名、移除或添加。例如,如果您想有六个阶段的增强演示,则可以将它们设置为迭代。稍后,当您创建工作项时,它们可以与您的整个项目中的特定迭代相关联。请记住,您可以对方法模板进行控制,因此不会觉得为该过程所限。
项目计划和工作项
从项目管理的角度看,Team System 提供的一个主要好处是一个名为工作项跟踪的功能。诸如单元测试、更好的源代码控制和代码分析等功能可以使开发人员非常兴奋。另一方面,项目管理人员、企业股东和 IT 管理人员也会对名副其实的工作项跟踪功能兴奋异常。软件开发过程中需要完成的每个任务都可以被认为是一个工作项。它们包括文档任务、设计任务、开发任务、错误或需求。此时您可能想,您已经在 Microsoft Project 甚至是 Excel 中将工作项作为任务进行管理了。但实际情况是,多数人仅仅是在这些工具中创建任务,而没有实际跟踪或管理它们。
考虑到您当前的跟踪过程,请思考以下问题的答案:设计文档是完整的吗?为特定的开发人员分配了多少任务?已经完成了多少任务?哪些任务远没有完成?任务没有及时完时会对日程安排产生怎样的影响?诚然,许多公司已经有能力回答这些问题了。然而,项目管理人员需要为此和团队其他人员(包括开发人员、业务分析人员和测试人员)进行良好的交流。项目管理人员必须和所有这些人员进行谈话,以便准确评估项目状态。跟踪任务状态通常是通过项目状态会议、个人谈话或电子邮件实现的。 Team System 的目标之一是简化数据收集、跟踪和报告这一过程。
当您选择了要使用的方法模板后(您可能记得,我选择了 MSF Agile),会自动为您创建几个任务(工作项)。之所以这样,是因为在 MSF Agile 过程中,需要完成某些任务。图 2 显示了当我使用 MSF Agile 建立团队项目时所创建的工作项示例。
![](https://i-blog.csdnimg.cn/blog_migrate/aef36aa3fd3d756317d1e2440ff08230.png)
图 2 MSF Agile 中的工作项
工作项非常类似于 Microsoft 项目中的任务,因为它们可以分配给人员。它们有一个状态和持续时间。当人们完成他们的工作项时,他们可以更改这些工作项的状态,并使该状态反映在 WSS 团队站点上。该 WSS 站点基于由 TFS 存储在 SQL Server 中的数据、利用SQL Server®报告服务显示不同的报告。您能够创建自己的报告,然后使用自定义 Web 部件将其集成到 SharePoint 中。但是,请注意,这些报告并不是 December 2004 CTP 中的可用组件。
项目文档
基于 MSF Agile 方法,该过程的早期步骤之一是开始创建某个文档。该文档可以是业务情况、方案,甚者是项目计划,这主要取决于您在过程中所处的位置。创建的文档将取决于您使用的方法。要在 Team System 的上下文中创建这些文档,您可以使用 Team Explorer(也可以通过团队门户网站进行此操作)。如果向下追溯到 Documents 节点,您将能够右键单击并选择“Add a Document”。当您指定哪个方法用于项目时,Team System 会配置将用于多种项目文档的适当模板。然后,当选择“Add a Document”时,会提示您通过选择适当的模板来选择您想添加的文档类型。模板包括 Design、Lifecycle、Plans、Project Management、Requirements Scenarios and Features 的选项。选择模板后,您将用适当的工具(例如,Microsoft Word 或 Excel)编辑文档。
创建的文档存储在宿主项目的 WSS 站点中。这使您公司的人员只需将浏览器导航到适当的站点,就能访问该文档。直接添加到门户网站的文档将在 Team Explorer 中显示。要查看 Team Explorer 中新添加的文档,请右键单击 ocument 节点并选择“Refresh”。
此时,项目管理人员可能希望创建一个实际的项目计划。使用 Team System,这样做非常有趣,当然,前提是假定您发现创建项目计划和跟踪任务是十分有趣的。至少 Team System 可以使您的项目管理更加简单,为此我非常兴奋!
在 Team System 中创建项目计划的过程相当简单。为此,您可以在 Team Explorer 中导航到“Documents | Project Management”并右键单击。这里,上下文菜单包含一个选项 —“Create Microsoft Project Plan”。Team System 也支持在 Excel 电子表格中跟踪项目任务,而且您将以与此类似的方式创建一个电子表格。
Team System 的一个实际好处是它与 Project 或 Excel 的关系。当您将 Visual Studio 2005 December CTP 安装在一台已安装有Microsoft Project 或 Excel 的计算机上时,就会有其他一些功能添加到这些应用程序中。特别地,您会有一个 Work Items 菜单,以及一个允许您与 Team Foundation Server 进行交互的新工具栏。重要的功能是您可以使项目计划任务与 Team System 中的工作项同步。
该过程首先创建一个项目计划,并导入作为团队项目创建的一部分而创建的原始工作项。然后,您需要添加并分配其他任务,并使项目计划任务与 Team System 的工作项数据库同步。当开发人员处理完任务并将代码签入到源代码控制中时,他们会从 Visual Studio 更新工作项状态。工作项状态数据可以通过工作项报告在团队门户网站上使用。然后,项目管理人员可以使项目计划与工作项数据库同步,以便使信息保持最新,并获取最新的状态。
图 3 显示了带有从 Team System 导入并用作 Project 任务的 Microsoft Project。您会注意到一个用来与 Team Foundation Server 交互的新工具栏。该集成在 Excel 和 Project 中可用。这是基于客户反馈添加的,以便适应那些选择用 Excel(而不是 Project)管理其项目任务的用户。
当项目计划准备好之后,应该使其与 Team System 同步,以便项目团队成员会知道自己分到的工作项。如果您是一位开发人员,这样做的好处是,您可以在无需退出 Visual Studio 的情况下接收工作项列表。您只需导航到 Team Explorer 中的 Work Items 并打开 My Work Items 或 My Active Work Items 即可。这种简便的方法减轻了开发人员的负担,而且可以减少项目管理人员和开发人员之间的会议次数。
设计您的应用程序
从开发人员的角度讲,当分配了针对开发人员任务的工作项后,您就可以开始设计您的应用程序并编写代码。但愿项目计划上的一个或多个任务能够实际代表应用程序的设计阶段。请注意,我说的设计是在编写代码之前。Team System 附带了很棒的设计工具,您可以考虑使用它们。这里我不会研究关于设计人员的内容;有关更多信息,我向您推荐 Brian A. Randell 和 Rockford Lhotka 撰写的文章“Bridge the Gap Between Development and Operations with Whitehorse”,该文章出自 MSDN ®Magazine 2004 年 7 月刊。
Team Foundation Version Control
在创建任何设计或代码前,您可能想使用 Team Foundation Version Control 设置源代码控制。Team Foundation Version Control(之前代号为“Hatteras”)是一个比 Microsoft Visual SourceSafe® 更加健壮的平台。您存储在这个新源代码控制系统中的所有内容都会自动备份到 SQL Server 2005 数据库中,以方便管理。这个新的源代码控制系统的设计目标包含高可伸缩性和性能,这两个功能在 Visual SourceSafe 中是没有的。该新源代码控制系统将包含更健壮的分支和合并功能。因此,默认情况下将打开多签出功能。
一个称为“shelving”的新功能也可用。该功能允许您获取要使用的签出代码并将其签入到源代码控制(而不是主要分支),从而允许开发人员正确备份他们的工作,因而避免了为团队的其他开发人员提供不完整的更改。
Visual SourceSafe 仍然可用,并且可以通过更新来使用 Visual Studio 2005。Visual SourceSafe 可能适用于小规模团队的小项目,这些团队可能不需要 Team Foundation Server 的功能,或者不想花额外的精力和资金安装它。要选择使用哪个源代码控制引擎,只需打开 Visual Studio,转到“Tools | Options”并选择“Source Control”选项即可。
当配置为使用 Team Foundation Version Control 时,那么每次在 Visual Studio 中创建一个新项目时,您都会有一个用于将该项目添加到源代码控制的选项。此时,您可以选择您要使用的 Team Foundation Server。作为一名开发人员,在处理任务时,您可以标记工作项,以便使工作项与您要签入源代码控制的代码相关联。然后,该关联会存储到数据库中,随后可用于创建生成报告。另外,这个新的源代码控制系统也允许创建签入策略。签入策略的目的是,限制允许什么样的代码签入源代码控制储存库。
编写更好的代码
Visual Studio 2005 Team System 在 IDE 中集成了几个有助于编写更好代码的工具。它们包括用于分析应用程序中潜在性能问题的分析器,针对托管和非托管代码的代码分析工具,以及带有代码覆盖分析功能的单元测试工具。这些代码分析工具基于已在 Microsoft 使用了一段时间的技术,但它们从未很好地与 Visual Studio 集成。本机代码使用 PREfast 进行分析,而托管代码使用 FxCop 分析。单元测试工具非常类似于诸如 Nunit 的工具,但是它更易于使用,而且创建测试所需的时间也减少了。这使得单元测试更易于人们接受。单元测试也很好地与代码覆盖相集成,代码覆盖本质上是一个报告机制,允许您知道您的单元测试实际执行了多少代码。
托管代码分析
如果您熟悉 FxCop,您会感到 Team System 的托管代码分析功能是很令人舒服的。与 IDE 的集成是很棒的。要启用 Code Analysis,只需转到项目的属性,然后转到“Code Analysis”选项卡。在那里,您可以启用 Code Analysis,并选择您希望运行的规则。多数公司可能会禁用提供的大量规则,因为 Code Analysis 附带的规则非常严格。实际上,针对您的一个现有应用程序运行 FxCop 来查看您与它的规则有多么不符合十分令人沮丧。
与 IDE 集成的 Code Analysis,其优势在于打开后,它会在您的应用程序编译时自动运行,并为您提供作为生成过程一部分的警告或错误。您具有针对 Release 版本打开 Code Analysis 以及针对 Debug 版本关闭它的功能,这真是一个好功能。需要知道的是,在较大型项目中运行 Code Analysis 可能要花费一些时间。另一个很好的可用功能是,将运行 Code Analysis 作为源代码控制的签入策略运行。这能够避免开发人员将未通过 FxCop 验证规则的代码签入到源代码控制储存库中。签入策略附带了一个允许签入代码的重写机制,但是该重写可以被记录。
单元测试
单元测试的一般概念是在您的应用程序和测试中运行独立的代码片段,以便看看它们是否产生了所需的结果。这通常等同于使用大量受控制的输入调用一个方法并测试返回的数据。这可以在无需任何工具支持的情况现完成,但要使其更为高效,还是需要一些帮助。单元测试的其他一些普遍问题是测试的创建,测试的组织,以及是否具有一个可以轻松报告这些测试成功与否的机制。Team System 解决了所有这些问题。
Team System 提供了自动为您的方法创建单元测试的功能。[编者更新 — 3/24/2005:该功能仅用于托管代码。] 属性用于区别单元测试和正规代码。IDE 中的工具将您的测试组织为测试列表并根据这些测试列表执行测试。当您执行测试时,结果在 Visual Studio 的 Test Results 窗口中显示。
要在项目中实现单元测试,只需右键单击您的代码并选择“Create Tests”即可,如图 4 所示。这会提示您选择用哪些方法在哪些对象上创建测试。您可以通过从多个不同类选择方法来一次创建多个测试。自动生成的测试将包含某些代码,该代码用于初始化包含所测试方法的对象、声明用于方法参数的变量,并最终调用要测试的方法。默认情况下,这些测试将返回 Inconclusive 结果。创建这些测试时,您可以在“Configuration”选项卡中对其进行更改。Inconclusive 意味着不知道测试成功与否。这样做可以提醒您需要实际上将某个逻辑放入测试。请考虑以下要测试的方法示例:
Public Class Math Public Function Add(ByVal Value1 As Integer, _ ByVal Value2 As Integer) As Integer Return Value1 + Value2 End Function End Class
在本例中,Add 方法只返回添加两个整数的结果。当您首次创键单元测试时,生成的测试代码将如图 5 所示。
要运行您的测试,必须首先编译项目,然后打开“Test Manager”窗口。您可以在“Test | Windows”菜单下找到 Test Manager,它允许您查看不同的测试,并选择您希望运行哪些测试。Test Manager 也允许您将测试添加到创建的多个测试列表中。例如,您可能想将用于演练业务逻辑的所有测试或数据访问代码进行分组。您也可以根据应用程序中的功能区域对测试进行分组。
当您运行测试时,您有几个选项。您应该考虑的一个选项是打开代码覆盖,它允许您捕获并分析显示单元测试所执行代码的数据。代码覆盖是测试运行配置的一部分。在 Test Manager 中,工具栏按钮“Edit Test Run Configuration”允许您选择并编辑一组用于运行测试的可配置选项。在运行测试之后,您应该查看两项内容:测试结果(请参见 图 6),以及代码覆盖结果(请参见图 7)。
您会看到,Test Results 窗口指出我的一个测试是非决定性的。这是因为我没有更改生成的测试来进行任何有用的操作。该测试应该更改为如图 8 所示的内容。
在图 8中,该代码为两个整数分配了两个参数值,并检查 Add 方法的返回值,以确保该值与预期的相同。如果从 Add 方法返回的值是 42(正确答案),则测试通过;否则,测试失败。您也可以创建数据驱动的单元测试。这允许您使用来自数据库的实际数据,而不是硬编码值。
单元测试只有在编写为能够正确演练代码时才有用。如果您有 1000 行代码,而通过单元测试只执行了 10 行,则您的单元测试没有给出您代码良好程度的准确表示形式。Team System 的代码覆盖功能是一个很好的资源,可以用于确定您的单元测试是否已经覆盖了您现有的大部分代码,相反,也可以确定是否有任何您从未用过的代码,并可以因此将其移除。
除了 Code Coverage Results 视图,您也可以启用源代码的颜色编码。图 9 显示了两段代码。红色代码不是由单元测试执行的;执行的是绿色代码。
测试结果和代码覆盖结果可以发布到您的 Team Foundation Server,该服务器会将该数据存储在数据库中。这允许门户网站上显示的报告使用该数据来显示项目所处的位置(从测试和代码质量的角度来看)。
加载测试
除了单元测试,Team System 也提供用于创建、管理和运行 Web 加载测试的功能。该功能非常类似于 Application Center Test 以前提供的功能,只是较其更为健壮,更具可伸缩性,而且完全与 Visual Studio 集成。您可以从头开始创建自己的测试,并在一台或多台 PC 上记录用于以后重放的 Web 浏览器会话。加载测试工具中包括了一些很好的功能。特别地,除了正确处理 ASP.NET ViewState,该工具还可以处理 ASP.NET 窗体身份验证。
要使用加载测试功能,最简单的方式是创建一个新的 Test Project。这是一个您可以添加到解决方案中的新项目类型。完成后,您可以通过右健单击 Solution Explorer 中的该项目并选择“Add New Item”来添加多个新测试。记录一个 Web 加载测试就像将适当的测试类型添加到您的项目并选择 Record 来初始化记录过程一样简单。当创建新测试时,它们会和您的单元测试一起在 Test Manager 窗口中显示,从而为您提供项目的各种测试的完整视图。Web 测试与 Visual Studio 2005 中的加载测试是不同的。Web 测试是演练 Web 应用程序特定部分的脚本。加载测试是一个包含用于模拟加载的适当数据(例如,要模拟的用户数量)的单独测试。由此您可以创建 Web 测试,然后在加载测试中使用它们来对您的应用程序进行压力测试。
测试器、手动测试器和错误跟踪
虽然 Team System 提供 Web 应用程序的单元测试和加载测试,但它不提供用于测试非 Web 用户界面的自动机制(虽然 Compuware 已经宣布集成它的 TestPartner 产品来提供对胖客户端用户界面的测试)。您的 QA 团队是通过内置的测试管理工具(以及错误跟踪系统)获得支持的。错误只是工作项的一个特定类型,它嵌入在 Team System 之中,并作为任务分配给某人使用。错误状态以及错误计数可以从项目门户站点查看。
另一个好功能是存储并管理项目现有的各种手动测试。您可能熟悉各种 Word 文档和手动脚本,通常这些脚本在经过创建后可以显示手动测试一个系统所需的详细步骤信息。Team System 允许这些脚本作为手动测试存储在 TFS 中,并托管在 Web 测试和单元测试中。这些脚本可以是实际的 Word 文档或纯文本。也有从 Visual Studio 中执行这些测试的能力。
当选择这些测试以准备运行时,这些测试的状态为挂起,直到一个测试器逐句通过该手动过程并将该测试标记为已通过或已失败为止。显然,如果测试失败,则很可能是输入了一个错误。手动测试也可以使用测试列表来进行分组,以便提供一些很好的组织功能。在 TFS 中具有测试允许开发人员在需要重复随后用来复制错误的步骤时,轻松访问这些测试。这些新工具真正将测试人员和开发人员放在同一环境中,以便允许他们更好地协作。
Team Build
Visual Studio 2005 工具包中的另一个工具是 Team Build。Team Build 利用 MSBuild,后者是 .NET Framework 2.0 附带的一个新的可扩展生成引擎。Team Build 支持生成服务器的概念。生成服务器将侦听网络请求,这些请求会指导生成服务器使用存储在 Team Foundation Version Control 中的构建脚本生成应用程序。可以通过一个向导选择各种生成选项来从 Visual Studio 生成这些生成脚本。这些选项包括使 FxCop 或单元测试作为生成过程的一部分运行。您也可以使工作项更新,使通知作为生成过程的一部分发送。例如,您可以使一个日常生成过程自动编译您的应用程序,运行单元测试和静态分析,然后最终将新的生成放在测试服务器上,并通知可以使用新生成的测试人员。
团队站点和报告
除了 Team System 的面向开发人员的功能之外,也应该注意到它为直接开发过程之外的人员带来的可见性。这包括管理人员、项目管理人员、测试人员、业务用户、分析人员,以及对开发项目状态有兴趣的任何人。虽然测试人员和项目管理人员可以使用 Team Foundation Client 来访问 Team Foundation Server,但是假设业务用户和 IT 管理运行 Team Foundation Client 是不现实的。
项目的 SharePoint 主页是用于这些个体的完美工具。他们可以从该站点访问项目的当前状态,查看错误数量和严重性,并访问项目文档。另外,可以使用多种报告。这包括针对突出的工作项、突出的错误报告、测试结果以及许多其他内容的报告。这个新增的可见性应该提供对开发过程(而不是以前可用的内容)的更好理解。
在我结束本文之前,我应该提一下可扩展性。对于已经使用现有开发过程的企业而言,Team System 的设计目标是支持自定义。Team System 也具有使第三方企业集成并扩展它的设计理念。Borland 已经宣布他们会发布一个与 Team System 集成的 CaliberRM y 需求管理工具版本。这填补了 Microsoft 产品套件的空白。但是,如果 Team System 不能满足您的需要,请确保找到与它集成并扩展它的适当工具。
小结
Visual Studio 2005 Team System 的购买方式将与目前 Visual Studio 的购买方式不同。我之所以指出这一区别,是因为测试版并不能准确反映该产品正式发布时可用的多种产品。最特别的是,Team Foundation 将是一个单独购买的服务器产品。已经有几个功能演练是可用的,而且在测试循环中将发布更多的演练。如果您打算将更多“过程”放入您的开发工作中,则应该考虑研究一下 Team System,看看它能否满足您的需要。有关更多信息,请访问产品站点,网址是 Visual Studio 2005 Team System。
Chris Menegay 是 Notion Solutions 的创始人和首席顾问。Notion Solutions 是一家位于德克萨斯州达拉斯市的培训和咨询公司,专门研究 Microsoft 技术。您可以通过 weblogs.asp.net/cmenegay 与 Chris 联系。