什么是RUP

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huihui1314_/article/details/85000323

首先本人初次学习这个东西,很好奇RUP是什么,但是经过学习之后其实RUP没什么难的,简单理解就是一个过程,只不过这个过程叫做RUP。接下来让我们详细的来学习一些RUP

定义:

1、一个过程:是指想要达到一个目标而采取的一组有序的步骤,在软件工程中,目标是高效的,准时的提交一个满足你的业务需求的软件成品
2、RUP是一种特别适应于UML的生命周期方法
3、RUP提出了一整套以UML为基础的开发准则,用以指导软件开发人员以UML为基础进行软件开发

背景:

1、软件开发周期大大超过规定日期
2、软件开发成本严重超标
3、软件质量难于保证

RUP可以干什么,可以给我们解决什么困难

1、有缺陷的、无法预见结果的、高度依赖于个别英雄程序员的、不可重复的开发过程的
2、开发的软件难以适应用户的要求;
3、在应对需求的变更方面无能为力
4、需要单调乏味和昂贵的测试流程
5、项目中出现的严重缺陷发现的太迟
6、开发的软件难以维护和扩充

RUP使得开发团队成员将共享
1、同一个知识库
2、同一个开发过程
3、同一个开发视图
4、同一种建模语言
在这里插入图片描述

RUP的思路:达到最佳实践

采取的措施:
1、迭代式开发
2、管理需求
3、使用构件架构
4、可视化建模
5、检验质量
6、控制变更

以上是一些很专业的名词,具体该怎么操作其实我们并不知道,接下来让我们看看这些方法具体该怎么施行

迭代式开发

优点:
1、降低风险
2、得到早期用户反馈
3、持续的测试和集成
4、适应变更
5、提高复用性

用图来表示:
在这里插入图片描述

迭代式开发详述:
1、迭代是一种技术,用来把系统功能传递到一系列联系的增量的完整版本
2、每个版本都在一个特定固定的时间段被开发,该时间段称之为迭代
3、迭代的成果是一个可执行产品的一个版本,是最终系统产品的一个子集
4、通过多次迭代连续增加和精华系统,在每个迭代过程中逐步增加信息,进行细化
5、每次迭代都选择目前对风险影响最大的使用实例进行,以分解和降低风险

需求管理

定义
1、需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。
2、确保能够:解决正确的问题,建立正确的系统。
3、需求管理包括:
提取、组织系统的功能和约束,并将它们写成文档
估计需求的变化并评估它们会产生的影响
跟踪需求的实现

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

可视化建模

定义:
1、描述体系结构特点和结构
2、描述系统里的各个元素如何组合在一起
3、保证设计和实现上的一致性
4、保证没有歧义的沟通

模型如下:
在这里插入图片描述

检验质量

1、为每个关键模块创建测试用例并测试,从而保证所有的需求被正确的实现。
2、不可接受的应用性能和不能接受的可靠性对一个软件系统的影响同等重要。
3、验证软件可靠性。
4、对每一次迭代进行测试

控制变更

1、控制、追踪和监控项目的所有变更,从而启动每次迭代
2、为每个开发者建立安全的工作空间
3、对不同工作空间的改动提供隔离机制
4、控制所有的软件制品:模型、代码、文档等

以上内容就是对RUP的思路进行详细的介绍,接下来在从整体上来看RUP,从不同的角度来研究一下

RUP的基本特征

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

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

三、以软件体系结构为中心

软件开发生命周期

在这里插入图片描述

RUP将一个周期的开发过程分为四个阶段:

——起始阶段-为项目建立一个业务案例
——细化阶段-建立工程计划和合理的体系结构
——构建阶段-建造系统
——提交阶段-把系统提供给最终用户

起始阶段

目的:1、建立业务模型用例
2、明确项目的范围
结果:
1、项目的实际需求(初始用例模型和领域模型)
2、初始的业务案例(包括成功准则、风险评估、所需资源评估、显示主要里程碑进度表的阶段计划)
3、在初始阶段的最后,检查项目的生命周期目标,决定是否继续进行全范围的开发

细化阶段

目的:
1、分析问题域
2、建立一个健全的、合理的体系结构基础
3、明确高项目中风险的元素
4、制定一个合理的项目开发计划
结果:
1、用例图和领域模型
2、一个可执行的体系结构和文档
3、一个修订的用例图和风险评估
4、一个针对整个项目的开发计划

构建阶段

目的:迭代增量的开发一个完整的软件系统,该产品是准备提交给用户使用的。
产品:
——完整的用例图和设计模型
——用户手册
——可执行代码
——开发文档
——每次迭代的评测标准
——改进的开发计划

提交阶段

目的:为用户安装部署软件
产品:
1、可执行的程序
2、改进的系统模型
3、每次迭代的评测标准
4、发出程序的描述和评测指标描述
5、改进的用户文档
6、改进的开发文档

RUP和传统观念的区别:

1、把软件放在首位
2、尽早进行困难的工作
3、坦然面对中间制品的“不美观”
4、加强开发过程监控与量化管理
5、确定迭代的数量、持续时间和内容
6、急需要好的项目管理者,也需要好的体系好结构设计师

展开阅读全文

没有更多推荐了,返回首页