库拉索芦荟 - 芦荟汇聚地!

rup

rup什么意思

RUP,全称是Rational Unified Process,意为统一软件开发过程。统一软件过程是一个面向对象且基于网络的程序开发方法论。软件统一过程(RUP)是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法,描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程,因此特别适用于大型软件团队开发大型项目。这一方法论类似一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。在软件工程领域,与RUP齐名的软件方法还有:净室软件工程CMMI;极限编程(extreme programming,简称 XP)和其他敏捷软件开发(agile methodology)方法学等。

什么是RUP它有什么特点

RUP(Rational Unified Process)是Rational公司(早在2002年就被IBM收购了)的过程产品。上面这段话显然不能作为RUP的定义,因为没有涉及RUP的内涵。
RUP是一种软件工程过程。那么软件工程过程又是什么呢?通俗的讲,我们有一群人,接了一个软件开发的活,这一群之间的职责如何分配?工作顺序如何安排?每一个具体的任务具体怎么个做法?不同人员如何协作?除了最终交付给用户的软件和文档是否需要一些中间制品?这些制品是否有一个统一的模板?这些问题如果不在我们正式干活之前就找到答案,那么项目开发就会出现很大的随意性——不同项目都有自己的一套做法,互不相同,也互无借鉴。有的人做项目做得多些,自己可能总结出了一些套路(个人或小团队的“最佳实践”),成了自学成才的专家,但是这些套路没有成文,不同“专家”之间不能互相学习、互补。软件过程其实就是一套成文的,做软件项目的“套路”。一般稍微大一些的软件企业,都有自己的软件过程。
软件工程过程不止RUP一种,那么RUP的特色是什么?RUP的特色体现在他对下面6个最佳实践的支持:
1. 迭代式开发——较之瀑布式开发,迭代开发更能规避风险,更好的获取用户需求。
2. 管理需求——需求是动态变化的,对需求的管理应贯穿软件生命周期的所有环节。需求管理包括三个活动:获取、组织并记录需求;评估需求变化及其影响;跟踪、记录需求的变更相关的决策与权衡的理由。
3. 应用基于构件的构架——软件系统很复杂,不同干系人(stakeholder,例如:用户、分析师、开发人员、集成人员、测试人员、项目经理等)对软件有不同的视角。建立并维护软件构件有利于管理不同的视角,从而在整个迭代周期内控制迭代的过程。 而基于构件的构架则由于其柔性的结构、对复用的支持被Rational认为是最佳的实践。
4. 可视化的建模——复杂的软件通过UML这样的建模语言进行抽象和可视化不但能够简化沟通,而且也能简化开发人员对系统的理解。
5. 持续不断的验证软件质量——缺陷越早被发现被解决就越节约成本,因此应该在整个软件生命周期内不断验证质量。
6. 控制软件变更——多人、分布式的开发,如果不能控制版本和变更,开发必然陷入混乱,变更的控制是项目有序进行的必要条件。
RUP是可以剪裁的,他包含针对不同项目特征进行剪裁的指南。同时RUP也是不断演化的,Rational不断在发布RUP的新版本。


大家都在看