RUP(Rational Unified Process,统一软件开发过程)是一个面向对象且基于网络的程序开发方法论。
RUP是风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。我们可以针对RUP所规定出的流程,进行客户化定制,定制出适合自己祖师的使用的软件流程。RUP是一个流程定义平台,是一个流程框架。
UML为RUP开发的基础,两者都为面向对象的主要成果,两者相辅相成。
RUP为面向对象技术的一种开发方法论,RUP依附于面向对象技术而存在。
初始阶段:在系统开发之前为系统建立商业案例并确定项目的边界,该阶段关注整个项目进行中的业务和需求方面的主要风险。
细化阶段:分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。在该阶段必须理解整个系统,对体系结构做出决策,同时为项目建立支持环境。
构造阶段:所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细的测试。
交付阶段:确保软件对最终用户是可用的。
迭代式开发:该开发形式是为在开发过程中用户的需求经常变更而实行的,在迭代式开发中允许在每次迭代过程中需求发生变化,通过不断细化来加深对问题的理解。
管理需求:客户需求是一个连续的过程,RUP描述了如何提取、组织系统的功能和约束条件并将其文档,化,例如用例和脚本则为较为有效的方法。
体系结构:RUP描述了如何设计一个有弹性、能适应变化的、易于理解的、有助于重用的软件体系结构。
可视化建模:在这个过程中RUP与UML是联系在一起的,这样可以帮助人们提供管理软件复杂性的能力。
验证软件质量:在RUP中将软件质量验证放到了软件生命周期中。
控制软件变更:RUP描述了如何控制、跟踪、监控、修改以确保成功的迭代开发,防止其他来自其他空间的变更。
二维开发模型:RUP软件开发生命周期以横轴为时间组织、纵轴为内容组织的二维软件开发模型
6个核心过程工作流:商业建模、需求、分析和设计、实现、测试、部署
3大核心支持工作流:配置和变更管理、项目管理、环境
开发前景
达成计划
标识和减小风险
分配和跟踪任务
检查商业理由
设计组件构架
对产品进行增量式的构建和测试
验证和评价结果
管理和控制变化
提供用户支持
1、有利:提高了团队生产力,确保了全体成员共享相同的知识基础。建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。
2、不足:RUP知识一个开发过程,没有涵盖软件过程的全部内容;不支持多项目的开发结构,降低了开发组织内大范围实现重用的可能性。