博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RUP(Rational 统一开发过程)
阅读量:4220 次
发布时间:2019-05-26

本文共 1896 字,大约阅读时间需要 6 分钟。

先了解一下软件危机,由于软件危机进而产生了很多解决办法,例如软件工程概念、UML等,与软件相关就会有软件危机。这里介绍RUP,它是以UML为基础指导进行开发。

0、软件危机

(1)表现方面

  • 开发周期大大超过规定日期 (时效性)
  • 开发成本严重超标 (成本)
  • 软件质量难于保证 (质量)

(2)软件开发面临的问题

  • 不能满足要求
  • 不能很好的定位需求
  • 模块难于集成
  • 到最后才发现错误
  • 对于终端用户来说质量交叉
  • 负载时性能差
  • 没有协调团队的努力
  • 不断地修改-发布问题

1、RUP介绍

     RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。

目标:高效

指导以UML为基础进行开发。

处理的问题:    (1)有缺陷的、无法遇见结果的、高度依赖于个别“英雄”程序员的、不可重复的开发过程;    (2)开发的软件难易适应用户的要求;    (3)在应对需求的变更方面无能为力;    (4)需要单调乏味和昂贵的测试流程;    (5)项目中出现的严重缺陷发现得太迟;    (6)开发的软件难以维护和扩充。共享资源    知识库    开发过程    开发视图    建模软件解决关键风险问题及时的用户反馈阶段性的中心对实现的评定对局部的实现进行部署

2、RUP思路

Implementing  Best  Practices 最好的贯彻实践

(1)迭代式开发:对比瀑布模型

在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。所以需要经常进行不断的变化和改进需求,每一次的改变都对问题有更深的理解和细化,这种过程叫做迭代。

(2)需求管理

描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用已被证明是捕获功能性需求的有效方法。

(3)体系结构(使用构件架构)

自下而上;组件使重用成为可能,系统可以由组件组成。基于独立的、可替换的、模块化组件的体系结构有助于降低管理复杂性,提高重用率。RUP描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。

(4)可视化建模

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

(5)检验质量

可使用性    可靠性    性能    可扩充性(支持性)    功能性

(6)变更管理

迭代式开发中如果没有严格的控制和协调,整个软件开发过程很快就陷入混乱之中,RUP描述了如何控制、跟踪、监控、修改以确保成功的迭代开发。

3、特征

(1)迭代式增量开发(2)用例驱动(3)以架构设计为中心

4、软件开发生命周期

在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

(1)初始阶段

  • 目标:为系统建立商业案例并确定项目的边界。
  • 第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。

(2)细化阶段

  • 目标:分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。
  • 第二个重要的里程碑:生命周期结构(Lifecycle Architecture)

(3)构造阶段

  • 目标:所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。
  • 第三个重要的里程碑:初始功能(Initial Operational)里程碑。

    从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。

(4)交付阶段

  • 目标:确保软件对最终用户是可用的。
  • 第四个里程碑:产品发布(Product Release)里程碑。

5、观念变化

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

6、RUP本质的揭示

  1、RUP是风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。

  2、我们可以针对RUP所规定出的流程,进行客户化定制,定制出适合自己组织的实用的软件流程。
  因此RUP是一个流程定义平台,是一个流程框架。

总结

  学完RUP的理论,感觉对它了解又陌生,它是从软甲开发以来的经验汇总,从而抽象出一个统一的过程,避免产生软件危机,大大降低开发软件的风险,让软件开发变得更加高效。陌生是因为没有进行真正的实践应用它,所以对它的认识不是很深刻。

转载地址:http://gdqmi.baihongyu.com/

你可能感兴趣的文章
【iOS游戏开发】icon那点事 之 图标设计(三)
查看>>
【一天一道LeetCode】#45. Jump Game II
查看>>
【一天一道LeetCode】#56. Merge Intervals
查看>>
【一天一道LeetCode】#59. Spiral Matrix II
查看>>
【一天一道LeetCode】#60. Permutation Sequence.
查看>>
python与正则表达式
查看>>
Linux文件和设备编程
查看>>
文件描述符
查看>>
终端驱动程序:几个简单例子
查看>>
HTML条件注释
查看>>
内核态与用户态
查看>>
趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
查看>>
C++ 字符串string操作
查看>>
MySQL必知必会 -- 了解SQL和MySQL
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
POJ 1154 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
常见的排序算法
查看>>
hdu 3460 Ancient Printer(trie tree)
查看>>