UML基础与Rose建模实用教程(第三版)
上QQ阅读APP看书,第一时间看更新

4.2.1 统一过程的静态结构:过程描述

Rational统一过程的静态结构是通过对其模型元素的定义来进行描述的。在Rational统一过程的开发流程中定义了“谁”“何时”“如何”做“某事”,并分别使用4种主要的模型元素来表达,它们是:

  • 角色(Workers),代表了“谁”来做。
  • 活动(Activities),代表了“如何”去做。
  • 产物(Artifacts),代表了要做“什么”。
  • 工作流(Workflows),代表了“何时”做。

下面分别对这4种模型元素进行详细的说明。

1.角色(Workers)

角色定义了个人或由若干人所组成小组的行为和责任,它是统一过程的中心概念,很多事物和活动都是围绕角色进行的。可以认为角色是在项目组中每一个人所贴的标签,每一个或一些人为了在项目中进行界定需要被贴上一个标签,当然有时一个人可以被贴上很多个不同的标签。在Rational统一过程中,角色还定义了每一个人应该如何完成工作,即角色的职责。所分派给角色的责任既包括一系列的活动,还包括成为一系列产物的拥有者。

以下是一些角色的例子:

  • 架构师(Architect):架构师在整个项目中领导和协调技术活动和产物。架构师为每一个架构视图建立整体结构:视图分解、元素分组以及在这些主要分组之间的接口。
  • 系统分析员(System Analyst):系统分析员通过描述系统功能的纲要和约束,领导和协调系统需求的抽取和用例建模活动。
  • 测试设计师(Test Designer):测试设计师负责计划、设计、实现和评价测试,包括产生测试计划和测试模型,实现测试规程,评价测试覆盖范围、测试结果和测试有效性。

对于在Rational统一过程中更多角色的定义,可以参考相关的图书进行了解。

2.活动(Activities)

角色所执行的行为使用活动来表示,每一个角色都与一组相关的活动相联系,活动定义了他们执行的工作。某个角色的活动可能就是要求该角色中的个体执行的工作单元。活动通常具有明确的目的,将在项目语境中产生有意义的结果,通常表现为一些产物,如模型、类、计划等。每个活动分派给特定的角色。活动通常占用几个小时至几天,常常牵涉一个角色,影响到一个或少量的产物。活动应可以用来作为计划和进展的组成元素。

以下是一些活动的例子:

  • 计划一个迭代过程,对应角色:项目经理。
  • 寻找用例(Use Cases)和参与者(Actors),对应角色:系统分析员。
  • 审核设计,对应角色:设计审核人员。
  • 执行性能测试,对应角色:性能测试人员。
3.产物(Artifacts)

产物是在过程中产生、修改的,或为过程所使用的一段信息。产物是项目的有形产品:项目最终产生的事物,或者向最终产品迈进过程中使用的事物。产物用作角色执行某个活动的输入,同时也是该活动的输出。在面向对象的设计术语中,如活动是活动对象(角色)上的操作一样,产物是这些活动的参数。

产物可以具有不同的形式:

  • 模型,如用例(Use Cases)模型或设计模型。
  • 模型组成元素,即模型中的元素。比如类、用例(Use Cases)或子系统等元素。
  • 文档,如商业案例或软件结构文档。
  • 源代码。
  • 可执行文件。

以下是一些产品的例子:

  • 存储在Rational Rose中的设计模型。
  • 存储在Microsoft Project中的项目计划文档。
  • 存储在Microsoft Visual Source Safe中的项目程序源文件。
4.工作流(Workflows)

仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述可以产生若干有价值的、有意义结果的活动序列,显示角色之间的交互作用,这就是工作流。工作流是指能够产生具有可观察结果的活动序列。在UML术语中,工作流可以使用序列图、协同图或活动图等形式来表达。通常,一个工作流使用活动图的形式来描述。

在工作流中要注意,表达活动之间的所有依赖关系并不是总可能或切合实际的。常常两个活动之间的关系比表现出来的关系更加紧密地交织在一起,特别是在涉及同一个角色或人员时。

Rational统一过程中包含了9个核心过程工作流(Core Process Workflows),代表了所有角色和活动的逻辑分组情况。核心过程工作流可以被再分成6个核心工程工作流和3个核心支持工作流。

6个核心工程工作流分别为:

  • 业务建模工作流
  • 需求工作流
  • 分析和设计工作流
  • 实现工作流
  • 测试工作流
  • 分发工作流

3个核心支持工作流分别为:

  • 项目管理工作流
  • 配置和变更控制工作流
  • 环境工作流

尽管六个核心工程工作流能使人想起传统瀑布流程中的几个阶段,但应注意迭代过程中的阶段是不同的,这些工作流在整个生命周期中一次又一次地被访问。9个核心工作流在项目中的实际完整工作流中轮流被使用,在每一次迭代中以不同的重点和强度进行重复。