RUP开发流程定义了"谁""何时""如何"做"某事"。四种主要的建模元素被用来表达 Rational Unified Process:
角色(Workers),"谁"
活动(Activities),"如何"
产物(Artifacts),"某事"
工作流(Workflows),"何时"
一、活动、产物、角色
![image](https://upload-images.jianshu.io/upload_images/5541810-0b1cab8a59db5d6d.gif&contentType=2&isDownload=false&token=3d48d7fdae*d4df0b3971254ceef528a&isNewContent=false&isViewPage=true?imageMogr2/auto-orient/strip)
二、角色
角色定义了个人或由若干人所组成小组的行为和责任。可以认为角色是项目组中个人戴的"帽子"。单个人可以佩戴多个不同的帽子。这是一个非常重要的区别。因为通常容易将角色认为是个人或小组本身,在 Unified Process 中,角色还定义了如何完成工作。所分派给角色的责任既包括某系列的活动,还包括成为产物的拥有者。
![image](https://upload-images.jianshu.io/upload_images/5541810-819b24ce2beb9b9d.gif&contentType=2&isDownload=false&token=3d48d7fdae*d4df0b3971254ceef528a&isNewContent=false&isViewPage=true?imageMogr2/auto-orient/strip)
图:人与角色
三、活动
某个角色的活动是可能要求该角色中的个体执行的工作单元。活动具有明确的目的,通常表现为一些产物,如模型、类、计划等。每个活动分派给特定的角色。活动通常占用几个小时至几天,常常牵涉一个角色,影响到一个或少量的产物。活动应可以用来作为计划和进展的组成元素;如果活动太小,它将被忽略,而如果太大,则进展不得不表现为活动的组成部分。
活动的例子:
计划一个迭代过程,对应角色:项目经理
寻找 use cases 和 actors, 对应角色:系统分析员
审核设计,对应角色:设计审核人员
执行性能测试,对应角色:性能测试人员
四、产物
产物是被产生的、修改,或为过程所使用的一段信息。产物是项目的实际产品、项目产生的事物,或者供向最终产品迈进时使用。产物用作角色执行某个活动的输入,同时也是该活动的输出。在面向对象的设计术语中,如活动是活动对象(角色)上的操作一样,产物是这些活动的参数。
产物可以具有不同的形式:
模型,如 Use-Case 模型或设计模型
模型组成元素,即模型中的元素,比如类,用例(use case) 或子系统般的元素
文档,如商业案例或软件结构文档
源代码
可执行文件
五、工作流
仅依靠角色、活动和产物的列举并不能组成一个过程。需要一种方法来描述能产生若干有价值的有意义结果的活动序列,显示角色之间的交互作用。
工作流是产生具有可观察结果的活动序列。
UML 术语中,工作流可以表达为序列图、协同图,或活动图。在本文中,使用活动图的形式来描述。
![image](https://upload-images.jianshu.io/upload_images/5541810-e6dc579b09b67de4.gif&contentType=2&isDownload=false&token=3d48d7fdae*d4df0b3971254ceef528a&isNewContent=false&isViewPage=true?imageMogr2/auto-orient/strip)
图:工作流样例
注意要表达活动之间的所有依赖关系并不是总可能或切合实际的。常常两个活动较表现的交织得更紧密,特别是在涉及到同一个角色或个人时。人不是机器,对于人而言,工作流不能按字面地翻译成程序,被精确地、机械地执行。
下面我们将讨论开发过程中最基本的工作流,称之为核心工作流。
1、核心工作流(Core workflows)
Rational Unified Process 中有9个核心工作流,代表了所有角色和活动的逻辑分组情况。
![image](https://upload-images.jianshu.io/upload_images/5541810-78a5c6d34a3338a1.gif&contentType=2&isDownload=false&token=3d48d7fdae*d4df0b3971254ceef528a&isNewContent=false&isViewPage=true?imageMogr2/auto-orient/strip)
图:9个核心的过程工作流
核心工作流分为6个核心"工程"工作流:
商业建模工作流
需求工作流
分析和设计工作流
实现工作流
测试工作流
分发工作流
和3个核心"支持"工作流:
项目管理工作流
配置和变更控制工作流
环境工作流
尽管6个核心工程工作流能使人想起传统瀑布流程中的几个阶段,但应注意迭代过程中的阶段是不同的,这些工作流在整个生命期中一次又一次被访问。9个核心工作流在项目中的实际完整的工作流中轮流被使用,在每一次迭代中以不同的重点和强度重复。
更多内容见IBM官网:https://www.ibm.com/developerworks/cn/rational/r-rupbp/index.html