
1.Rational统一过程是一种软件工程过程(Software Engineering Process)
首先,Rational统一过程是一种软件工程过程(Software Engineering Process)。它为开发组织提供了指导方法:在开发过程中如何对软件开发的任务进行严格分配,如何对参与开发人员的职责进行严格的划分等。Rational统一过程拥有统一过程的模型和开发过程的结构,并且对开发过程中出现的各种问题有着自己一系列的解决方案。
3.Rational统一过程拥有一套自己的过程框架(Process Framework)
Rational统一过程拥有一套自己的过程框架(Process Framework)。通过改造和扩展这套框架,各种组织可以将它适用于自己的项目。组成该过程框架的基本元素被称为过程模型(Process Model)。一个模型描述了在软件开发过程中谁来做、做什么、怎么做和什么时候做的问题。在Rational统一过程中应用了四种重要的模型元素,分别是角色(表达了谁来做)、活动(表达了怎么做)、产物(表达了做什么)和工作流(表达了什么时候做),通过这些模型元素来回答相应的问题形成了一套Rational统一过程自己的框架。当然,在Rational统一过程中还包含了一些其他的过程模型元素,包括指南、模板、工具指南和概念等,这些模型元素都是可以被增加或替代的,用来改进或适应Rational统一过程从而满足组织的特殊需求。
Rational统一过程的开发过程使用一种二维结构来表达,如图4-2所示即使用沿着横轴和纵轴两个坐标轴来表达该过程。
- 横轴代表了制订软件开发过程时的时间,显示了软件开发过程的生命周期的安排,体现了Rational统一过程的动态结构。在这个坐标轴中,使用的术语包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone)等。关于这方面的内容,将在后面的统一过程动态结构—迭代开发中进行详细的介绍。
- 纵轴代表了过程的静态结构,显示了软件开发过程中的核心过程工作流。这些工作流按照相关内容进行逻辑分组。在这个坐标轴中,使用的术语包括活动(Activity)、产物(Artifact)、角色(Worker)和工作流(Workflow)等。关于这方面的内容,将在后面的统一过程静态结构—过程描述中进行相关介绍。

图4-2 Rational统一过程二维结构的表示
这种二维的过程结构构成了Rational统一过程的架构(Architecture)。在Rational统一过程中,针对架构也提出了自己的方式,指出架构包含了对如下问题的重要解决方案。
- 软件系统是如何组织的?
- 如何选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时体现出的行为?
- 如何组合这些元素,使它们逐渐集成更大的子系统?
- 如何形成一套架构风格,用来指导系统组织及其元素、它们之间的接口、协作和构成?
软件的架构不仅仅包含了作为软件本身的代码结构和行为,还应当包含一些其他的特性,如可用性、性能等一些信息。