1.1 VSTS简介
阿超:大家听我说了半天VSTS,这到底是个啥玩意儿?
幻灯屏幕上出现了如图1-1所示的图。这幅图表现了VSTS的结构,最上层是团队协作服务器(Team Foundation Server)。第二层是TFS的各个具体功能模块,如团队门户网站、变更管理模块、项目管理模块、版本控制模块、报表模块。第一、二层是在服务器上的功能。第三层是Team Explorer。软件团队需要在客户端运行Team Explorer来访问服务器的功能(部分功能也可以通过网页访问)。第四层是VSTS针对各类人员提供的功能模块。
图1-1 VSTS的结构
1.1.1 TF的逻辑结构
Team Foundation(TF)是基于多层结构的一个软件系统,它由数据层(Data Tier,DT)、应用层(Application Tier,AT)和客户端(Client Tier)组成。
数据层(DT)
数据层把工作项、源代码文件、测试结果,以及其他项目数据保存在SQL Server 2005中。
应用层(AT)
TF应用层由基于Web Service的服务程序组成。这些程序都集成在IIS上,包括SQL Server 2005 Reporting Services、TF核心服务,以及Windows SharePoint Services。另外,AT还包括TF Windows服务。
从逻辑上说,TF AT还包括TF构建和TF服务器代理。TF构建提供自动构建服务。TF服务器代理把DT上的源代码缓存起来,以提高在远程连接情况下的源代码管理效能。
团队浏览器(Team Explorer)
TF的客户端通过团队浏览器(Team Explorer)和服务器连接,团队浏览器既可以单独使用,又可以和Visual Studio 2005的其他功能集成在一起使用。客户端还包括与MS Office软件集成的模块,这样用户可以使用MS Office Project 2003/2007、微软Office Excel 2003/2007软件来浏览或更新保存在TFS上的信息。
VSTS真是一个庞然大物,那么它到底要解决什么问题?
我们知道,Visual Studio提供了一系列的程序语言(VB、VC++、VC#等),开发人员可以用它们来开发各种各样的软件,它还提供了ASP.NET,我们可以用它来开发网站和网络应用程序。总而言之,Visual Studio是一套开发工具的集合。但是,一个软件开发团队有了这一套工具还不够,还需要一系列的管理工具、协作工具、软件构建的工具,以及能保证软件质量的测试工具,才能开发出符合需求的软件。VSTS就可以说是管理/协作/构建/测试工具的集合。既然是团队协作,那么软件开发的各种数据都要保存在服务器上,这个基于SQL Server 2005的服务器就叫做Team Foundation Server(TFS团队协作服务器)。有了TFS,就可以做下面的事情:
◆ 项目管理人员可以安排任务,管理进度;
◆ 项目开发人员可以设计、开发软件,软件的源代码和其他源文件都可以用VSTS管理;
◆ 光有源代码还不行,项目开发人员还可以用构建工具把源代码构建成可运行的软件;
◆ 测试人员可以用VSTS的测试工具来测试软件的功能。
VSTS=银弹?
大栓:阿超,你这MSF、VSTS是不是下一颗银弹?
阿超:银弹?就是传说中解决软件开发根本问题的Silver Bullet?我们以前就聊过吧。记得以前你到我们学校来玩,我兴奋地告诉你4GL是一个很了不起的东西,以后程序员的工作就会很简单了。
大栓:对呀,那一年我们一起看计算机展览,有一个叫什么鸟的CASE工具,也是号称可以解决软件开发的问题,我们当时还仰慕了好几天,后来我就再也没听说过了。
阿超:嗯,好像是有两三年没有听说了……不过这个什么鸟的公司好像还上市了,然后又有几个分公司把股权整得翻来覆去的……
大栓:幸亏我早就不炒股,改买基金了。
阿超:我觉得4GL、CASE工具这些东西对开发还是有帮助的,所以我们也不必全盘否定它们的作用。关键是不要迷信这些时髦的东西,要了解他们的作用和局限性,了解自己团队的能力。
大栓:你觉得咱们村里的人的能力可以用VSTS这一套?我昨天试用了半天,好多菜单都搞得和以前不一样了,也很吃内存。我觉得一般人用这个会晕。
阿超:嗯,不过比较下来,也就是VSTS的可用性还好一点。关键是我们不能晕,不要盲目,一步一步来,不要没搞清楚就什么都上。
大栓:对,那就先小规模地实验一下吧。