- 》  RUP(Rational Unified Process),统一软件开发过程,统一软件过程 是一个面向对象且基于网络的程序开发方法论。瑞理统一过程(RUP)是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法[1]  。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学)是适合一个大团队开发
根据Rational(Rational Rose和统一建模语言的开发者)的说法,RUP就好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
而RUP最重要的它有三大特点:1)软件开发是一个迭代过程,2)软件开发是由Use Case驱动的,3)软件开发是以架构设计(Architectural Design)为中心的,
RUP主要有六大经验:1)迭代式开发 2)管理需求 3)体系结构 4)可视化建模 5)验证软件质量 6)控制软件变更。
RUP的开发过程主要由四个阶段组成:1)初始阶段 2)细化阶段 3)构造阶段 4)构造阶段 。
十大要素编辑⒈ 开发前景⒉ 达成计划⒊ 标识和减小风险⒋ 分配和跟踪任务⒌ 检查商业理由⒍ 设组件构架⒎ 对产品进行增量式的构建和测试⒏ 验证和评价结果⒐ 管理和控制变化 ⒑ 提供用户支持
RUP本质的是:
1、RUP是风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。
2、我们可以针对RUP所规定出的流程,进行客户化定制,定制出适合自己组织的实用的软件流程。因此RUP是一个流程定义平台,是一个流程框架。


-->  极限编程(ExtremeProgramming,简称XP) 是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。
Extreme”(极限)是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它XP所不提倡的,则一概忽略(如开发前期的整体设计等)。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。
 极限编程开发过程包括:1、工作环境 2、需求 3、设计 4、编程 5、测试。
 极限编程有着四个价值目标 1、沟通 2、简单 3、反馈 4、勇气。
极限编程(ExtremeProgramming,简称XP)要求项目团队遵循13个核心实践;
1.团队协作(Whole Team)
2.规划策略(The Planning Game);
3.结对编程(Pair programming)
4.测试驱动开发(Testing-Driven Development)
5.重构(Refactoring)
6.简单设计(Simple Design)
7.代码集体所有权(Collective Code Ownership)
8.持续集成(Continuous Integration)
9.客户测试(Customer Tests)
10.小型发布(Small Release)
11.每周40小时工作制(40-hour Week)
12.编码规范(Code Standards)

13.系统隐喻(System Metaphor)


--》敏捷过程是由于许多公司软件团队陷入了不断增长的过程泥潭,为矫正某些官僚烦琐的软件过程而提出的。敏捷过程作为一种开发过程模型,产生了很多不同的可以应用到实际中的编程方法而极限编程便是一个敏捷过程的实例。
敏捷的四个价值观 1、个体和交互胜过过程个工具 2、可以工作的软件胜过面面俱到的文档 3、客户合作胜过合同谈判 4、响应变化胜过遵循计划。
敏捷过程提倡可持续的开发速度,责任人,开发者和用户应该能够保持一个长期的,恒定的开发速度。
敏捷过程的生命周期与RUP对比,敏捷过程是一个一维的迭代过程,该过程中的每一个生命周期循环交付一个有价值的团建版本,个循环可持续进行。

更多推荐

RUP,极限编程与敏捷过程的概念