【IT168 技术文档】
每个人都在谈论协作开发工具,主要的开发人员不可能连续10分钟都不会遇见报告新情况的提示。我们不能责怪微软,但是我们需要的不仅仅是一个协作环境。对于绝大部分IT团队来说,协作开发是未来的事,是目前还没有实现的目标。现在所需要的是这样的一个协作解决方案:
和已经在使用的工具紧密结合高度直觉化,而且提供了一种新的开发方法,而且并不意味着要放弃现有的一切。
Visual Studio Team System是微软的回应。这个回应已经非常清楚,好的方面是它提供了所有团队需要的结构,管理工作所需要的跟踪工具,以及为了协作需要使用的所有工具。不好的方面是微软再一次在代替我们决定自己应该做什么方面,走得太远。它对于你的团队是否有用?因为目前正在使用的协作工具并不让人满意。
结构化图表工具
IT开发者们,在额头上都应该写着一个大大的单词:ARCHITECTURE(结构)。今天,IT开发中缺少的最大的遗患,除了平台,就是在应用开发中缺少恰当的结构化思维。这也就是为什么世界总是开玩笑说我们需要啄木鸟的原因。
有很多、很多细节上的天才可以在T-SQL中重写达芬奇的密码,但是谁会认为两维的客户端—服务器结构对于互联网应用来说已经足够好了呢?今天,要开发出一个好的应用,尤其是一个好的互联网应用,你需要的不仅仅是一个好主意、好的工具、好的应用级设计;你还需要一个应用结构,一个高级架构,它应该能够帮助你的应用获得实现功能所需要的条件(包括硬件、网络、数据资源基础架构),不幸的是很多IT经理都不能真正理解这一点。很多IT团队都疲于奔命,成了全天候的消防队员,因为越来越多的用户通信堵塞了他们的数据库访问,因为他们的应用不能够在用户规定的时间内完成修改或加强。
Team System在它的Team Edition for Software Architects版本中提供了一个名为Application Designer(应用设计器)的工具帮助解决这一问题。Application Designer是一个图形化的解决方案结构工具。它帮助用户创建应用系统解决方案的图表,这些应用系统解决方案包括了很多不同的类型组件(比如应用、网络服务、界面),并用你所选择的语言,生成骨干代码。Team Edition for Software Developers的版本中提供了图表功能。图表定义了图表组件之间的连接,让你能够按照自己的需要使用它们。
这个创意满足了结构方面的不同开发需求,而不仅仅是满足了经理和开发者的需求。这里的设计者工具包与以往相比,功能更为强大,它内嵌了VS/TS的“分布式应用图表”概念。该工具会捕获所有的工作过程,而不仅仅是工作流和代码编写,还包含了针对系统图表、应用图表、配置图表和逻辑数据处理中心图表的结构化图表工具。
利用微软Solutions Framework4.0
MSF描述了一些方法,根据这些方法可以计划或进行应用开发。Version 4.0包含在Team System之中,为你提供了两个完备的系统开发生命周期模型,一个是针对灵活开发,另一个是针对流程改进。
微软很热切地指出,这些方法是说明性的;也就是说,它们不仅仅是通用方法,只能给你一些通用指示。它们是针对具体情况的,能够根据你所执行的应用的特点,给与你的团队有针对性的行动指南。
MSF4.0为细节开发和实施提供了一个meta-model机制,被一个支持者团队(team爱好者和对此感兴趣者组成)将其转化成了现实。这样一个雄心勃勃的飞跃不可能完美,我们也并没有期待它是完美的,但是它的方向是正确的,不过对于IDE软件解决方案供应商来说,这并不轻松。
团队角色定义和约束
MSF包含了一个Team Model(团队模型),在这个模型中为每一位项目参与者都分配了一个角色,或者多个角色。角色的分配是根据参与者的任务、权限、责任和义务来进行的。在Team System中,这些角色包括项目经理、Architect、开发者、测试人员和两个可选角色:版本经理和商业分析员。
也许Team System中所定义的最重要的团队成员角色就是所使用的Team System版本本身,它定义团队成员在项目或者开发工作中能够或不能够做什么。其他重要的角色包括project permissions和advocacy assignment。
Team Foundation Server直接同微软的Project和Excel进行通信。管理插件让你能够从Visual Studio 2005 Team Explorer打开Excel 或者Project,并在它们和Team Foundation Server之间传递工作项目列表。这些传递发生在一个开放项目之中,这非常方便,某位经理能够把工作项目列表从project导出,并离线进行处理。
Application designer
在BizTalk Server 2004和它的程序设计器上花费了很多时间,相信很多人都花费了很多时间在Visio上,设计图形并把它们连接在一起,就好象在会议室的白板上所做的那样。Team System的Application Designer大大改善了这一情况,它把Windows窗体应用、网络服务、BizTalk设计、数据库、ASP.NET Web服务和应用、外部网络服务结合在一起,生成代码来执行这种集成。因此可以节省设计工作,并实现资源控制。
逻辑资料处理中心和数据资源管理
我们在网络应用设计过程中,遇到过的最糟糕的灾难有两种,一种是用户界面设计把获取数据资源当做理所当然,第二种则相反。开发者通常在逻辑方面禀赋超常,但是在数据接入后勤方面能力不足。如果我们希望有一个干净而高效的应用,我们就需要在网络里挖掘数据。
Team System对这个问题的解决方法是提供了一个逻辑资料处理中心设计器,它整合了客户端、Web服务器、SQL Servers和其他服务器,形成一个强制的、以计划为导向的模式,这让解决方案设计师们能够真正地注意到大局,并对网络以及对于数据来源之间界面的影响保持适当的注意力。由于网络服务在综合应用系统之中越来越多地成为中心,这种做法受到了广泛的欢迎。
软件配置管理
随着项目复杂程度的提高,如果代码管理不善的话,麻烦也会接踵而至。糟糕的团队沟通会雪上加霜,缺少结构化、高水平的集成计划,如果不会让项目彻底失败的话,也会导致不能很好满足用户需求和期望的尴尬场面。今天,对于保障项目成功来说,软件配置管理是非常重要的,谢天谢地,Team System中包含了这样的功能。
来源控制在今天已经是一种被广泛接受的假定前提,但是这里的例外是跟踪工作项目以及更早地建立管理。工作项目包括人物、bugs、需求、风险、和高级情况。这些工作项目可以在你的方法中进行定义,你还拥有丰富的道具,方便你的开发周期中进行详细的项目定义。你对这些项目的跟踪可以是完全个性化的。建设管理——名为Team Build,是基于MSBuild——为你提供了一个建设个性化的工具,它包含了编译、来源控制、单元测试、静态分析、binary routing、建设报告和测试结果报告。
用SharePoint Services创建团队portal
很多IT团队都使用SharePoint Services进行团队协作、项目跟踪、文件共享,甚至是资源控制。Team System非常适合SharePoint。编译、登录/登出和安全都是内嵌的,SharePoint对于上述提到的MS客户端都非常友好。
集成化测试
如果你想从结构化方面涉及并进行实施,你需要从头到脚的完整测试。我们在前面已经提到过单元测试,但是整体测试或者系统级测试通常需要手工完成。Team System允许你从Word模板中创建并进行高级测试和bug跟踪,Word模板可以从Visual Studio 2005中打开;在这个过程中,仍然需要人的干预,但是你现在可以获得和单元测试一样的连贯性和深度。你还可以使用Generic Test Designer创建使用到其他测试工具的测试,并记录结果。你还可以使用Web Test Recorder,在测试网站过程中,捕获测试者的浏览情况。Web Test Recorder可以从Visual Studio中打开,运行在Internet Explorer之上。
系统设计器
尽管整个VS/TS会在大的方面让你沉浸不已,你还是会喜欢System Designer,这个工具可以把一个综合应用打散成最小的开发单元,无论这个单元在你的具体项目中指的是什么。这样做的思路是在大型应用中,在保持组件好管理特性的同时——在多层的系统中,非常难以实现——在开发过程中保持项目的连续性。
Sstem Designer层粒度的扩大让你可以对组件进行测试和开发,并将它们组合成子系统,在这个过程中,最高配置和定义如果必要的话,可以属于更高的项目层级,然后将这些变化散播到应用层。而且如果需要的话,你可以为以后的对比和检查保存这些修改,直到子系统毫无瑕疵为止。