技术开发 频道

Visual Studio:Microsoft 开发人员工具路线图

要满足目前大型企业应用程序开发的需要,通常要求具有复杂的、高度专业化的工具、技术和设计方法集。借助于 Visual Studio 2005 Team System (VSTS),Microsoft 提供获得可预测、可重复结果所需的工具和指南,从而解决了应用程序开发生存期复杂性日益增长的问题,而无需对工作效率和革新性进行折衷。

Visual Studio 2005 Team System 是一个可扩展的生存期工具平台,对于提供面向服务的现代解决方案而言,它能够帮助软件团队通过协作来降低其复杂性。Microsoft 的产品和服务现在包括集成生存期工具、一组全面的经过检验的过程框架、非常好的做法以及说明性的体系结构指南,它们使 IT 组织能够成功地在 Windows Server System 上提供自定义解决方案。另外,大量行业合作伙伴将用能够为软件生存期提供更大支持的工具扩展 Visual Studio Team System。通过 Visual Studio 2005 Team System,组织能够:

降低复杂性,即提供面向服务的现代解决方案(为操作设计)的复杂性

在软件团队的所有成员之间促进协作,包括业务用户、项目经理、架构师、开发人员、测试人员和运营经理

用它们自己的内部工具和过程框架自定义和扩展 Team System,或者从来自 200 多个合作伙伴的 400 多种辅助产品中进行选择

Visual Studio 2005 Team System 包含下列产品供应:

Visual Studio Team Architect Edition:可视化设计器,使架构师和首席开发人员能够设计可针对其操作环境进行验证的、面向服务的解决方案

Visual Studio Team Developer Edition:高级开发工具,使开发团队能够在生存期的早期(通常贯穿整个生存期)确保设计质量

Visual Studio Team Test Edition:高级负载测试工具,使开发团队能够在部署之前验证应用程序的性能

Visual Studio Team Foundation Edition:基于服务器的团队协作工具,使组织能够毫不费力地管理和跟踪项目进度和运行状况

经过检验的过程指南、说明性的体系结构指南和解决方案加速器:提供任务关键的解决方案时,帮助组织改善可预测性和可靠性。


18. VSTS 概述。

 

复杂性是现代企业的毒药。它使企业突破了财务底线,牺牲了利润,并且对两者之间的所有事物施加了压力。随着其应用程序复杂性的增长,软件团队迫切需要相同的简单性和灵活性 RAD 原则,以便将其作为标尺。降低复杂性意味着获得更高的工作效率,节省成本,降低财务底线,同时节省时间并且提供更多的增加利润的机会。在下列部分中,我们将讨论 Visual Studio 2005 Team System 中提供的、有助于降低生成复杂分布式系统的复杂性的技术。

分析和设计“为操作设计”

收集应用程序需求后,组织通常会为其解决方案设计详细的体系结构模型。这些体系结构设计并不总能很好地转换为代码,而且即使能够,实现和设计也并不总能在整个开发生存期中保持同步。此外,应用程序架构师必须能够使其应用程序设计符合数据中心(在其中最终部署其解决方案)的要求。实际上,应用程序架构师必须能够在设计其解决方案时考虑操作基础结构。

通过 Visual Studio 2005,Microsoft 提供一组设计器(作为 Visual Studio 2005 Team Architect Edition 的一部分),能够使架构师和开发人员同时轻松地设计面向服务的应用程序和操作基础结构。这些分布式系统设计器使用 Visual Studio 中熟悉的拖放范型来连接构成应用程序的服务,然后针对逻辑数据中心环境验证得到的应用程序。在该环境中,应用程序可以针对数据中心应用安全等约束(反之亦然)。这样,应用程序体系结构架构师和基础结构架构师可以协同工作,以便在设计过程的早期确定应用程序体系结构是否能够在部署环境中有效工作。


19. 应用程序连接设计器将使开发组织能够按照原始规范完成应用程序。

 

在提供综合分布式服务设计工具的过程中,Visual Studio 2005 使组织能够按时且按照原始规范更有效地完成其应用程序。而且,不同于使用复杂且特定于域的建模语言作为应用程序体系结构的中间形式,Visual Studio 2005 中的设计工具将提供从类到组件、Web 服务、程序集、活动和过程的粗粒度抽象,并且在应用程序模型和基础源代码之间维持动态同步。

