Loading...
服务热线:0138-81815891 购物车(0)
您好,访客 请登陆注册
 

当前位置:资讯中心主页 >站长资讯 >文章内容

  • 第三代设置管理解决方案: 一种基于活动的设置管理过程
  • 来源:作者: 发布时间:2008-05-08 15:52:09
    • 域名注册

    • 域名惊喜价格 cn域名1元注册
    • com域名39.9

      虚拟主机

    • 主机按月支付,低至19元/月
    • 超大流量,可开子站点

      VPS主机

    • 特惠VPS168元/月,4-8M独享带宽保证
    • 独立操作系统,无限开站点
    前言
    二十多年来,Rational软件一直致力于提供全方面可靠的软件研发管理解决方案,其中软件设置管理(software configuration management,SCM)解决方案集成两个业界领先的工具:用于软件工件管理(software artifact management,SAM)的Rational ClearCase和用于缺陷及变更跟踪的Rational ClearQuest。这两个工具合在一起构成了一个市场领先的软件设置管理系统,提供了真正用于加速软件研发周期和流程的解决方案,这一方案已连续四年居市场第一位(摘自IDC报告:"Rational′s SCM solution continued to dominate the software configuration management market in 2001, with a 36.5 percent share. Rational′s SCM solution market share grew in 2001 despite a decline in revenue in the overall SCM market during the year.")。
    在大量软件工程实践经验和用户反馈的基础上,Rational软件提出了第三代的设置管理解决方案- 统一变更管理(UCM)。这里,首先,让我们简单回顾一下软件设置管理的发展历程:软件设置管理在其不长的发展历史中不断进行演化,从七十年代基于文件(File Based)以版本控制、支持check-out/check-in模型和简单分支为主要特征的第一代软件设置管理,到基于项目库(Project Based)将元数据和设置项分开存储管理从而更好地支持并行研发、团队协作及过程管理的第二代软件设置管理,发展到今天基于文件访问透明(File Transparency Based,即研发人员能在不保留本地副本的情况下直接访问受控设置项)、全方面结合变更请求管理(Software Change Management)、软件系统分析设计及软件测试等等各个软件研发环节的完整的软件设置管理方案。而Rational设置管理解决方案UCM正是体现这一趋势的代表。


    以前两代设置管理方法为基础上,Rational软件提出的统一变更管理(UCM)是用于管理软件研发过程(包括从需求到版本发布)中所有变更的"最佳实践"流程。UCM定义了一个能即时用于软件研发项目的一致并基于活动的变更管理流程。通过Rational ClearCase和ClearQuest的支持,UCM已成为Rational用于软件研发最佳实践的全方面框架--Rationial统一过程(RUP)的关键组成部分。根据软件研发团队的具体需要,能使用相应的过程模型来加速软件研发进度,提高软件质量并优化研发过程。


    UCM通过抽象层次的提升简化了软件研发,从而使得软件研发团队从更高的层次根据活动(activity)来管理变更。通过UCM,一个研发活动能自动地同其变更集(封装了所有用于实现该活动的项目工件)相关联,这样避免了管理人员手动跟踪所有文件变更。使用UCM还能获得以下好处:


    预定义的工作流程:能直接采用预定义的UCM工作流程,快速提升研发组织的软件设置管理水平;
    项目的跟踪和组织:项目管理人员能实时掌控项目的最新动态,合理分配资源和调度研发活动;
    协作自动化:通过将许多耗时较多的任务自动化处理,UCM使得研发人员更多地将注意力集中在更高层次的研发活动上;
    轻松管理基线:UCM将研发活动嵌入到各个基线中,这样测试人员确切地知道他们将测试什么,而研发人员则确切地知道其他研发人员做了什么;
    支持跨功能研发组:UCM已成为Rational Suite产品中的核心部分,从而能将从需求到测试各个阶段的工件(例如需求文件、设计模型、应用原始码、测试用例及HTML及XML内容等)在UCM框架下进行统一集成,简化了贯穿整个软件研发周期的变更过程;
    基于同一代码构件能进行多项目研发,简化了多项目研发管理,增大了代码共享,节省了研发资源;
    可扩展性:小型团队能从ClearCase LT和UCM开始,而大型团队能结合ClearCase的高级构建管理(build managment)功能,及ClearCase MultiSite和ClearQuest MultiSite跨地域的使用UCM。
    本文第三代设置管理解决方案:一种基于活动的设置管理过程周详描述了统一变更管理(UCM)的概念、好处及研发团队怎么通过使用Rational ClearCase,Rational ClearQuest和Rational Suite来受益。


    软件研发过程中的变更



    变更是非常频繁并且是不可避免的!
    今天的软件研发团队面临着巨大的挑战:一方面Internet驱动下的市场需求以空前的速度来研发高质量的软件应用;另一方面,软件应用需求随着研发环境和结构的日趋复杂而变得更加复杂;加上分布式研发、高性能需求、多平台、更短和连续的发布周期--这些及其他一些因素加重了软件研发一直承受的压力,实际上目前许多软件研发团队经常在能否成功研发一个新型应用上"赌博"。


    由于软件研发不同于传统意义的工程技术(如建筑、机械等),市场变化及技术上的高速更新都注定了软件变更是非常频繁并且是不可避免的,能说变更是软件研发的基石。一方面在软件研发环境下的内部活动以新特性、新功能增强及缺陷修复等方式不停地制造着变更;另一方面外部因素--例如新操作环境,新工具的集成,工程技术和市场条件的改善等以另一种力量驱动着变更。


    管理变更的能力是项目成败的关键!
    既然变更是不可避免的,那么怎么管理、追踪和控制变更就显得尤为重要。尽管有多种方式能帮助研发团队提高变更处理能力,但其中最重要的一点是整个团队的协作性,这是因为以一种可重复和可预测的方式进行高质量软件的研发需要一组研发人员相互协作。随着系统变得越来越大和越来越复杂,尽管个人生产率依然十分重要,不过决定项目成败更多的是作为一个整体的研发团队的生产率。


    而软件研发团队的生产率非常大程度上是由其相互协作和组织活动的能力决定的,并且研发团队的成功同其怎么高效地响应不断变化的环境因素紧密相连。


    对在竞争激烈的市场下想占有一席之地的研发团队而言拒绝变更无疑是行不通的,只有积极面对变更,采取有效的工具、方法和流程有机地管理、追踪和控制变更才是确保研发团队成功的关键。另外,由于各种因素的变更,原来采用的工具、方法和流程也会随着组织的成长和不停变化的需求而逐步演化,因此对软件研发团队来说另一个关键的成功因素是其扩展能力。


    统一变更管理
    随着研发团队的成长、产品发布周期的加速及对软件资产(包括代码、文件等)控制的加强,对基于第三代设置管理工具和过程的需要变得越来越大。Rational软件的统一变更管理(UCM)通过Rational ClearCase,Rational ClearQuest及Rational Suite所提供的研发平台实现了贯穿整个软件研发周期的设置管理过程,即基于活动对软件构件和项目进行变更管理。


    活动和工件
    随着软件系统和研发团队在规模和复杂性上的不断增长,对研发团队来说怎么围绕周期性的版本发布来合理地组织研发活动及高效地管理用于实现这些活动的工件变得日益重要。活动(activity)能是在现有产品中修复一个缺陷或新加一个增强功能。工件(artifact)能是在研发生命周期中涉及的所有东西,例如需求文件,原始码,设计模型或测试脚本等。实际上软件研发过程就是软件研发团队执行活动并生产工件(图1)。UCM集成由Rational ClearQuest提供的变更请求活动管理和Rational ClearCase提供的工件管理功能。


    图1:UCM集成Rational ClearQuest提供的活动管理能力和Rational ClearCase提供的工件管理功能



    活动管理


    UCM中的活动管理是由Rational ClearQuest提供的,Rational ClearQuest是个高度灵活和可扩展的缺陷及变更跟踪系统,他能捕捉和跟踪所有类型的变更请求(例如产品缺陷、增强请求、文件变动等)。在UCM中这些变更均以活动出现。


    Rational ClearQuest为活动的跟踪和管理提供了可制定的工作流,这使得研发团队能更容易地:


    将活动分配给某个具体的研发人员
    标识同活动相关的优先级、当前状态和其他信息(如负责人、估计工期、影响程度等)
    自动产生查询、报告和图表
    根据研发团队或研发过程需求能灵活地调整ClearQuest工作流引擎:如果研发团队需要快速部署,那么也能不进行制定,直接使用ClearQuest预定义的变更过程、表单和相关规则(图2);当研发团队需要在预定义的过程上进行制定时,能使用ClearQuest对他们的变更过程的各个方面--包括缺陷和变更请求的状态转移生命周期,数据库字段,用户界面(表单)布局,报告,图表和查询等进行制定。


    贯穿整个研发过程用于管理和跟踪缺陷和其他变更的一个高效工作流对于满足当今高质量标准及紧迫的产品工期的需要是非常重要的。UCM提升了这些变更的抽象层次以便能从活动的角度来观察变更,然后Rational ClearQuest工作流引擎将活动同相关的研发工件连接在一起。


    图2:Rational ClearQuest提供了一个现成的过程框架用于缺陷和变更跟踪工作流



    工件管理


    Rational ClearCase提供了一个软件工件管理(SAM)框架,研发团队能使用这一框架来管理贯穿项目生命周期的所有工件。UCM将Rational ClearCase基础框架同Rational ClearQuest中的活动管理结合在一起,从而提供了对工件和活动的集成管理。Rational ClearCase提供了:


    安全的工件存储和版本化
    并行研发基础框架--无限分支能力和强大的合并功能
    自动代码共享
    用于选择正确工件版本的工作空间管理
    完全的可延展性--从小型本地项目工作组到大型全球分布式研发团队
    另外,Rational ClearCase提供了灵活的SCM的基础框架,通过使用灵活的元数据,如标签、分支、属性、触发器(trigger)和终极链接(hyperlinks)等,研发团队能制定他们自己的SCM过程。


    由此可见,不同研发团队和项目能通过Rational ClearCase使用不同的策略,研发团队能从这种灵活性中受益。而UCM是基于一个经过验证的、成功的研发过程,因此UCM为希望快速启动高效SCM的研发团队也能直接使用这一过程来自动实现项目策略。UCM具体在以下六个方面提供了研发过程。


    UCM:六个过程领域


    UCM在六个具体领域提供了所定义的过程:


    研发人员在共享及公共代码工件上的隔离和协作;
    将一起研发、集成和发布的相关工件组按构件(component)进行组织;
    在项目里程碑创建构件基线(baseline)并根据所建立的质量标准来提升基线;
    将变更组织为变更集(change set);
    将活动管理和工件管理集成在一起;
    按项目来组织软件研发并支持多项目之间的代码共享;
    研发人员的隔离和协作


    研发人员需要相互隔离的工作环境以隔离彼此的工作,避免其他组成员的变更潜在地影响其工作的稳定性。Rational ClearCase提供了两种方式来访问工件的正确版本并在私有工作空间中在这些工件上进行工作。这两种方式是静态视图和独特的基于MVFS的动态视图,他们能据本地或网络使用而分别进行实施。


    静态视图为研发人员提供了在断开网络连接的情况下进行工作的灵活性,另外研发人员也能容易地将他们的工作同研发主线进行同步。动态视图则通过一个独特的虚拟文件系统(MVFS)来实现,他使得研发人员能透明地访问正确工件的正确版本而无需将这些工件版本复制到本地硬盘驱动器上。另外由于动态视图能实时进行自动更新,因此紧密工作在同一分支上的研发团队无需手动更新/复制文件即可即时看到其他人员所做的变动。不管使用何种方式,研发人员都能并行工作在多个发布版本上。例如,一个研发人员工作在发布版本2上,同时他也能修复发布版本1中的一个缺陷,而不用担心自己的两个活动涉及的代码互相干扰或受其他研发人员的干扰。


    隔离不稳定的变更对于将错误最小化是非常关键的,不过将所有的变更集成到一个所有研发团队成员均可访问的公共工作区域却是团队研发环境下的一个基本需求。今天基于构件的软件研发方法论的广泛应用及代码变更频率和幅度的增加都需求研发团队能经常和较早地将各个研发人员的工作进行集成。以便在尽早解决可能出现的问题。


    使用Rational ClearCase,研发团队能实现多种项目策略来同时进行工作的隔离和协作。通过强大的分支和合并功能Rational ClearCase能支持大规模的并行研发。


    在ClearCase中能根据不同用途来建立分支,如研发人员分支,新特性分支、缺陷修复分支、新需求分支等等,从而研发团队能根据需要建立适于自身情况的分支模型,灵活实现软件设置管理流程。但对于希望能快速利用成熟的软件研发流程的研发团队而言,UCM则提供了一个直接可用的分支模型。实际上在UCM中,在分支基础上对其在更高层次上进行了抽象,从而形成了一个新概念--流(stream)。流表示一个私有或共享的工作空间,他定义了项目版本的一致设置并在UCM项目中的隔离和有效协作之间提供了一种平衡。熟悉ClearCase的读者能将流理解为研发人员分支,UCM中既有为每个研发人员设置的私有研发流,同时为负责集成所有交付工作的集成人员设置的公共集成流 (图3)。由于UCM紧密结合了活动管理,因此其他分支用途,如特性分支、缺陷修复分支等将作为活动出现并附加到相应的工作流中。


    图3:UCM提供了公共集成工作区和私有工作区



    私有研发流为研发人员提供了相互隔离的工作空间,该空间在最开始由满足一定质量标准的公共工件进行初始化。研发人员使用这些私有工作空间来进行工件的变更,构建和测试。当研发人员对他们的变更感到满意时,他们能将这些变更交付(deliver)到公共集成流上。为了使研发人员同其他人员的进度同步,研发人员也能用来自项目公共集成流上最新的稳定基线来变基(rebase)他们的私有工作流。使用UCM,研发人员能选择什么时候进行交付和变基。


    实际上项目集成流充当了所有研发人员的所有变更的协调点。为了更好地协调所有研发人员的变更集成,UCM引入了基线(baseline)的概念作为对项目进度的度量。基线是一次构建(build)或设置的抽象表示,他实际上是构件的一个版本,而构件是相关工件的集合。项目研发团队在研发过程期间不断地创建和提升基线。随着不同研发人员交付变更给集成流,他们交付的变更将被逐一收集到项目基线中。随着基线的构建、测试和批准,他们能被逐步提升到不同的基线级别。


    基线提升级别具有两方面的功能:第一,他使项目经理或项目管理人员能建立软件质量标准。由于当基线达到某种预定义的质量标准时就能被标以某种基线级别,因此项目经理能设置项目策略,标识出在哪一个基线级别(如"通过测试的")研发人员能执行变基操作。第二,基线提升级别就具体的研发人员应该怎么同其所研发的工件进行交互提供了指导。例如,根据某条基线通过某些冒烟测试的时间能帮助测试人员确定什么时候开始测试。


    构件基线


    第二个UCM过程领域是将工件组织为构件。在第二代设置管理中,大多以文件版本形式来管理所有的文件,当一个复杂项目中包含成千个文件上万个版本时,整个项目的研发控制将变得相当复杂,因此对众多的文件进行合理分类以呈现系统的设计要素能大大简化项目研发控制。


    UCM通过将多个工件组织为构件(在UCM中构件指一个VOB的根目录或VOB的某个第一层子目录)从而扩展了软件工件管理的版本控制能力,并且UCM还提供了用于自动化构件管理的工具和过程。即用基线对构件而不是构件中众多的版本进行标识,然后用这一基线作为新的研发起点并更新研发人员的工作空间。


    构件基线是在ClearCase标签(label)的基础上结合活动管理所做的扩展,即你能知道一个UCM构件基线中包含了哪些研发活动,例如一条基线可能包含了三个研发活动,如BUG 101的修复、用户登录界面汉化及新增打印特性的支持。


    对于包含多个构件的复杂系统,UCM提供了基于多个构件的组合基线,即多个构件之间能建立依赖关系,一旦底层构件的基线发生变化,例如生成一条新基线,其上层构件相应地也自动建立起一条基线,该基线自动包含底层构件基线。例如,一个较为复杂的MIS系统包含"数据库访问","业务逻辑处理"和"前端图像界面"三个构件,其中"前端图像界面"构件依赖于"业务逻辑处理"构件,而"业务逻辑处理"构件依赖于"数据库访问"构件。这样当"数据库访问"构件发生了变化并新建了一条新基线(如DB_BASELINE_Dec24)后,在"业务逻辑处理"构件和"前端图像界面"构件各自动建立了一条新基线(如BUSINESS_BASELINE_Dec24和GUI_BASELINE_Dec24)。这样上层构件的最新基线能自动跟踪底层构件的最新基线。


    构件管理的自动化对于高效无误地研发可能包含数千个原始码工件(更有其他相关的工件,如web内容,设计模型,需求说明和测试脚本等)的复杂软件系统而言意义重大。


    构件基线提升


    项目研发团队的成员工作在一个UCM项目(project)中,项目经理通过设置软件构件从而使项目成为由构件构成的体系结构。大多数组织将UCM管理的构件设计为能反映出他们软件体系结构的方式(图4),即将所有相关工件按体系结构组织为有意义的子系统,进而放入不同的构件中。


    图4:用UCM构件直接对软件体系结构建模



    如上节所描述的,研发人员在交付变更到公共集成流时能周期性地更新他们私有研发流中的构件。然后研发团队能根据研发过程的当前阶段和质量级别对构件进行评级。项目策略确定了在研发人员变基之前构件基线必须达到的质量级别及其他研发团队成员(如测试人员)应该怎么同构件基线交互。在稍后会对项目及项目策略做更多描述。 UCM提供了五种预定义的基线级别,他们包括被拒绝(rejected),初始(initial),通过构建(built),通过测试(tested)和已发布(released)。另外,UCM允许研发团队用他们自己的命名规范和提升策略对这些预定义基线级别进行制定。


    变更集


    第四个UCM过程领域是将独立的工件变更组织为可作为整体进行交付、跟踪和管理的变更集中。由于通常当研发人员工作在一个活动(例如缺陷修复)上时,他们非常少只修改一个文件,因此用变更集能表示用以完成某个具体活动的工件的所有变更,例如为修改一个编号为63的缺陷变动了50个目录/文件的120个版本,则缺陷63的变更集为相关的120个文件/目录版本。当研发人员同时工作在多个变更请求上的需要使得这一过程更加复杂。例如,一个研发人员在进行一个新发布版本的研发,这时由于当前发布版本的一个错误需求他不得不中断当前的研发工作转而去修复这一缺陷,这样该研发人员必须在同一工件上进行两种不同的变更,一种是在未来发布版本中的增强功能变更,另一种是在前一发布版本中修复缺陷的变更。


    通过将同一个研发活动相关的所有变更收集到一个变更集中,UCM简化了管理多个工件变更或多个工件版本的过程。UCM围绕具体的研发活动来进行工作组织,同时UCM还确保已完成的活动包含所有必要工件上发生的所有变更。


    活动和工件管理


    第五个UCM过程领域是通过使用一个可将活动及其相关工件集链接起来的自动化工作流(图5)将活动管理和工件管理集成起来。这给了研发团队极大的灵 活性来为不同类型活动的管理指定不同的工作流。UCM提供了最常用活动类型的预定义工作流,包括缺陷修复和增强请求。


    图5:UCM工作流概览



    研发团队还能使用ClearQuest Designer这一模块来对这些预定义过程进行制定,项目经理或项目管理人员能用他来创建所有需要的活动类型,包括缺陷修复,增强功能请求,文件变动及Web网站变动等。使用ClearQuest Designer的图像用户界面,项目经理也能定义字段,表单及每个记录类型的状态转移。


    为了方便研发人员更容易地标识活动和项目代码库中工件间的关系,UCM自动将活动和其相关的变更集链接起来(图6)。当在一个UCM项目中工作时,研发人员所交付的是活动(见研发人员隔离和协作一节)而不是文件形式的工件。类似的,当研发人员变基时,他们根据新构件基线提供的活动(而不是文件形式的工件)来重审将要在他们的私有研发流中接收的变更内容。这样,研发人员不仅能看到所有相关工件完整的版本历史,而且能看到实现每个变更的所有活动。这给了研发团队一个项目是怎么从一个阶段演进到下一个阶段 演进的全方面视图,当需要标识出一个工件版本的变更是怎么影响另一个版本时,这一好处所带来的价值是无法估计的。


    使用UCM一致、可重复的用于活动管理的过程,通过活动管理和工件管理的集成能帮助研发团队减少错误,研发人员还能避免许多通常需要手工作业的单调工作,从而更有效率地完成研发任务。


    图6:UCM将活动和相关的工件链接起来



    项目和项目策略


    UCM中的项目能和实际软件研发中的各种项目对应,每个UCM项目包含一个集成工作流和若干个私有研发流,项目可由一组构件构成。这里需要强调的是个构件能被多个项目共享,进而项目A中的研发人员能对一个构件进行修改,创建新的构件基线;而项目B的研发人员能参照同一构件及该构件在项目A中生成的基线,但不能对该构件进行所有改动。因而UCM项目从代码级提供了软件共享及重用的良好基础。例如某系统集成公司的湖北分公司刚刚结束了为某银行研发的客服系统1.0的研发(我们能将最终交付的版本称之为XBANK_CRM_HuBei_1.0),和此同时该系统集成公司的北京分公司正准备为另一家银行进行类似系统的研发。另外XBANK_CRM_HuBei_1.0在推广过程中出现了一些问题,亟待解决。更有该客服系统2.0版XBANK_CRM_HuBei_2.0的需 求分析准备在下月开始。此时如果利用UCM的多项目机制则能为在北京的研发团队建立一个新项目CRM_Beijing_1.0,但该项目并不是从零开始的,他能从XBANK_CRM_HuBei_1.0开始,有选择地借鉴XBANK_CRM_HuBei_1.0中可共享的部分。同时原有的XBANK_CRM_HuBei_1.0的研发人员能继续进行2.0版的研制工作。而为了解决XBANK_CRM_HuBei_1.0中在推广中出现的问题又能新建一个XBANK_CRM_HuBei_1.0版的维护项目XBANK_CRM_HuBei_1.0_BUGFIX,部分原有研发人员既能加入该项目进行原有1.0版的错误修复,又能互不干扰地在原有项目中进行2.0版的需求分析。


    UCM在项目上另一个突出特点是不同项目中的研发流之间能进行跨项目的工作交付。即一个项目能将一条构件基线中包含的工件交付给另一个项目,也能将一个研发流上的活动变更集交付给另一个项目。紧接上例,假设过了三个月后项目XBANK_CRM_HuBei_1.0_BUGFIX修复了8个缺陷,而项目CRM_Beijing_1.0也根据北京用户的特点实现了3个不同的新特性,这时如果需要能在恰当时机将这两个项目中的成果有选择地交付给正在湖北进行的客服2.0版的研发,从而使得2.0版不仅修复了前一版本中的错误,而且具有了3个新特性。


    能看出项目从一个更高层次上支持了传统意义上基于分支的并行研发,这对于软件研发组织从面向项目到面向产品的转变,合理利用软件研发人力资源,改善软件产品体系结构从而支持更为复杂的软件研发具有重大意义。


    由于同一代码构件上多项目研发的引入,相应地UCM加入了多种项目策略来进行支持,用户能根据需要灵活定义项目策略。例如上面提到的基线级别,能定义只有基线级别提升到"Tested"才能作为其他研发工作流的推荐基线。另外,对于多项目间的代码交付和共享,还能定义是否允许接受其他项目的变更等。除了项目一级的策略以外,在工作流一级UCM也有类似的访问策略,如某个工作流是否允许接受来自本项目或其他项目的工作流上的变更,是否允许向本项目或其他项目的工作流交付变更等等。


    研发团队采用


    成功的软件设置管理需要同时重视人的活动和得到整个研发团队的全体接受。如果研发团队成员不能或不采用SCM方法论的话,SCM实现将会失败。Rational软件多年来从成功的软件研发团队和自身的软件研发中吸取最佳实践经验,将UCM作为一个可为研发团队采用的优化过程来进行设计。UCM的功能已全部嵌入到Rational统一研发过程管理(Rational Unified Process,RUP)中,RUP是在软件研发的各个生命周期应用最佳软件研发经验的一个实用框架。软件研发团队通过直接访问RUP并通过Rational ClearCase,Rational ClearQuest和Rational Suite的工具专家能得到关于UCM过程及其周详描述。


    UCM通过使研发人员能完成下面的工作而简化了他们的工作:


    快速准确地访问正确工件的正确版本
    在他们的工作空间中相互隔离地进行各自的工作,但能选择什么时候交付自己的工作及接收其他人员的变更
    使用项目策略来标识什么时候质量达到了能接受的级别从而能在自己的私有工作空间中接收其他人员的变更
    从他们自己的桌面透明地访问SCM工具。使用可同他们最常使用的工具(如Visual C++)进行集成的工具来进行他们的工作--在研发活动上没有附加不适当约束或增加工作时间
    自动而透明地将变更集同活动进行集成
    自动进行活动的跟踪、管理和报告。
    另外,UCM还减轻了项目经理的负担,从而项目经理能


    通过一个预定义的生命周期工作流在所有时间标识一个具体活动的状态
    用统一的报告来监视最新的项目状态
    将精力集中在高优先级或紧急的事件(活动)上
    确定工作负载并平衡任务分配
    贯穿生命周期的工件
    到目前为止,本文主要集中在原始码和其相关工件上,如对象文件和头文件等。不过使用UCM时贯穿生命周期的变更也能由非研发人员进行管理,这样就最佳实现了统一变更管理的全部好处。这些非研发人员包括分析人员,设计人员及测试人员(图7)。相应的工件包括他们在相关领域产生的工件,例如分析人员所创建的需求文件和用例(use cases),设计人员所建立的设计模型和用例,测试人员建立的测试脚本,测试数据和测试结果。


    为了高效地通信和协作工作,研发团队成员需要有效地共享这些工件。Rational Suite包含有一个集成平台,通过这一公共平台能访问贯穿多个领域的所有类型的研发工件。作为Rational Suite的一部分,UCM提供了一个用于管理贯穿软件研发生命周期的信息共享的过程层。目前每个Rational Suite产品套件中均包含了这两个产品,这样每个Rational Suite产品都包含了对UCM过程的支持。非软件研发人员(如分析人员、设计人员及测试人员)能应用UCM原理象控制代码变更相同来控制他们生产的工件(如需求文件,用例,设计模型,测试脚本及测试数据)。Rational ClearQuest工作流引擎强化了活动管理,另外一致的工作流使得所有的团队成员都能容易地标识优先级,而ClearQuest提供的工作列表(to do list)特性能使每个人均可从他们的桌面透明访问待进行的工作(活动)列表,从而容易地标识出他们下一步需要进行的工作。同样构件基线是新工作(分析、设计、研发及测试)的基础并指导团队成员什么时候更新他们工作空间。


    图7:研发团队成员在生命周期的不同阶段产生不同的工件



    来自分析的工件


    分析人员扮演着定义项目范围的重要角色,分析人员需要确定解决方案是什么及系统边界。在分析期间这些专业人员创建了多种不同的工件来帮助解释说明所建议的解决方案,这些工件包括需求文件,用例及可视化模型。研发团队在整个研发过程中不断使用这些工件来管理项目变更是必不可少的。


    成功的项目依赖于正确的需求管理。高效的需求管理包括减少研发的进度风险和系统的不稳定性,及跟踪需求变更。项目管理,风险评估及相关评估标准的产生都依赖于需求管理和需求的可追溯性--即研发团队以一种规范过程接受变更并审查需求变更的历史。


    Rational RequisitePro是Rational Suite 研发团队统一平台(Team Unifying Platform)中用于需求管理的工具。软件研发团队能使用RequisitePro来创建、管理和跟踪分析工件--例如需求属性、需求说明和管理计划,及用例模型,术语表及涉众(stakeholder)请求。


    UCM项目以同管理代码相似的方式管理需求,此外UCM还将这些需求工件包含在构件基线中。这样分析人员不仅知道哪些活动构成了一条构件基线中的工件,还知道哪些需求指导着这些工件的研发。


    来自设计的工件


    设计人员对系统基础结构建模并使用用例和设计模型进一步细化系统定义。通过设计工件对系统进行抽象,能减少整个系统的复杂性。


    在实际研发过程中经常会出现这样一种情况:一些研发团队不能继续使用一些设计模型,因为正式的编码工作已开始。这是个错误,因为这些设计模型在帮助规划整个工作,另外对于协助新的组成员快速上手,度量正在进行中的变更请求的影响,及评估整个项目风险都非常有价值。由Rational Rose提供的双向工程功能能帮助研发团队保持当前编码进度和这些模型之间的同步(图8),而UCM确保模型和代码是最新的。


    在UCM项目中,构件基线包含模型工件和代码工件。Rose Model Integrator和ClearCase 比较/合并特性的紧密集成使得研发团队能尽可能方便地在设计模型的同时进行编码。这时UCM中的变更集(参见变更集部分)能扩展到模型元素,这样变更集便包含了代码工件上的变更及模型工件上的变更。Rational Rose支持UCM交付(deliver)和变基(rebase)操作(参见活动和工件管理部分),使得多个设计人员能在Rose模型上同时工作,如同研发人员并发工作在代码上相同。


    图8:并行研发过程中模型和代码之间的交互



    来自测试的工件


    传统的研发方法将测试工作放到研发的末期,在编码工作之后进行。成功的构件研发团队都体会到单元测试(unit test)对于项目成功是非常重要的,使用单元测试就是不将构件的质量确保放到集成阶段,而是预先对单元、子系统和系统进行测试。


    所有这些并发测试产生了大量的测试工件--包括测试需求、测试脚本、测试数据和大量的测试结果。Rational Suite TestStudio及Rational QualityArchitect为研发团队提供了可持续地生产高质量软件工件所需的集成框架。借助UCM,研发团队能并发地管理他们的测试工件和相关的研发工件。


    今天,大多数研发团队都意识到将这些测试工件和构件基线集成到一起的好处。在UCM项目中,能在一条构件基线中包含所有的代码工件及相关的测试需求,测试程式和测试数据。


    这样前面描述的变更集就能扩展到测试用例,测试脚本和测试数据。集成的活动和工件管理将活动的整个范围--从对代码变更的测试校验活动--到由其活动描述的UCM变更集链接起来。


    分析,设计,编码和测试工件


    Rational Suite和UCM提供的好处是无价的。构件基线在一条基线中包容了所有的项目工件--从需求文件到测试包--这对于所有需要进行维护和升级任务的研发团队都是个大好处。借助UCM基线级别,使用Rational Suite跨功能的多个组能更容易地:


    标识所需的活动
    确定什么时候变基
    标识需测试的活动
    评估研发中的工件
    另外,UCM基线级别帮助研发团队识别什么时候开始跨功能的活动,例如,在编码结束后经过一系列单元测试和冒烟测试(smoke test)一条基线达到了能进行集成测试的质量级别,这时能提升该构件基线从而启动集成测试活动。 在UCM中,质量监视是依靠Rational ClearQuest提供的快速报告功能来进一步进行加强的。通过这些报告功能,组成员能生成清晰而简明的项目状态数据以便快速探测问题,评估风险并快速达成解决方案。另外项目管理人员能将工作围绕高优先级的活动展开并且确保所有的发布版本都满足预定义的质量级别。


    总结
    随着Internet持续增长并逐步成为同客户交易和收集战略信息的主要渠道,软件研发团队建立支持这些功能应用的压力也在增长。这一趋势使得软件研发团队(包括所有类型和所有规模的软件研发团队)对用于管理变更的、可预测和 可重复的过程的需要变得日趋迫切。通过Rational ClearCase,Rational ClearQuest及Rational Suite中的统一变更管理能力,Rational软件提供了用于控制软件研发中变更的全方面软件设置管理方案。基于多年来对软件研发领域的观察和Rational软件研发而得到的最佳经验,Rational UCM通过活动来组织变更并通过构件和项目在更高的层次上抽象软件研发,从而提供了一种实用的解决方案来解决Internet时代高质量软件应用带来的挑战。


    引用:http://www-900.ibm.com/developerWorks/cn/rational/r-ucm/

  • 以上内容由 华夏名网 搜集整理,如转载请注明原文出处,并保留这一部分内容。

      “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为25大IDC服务商之一。

    华夏名网网址导航: 虚拟主机 双线主机 主机 域名注册 cn域名 域名 服务器租用 酷睿服务器 vps vps主机

  • (阅读次数:156)
  • 上一篇: VOB的移动(不同域名)    下一篇: 现代SCM系统功能特征
  • [收藏] [推荐] [评论] [打印本页] [返回上一页][关闭窗口]
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。