RUP,统一软件开发过程是一种面向对象且基于网络的程序开发方法论。

RUP的思路:Implementing BestPractices

·迭代式开发

在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。

迭代式开发的优点:降低风险;

得到早期用户反馈;

持续性的测试和集成;

适应变更;

提高复用性。

迭代式开发示意图:

·需求管理

需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。包括:提取、组织系统的功能和约束,并将他们写成文档;估计需求的变化并评估它们会产生的影响;跟踪需求的实现。

RUP的开发活动是用例驱动的(Use case-driven)、他强调要在透彻理解提交的系统将如何被使用的基础上建造系统。用力和脚本的表示方法用于编排从需求捕获到测试的过程流,并提供从开发到提交系统的可跟踪的线索。

·使用构件架构

对体系结构进行自下而上的设计、实现和测试;用一种系统化的做法来定义好的体系结构;采用定义明确的接口来使得变更有弹性;采用现成的和通过逆向工程得到的构件;用高级别的用例来驱动;易于直观上的理解。

·可视化建模

RUP往往和UML联系在一起,对软件系统建立可视化模型帮助人们提供管理软件复杂性的能力。RUP告诉我们如何可视化的对软件系统建模,获取有关体系结构于组件的结构和行为信息。保证了设计和实现上的一致性,保证没有歧义的沟通。

·检验质量

在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。

方法:为每个关键模块创建测试用例并测试,从而保证所有的需求被正确的实现。不可接受的应用性能和不能接受的可靠性对一个软件系统的影响同等重要。眼见软件的可靠性,例如:内存泄露、性能瓶颈。对每一次迭代进行测试。

·控制变更

迭代式开发中如果没有严格的控制和协调,整个软件开发过程很快就陷入混乱之中,RUP描述了如何控制、跟踪、监控、修改以确保成功的迭代开发。RUP通过在软件开发过程中控制、追踪和监控项目的所有变更,从而启动每次迭代;为每个开发者建立安却的工作空间;对不同工作间的改动提供隔离机制,控制所有的软件制品:模型、代码、文档等。

RUP的基本特征:

·迭代式增量开发

将软件开发分为一系列的迭代过程,在每个迭代过程中逐步增加信息、进行细化;根据具体情况决定迭代的次数、每次迭代延续的时间以及迭代工作流;每次迭代都选择目前风险影响最大的用例进行,以分解和降低风险。

·用例(UseCase-driven)驱动

采用用例来捕获对目标系统的功能需求;采用用例来驱动软件的整个开发过程,保证需求的可跟踪性,确保系统的所有功能均被实现;将用户关心的软件系统的业务功能模型和开发人员关心的目标软件系统的功能实体模型结合起来,提供一种贯穿整个软件生存周期的开发方式,使得软件开发的各个阶段的工作自然、一致的协调起来。

·以软件体系结构为中心

强调在开发过程的早期,识别出与软件体系结构紧密相关的用例,并通过对这些用例的分析、设计、实现和测试,形成体系结构框架;在后续阶段中对已形成的体系结构框架进行不断细化,最终实现整个系统;在开发国政的早期形成良好的软件体系结构,有利于对系统的理解、支持重用和有效的组织软件开发。

RUP(Rational Unified Process)笔记整理的更多相关文章

  1. RUP(Rational Unified Process)统一软件过程概述

    RUP是Rational公司三位杰出的软件工程大师Grady Booch,Ivar Jacobson,James Rumbaugh提出的一个软件工程过程方法.软件开发过程是将一个用户需求转化为软件系统 ...

  2. RUP(Rational Unified Process)

    RUP Rational Unified Process 目前阶段在学习UML,怎么会写RUP呢?学习UML是为了更好的把系统搭建好,RUP也是一样,为系统服务! 软件危机 美国国家总审计局,在198 ...

  3. [转]比较 Rational Unified Process (RUP) 和 Microsoft Solutions Framework (MSF)

      文档选项 将此页作为电子邮件发送 级别: 初级 Sandra Sergi Santos, 软件工程专家, IBM 2007 年 6 月 15 日 本文来自于 Rational Edge:Micro ...

  4. RUP(Rational Unified Process),统一软件开发过程

    RUP(Rational Unified Process),统一软件开发过程 https://baike.baidu.com/item/RUP/8924595?fr=aladdin RUP最重要的它有 ...

  5. UML——RUP(Rational Unified Process)

    一.宏观导图 二.论细节 RUP(Rational Unified Process)统一软件过程,是指要达到一个指定的目标而采取的一些系列有序的步骤,其目的是高效.准时地提交一个满足业务需求的软件产品 ...

  6. 运维开发笔记整理-django日志配置

    运维开发笔记整理-django日志配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Django日志 Django使用python内建的logging模块打印日志,Pytho ...

  7. 运维开发笔记整理-基于类的视图(CBV)

    运维开发笔记整理-基于类的视图(CBV) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.FBV与CBV 1>.什么是FBV FBC(function base views ...

  8. 最全mysql笔记整理

    mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创 ...

  9. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

随机推荐

  1. Day1_PHP快速入门

    本人知识背景:行业软件C/C++开发两年经验,了解PHP, 所以学习日志偏向记录PHP相对于C的特性 测试环境:EasyPHP13.1 Day 1 学习时间:3小时 1. HTML触发PHP HTML ...

  2. Cpp again

    1,

  3. EOF 空格问题

    mysql -u $USER -p${PASSWORD} $DATABASE << EOF >/tmp/dd-$$ 2>/tmp/ddd-$$select *from $TAB ...

  4. 汇编程序hello world

    我们用C,C++,Java,C#等这样一些高级语言时一般会用到一个集成开发环境,啥编译链接之类的操作都集成到一起了,IDE给你自动完成了.随便点几下按钮就编译好运行起来了. 那假如是写了几行汇编代码该 ...

  5. Objective-C内存管理教程和原理剖析(四)

    初学Objective-C的朋友都有一个困惑,总觉得对Objective-C的内存管理机制琢磨不透,程 序经常内存泄漏或莫名其妙的崩溃.我在这里总结了自己对Objective-C内存管理机制的研究成果 ...

  6. javaScript 工作必知(二) null 和undefined

    null null 表示个“空” , 使用typeof (null) ;//Object ; 说明他是一个特殊的对象. null 类型只自己唯一个成员.他是不包含属性和方法的. undefined u ...

  7. WebConfig特殊字符的转义!

    Web.Config默认编码格式为UTF-8,对于XML文件,要用到实体转义码来替换.对应关系如下: 字符 转义码 & 符号 & & 单引号 ' &apos; 双引号 ...

  8. phoenegap3.5 采坑

    上周5晚上在家看Node.js视频的时候,老大来一条短信让研究下 phoengap打包一个web网站. 遂 陷入了phonegap的深渊中. phoengap很早开始使用 cli模式安装开发环境 ,借 ...

  9. uva424 高精度计算

    题意是计算各长整数的和,最多输入100个数,每个数都是正整数且位数不超过100. 很明显100位的数用数组存会方便许多,然后设置两个整型数组,一个存进位,一个存结果.为了对齐进行运算,我将所有的数先逆 ...

  10. 尼康D5100使用设置及技巧,同样也适用尼康D5200

    尼康D5100使用设置及技巧,同样也适用尼康D5200,希望对新手能有点帮助. 一.设置 1.优化校准:可以在menu菜单中找到它,一般使用"标准"就可以,建议将"标准& ...