在创建任务关键的软件时,应用程序架构师经常发现自己正在与管理数据中心操作的架构师通信。在开发最终解决方案的过程中,人们经常发现应用程序的逻辑设计与部署环境的需求和约束不符,其原因在于开发团队之间缺乏及早的、适当的沟通。通常,这种沟通不畅会导致工作效率下降,因为架构师和运营经理需要使应用程序的功能与数据中心的现实相符。在 Visual Studio 2005 中,这些差异得到了缓解,原因是逻辑数据中心设计器(图 20)使运营经理能够指定他们的逻辑基础结构,并且与应用程序架构师协作,从而验证应用程序的设计使它们能够在指定的部署约束下工作。


20. 逻辑数据中心设计器使运营经理能够指定基础结构要求。

 

在很多情况下,企业架构师和开发人员特别偏爱其解决方案更具代码中心特征的视图。Visual Studio 2005 还包含一个功能丰富的类设计器(图 21),这样,即使最大的软件项目也可快速地理解、设计和生成。


21. 类设计器为企业关键应用程序提供 RAD 设计。

 

Microsoft 的分布式系统设计器使架构师、开发人员和运营经理能够参与应用程序开发的展望阶段。当架构师使用应用程序连接设计器设计他们的解决方案时,运营经理可以使用逻辑数据中心设计器施加约束。架构师和开发人员可以使用应用程序连接设计器和类设计器方便地通信。这些工具共同使团队能够获得更好的沟通和更高的工作效率。

生成健壮且可靠的软件

要开发健壮且可靠的软件,开发人员需要一组集成的分析工具,以便帮助他们在开发周期的早期检测代码缺陷和性能问题。Visual Studio 2005 Team Developer Edition 提供了高级开发工具,使开发团队能够在生存期的早期(通常贯穿整个生存期)确保质量。Static Code Analyzer 帮助开发人员在开发周期的早期检测与编码和安全有关的问题,从而减少解决代码缺陷的总体成本。此外,可以使用代码分析工具作为每夜生成过程的签入策略的一部分,从而使开发团队能在代码签入到源代码树之前纠正缺陷。Visual Studio Team Developer Edition 中的性能分析工具使开发人员能够衡量、评估和瞄准其代码中与性能有关的问题,从而趁早标识性能瓶颈。该工具集还集成使开发人员在开发过程中对其代码模块执行单元测试的功能。

Static Code Analyzer 向开发人员提供有关其 C/C++ 源代码中可能存在的缺陷的信息,这些缺陷包括非常常见的代码缺陷,例如缓冲区溢出、未初始化的内存、空指针取消引用、内存和资源泄漏等。Static Code Analyzer 完全集成到 Visual Studio 2005 IDE,以便使开发人员可使用他们了解的工具和环境工作。


22. 为源代码生成的 Static Code Analyzer 出现在错误列表中。

 

Static Code Analyzer 还会检测托管代码程序集中的代码缺陷,并且报告有关这些程序集的信息,例如违反了在 Microsoft .NET Framework Design Guidelines 中提出的编程和设计规则。Static Code Analyzer 还可以通过 MSBuild 系统调用,使开发人员能从命令行对托管项目运行其解决方案的生成。


23. FxCop 中的规则消息标识了相关编程和设计问题,并且在可能的时候提供有关如何解决目标问题的信息。

 

Visual Studio 2005 Team System 中的性能工具帮助开发人员衡量、评估和瞄准其代码中与性能有关的问题。这些工具被完全集成到 IDE 中,以提供无缝且友好的用户体验。

通过更好的测试获得更好的软件

Visual Studio 2005 Team Test Edition 引入一套新的测试工具。这些工具已经在 Microsoft 内部使用,并且将首次集成到 Visual Studio 2005 Team Test Edition 中。这些测试工具不仅在它们自己的测试框架中工作,而且还被完全集成到 Visual Studio Team System 中,从而提供完整的软件开发生存期解决方案。

Visual Studio 2005 Team Test 引入新的项目类型 — a€?testa€?Project — 该类型在解决方案资源管理器中与传统的项目类型一起显示。这样,包括单元、Web、负载和手动测试在内的所有测试都是 Visual Studio 中的一类公民,并且可以在组织中共享。您可以将测试结果发布到数据库,生成趋势报告和历史报告,比较不同种类的数据,查看作为测试结果找到了多少以及哪些错误,并且确认哪些错误与有助于再现它们的测试没有联系。


