2005 年 3 月 在本文中,你会发现软件配置管理为什么对于业务成功至关重要。本文讨论了 IBM Rational® ClearCase® 变更管理产品包括Rational ClearCase 和 Rational ClearQuest® 变更管理解决方案,如何从 IBM WebSphere® Studio 和 Eclipse环境中提供高级SCM功能。它解释了这些功能如何提高生产力,改善质量和提供最大业务价值。本文还提供了从 IBM WebSphere® Studio 和 Eclipse 环境中使用Rational ClearCase 和 Rational ClearQuest 的最佳实践,以进行更有效的开发。 简介 软件配置管理(SCM)在开发生命周期内建立和维护了软件产品的完整性。通过保护和管理业务关键软件和资产,SCM使开发团体能够以更快的速度、更低的成本和风险生产出更高质量的软件。 在本文中,你会发现软件配置管理为什么对于业务成功至关重要。本文讨论了 IBM Rational® ClearCase® 变更管理产品包括Rational ClearCase 和 Rational ClearQuest® 变更管理解决方案,如何从 IBM WebSphere® Studio 和 Eclipse环境中提供高级SCM功能。它解释了这些功能如何提高生产力,改善质量和提供最大业务价值。本文还提供了从 IBM WebSphere® Studio 和 Eclipse 环境中使用Rational ClearCase 和 Rational ClearQuest 的最佳实践,以进行更有效的开发。 为什么进行软件配置管理? 软件开发是一项日益复杂和动态的活动。开发通常发生在对同一个应用进行并发开发并且往往在地理上分散的团队中。需要支持多个应用程序版本,并且它们通常必须运行在不同的机器和操作系统上。日益增加的经济压力、对审计和规章的重视,以及开发流程和技术的复杂进一步强化了目前的软件开发挑战。 结果,在软件开发过程中出现了很多问题。这些问题包括: 纠正过的 bug 重新出现。 以前的软件版本找不到或者不能重新构建。 文件神秘改变或者共同消失。 一个开发人员的工作被另一个开发人员的工作替换(消失)。 之前的工作突然崩溃。 时间压力、有效的项目/流程管理和软件质量是目前的开发挑战 。另外,发布周期和版本管理(包括更好地支持多个版本、分散团体和多个客户端配置的能力),对运行在所有环境中的工具的需要,以及与现有开发环境集成的工具的需要也已经成为关键的基于 Web 应用的开发需要 。 如何减少甚至消除这些问题以及开发人员面对的需要。答案是 SCM。SCM 通过帮助简化和管理软件开发过程提供了实实在在的业务价值。通过提供像版本控制、构建管理、缺陷和变更跟踪、版本管理和流程控制这样的功能,SCM 可帮助: 通过并行开发和自动化过程提高生产力。 通过团队协作、对大型分布式团队的支持、以及可靠性的提高和当机时间的最小化,提高了运行效率。 通过利用现有投资并加强软件的复用,降低了成本。 通过流水化开发加快了市场投放步伐,并减少了发布/构建周期时间。 通过防止用户犯错并在代码中出现的 bug 更少,提高了软件质量。 通过改进客户响应,更好地挽留了客户。 利用良构的、可重复、可审计的流程提高了满足一致性需求的能力。 尽管 SCM 可为机构带来如此多的业务好处,但并不是所有 SCM 工具都是生而平等的。关键是实现能够简化和控制变更、提高生产力、集成和管理所有软件资产、支持整个实际开发团队、能轻易集成现有系统和集成开发环境(IDE)、快速适应客户和业务需求并快速提供业务结果的 SCM 工具。 "当我们向我们的开发团队引进 WebSphere Studio 时,他们非常兴奋,因为现在他们能够集成 Rational ClearCase,并且有一个无缝的登入、登出过程。它确实优于我们之前的过程。在过去,我们的一些工件并没有处于一个变更控制环境,并且为此而犯了很多错误。通过将所有东西都放进 Rational ClearCase 并在该开发环境中使用 WebSphere Studio,一切事情都变得顺利多了"。 --The Revere Group 利用业内领先的 SCM 解决方案提高生产力并获得长远价值 IBM 的 SCM 解决方案被认为是 SCM 工具市场中的佼佼者,它提供了成熟的技术帮助开发人员和项目经理更好地管理变更和复杂性。Rational ClearCase 和 Rational ClearQuest 不仅仅是软件版本控制和版本化功能,它们还提供了能提高生产力并让企业迅速适应不断变化的需求的高级 SCM 功能。这是怎样实现的呢?Rational ClearCase 和 Rational ClearQuest 提供了即开即用的 SCM 流程支持,它: 支持快速和轻松的应用开发。 支持大型、分布式开发团队。 帮助用户避免犯错。 支持并行开放。 提供对变更和缺陷跟踪的无缝访问。 支持定制报告。 从小型工作组到企业支持的伸缩。 轻松与现有系统集成。 Rational ClearCase:不仅仅是版本控制 Rational ClearCase 产品提供了大量的软件资产管理功能。从 IBM Rational ClearCase LT、Rational ClearCase、到 IBM Rational ClearCase MultiSite? 变更管理解决方案,各个公司可以选择最能满足自己开发需要的 Rational ClearCase 产品。 Rational ClearCase LT 为小到中型的位于同一地方的团体提供了入门级的版本控制。Rational ClearCase LT 易于安装和管理,并提供了: 对开发生命周期期间产生的文件、目录或其他资产的强大的版本控制,并且具有完整的、带注释的源代码历史、二进制文件、可执行文件、文档、测试集、库和Web元素。 快照视图,可轻松访问完成特定任务所需的文件和目录的正确版本,同时还防止团队成员破坏其他开发人员正在进行的变更。这些视图通过向开发人员的桌面加载所需的版本提供了对正确版本资产的轻松访问--该特性适用于分离用户以及需要孤立的早期项目。 并行开发支持,包括自动分支,以便让多个开发团能根据同样的代码基独立工作。另外还提供了成熟了分散/合并技术,自动接受无异议的变更,并突出强调有冲突的变更,以进行快速解决。 在任何时候,任何地方从标准 Web 浏览器进行轻松访问的 Web 接口。 与 Rational ClearQuest 的紧密集成,以无缝地访问变更和缺陷跟踪。 广泛的平台支持,包括 Linux、Microsoft® Windows® 和UNIX® 系统。 带有直观安装向导的轻松的安装步骤,可自动完成服务器安装,以及内置的 TCP/IP联网,从而简化了异构环境中的管理。 与先进 IDE(包括 WebSphere Studio 和 Eclipse.)的深度集成。 到 Rational ClearCase 和 Rational ClearCase MultiSite 的无缝升级,使机构平稳发展并能应付不断变化的业务需要,并且无需重新训练、重组或迁移数据。 Rational ClearCase 为中到大型开发团队提供了完整的软件资产管理。它通过添加如下内容扩充了 Rational ClearCase LT 的价值: 使用动态或快照视图的灵活的工作区管理。动态视图提供了对任何元素的任何版本的全局、透明的访问,是审计构建环境或者需要即时更新到不断变化的源文件的复杂项目的理想场所。 自动生成详细的物料清单,并在任何时候重新创建之前任何构建的高级构建管理。 对大型企业团队的多知识库服务器开发的支持。 从一个版本控制和 SCM 产品进行的文件转换,以加速迁移活动。 大型机开发支持,包括运行在 SuSE Linux 操作系统上的 IBM S/390® 和 IBM@server® zSeries 平台。 对于任意大小的分布式开发环境,Rational ClearCase MultiSite 都: 提供了分布式开发支持,使多台分布式服务器上的分布团体能够通过自动复制并行地创建出复杂应用。 提供了自动备份和恢复,以便在出现灾难的情况下维持业务的连贯性。 通过在出现网络故障时自动重发信息并在出现系统故障时恢复知识库提供了数据集成。 通过只发送 Rational ClearCase 项目知识库中出现的增量变更,改善了性能。 "如果你有 200 个开发人员并且每次都有人都想重新构建该产品,就很难办,因为完成编译过程会花上 36 个小时。有了 Rational ClearCase,就可以将时间减少到大约 30 分钟。" --Peace Software Rational ClearQuest:灵活的缺陷和变更跟踪,实际上无处不在 Rational ClearQuest 提供了灵活的变更和缺陷跟踪。即开即用的 Rational ClearQuest 提供了满足大部分机构需要的成熟的变更控制过程。Rational ClearQuest 利用大量的图表和报表提供了对查询的综合支持。分布、趋势和回顾图表帮助你可视化复杂的变更数据。个别团队成员可能还生成 to-do 列表,并利用查询向导运行报告。 在后台,还可以利用简单的点击特性轻松定制 Rational ClearQuest。健壮、灵活的工作流支持包括电子邮件通知和提交选项,所以随着变更请求的更新,你的团队成员能够被通知。你还可以为每种变更请求类型定义独特的工作流。 "关于 Rational ClearQuest 的最好事情就是它是完全可定制的。随着机构的变化,Rational ClearQuest 也可随之变化"。 --ProCard Inc. 实际上在存在团队成员和涉众的地方,都可以访问 Rational ClearQuest。变更请求模板或者工作流设计的变更被自动传播到几乎所有的接口上--Windows、 Linux、 UNIX 或者 Web。为 Web 访问提供了两个选项:基本的提交、单查询Web访问模式(可用于数量无限的用户)和全特性的 Web 客户端。 对于分布式开发环境,IBM Rational ClearQuest MultiSite 通过如下方式扩展了 Rational ClearQuest 的价值: 提供了分布式活动管理支持,使位于多台分布式服务器上的分布式团体能够通过模式知识库的自动复制管理和跟踪活动。 通过在出现网络故障时重发信息并在出现系统故障时恢复知识库自动提供了数据集成。 通过只传输 Rational ClearQuest 知识库中出现的增量变更改善了性能。 "Rational ClearQuest使我们在面对 QA 流程时极为成功。我们能够定制 Rational ClearQuest,以便能做比跟踪缺陷更多的事情,从而解放了大约 20 到 30 个人,使他们不必在每次发布之后围在桌子坐上一个半或两个小时来回忆遇到的问题"。 --Corporate Express 统一变更管理的强大功能 Rational ClearCase 和 Rational ClearQuest 都通过提高机构的软件开发能力帮助他们创建持久的业务价值。当两者结合使用时,这些强大的工具简化和控制变更过程,并为有效的软件开发生命周期活动提供了核心基础。 统一变更管理(UCM)进一步加速了开发生产力。UCM 是一个即开即用的基于活动的流程模型,可根据软件开发团队的具体需要打开或关闭。UCM 自动完成创建和维持开发人员工作区域所需的步骤,标识与给定活动相关的变更集,集成项目中的变更,并创建和管理组件基线。通过帮助组织、协调很多开发活动并划分它们的优先级,UCM: 利用基于活动的管理简化了关键的 SCM 功能和工作流。 方便了任何大小团队的 SCM 流程的配置。 提供了开发活动(包括缺陷和变更)如何与特定文件、版本、基线或发布关联的完成视图。 UCM 的关键是它提供的抽象级。有了 UCM,开发团队可以将多个变更作为一个更高级的活动跟踪。一个逻辑变更可代表多个文件中的很多物理变更。项目经理可轻松看到活动的状态,甚至在涉及多个小组成员时。个别成员可快速看到他们正在进行的高级活动的关系。这种整体观意味着开发人员和项目经理可以更好地理解项目中变更的影响。 Rational ClearCase 和 Rational ClearQuest 是 UCM 的技术基础。通过 Rational ClearCase 和 Rational ClearQuest,UCM 帮助管理人员区分和编排必须在数以百计的不同软件资产版本上进行的很多开发活动。它使开发人员可以可迅速适应新项目。它帮助团队有效地为需求以及代码、模型、测试资产等设置基线。有了 UCM,开发团队可专注于开发应用而不是管理基础架构。 利用可靠的 IDE 进行有效开发 为了满足你的业务目标,有必要使你企业中的各个开发团体快速交付高质量的应用。开发人员需要一个包括所有东西的开发环境,以支持从开发,到集成和测试,到维护的整个开发生命周期。通常,在开发生命周期中有大量的活动重叠,并需要作为开发过程多次回去重新开始早期步骤。 综合的集成工具提供了简化该多步骤流程的第一步。开发任务的速度和轻松度是一个主要考虑。支持混合环境(Linux、Windows、UNIX 和大型机)的灵活性是另一个考虑。并且还必须权衡使位于不同地理位置的团队能够有效地并行合作的能力。 Eclipse:灵活的开源技术 Eclipse 是一种开放的、可扩展的工业支持平台,用于构建各种应用,比如 Web 站点、嵌入式 Java 程序和 C++ 程序。随着快速成为跨平台开发的流行框架,Eclipse 为开发人员提供了很多好处,包括: 对 Linux、Windows、Solaris、IBM AIX® 和HP-UX 操作环境的跨平台支持。 熟悉和直观的图形项目工作区。 通过插件与工具和特性的平滑集成。 同时支持基于 GUI 和非基于 GUI 的应用开发。 在开源许可下无需交费即可使用。 通过提供公共接口(在开发人员如何工作以及支持协作开发方面与公共用户模型旗鼓相当的优化过程),Eclipse 平台在提高生产力的同时还利用了现有以及新获得的工具。 WebSphere Studio:扩展了 Eclipse 的价值 WebSphere Studio 是一个集成开发环境系列,提供了多语言、多平台和多设备应用开发工具的灵活和类似门户的集成。它用于帮助开发人员快速构建、测试和部署动态应用。可视化工具、模板和向导帮助开发人员快速和轻易的执行很多开发任务,包括从构建动态 Web 站点和 Web 应用到开发跨越全异平台的高级企业应用。 WebSphere Studio 提供了一个可支持多种开发类型(Web、业务逻辑、集成和传统)的开发环境。结果,一个小组中的所有开发人员可以使用同样的环境(定制过的,以满足他们的个别开放需要),并可在开发应用时轻松合作。 图1 IBM WebSphere Studio WebSphere Studio 构建在 Eclipse 技术上,如图 1 所示。它通过集成来自 IBM、IBM合作伙伴和Eclipse 社区的最佳插件,定制他们的开发环境以便与他们的角色和需要匹配,帮助开发人员最大程度地提高生产力。比如,利用对无线客户端的支持创建基于门户解决方案的开发人员可以插入 IBM Portal Toolkit and IBM Everyplace? Toolkit for WebSphere Studio,以创建一个构建该解决方案的 IDE。这种集成使开发人员能够专注于提交满足它需求的解决方案,而不是在各种开发工具间切换。 WebSphere Studio 可用于几种配置中,每种都添加了 Eclipse 提供的上述重要特性。WebSphere Studio 配置包括: IBM WebSphere Studio Site Developer,一个易用、具有高度生产力的开发环境,具有用于构建和维护动态 Web 站点、Web 服务和 Java 应用的可视化快速应用开发(RAD)工具。 IBM WebSphere Studio Application Developer,一个综合的开发环境,具有用于构建和维护 Web 站点和 Java 2 Enterprise Edition (J2EE)应用的高生产力工具。 IBM WebSphere Studio Application Developer Integration Edition,下一代复合应用平台,用于构建扩展和集成了你现有IT资产的面向服务的应用。 IBM WebSphere Studio Enterprise Developer,一个用于支持 J2EE、COBOL 和 PL/1 的 IBM z/OS® 开发的混合工作负荷环境。 用于 iSeries 平台的 IBM WebSphere Development Studio Client Advanced Edition,用于 IBM@server iSeries® server J2EE 应用的 IDE。 与 WebSphere Studio 和 Eclipse 无缝集成的世界级 SCM Rational ClearCase 和 Rational ClearQuest 与 WebSphere Studio 和 Eclipse 无缝集成。数个 WebSphere Studio 产品(WebSphere Studio Application Developer、WebSphere Studio Application Developer Integration Edition和WebSphere Studio Enterprise Developer)中都包含Rational ClearCase LT。然而,集成却超出了该打包的范围。整个 WebSphere Studio 系列以及 Eclipse 与 Rational ClearCase LT、Rational ClearCase、Rational ClearCase MultiSite、Rational ClearQuest 和 Rational ClearQuest MultiSite 无缝集成。 在 WebSphere Studio 和 Eclipse 内,Rational ClearCase 和 Rational ClearQuest 功能通过 WebSphere Studio 视图、菜单、工具栏和上下文敏感弹出菜单展现。这使得 WebSphere 和 Eclipse 开发人员可按照他们熟悉的与 IDE 交互的方法类似的方式与 Rational ClearCase 和 Rational ClearQuest 交互。它还能让 WebSphere Studio 和 Eclipse 开发人员利用公共用户模型有效地支持协作开发。 从WebSphere Studio和 Eclipse 访问 IBM Rational ClearCase 在 WebSphere Studio 和 Eclipse 环境中,开发人员可执行很多 Rational ClearCase 功能。尽管访问这些功能的方式在 WebSphere Studio 和 Eclipse 中相同,但是本文的其余部分仅讨论 WebSphere Studio。 首先,WebSphere Studio 必须连接 Rational ClearCase,以便在 IDE 中启用 Rational ClearCase。可通过选择 WebSphere Studio 工具栏中的 Connect to Rational ClearCase 图标实现这一点,如图 2 所示。 图 2 从 WebSphere Studio 中访问 IBM Rational ClearCase 在 WebSphere Studio 连接了 Rational ClearCase 之后,你可以按照如下几种方法访问 Rational ClearCase:通过 Rational ClearCase 下拉菜单;通过选择一个文件,然后右击并从上下文菜单中选择 Team;或者通过点击 Rational ClearCase 工具栏中的图标。 如图 2 所示的 Rational ClearCase 下拉菜单,使 WebSphere Studio 用户可从 WebSphere Studio 工作区内执行特定的 Rational ClearCase 操作。如果您使用的是 IBM Rational ClearCase LT,那么该菜单上的有些项目将是灰色的。WebSphere Studio 用户必须升级到 Rational ClearCase,以访问这些功能。 集成的 WebSphere Studio 和 Rational ClearCase 工具栏也在图 2 中显示,用于执行频繁用到的 Rational ClearCase 功能。开发人员可通过在 WebSphere Studio 工作区中的简单鼠标点击快速、轻易地执行 Rational ClearCase 和 UCM 功能。 图 3 中所示的上下文菜单中的 WebSphere Studio Team 提供了另一种直接从 WebSphere Studio 中访问 Rational ClearCase 功能的方法。注意,通过 ClearCase 下拉菜单、WebSphere Studio 和 Rational ClearCase 工具栏,以及上下文菜单上的 Team 选项,可在常见的项目文件上执行很多功能,比如源控制操作。 图3 从上下文菜单访问IBM Rational ClearCase 表1提供了可从 WebSphere Studio 用户界面中执行的 Rational ClearCase 功能的概述。有关这些功能的具体信息可通过 WebSphere Studio 用户界面内的 Rational ClearCase 在线帮助获得。 表1 WebSphere Studio 中的 IBM Rational ClearCase 功能 *仅用于 Rational ClearCase 从 WebSphere Studio 和Eclipse访问IBM Rational ClearQuest 要想从 WebSphere Studio 或 Eclipse 中访问 Rational ClearQuest 功能,用户必须首先在 WebSphere Studio或Eclipse视图中添加 IBM Rational ClearQuest Result Set 视图。通过选择 Window > Show View… > Other,然后选择 Rational > ClearQuest Result Set 视图,可轻易地把 Rational ClearQuest 功能添加到任何 WebSphere Studio 视图中,如图 4 所示。 图 4 向 Java 视图中添加 IBM Rational ClearQuest Result Set 视图 就是这么简单!一旦在视图中添加了 ClearQuest Result Set 视图,WebSphere Studio 用户马上就可以执行下列 Rational ClearQuest 功能: 登录任何 Rational ClearQuest 用户数据库。 从 Rational ClearQuest 数据库中选择和运行任何公开或者私有查询。 直接在 ClearQuest Result Set 视图中查看查询结果。 在查询结果中查看一个项目的记录细节。 直接从 ClearQuest Result Set 视图中提交新缺陷。 运行最近用过的查询。 从 ClearQuest 数据库刷新查询结果。 启动 Rational ClearQuest 应用。 图 5 IBM Rational ClearQuest Result Set 视图 WebSphere Studio 和 Eclipse 用户还可以通过从 Result Set 工具栏中启动 Rational ClearQuest 应用访问其他 Rational ClearQuest 功能,如图 5 所示。 最佳实践 有好的工具是一方面;有效的使用又是另一方面。用 WebSphere Studio 或 Eclipse 使用 Rational ClearCase 和 Rational ClearQuest 的最佳实践分为六个领域。这些最佳实践从使用这些产品的大量经验中得出,可帮助你进行更有效的开发。 将子系统或架构层隔离到不同的组件中 基于组件的架构有助于提升软件在应用间的复用和共享。在 Java 或 J2EE 应用中,好的组件是需要版本化和独立发布的,或者被多个应用共享的文件的逻辑分组。比如,产生在很多应用中共享的 Java archive (JAR)文件的 WebSphere Studio 项目就是一个不错的候选组件。有了 UCM,这些组件可独立地建立基准,并在多个 UCM 项目中共享。 仅对必需的文件进行版本控制 源文件一般被版本化并与其他项目成员共享,而构建文件通常是私有的,不被共享。用户必须保证正确的文件被版本化,也就是说,用户可能不希望版本化和共享构建文件和构建设置,但是希望版本化和共享源文件。WebSphere Studio 提供了忽略你不希望往源控制中添加的特定文件类型的选项。Rational ClearCase 集成向该 Ignored Resources 列表中添加了默认的文件类型列表。关于 Ignored Resources 的更多信息,请参见 WebSphere Studio 帮助。 对于每个 ClearCase 视图使用单独的 WebSphere Studio 工作区 通常,开发人员使用同一个 WebSphere Studio项目的多个 Rational ClearCase 视图,并且这些视图必须可通过 WebSphere Studio 工作区访问。建议将一个 Rational ClearCase 视图与唯一的一个 WebSphere Studio 关联。比如,如果你想在一个并行开发环境中工作,其中开发视图 A 用于解决版本 A 的 bug,另一个开发视图 B 用于解决版本 B 的 bug,那么你将有两个不同的 WebSphere Studio 工作区:一个用于视图 A,一个用于视图 B。这使得很容易仅仅通过打开与必需的 Rational ClearCase 视图关联的另一个工作区,在同一个 WebSphere Studio 项目的不同版本间切换。 创建标准化的开发环境 所有项目成员共享同样的开发环境以保证一致性并减少与不一致的构建设置相关的集成问题或其他配置问题,这一点很重要。帮助避免这些问题的一种方法是利用简单的项目共享公共配置信息。简单项目可用于存储公共项目工件,比如启动指令、构建指令以及项目组首选项设置的指南。这样做通过提供一致的工作区、构建设置和其他环境设置节省了开发人员的时间。 使用 Team Project Sets 定义一致的 WebSphere Studio 项目 Team Project Sets 指定了一列处于版本控制之下的 WebSphere Studio 项目,它们可以快速导入。这节省了开发人员的时间,因为他们不用导入个别项目,并且还无需理解项目的依赖关系。 向源控制中添加第三方库 为了帮助消除本地构建环境中的依赖关系,以及 JAR 版本之间的不兼容性,第三方 JAR 库应该出于版本控制之下。然后 WebSphere Studio 项目可以将这些第三方库作为外部 JAR 引用。这还允许项目组成员具有公共的类路径,因为 JAR 文件存储在受版本控制的单一公共位置中。 结束语 软件开发人员面临严峻的挑战,包括日益增加的软件复杂度、日益增加的开发环境复杂度、按时投放市场的压力,以及对软件质量的更高期望。软件配置管理有助于减少或消除这些挑战。 IBM Rational ClearCase 和 IBM Rational ClearQuest 是管理变更和复杂度的成熟的 SCM 解决方案。它们不仅仅是版本控制,还提供了很多高级功能,这些功能启用并行开发,提升复用,支持大型分布式团队,减少构建/发布的周期时间,最小化当机时间并降低风险。 Rational ClearCase 和 Rational ClearQuest 与 IBM WebSphere Studio 和 Eclipse 无缝集成。这种深度集成使得可以直接从WebSphere Studio 和 Eclipse 环境中执行大量的 SCM 操作。通过将最流行的两种 Java 和 J2EE IDE 与业内领先的 SCM 解决方案组合,IBM 提供了开发人员在团队环境中有效工作并且无需离开他们的 IDE 所需的一切东西。结果就是生产力显著提高,质量上升,并且业务价值最大化。 更多信息 WebSphere Studio和Eclipse的Rational ClearCase和Rational ClearQuest插件可从下面地址下载: ibm.com/developerworks/rational/ 要想知道 IBM Rational ClearCase 和 IBM Rational ClearQuest 如何管理变更和复杂度,请访问: ibm.com/software/rational/offerings/scm.html |