系统分析---作业3

本文简述了瀑布模型、增量模型和螺旋模型的优缺点。瀑布模型强调早期计划和需求分析,但对需求变化适应性差。增量模型允许分阶段提交功能,有利于维护和适应需求变化,但需避免构件间冲突。螺旋模型注重风险分析,灵活性高,但建设周期长。此外,文章还探讨了统一过程的用例驱动、体系结构核心和迭代增量特点,以及四个阶段的划分准则和关键里程碑。

一、简答题

1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点

(1)瀑布模型

  • 优点

    • 易于理解
    • 开发具有阶段性
    • 强调早期的计划及需求分析
    • 基本可确定何时交付产品及进行测试
  • 缺点

    • 需求调查分析只在最初进行,不能适应需求的新变化;
    • 顺序开发流程使开发经验教训不便进行前向反馈;
    • 不能反映出开发过程的反复性和迭代特性,无任何类型的风险评估,出现或隐藏的问题直到开发后期才会显露,失去了及早纠正错误或缺陷机会。

(2) 增量模型

  • 优点

    • 由于能够在较短的时间内向用户提交一些有用的工作产品,因此能够解决用户的一些急用功能。
    • 由于每次只提交用户部分功能,用户有较充分的时间学习和适应新的产品。
    • 对系统的可维护性是一个极大的提高,因为整个系统是由一个个构件集成在一起的,当需求变更时只变更部分部件,而不必影响整个系统。
  • 缺点

    • 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。

    • 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。

    • 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。

(3) 螺旋模型

  • 优点
    • 设计上的灵活性,可以在项目的各个阶段进行变更。
    • 以小的分段来构建大型系统,使成本计算变得简单容易;
    • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
    • 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
  • 缺点
    • 要求开发人员要擅长寻找可能的风险,准确地分析风险。
    • 强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的。一般用于内部大规模软件开发。
    • 建设周期长。

2.简述统一过程三大特点,与面向对象的方法有什么关系?

  1. 用例和风险驱动: UP 一般由 UML 方法和工具支持。用例是捕获需求的方法,因此,也可以说 UP 是用例(需求)驱动的。UP 的另一个驱动就是风险,因为如果你不主动预测和防范风险,风险就会主动攻击你。UP 需要对软件开发中的风险进行分析、预测并关注软件的构造。

  2. 以体系结构为核心: UP 方法实际上就是开发和演进一个健壮的系统体系结构,体系结构描述了系统的整体框架:如何把系统划分成组件以及这些组件如何进行交互和部署在硬件上。组件使重用成为可能,系统可以由组件组成。基于独立的、可替换的、模块化组件的体系结构有助于管理复杂性,提高重用率。RUP 描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。

  3. 迭代及增量 :UP 迭代表示我们把项目分成小的子项目(迭代),它提供系统的功能块或者增量,最终产生完整的功能系统。每一次迭代都经历一次完整的软件生命周期,每一次迭代都有需求、分析、设计、实施,并以一个可执行版本结束。执行迭代计划的关键是准确获知每个迭代要完成的目标,如果采用 UML 建模,则用例就是最好的迭代点。可以为用例排出优先级,在每个迭代中实现一部分用例。

  • UP 中的核心工作流的实现阶段中可以用面向对象的方法实现组件。

3.简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

UP 的4个阶段分别是初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

(1) 初始阶段

  • 划分准则: 在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。

  • 里程碑: 生命周期的目标里程碑,评价项目基本的生存能力。

(2) 细化阶段

  • 划分准则: 细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上,对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。

  • 里程碑: 生命周期的结构里程碑,为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。

(3) 构造阶段

  • 划分准则: 在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。
  • 里程碑: 初始功能里程碑,决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。

(4) 交付阶段

  • 划分准则: 交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命周期的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有主要的结构问题应该已经在项目生命周期的早期阶段解决了。

  • 里程碑: 产品发布里程碑。此时,决定是否目标已达到或开始另一个周期。在许多情况下,里程碑会与下一个周期的初始阶段相重叠。

4. 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

RUP 将周期分为四个连续的阶段:初始阶段、细化阶段、构造阶段、交付阶段。每个阶段终结于良好定义的里程碑,即某些关键决策必须被做出的时间点,因此关键的目标必须被达到。每个阶段又有自己明确的目标,例如初始化阶段是为系统建立商业案例以及确定项目的边界,而细分阶段是为了分析问题领域,建立健全的体系结构基础等;以及核心工作流当中的 9 个核心的过程工作流,所以利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按 固定节奏 运行,固定迭代周期、固定开发周期、固定升级周期。

统一过程对企业项目管理带来的好处是,在可预见的日程和预算前提下,确保满足最终用户需求的高质量产品,确保开发过程持续地更新和提高以反映新的经验和不断演化的实践经验,提高了团队生产力,是有效使用 UML 的指南,能对大部分开发过程提供自动化的工具支持,为大范围项目和机构提供了许多现代软件开发过程的最佳实践。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值