RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。
软件统一过程(RUP)是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。
特点
迭代模型
RUP强调软件开发是一个迭代模型(Iterative Model),它定义了四个阶段(Phase):初始(Inception)、细化(Elaboration)、构造(Construction)、交付(Transition)。其中每个阶段都有可能经历以上所提到的从商务需求分析开始的各个步骤,只是每个步骤的高峰期会发生在相应的阶段,例如开发实现的高峰期是发生在构造阶段。实际上这样的一个开发方法论是一个二维模型,这种迭代模型的实现在很大程度上提供了及早发现隐患和错误的机会,因此被现代大型信息技术项目所采用。
用例驱动
RUP的另一大特征是用例驱动。用例是RUP方法论中一个非常重要的概念。简单地说,一个用例就是系统的一个功能。在系统分析和系统设计中,用例被用来将一个复杂的庞大系统分割、定义成一个个小的单元,这个小的单元就是用例。然后以每个小的单元为对象进行开发。按照RUP过程模型的描述,用例贯穿整个软件开发的生命周期。在需求分析中,客户或用户对用例进行描述,在系统分布和系统设计过程中,设计师对用例进行分析,在开发实现过程中,开发编程人员对用例进行实现,在测试过程中,测试人员对用例进行检验。
以架构为中心
RUP的第三大特征是它强调软件开发是以构架为中心的。构架设计(ArchitecturalDesign)是系统设计的一个重要组成部分。在构架设计过程中,设计师(Architect)必须完成对技术和运行平台的选取,整个项目的基础框架( Framework)的设计,完成对公共组件的设计,如审计( Auditing)系统、日志(Iog)系统、错误处理(Exception Handling)系统、安全(Security)系统等。设计师必须对系统的可扩展性( Extensibility)、安全性(Security)、可维护性( Maintainability)、可延拓性(Scalability)、可重用性(Reusability)和运行速度(Performance)提出可行的解决方案。
优势
迭代式开发
在软件开发的初期就想完全、准确地获得用户的需求基本是不可能的。实际上,设计者常常碰到的问题是需求在整个软件开发过程中经常会发生变化。而迭代式开发允许每次迭代开发过程中需求发生变化,它正是通过不断迭代来细化对问题的理解。这样,迭代式开发大大降低了项目开发的风险,提高了软件开发的效率。
需求管理
准确地确定系统的需求是一个连续渐进的过程,开发人员不可能在系统开发之前就完全详细地理解系统的全部需求。而RUP正是提供了如何获得、组织系统的功能和约束条件并将其文档化的方法。
便于复用的软件体系结构
组件是可复用的单位,为了达到软件复用的目的,可以由组件来组成系统。基于独立的、可替换的、模块化组件的体系结构的优点是它方便管理,并能有效地提高软件的重用性。RUP展示了如何设计一个灵活的、有很强适应性的、有利于理解和便于复用的软件体系结构。
有利于可视化建模
RUP常常和UML相互联系,这就有利于建立软件系统的可视化模型。RUP提供了对软件系统进行可视化建模的方法。
对软件质量进行验证
在RUP中,软件质量的评估不再是事后进行或单独小组进行的分离活动,而是贯穿于软件开发的过程中,这样就有利于及早发现软件中存在的不足。