使用Rational Method Composer 定义客户化的统一过程

 

developerWorks
文档选项
将此页作为电子邮件发送

将此页作为电子邮件发送



级别: 初级

璇 姜 (jx0517@hotmail.com), IBM中国软件开发实验室软件工程师

2006 年 2 月 23 日

本文将概述如何通过一个简单但完整的例子使用IBM Rational Method Composer生成并发布客户化的统一过程(RUP)。

介绍

  

在传统的软件开发过程中,经常被使用的开发方法称之为瀑布型开发方法。开发团队要以严格的顺序来完成一系列的项目阶段,它们包括需求分析、设计、实现/集成,最后是测试。这样做的好处是项目管理本身非常简单。

  

随着软件开发项目的越来越庞大,需求越来越复杂,瀑布型开发方法所带来的问题凸现出来。在软件开发过程中需求的变化以及开发过程中遇到的问题越来越多,这些变化及问题可能会严重的影响软件的发布期限。并且这种开发过程会使主要的团队成员在一些开发环节中是空闲的,为了避免这些空闲,团队成员不得不被迫切换于不同的项目之间。

  

一种新的开发方法称之为迭代化开发。它使用并行的程序开发流程,将一个项目分解成为若干子项目,互不制约的各个子项目之间可以同步进行,这种改进可以缩小后期的集成带来的风险,同时使测试人员更早的介入测试工作,也为管理人员提供更准确的项目状态。每一个子项目称为一个迭代,迭代有详细的目标定义,并可完成最终系统的部分功能,每一个后续的迭代建立在之前的迭代基础上不断地增加项目的功能,直到最终产品开发完成。

  

迭代化开发方法带来项目管理难度的骤然加大,IBM Rational Unified Process正是为了管理和分发整个项目的开发过程而实现的,它是一个基于浏览器的,可定义的软件开发过程平台。它以软件开发行业公认的最优化方法为核心,实现对项目中不同元素在开发过程中的分配的管理。

  

通常意义上来说,默认的RUP可以满足一部分用户的使用需求,用户只需要作简单的删改就可以发布并使用。但是对于某些特定的项目,RUP的默认配置就无法胜任了,这个时候,需要使用第三方的软件来定义客户化的RUP系统,RMC就是为这个需求而发布的一个软件。





回页首


针对的读者

  

本文主要面向在软件开发项目中的项目管理人员。假设读者已拥有了一定的项目管理基础,了解RUP以及部分Rational产品的使用经验。





回页首


RMC概述

  

项目管理者可以使用RMC定制、部署、修改特定开发团队的项目开发过程,它是一个灵活的工具平台,可以应用于整个软件开发生命周期,有效的协助项目组保持一致性的客户化开发过程。

  

RMC是IBM RUP的下一个主要发行版本,对发展中的软件开发流程解决方案有很大程度的完善。最新的发行版本为7.0,具有以下特点:

  • 用户可以使用RMC通过多种途径与项目成员保持一致的开发过程
  • 基于Eclipse的方法构建和发布工具
  • 提供过程库,包括所有早期版本的RUP内容以及RUP的插件




回页首


客户化RUP

  

在RMC出现之前,定制客户化的RUP需要若干步骤,需要使用不同的工具软件来完成。

  • RUP Modeler - 定义客户化插件
  • Rational Process Workbench - 定义工作流程
  • RUP Organizer - 扩充插件内容并导出插件
  • RUP Builder - 配置RUP视图并发布
  • MyRUP - 客户端自定义
  

RMC使用一个界面完成了上述软件的全部RUP相关功能,可以方便的针对客户独特的需求定义一个全新的或者是从默认基础上更改的RUP系统。





回页首


RMC的增强特性

  

RMC除了可以完成以前的若干工具软件所能实现的定制客户化RUP功能,还有很多扩充:

  • 为制作、配置、查看和发布开发过程提供完成的可重定义工具。
  • 在专用浏览视图中提供实时预览,允许视图的快速切换。
  • 使用基于表单的管理方法内容的用户界面,无须掌握UML模型开发作为基本技能。
  • 提供所见即所得的文本编辑工具用于创建方法的描述,编辑器允许使用风格样式表、图形、表格、超链接以及直接编辑HTML代码。
  • 使用分类结构编辑器和流程图表创建过程。分类结构编辑器支持多种过程视图,RMC在过程发生变化时可以自动同步视图。
  • 虽然RMC发行包中包含最新版本的RUP,但要记住,RMC是一个灵活的过程定义工具,而不仅仅是RUP。
  • 增强的可重用性和可扩展性。
  • 使用拖放操作快速定义过程。
  • 填补了过程与项目管理之间的空白。




回页首


RMC(RUP)中的元素

核心元素

  

核心元素包括角色、任务和产品。

角色

  

角色是一个可参与到开发过程中的一个元素。它包含一个独立的个体的职责、相关技能及能力的集合。多个角色可以组成一个角色集合,用于一个迭代过程的资源使用。角色通过执行某一任务,产生相应的产品及其他非核心元素。

任务

  

