什么是RUP?

 RUP全称Rational Unified Process,是由Rational软件公司推出的一种软件开发过程。

 这个过程有6条最有效的软件开发经验。这些经验被称为“最佳实践”。

  (1)迭代式开发。迭代式开发允许在每次迭代过程中需求都可以有变化。每个迭代过程已完成可执行的版本结束,这不仅使最终用户可以不断提出新的意见和反馈。同时,参与开发人员也会因为随时有个可以交付的版本而提高了士气。

  (2)管理需求。在软件开发中,客户需求在不断变化,所以需求分析是个贯穿开发软件始终的一件事。RUP描述了如何提取、组织系统的功能性需求和约束条件并把它们文档化。RUP通常采用用例分析来捕捉需求,并由它们来驱动设计和实现。

  (3)使用基于构件的体系结构。使用构件来定义体系结构,可以有效的降低软件开发的复杂性,提高软件重用率。

  (4)可视化建模。为了更好的理解问题,人们通常采用建立问题模型的方法。一般来说,可视化的图形形式更容易理解。

  (5)验证软件质量。在软件已经投入使用后再发现问题并解决,这个阶段花费的人力和时间会更多。在RUP中,软件质量评估不再是事后型的或由单独小组进行的孤立活动,而是内建在整个软件开发过程中的、由全体成员参与的所有活动中。

  (6)控制软件变更。变更是不可避免的,所以必须具有管理变更的能力,才能确保每个修改都是可接受的而且能被跟踪的。RUP描述了如何控制、跟踪和监控修改,确保迭代开发的成功。

  RUP软件开发的生命周期是一个二维的生命周期模型,如下图。


 (1)核心工作流

  RUP有9个核心工作流。分别为业务建模、需求、分析与设计、实现、测试、部署、配置与变更管理、项目管理、环境。

 (2)工作阶段

  RUP把软件生命周期划分为4个连续的阶段。每个阶段都有明确的目标,并且定义了用来评估是否达到这些目标的里程碑。这4个阶段是初始阶段、精化阶段、构建阶段、移交阶段。RUP强调迭代开发。每次迭代都是在系统已完成的基础上进行的,每次给系统增加一些新的功能,有些像是螺旋模型和增量模型合在了一起。在不同的迭代过程中是以不同的工作重点和强度对这些核心工作流程进行访问的。