24. 单元测试 UI 包含一个代码覆盖率窗口,并通过颜色显示覆盖和未被覆盖的代码。

 

Visual Studio Team Test Edition 支持多种测试机制。单元测试工具可用于测试现有的源代码,并且它们是测试驱动开发必不可少的元素。另一方面,Web 测试包含一系列可创建或者从浏览器会话中录制的 HTTP URL。一般性测试使测试者能够使用其团队现有的自动化测试和工具。负载测试模拟多个用户运行自动化测试。手动测试可用于遍历尚未自动化的任务。除任何自动化测试(所有非手动测试)以外,还可以从命令行运行测试组。

在 Visual Studio 2005 内部,测试现在被视为一种顶层活动,能够减少提供复杂的 Web 和桌面应用程序所固有的风险,它还能通过减少支持成本而将收益最大化,并且被集成到整个软件开发生存期中。

源代码控制和工作项跟踪

软件配置管理 (SCM) 是一种规范的方法,在软件开发和维护做法随着时间的推移而更改时,可对其演变进行管理和控制。通过 SCM,企业开发人员可以对现有代码进行安全更改,跨越开发人员、项目和时间来跟踪更改,有效地管理生成过程,以及跟踪项目错误和问题。

Visual Studio Team Foundation(Visual Studio 2005 Team System 的服务器组件)提供了集成的源代码控制、工作项跟踪、报告,以及使团队能够有效管理软件开发项目中更改的自定义策略。这些更改管理组件无缝地集成到开发环境中,从而在开发人员的日常工作流中,提供了不引人注目的 SCM 过程和特定于团队的需求。

Visual Studio Team Foundation 使项目参与者能够将工作项与其他类型的配置项(如工作项、源文件、更改集和版本)相关联,从而将源代码控制、工作项跟踪和版本管理连结在一起。签入策略在将一组挂起的更改签入到储存库中之前,验证开发人员的更改是否符合组织需求。可以在单个工作项的处理过程中生成报告,还可以跟踪单个工作项直至其完成,甚至还可以查看与其解决相关联的代码。另外,团队无需安装 Visual Studio 的所有组件,即可使用工作项跟踪工具集的 Web 界面外壳程序来跟踪工作项。总之,Visual Studio Team Foundation 提供了一个灵活的、集成的工具集,将 Visual Studio 的工作效率和创新潜力与面向过程的解决方案的可预测性和可再生产性相结合,以便有效地管理软件开发项目中的更改。

此外,在 Visual Studio 2005 中,Microsoft 将扩展 Visual SourceSafe 以提供对 Web 服务和 Unicode 项目的支持,从而帮助程序员更加有效地应对当今业务的挑战。而且,Visual SourceSafe 通过使常见操作变得更快速并且使其异步进行,以及启用通过防火墙的访问,用远程访问更好地支持团队开发。因此,开发人员将享受到改进的性能以及 Visual SourceSafe 和 Visual Studio IDE 之间的更紧密的集成。

软件项目管理和过程

Visual Studio 2005 Team System 提供了很多不同的项目管理工具。Visual Studio 项目管理工具支持更好的计划、安排、协作、通信、报告和过程控制。这些工具与 Visual Studio 集成开发环境 (IDE)、Microsoft Office、Windows SharePoint Services 和 SQL Server 2005 Reporting Services 相集成。

Visual Studio Team System 在整个团队可以共享的单个服务器端数据库中收集有关项目需求、功能、任务、错误、问题、风险的所有工作项。团队可以从他们最熟悉的下列很多不同工具中查看、编辑、跟踪和分析这些工作项:Visual Studio、Microsoft Excel、Microsoft Project 和 Windows SharePoint Services。这些工具紧密集成并同步,它们共享信息和数据以使团队不断地相互通信。这就能够进行更好的计划、安排、协作、通信、报告和过程控制。


25. 项目管理工具捕获视图以便存储功能规范、风险评估和项目计划之间的关系。

 

在项目的整个生存期中,Visual Studio Team System 收集和报告有关错误趋势、代码覆盖状态、生成状态等数据。通过丰富的、可自定义的报告,Visual Studio Team System 为生存期中的所有参与者提供了该项目的快速宏观视图。


26. Microsoft Excel 外接程序将电子表格中的列表对象与存储了所有工作项(如错误、风险和任务)的工作项数据库绑定在一起。

 

