RUP最佳实践RUP最佳实践(2021-05-2319:21:22)分类:方法论和模式RUP描述了如何为软件开发队伍有效的部署经过商业化验证的软件开发方法,它们被称为最佳实践不仅仅因为你可以精确地量化它们的价值,而且它们被许多成功的机构普遍的运用.为使整个团队有效利用最佳实践,RUP为每个团队成员提供了必要准则模板和工具指导:1迭代的开发软件2需求管理3使用基于构件的体系结构4可视化软件建模5验证软件质量6控制软件变更迭代的软件开发增量迭代是RUP的第三个核心,面对当今的复杂的软件系统,使用连续的开发方法:如首先定义整个问题,设计完整的解决方案,编制软件并最终测试产品是不可能的.需要一种能够通过一系列细化若干个渐进的反复过程,而生成有效解决方案的迭代方法.RUP支持专注于处理生命周期中每个阶段中最高风险的迭代开发方法极大地减少了项目的风险性.迭代方法通过可验证的方法来帮助减少风险.经常性的可执行版本使最终用户不断的介入和反馈,因为每个迭代过程以可执行版本告终,开发队伍停留在产生结果上,频繁的状态检查帮助确保项目能按时进行.迭代化方法同样使得需求特色日程上战略性的变化更为容易.迭代降低了项目风险,迭代加快了与用户反馈,保证最终产品不出现大偏移.迭代使项目成员能够充分利用.迭代减小了需求,设计,编码各阶段的泄露,及时重构和发现问题.RUP的生命周期分为初始(Inception),细化(Elaboration),构造(Construction)和交付(Transition)四个阶段,这里的每个阶段都包含了需求,设计,编码和测试等相关活动.只是活动主体不同而已.迭代不同于并行,每个迭代里面仍然需要遵循需求-设计-编码的小瀑布过程.只是过程可以是些轻量化过程.需求管理RUP第一个核心是用例驱动,在软件需求开发过程中我们使用用例和场景来捕获功能性需求是很好的需求实践方法.在软件需求基本确定了后,通过用例的分析和用例设计来推动后续的设计开发和测试活动.我们还可以方便的建立起需求用例和后续设计,开发和测试活动的追踪关系.保持整个软件开发过程的可追溯性.基于构件的体系结构RUP的第二个核心是以架构为核心.一个应用系统的健壮,稳定,性能,可扩展,可维护以及诸多的功能性需求都需要通过灵活稳定的架构来固化.好的软件架构保证系统的高度重用和弹性结构.RUP支持基于构件的软件开发,构件是实现清晰功能的模块子系统.RUP提供了使用新的及现有构件定义体系结构的系统化方法,它们被组装为良好定义的结构或是特殊的底层结构.可视化软件建模开发过程显示了对软件如何可视化建模,捕获体系结构和构件的构架和行为.这允许你隐藏细节和使用图形构件块来书写代码,可视化抽象帮助你沟通软件的不同方面,观察各元素如何配合在一起.确保构件模块一致于代码保持设计和实现的一致性.促进明确的沟通,其中UML建模语言是成功可视化软件建模的基础.验证软件质量拙劣的应用程序性能和可靠性是戏剧性展示当今软件可接受性的特点,从而质量应该基于可靠性功能性应用和系统性能根据需求来进行验证.RUP帮助计划设计实现执行和评估这些测试类型,质量评估被内建于过程所有的活动,包括全体成员使用客观的度量和标准并且不是事后型的或单独小组进行的分离活动.控制软件的变更一个软件项目从始到终,软件需求不变化基本是不可能的事情.所以我们引入迭代尽早和用户进行交互和反馈,及早的发现新需求和变更需求并在后续迭代过程中弥补.需求的变更一定要受到控制,并制订相应的变更处理和应对计划,从而指导我们如何隔离修改和新需求开发,如何进行自动化集成,如何控制软件产物的变化.RUP是一个复杂的过程和方法论,要用好很困难.后续文章会针对RUP的每个最佳实践进行单独描述和讨论.