我对RUP关键实践的理解

发表于:2009-04-23来源:作者:点击数: 标签:实践关键RUPrup
在面对 Rationa l统一过程RUP( Rational Unified Process)开发这一话题时,我们内心往往很复杂,即激动又忐忑,我们感觉通过RUP会给我们带来很大的价值,但深入一想又感觉会有很多问题。 我们需要开始理解RUP的实质,将所有原则结合为公司的价值描述。RUP基
在面对Rational统一过程RUP(Rational Unified Process)开发这一话题时,我们内心往往很复杂,即激动又忐忑,我们感觉通过RUP会给我们带来很大的价值,但深入一想又感觉会有很多问题。

  我们需要开始理解RUP的实质,将所有原则结合为公司的价值描述。RUP基于六个最佳实践,演变为Rational从数以千计的为全世界的客户开发的软件开发项目中积累的六个关键原则。从实践到理论的进化是和工业趋势一致的。对于在大机构中的你,你可能正在和一个IT部门环境工作,地理分布式的开发,SOA管理,在一个外包的IT和业务过程的世界里命名一些相关项。关键原则是实践检验的完美演化,最佳实践如下:

  1. 迭代开发

  面对我们当今比较复杂的系统,还用我们惯用的连续式开发已经是不太可能了,所谓连续式的软件开发就是我们首先定义整体的问题、然后设计完整的解决方案、然后编制软件、最终测试。如果我们的软件只是走这样一个流程的话,这种连续式的开发是不适合现在这种复杂的软件系统开发的。由此我们就需要一种能够通过一系列的细化、若干个渐进的反复过程而生成有效的解决方案的迭代方法:RUP是支持、专注于处理生命周期中各个阶段最高风险的迭代方法,可以说极大的降低了项目的风险。迭代方法通过可验证的方法来帮助减少风险,经常性的可执行版本使最终用户不断的介入和反馈,使我们的用户不断地去体验我们正在开发的系统,因为每个迭代过程是以可执行的版本而结束的,开发队伍停留在产生的结果上,我们可以频繁的对状态进行检查,来帮助项目按时的去完成。迭代的方法同样使我们的需求、我们的软件功能、日程这些战略性的变化更加容易。

  2. 管理需求

  RUP描述了如何去提取组织需要的功能和限制,并将其进行文档化,然后跟踪和这种文档化的折中方案决策,捕获和进行商业需求交流。过程中用例和场景的使用已被证明是捕获功能性需求的一种非常好的办法,并确保了由他们来驱动软件的设计、实现并进行最后的测试,使最终的系统能够满足最终用户的需要,他们给开发和发布系统提供了连续的和可跟踪的线索。

  3.使用基于构件的体系结构

  RUP在全力以赴的投入开发前,实际上是非常关注早期的开发和构建可执行的体系结构的基线的,它描述了如何设计灵活的、可容纳修改的、直观的而且便于理解的、并且能够促进比较有效的软件重用的结构,让我们的软件开发更加有弹性,它实际上是一种基于构件的开发,构件就是实现功能清晰的模块(包括子系统)。RUP实际上提供了使用新的以及现有的构件定义体系结构的系统化的方法,它们被封装为比较良好定义的结构或者说特殊的、比较底层的结构,比如Internet、CORBA、COM这些工业级的可重用的构件。

  4. 可视化建模(UML

  开发过程显示了如何对软件进行可视化建模、捕获体系结构和构件的这种架构和行为,这样允许隐藏一些细节和使用图形的构件这种模块来写代码。可视化抽象这种UML帮助我们沟通软件的不同方面,观察各元素之间是如何进行配合的,去进一步保持代码的一致性、设计和实现的一致性,促进了更好的沟通

  5. 连续验证软件质量

  质量应该是基于可靠性、功能性、应用性以及系统性能等,并根据需求进行验证。RUP帮助我们的软件开发过程,提供计划、设计、实现、执行并且评估这些过程和活动,质量评估是被内建于这些过程和所有活动之中的,包括全体成员并使用客观的度量标准而不是事后型或者是单独分组的分离活动。

  6. 管理变化

  控制软件变更是非常重要的,管理变更的能力在变更肯定有的软件项目中是必须的。这种变更的能力,我们应该确定每个修改都是可以的,可以对我们的系统进行一定的修改,但是修改一定是要能够被跟踪的。RUP开发过程描述了如何控制、跟踪和监控修改以保证迭代开发的成功,同时指导如何通过隔离修改和控制整个软件产品的修改为每个开发人员建立非常方便的工作区,另外通过描述如何进行自动化集成和建立管理使整个小的团队就像一个单元那样高效、快速的进行工作。



原文转自:http://www.ltesting.net