转:在 Microsoft Visual Studio Team System 和 Microsoft Visual SourceSafe 之间选择
Microsoft Corporation
适用于:
Microsoft Visual Studio 2005 Team Foundation Server
Microsoft Visual SourceSafe 2005
摘要:概要介绍可以帮助开发人员决定选择 Microsoft Visual SourceSafe 2005 还是 Microsoft Visual Studio 2005 Team Foundation Server 以进行软件更改管理的主要因素。
简介
选择软件更改管理解决方案对于任何开发人员都是一项重要决定,无论他们是独自工作还是为企业工作。
Microsoft Visual Studio 2005 产品系列为软件更改管理提供了两种选择:Microsoft Visual SourceSafe 2005 和 Microsoft Visual Studio 2005 Team Foundation Server。
Visual SourceSafe 是 Visual Studio 系列的一个长期产品。在其 2005 版本中,它得到了及时修改,包括通过 HTTP 进行远程访问、提高的可靠性和 Unicode 支持。Visual Studio 2005 Team Foundation Server 属于新的 Microsoft Visual Studio 2005 Team System。Team Foundation Server 是一个完整的软件配置管理解决方案,提供版本管理、版本控制、工作项目跟踪和报告功能。
Visual SourceSafe 和 Team Foundation Server 均既适用于各种规模的团队,也适用于个人。可以理解的是,这种重叠可能会引起一些疑惑。
这些产品之间存在一些关键区别,使得做出决定变得相对简单。第一个区别就是每个产品的体系结构。
基于服务器或基于桌面
Visual SourceSafe 2005 和 Team Foundation Server 的体系结构截然不同,此区别是决定采用哪种产品的关键因素。
Visual SourceSafe 2005 是一个不需要任何其他软件的完全独立的系统。Visual Studio 2005 Team Foundation Server 是一个利用多个 Microsoft 技术的基于服务器的系统。Microsoft Internet Information Server (IIS) 6.0 用于宿主 Team Foundation Server 进行通信所需的 XML Web Service;Microsoft Windows SharePoint Services 用于发布 Team Foundation Server 宿主的每个项目的门户;Microsoft SQL Server 2005 是强大、安全的存储引擎。
通常,Visual SourceSafe 2005 与 Visual Studio 2005 开发环境安装在相同的机器上,而 Team Foundation Server 安装在单独的服务器上,以远程方式访问。(可以将 Visual SourceSafe 安装在专用机器上或者将 Team Foundation Server 与 Visual Studio 2005 开发环境安装在相同的机器上,但一般不予考虑。)
许多客户会发现设置 Team Foundation Server 的专用服务器超出了他们所需的复杂性。对于这些客户而言,最好选择 Visual SourceSafe 2005。另一方面,一些客户会发现在他们的开发环境中保持软件配置管理是不现实的。对于这些客户而言,最好选择 Team Foundation Server。
体系结构复杂性是一个关键点,可帮助用户在 Visual SourceSafe 和 Team Foundation Server 之间做出决定。项目复杂性是另一个关键点。
项目复杂性
即使非常小的团队或个人也可能处理一个需要详细级别的要求管理、审核和项目管理的项目。Visual Studio 2005 Team Foundation Server 支持完整的软件配置管理功能,因此非常适合此类客户。
另一方面,一些小团队或个人仅需要源代码控件。Visual SourceSafe 2005 简单、轻便、易于使用,因此非常适合此类客户。
对于客户而言,选择 Visual SourceSafe 2005 意味着安全,因为它存在一个支持迁移路径,可以在客户的需要增长时迁移到 Team Foundation Server。
Visual SourceSafe 2005 和 Team Foundation Server 均可支持团队及个人。但是,一个团队的位置和动态会影响产品的选择。
团队位置和动态
团队成员的位置以及他们协同工作的方式会影响决定使用 Visual SourceSafe 还是 Team Foundation Server。
Visual SourceSafe 2005 的基于桌面的特性非常适合团队成员偶尔需要对文件远程访问的情况。但是,它不适合按地理分布的团队的日常使用。Visual SourceSafe 的并行开发功能也是如此。其支持的基本文件共享非常适合偶尔需要协作的团队,不适合需要高度并行环境的情况。
Team Foundation Server 弥补了 Visual SourceSafe 2005 在这些方面的不足之处。其基于服务器的特性非常适合按地理分布的团队。Team Foundation Server 的通信算法用于计算分布式站点间的滞后时间。它还提供缓存代理以将这些站点间的网络通信量降到最低。为了支持高度并行开发情况,Team Foundation Server 为 SQL Server 2005 提供了强大的数据存储、原子操作和复杂的分支与合并功能。
对于以远程方式进行日常工作的团队和协作完成项目中的许多组件的团队而言,最好选择 Team Foundation Server。对于通常一起工作的团队和处理一个项目的单独组件的团队而言,最好选择 Visual SourceSafe 2005。
了解团队成员协同工作的方式是决定更合适使用哪种产品的好方法。此信息还影响采用 Visual SourceSafe 2005 或 Team Foundation Server 的成本。
成本
Visual SourceSafe 2005 和 Team Foundation Server 的授权方式完全不同。
Visual SourceSafe 是单独授权的,而 Team Foundation Server 是在一个服务器上并以 CAL(客户端访问许可证)模型授权的。图 1 比较了授权 Visual SourceSafe 2005 与 Team Foundation Server 的成本。[用三年软件保证 (SA) 协议授权的“选择 D”用作 Team Foundation Server 授权成本的参考。]
图 1. 授权 Visual SourceSafe 2005 与 Team Foundation Server 的成本
图表中的第一列数据显示了授权 Visual Source Safe 2005 的成本。正如预计的那样,授权成本随着用户的增加直线上升。
图表中的第二列数据显示了将 Visual Studio Team System 用作 Team Foundation Server 客户端的成本。Visual Studio Team System 的客户端由四个产品组成 — Visual Studio Team Edition for Software Testers1/Developers2/Architects3 和 Visual Studio Team Suite4。每个客户端都包括 Team Foundation Server 的五人许可证,以便团队(最多五个成员)无额外成本。对于成员超过五个的团队,Team Foundation Server 的成本仅为服务器授权成本,因为每个客户端都已包括 CAL。
图表中的第三列数据显示了使用 Team Foundation Server 和客户端(非 Visual Studio Team System 客户端)的成本。此客户端可能是 Visual Studio .NET/2003/2005 或其他应用程序。
请注意,图 1 仅比较了授权 Visual SourceSafe 2005 或 Team Foundation Server 的成本。不包括获取客户端的成本。
对于采用一种 Visual Studio Team System 客户端组件的客户而言,从成本的角度来看,很明显要选择使用 Team Foundation Server。对于最多拥有五个成员的团队而言,无其他授权成本;而对于成员超过五个的团队而言,授权成本保持不变。每个 Team Foundation Server 安装最多支持 500 个用户。
当然,成本应该只是在 Team Foundation Server 和 Visual SourceSafe 2005 之间做出决定时的一个因素。此处用于说明成本的情况只是各种客户授权情况中的一小部分。
Visual Studio 2005 Team Foundation 和 Visual SourceSafe 2005 都是版本控制的绝佳选择。二者都支持各种客户情况。
产品选择取决于您愿意支持的基础结构、团队的结构、团队的交互方式以及哪种产品更适合您的预算。