Visual Studio Team System 包含集成过程指南,它封装了来自 Microsoft 内部和软件开发行业其余部分的非常好的做法,并且使它们易于访问和效仿。为项目选择 Microsoft Solutions Framework (MSF) Methodology Template 可以配置 Visual Studio Team System 中的所有工具:带有工作流的自定义工作项类型、自定义报告、源代码签入策略以及规范、准备计划、风险分析的文档模板等。过程指南完全可以由最终用户、团队和系统集成商自定义。

Visual Studio 项目管理工具将通过启用项目数据和生存期的非侵入可视性和规范化来改革 IT 部门管理其开发过程的方式。

产品生成

过去,开发人员曾经因为试图将复杂的生成基础结构映射到 Visual Studio IDE 中而进行过一番努力。传统意义上,障碍围绕下列方面:在开发环境中生成项目时,无法完全自定义或了解发生了什么事情;无法在 Visual Studio 不可能在场的生成实验室环境中再现生成;由于优化生成系统的目的不是模拟整个产品而是模拟单个项目而带来的限制。

Visual Studio 2005 版将通过引入一个名为 MSBuild 的新生成引擎来显著改善这一软件开发领域。MSBuild 的主要设计目标包括:提供一种资料完备、且受到已发布的 XML 架构定义支持的文件格式;使 MSBuild 引擎成为 .NET Framework Redistributable 不可分割的组成部分;使开发人员可以自定义、扩增或完全重新定义生成过程;提供与 Visual Studio 2005 IDE 的无缝集成。

首先,MSBuild 引入一种新的基于 XML 的、易于理解且易于扩展的文件格式。MSBuild 文件格式使开发人员能完整描述需要生成的工件,以及在不同的配置下需要如何生成它们。此外,该文件格式还使开发人员能创作可分解到单独文件中的可重用规则,以便在产品内的不同项目中一致地执行生成。

其次,MSBuild 将作为 .NET Framework 2.0 Redistributable 的核心部分提供。这一基本原理方面的转变将使开发人员可依赖于 MSBuild 基础结构,而不用考虑 IDE 是否在场以及许可问题。此外,通过将 MSBuild 类库作为 .NET Framework 的核心部分提供,开发人员将能够使用他们选择的托管语言创建和调试自定义 MSBuild 过程的组件。

第三,MSBuild 处理和生成软件的方式将完全透明。所有生成步骤都将在 XML 项目文件中显式表示,而无论是手动创作还是由 Visual Studio 2005 IDE 自动生成。这还意味着,Visual Studio 不再将“F5”生成体验的任何部分视为黑盒。用户现在可了解、复制、编辑、删除或扩大生成过程的任何部分。

最后,像原来一样,MSBuild 将被完全集成到 Visual Studio 2005 IDE 中。这一紧密集成将使开发人员能够利用 Visual Studio 提供的所有内置工作效率功能,同时使开发人员可以根据其独特的基础结构需要,对 Visual Studio 2005 生成系统进行伸缩、自定义和修改。

部署和运行

在软件生存期的最后一个阶段,已完成的应用程序被放到生产环境中。该阶段的活动涉及创建部署包以及涵盖任务的运行计划,如预期可用性、备份、更新和灾难恢复。

Visual Studio 2005 与多种其他的 Microsoft 和第三方软件(包括 Enterprise Instrumentation Framework、Microsoft Operations Manager 等)一起,使组织能够在构建和测试解决方案以后对其进行部署和运行。

而且,前述的分布式系统设计工具将使运营经理更密切地参与整个开发团队的活动。

合作伙伴企业工具支持

除上述描述的 Visual Studio 的进步以外,通过选择各种行业领先应用程序生存期工具供应商的产品,企业客户还将继续享受到巨大的乐趣。通过改进的集成支持,工具公司生产将能够生产与 Visual Studio 2005 产品的其余部分具有无缝互操作性的产品。而且,通过修改的 Visual Studio Industry Partner (VSIP) 程序,独立供应商以及企业客户可以自由访问生成生存期工具(该工具与 Visual Studio 2005 紧密耦合)所需的 API。对于客户而言,结果将是 Microsoft 和合作伙伴工具的组合,这一组合将使企业应用程序设计、开发、测试和部署变得比原来容易很多。

0
相关文章