概念
统一过程(Rational Unified Process,简称RUP)是一个面向对象且基于网络的程序开发方法,它是由IBM Rational软件公司(原Rational Software Corporation)发明并倡导的一种软件过程框架,属于迭代式开发过程模型。
特点
RUP 采用了用例驱动、以体系结构为中心、迭代和增量开发的软件过程,用例驱动指的是需求是以用例的形式捕获的,并驱动了开发过程。以体系结构为中心意味着在系统的整个生命周期中都保持了一个完整的体系结构。迭代和增量开发允许通过一系列的迭代步骤来构建系统,每个迭代产生一个可执行的增量,这个增量的集合最终成为产品。
由UML方法体系和工具支持。RUP的核心思想包括迭代式开发、需求管理、使用基于组件的体系结构、可视化建模、验证软件质量以及控制软件变更。RUP为所有关键的开发活动提供了一个模板、一个应当遵循的过程,以及为项目所有关键参与者提供了一些指导方针。
阶段
RUP 将软件开发划分为多个循环,每个循环生成产品的一个新的版本。每个循环又依次由四个连续的阶段组成,这四个阶段分别是:初始(Inception)阶段、细化(Elaboration)阶段、构造(Construction)阶段和移交(Transition)阶段。
需要注意的是,RUP 中的迭代并不是重复地做相同的事,而是针对不同用例(需求)的细化和实现。每个阶段都有若干次迭代组成,使得团队可以在每个阶段结束时进行评估和调整,以确保项目的顺利进行。
初始(Inception)
该阶段的主要目标是明确软件系统的范围和边界条件,识别所有与系统交互的外部实体,定义交互的特性,识别所有用例并描述一些重要的用例。此外,还需要进行商业案例的评估,包括验收规范、风险评估、所需资源估计等
细化(Elaboration)
在这一阶段,团队将制定更详细的计划,定义项目基线,确定系统的体系架构。这通常包括基于组件的体系结构的设计,使得系统可以由可重用、可替换、模块化的组件组成,有助于管理复杂性并提高重用率。
构造(Construction)
这是人工最密集的阶段,主要进行编码和单元测试工作。要求真正的实现系统,尽管允许小的需求变更,但应尽量避免大的需求变动,以保持项目的稳定性和进度。
移交(Transition)
最后,将产品提交给用户进行使用,包括相关的培训等内容。
RUP 的九个核心工作流
业务建模
理解待开发系统所在的机构及其商业运作,确保所有的参与人员对待开发系统所在的机构有着共同的认识,评估待开发系统对所在机构的影响
需求
定义系统的功能以及用户界面,使客户知道系统的功能,使开发人员理解系统的需求,为项目预算和计划提供基础。
分析与设计
把需求分析得到的结果转化为分析与设计模型
实现
把设计模型转换为实现结果,对开发的代码做单元测试,将不同开发人员实现的模块集成为可执行系统
测试
检查各子系统的交互与集成,验证所有需求是否都被正确实现,对发现的软件质量上的缺陷进行归档,对软件质量提出改进建议
部署
打包,分发,安装软件,升级旧系统;培训用户和销售人员,并提供技术支持
配置与变更管理
跟踪并维护系统开发过程中产生的所有制品的完整性和一致性
项目管理
为软件开发项目提供计划,人员分配,执行,监控等方面的指导,为风险管里提供框架
环境
为软件开发机构提供软件开发环境,即提供过程管理和工具的支持