任务定义为一个项目中被细化的可分配单元。每个任务被分配给一个指定的角色或角色集。任务的细化程度通常设定为由分配的角色在几小时到几天之间完成,并且尽量使该任务在整个项目的影响最小化,通常,只会影响到一个产品。

产品

  

产品是软件开发过程中任务的输入/输出的统称,RMC包含三种常见类型的产品:

  • Artifact
  • Outcome
  • Deliverable

非核心元素

  

非核心元素包括Checklist, Concept, Example, Guideline, Practice, Report, Reusable Asset, Road map, Supporting material, Template, Term Definition, Tool Mentor, Whitepaper。它们完成在软件开发的中间环节的交互以及构成统一过程系统的必要组成部分。





回页首


使用RMC构建客户化的RUP

新建Method Library

  

单击File-New-Method Library,可以创建一个用户自定义的方法库。方法库用于保存所有项目中新建的元素以及元素之间的关系。所有的内容保存于一个目录下,用户可以在后续的使用过程中随时打开或关闭已经存在的方法库。



新建Method Plug-in

  

单击File-New-Method Plug-in。方法插件中需要定义方法的内容和处理过程。



新建Content Package

  

在Content Packages上单击鼠标右键,选择New-Content Package。内容包用于保存一个过程中所有可能涉及到的元素。



新建元素

  

分别在内容包下的元素类别上单击鼠标右键,建立用户自定义过程中所必须的元素,包括核心元素与非核心元素。本例中分别建立了角色、任务、产品以及报告等。



新建类别

  

在Custom Categories单击鼠标右键,选择New-Custom Category。新建的类别用于在RUP发布的时候将所有元素组织起来,所以,必须将在上一步新建的相关元素(即与该类别有关的)分配到该类别。



新建配置

  

在Configuration单击鼠标右键,选择New-Method Configuration,输入新建配置的名称。配置属性包含最终发布文件中所包含的所有方法插件,并指定发布后的RUP文件的默认视图,所以要在插件和包选择页面选择刚刚建立的"新方法插件",在视图页面添加刚刚建立的"自定义类别"并设置其为默认视图。



配置元素的关联关系

  

至此,假定我们需要的所有元素已经新建完毕,必要的配置文件以及类别也分别完成并保存。那么我们要设定元素之间的依存关系以便在发布后的RUP中得以体现。

  

打开刚才所建立的所有元素,依次根据项目需求设定角色、任务、产品之间的关联关系。一个角色可以承担多个任务,一个任务也可以由多个角色来负责完成。

发布RUP

  

保存上面所做的所有项目,单击Configuration-Publish,选择刚刚建立的"新方法配置",单击下一步。

  

在发布配置选择中,你可以设定自己的RUP的页面主题,关于页面以及回执的连接等。需要注意的是如果你需要搜索以及客户自定义视图功能,就必须选择相关的选项,这需要客户端的浏览器支持Java Applet。

  

发布工作完成后你可以在发布目录的logs下面找到error.log和warning.log,通过这两个文件可以检查发布过程中所产生的错误和警告。



发布后的客户化RUP

  

使用浏览器打开刚才发布的RUP系统,如果发布的时候选择了搜索及自定义功能,浏览器需要Java Applet支持。用户可以在RUP界面中看到刚刚定义的元素以及元素之间的关系。



自定义视图

  

点击RUP中工具栏上的Save As图标,把刚才发布的自定义类别另存为一个客户端自定义视图,切换到此视图后,可以对它进行增加、删除节点操作,也可以使用拖放操作从元素库中添加自己感兴趣的元素。

  

所有的自定义操作均保存在客户端的缓存里,不会影响到被发布的RUP。



  

至此,一个简单但是完整的客户化RUP的过程结束。项目成员可以浏览、查看相应的职责并针对自己感兴趣的节点定义自己的RUP视图。

  

根据项目需要,还可以在这个框架结构的基础上添加其他必要的元素,比如工具提示,里程碑、关键节点等。任何后续的修改都必须重新进行发布操作才能确保被访问的RUP是最新版本。





回页首


总结

  

通过本文我们可以了解,RMC是一个方法、过程的构造平台,它可以有效的把若干在项目开发过程中所涉及到的所有元素组织起来,构造它们之间的关联关系,并建立必要的容器用于保存这些元素。构造完成的方法库可以发布成HTML文档,也就是客户化的RUP,可再次由客户端通过Java Applet自定义。

  

RMC还支持方法库的导入导出,可以方便的利用已经存在的方法库里面的元素资源(事实上,默认发布的RUP里面的所有元素,保存在RMC安装路径的默认库目录下),也可以非常方便的交换资源,充分体现资源的可重用性。



参考资料



关于作者

姜璇,IBM中国软件开发实验室,Rational GB18030 certification team,软件工程师,熟悉OS/2,Linux,AIX操作系统 / JDK DBCS测试,近期参与Rational GB18030认证测试,了解Rational系列产品。感谢Team Leader徐成及项目组其他成员在撰文过程中提供的帮助。联系方法:EMail: jx0517@hotmail.com

posted @ 2007-12-05 17:11  行进中开火  阅读(1002)  评论(0编辑  收藏  举报