架构-RUP

介绍

统计过程模型(RUP)实际上应该是指“统一过程模型(Rational Unified Process, RUP)”,这是一个用于软件开发的迭代式框架。RUP 是由 Rational Software 公司开发的,现在是 IBM 的一部分。它的主要目的是提供一种灵活的、可定制的框架,用于指导软件开发过程,以帮助团队有效地开发高质量的软件。RUP 结合了多种最佳实践,如面向对象的分析和设计,以及其他一些关键的软件工程原则。

RUP的好处

    提高了团队生产力。在开发过程中,为每个开发人员提供了必要的模板、准则和指导,并确保每个成员共享知识基础(共享同一个知识库、共享同一个开发过程、共享可视化建模、共享同一个建模语言)。

RUP的特征

  RUP软件开发生命周期是一个二维的软件开发模型。横轴通过时间组织,是过程展开的生命周期特征,体现开发过程的动态结构,用来描述它的术语主要包括周期(Cycle)、阶段(Phase)、迭代(Iteration)和里程碑(Milestone);纵轴以内容来组织为自然的逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动(Activity)、产物(Artifact)、工作者(Worker)和工作流(Workflow)
    迭代式增量开发、用例驱动(use case-driven) 、以软件体系结构为中心

    迭代式的优点:减低了开发风险、更好的跟踪需求、加快了工作进度。

   (“迭代”,我们如何去理解呢?每次迭代都经历瀑布模型的过程,看似每次都一样,但迭代不同于重复。迭代并不是从零开始,而每次迭代都是对上一次迭代的细化,是在上一次的基础之上进行的。)

RUP 把软件开发生命周期划分为多个循环(Cycle),每个循环生成产品的一个新的版本,每个循环依次由4个连续的阶段(Phase)组成,每个阶段完成确定的任务。这4个阶段如下。

  1. 初始阶段(Inception):定义项目的范围和目标,确定项目的基本结构,包括关键用例和主要风险。
  2. 细化阶段(Elaboration):进一步分析需求,设计系统的架构,解决项目的高风险点。
  3. 构建阶段(Construction):重点进行系统的开发和测试,实现所有功能。
  4. 过渡阶段(Transition):将系统部署到用户环境中,进行最终的测试和修改,直至用户满意。

 

RUP 的核心元素包括

  • 迭代式开发:将项目分解为多个小的、可管理的迭代,每个迭代都是一个小型项目。

    RUP强调采用迭代和增量的方式来开发软件,把整个项目开发分为多个迭代过程。在每次迭代中,只考虑系统的一部分需求,进行分析、设计、实现、测试和部署等过程;每次迭代是在已完成部分的基础上进行的,每次增加一些新的功能实现,以此进行下去,直至最后项目的完成。

    软件开发采用迭代和增量的方式有以下好处。

    (1)在软件开发的早期就可以对关键的、影响大的风险进行处理。可以降低开支风险和产品进度滞后的风险,加快整个开发工作的进度。

    (2)可以提出一个软件体系结构来指导开发。

    (3)可以更好地处理不可避免的需求变更。方便适应用户需求的变化。

    (4)可以较早得到一个可运行的系统,鼓舞发团队的士气,增强项目成功的信心。

    (5)为开发人员提供一个能更有效工作的开发过程

  • 用例驱动:用例是驱动需求、设计、实现和测试的基础。RUP中的开发活动是用例驱动的,即需求分析、设计、实现和测试等活动都是用例驱动的。
  • 面向架构:强调定义和维护一个健壯的架构。

    RUP中的开发活动是用例驱动的,即需求分析、设计、实现和测试等活动都是用例驱动的。以体系结构为中心

    RUP中的开发活动是围绕体系结构展开的。软件体系结构的设计和代码设计无关,也不依赖于具体的程序设计语言。软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构层次的设计问题包括系统的总体组织和全局控制、通信协议、同步、数据存取、给设计元素分配功能、设计元素的组织、物理分布、系统的伸缩性和性能等。

    体系结构的设计需要考虑多方面的问题:在功能性特征方面要考虑系统的功能;在非功能性特征方面要考虑系统的性能、安全性和可用性等;与软件开发有关的特征要考虑可修改性、可移植性、可重用性、可集成性和可测试性等;与开发经济学有关的特征要考虑开发时间、费用、系统的生命期等。当然,这些特征之间有些是相互冲突的,一个系统不可能在所有的特征上都达到最优,这时就需要系统体系结构设计师在各种可能的选择之间进行权衡。

    对于一个软件系统,不同人员所关心的内容是不一样的。因此,软件的体系结构是一个多维的结构,也就是说,会采用多个视图(View) 来描述软件体系结构。R U P采用如图5-4所示的“4+1”视图模型来描述软件系统的体系结构。在“4+1”视图模型中,

    分析人员和测试人员关心的是系统的行为,会侧重于用例视图

    最终用户关心的是系统的功能,会侧重于逻辑视图

    程序员关心的是系统的配置、装配等问题,会侧重于实现视图

    系统集成人员关心的是系统的性能、可伸缩性、吞吐率等问题,会侧重于

    进程视图

    系统工程师关心的是系统的发布、安装、拓扑结构等问题,会侧重于部署视图

  • 风险驱动:早期识别和解决项目中的高风险。

 

  1. RUP 的哪个阶段重点是定义项目的范围和目标?
    • A. 初始阶段
    • B. 细化阶段
    • C. 构建阶段
    • D. 过渡阶段
  2. RUP 框架的开发迭代性意味着什么?
    • A. 项目从开始到结束是直线发展的
    • B. 项目被分解为多个小的、可管理的部分
    • C. 项目开发不需要计划
    • D. 项目只有在最终阶段才开始编码
  3. 在 RUP 中,用例的主要作用是什么?
    • A. 代码生成
    • B. 驱动需求、设计、实现和测试
    • C. 项目计划
    • D. 风险管理
  4. RUP 强调的面向架构的方法主要目的是什么?
    • A. 减少编码时间
    • B. 增加项目成本
    • C. 定义和维护健壮的系统架构
    • D. 减少用户需求
  5. 在 RUP 中,哪个阶段主要关注系统的开发和测试?
    • A. 初始阶段
    • B. 细化阶段
    • C. 构建阶段
    • D. 过渡阶段
  6. RUP 的风险驱动原则主要强调什么?
    • A. 忽视项目风险
    • B. 项目的财务管理
    • C. 早期识别和解决高风险
    • D. 仅在项目末尾处理风险
答案及解析
  1. 答案:A。初始阶段是定义项目的范围和目标的阶段。
  2. 答案:B。迭代式开发意味着将项目分解为多个小的、可管理的部分。
  3. 答案:B。用例是驱动需求、设计、实现和测试的基础。
  4. 答案:C。面向架构的方法旨在定义和维护一个健壮的系统架构。
  5. 答案:C。构建阶段主要关注于系统的开发和测试。
  6. 答案:C。风险驱动原则强调早期识别和解决项目中的高风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫1981

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值