【系统分析与设计】作业三

简答题

简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点

(从项目特点、风险特征、人力资源利用角度思考)

  1. 瀑布模型
  • 简述

    瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。

  • 优点

    1. 为项目提供了按阶段划分的检查点。
    2. 当前一阶段完成后,您只需要去关注后续阶段。
    3. 可在迭代模型中应用瀑布模型。
  • 缺点

    1. 在项目各个阶段之间极少有反馈。
    2. 只有在项目生命周期的后期才能看到结果。
    3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
  1. 增量模型
  • 简述

    增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。

  • 优点

    采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。

  • 缺点

    1. 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
    2. 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
    3. 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
  1. 螺旋模型
  • 简述

    螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。螺旋模型更适合大型的昂贵的系统级的软件应用。

  • 优点

    1. 通过原型的建立,使软件开发在每个迭代的最初明确方向;
    2. 通过风险分析,最大程度地降低软件彻底失败造成损失的可能性;
    3. 在每个迭代阶段植入软件测试,使每个阶段的质量得到保证;
    4. 整体过程具备很高的灵活性,在开发过程的任何阶段自由应对变化;
    5. 每个迭代阶段累计开发成本,使支出状况容易掌握;
    6. 通过对用户反馈的采集,与用户沟通,以保证用户需求的最大实现。
  • 缺点

    1. 过分依赖风险分析经验与技术,一旦在风险分析过程中出现偏差将造成重大损失;
    2. 过于灵活的开发过程不利于已经签署合同的客户与开发者之间的协调;
    3. 由于只适用大型软件,过大的风险管理支出会影响客户的最终收益;

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

  • 统一过程三大特点:

    1. 用例驱动

      用例是能够向用户提供有价值结果的系统中的一种功能,通过建立用例模型确定需求。基于用例模型,开发人员可以创建一系列实现这些用例的设计和实现模型。开发人员还可以审查每个后续建立的模型是否与用例模型一致。测试人员测试实现以确保实现模型的构件正确实现了用例。

    2. 以体系架构为中心

      软件架构是从不同的角度描述了即将构建的系统,他包含了系统的静态和动态特征。用例和架构是相互影响的。用例在实现时必须适合于架构,而架构必须预留空间以实现现有的或将来所有需要的用例。

    3. 受控的迭代式增量开发

      迭代是指工作流中的步骤,增量是指产品中增加的部分。迭代过程必须是受控的

  • 与面向对象方法的关系

    统一过程将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。

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

  • 统一过程四个阶段的划分准则

    统一过程的软件生命周期在时间维度上被划分为四个阶段,分别是初始阶段、精化阶段、构建阶段和产品交付阶段。每个阶段都有一个关键的里程碑,用来评估本阶段目标是否被完成,若评估结果合格则项目可进入下一阶段。

  • 每个阶段关键的里程碑

    • 初始阶段:生命周期目标里程碑,其主要内容是对一些重要的文档进行评审以确定用户需求理解正确、项目风险评估合理以及阶段计划的可行性等。需要评估的重要文档包括项目构思、原始用例模型、原始业务风险评估、原始业务案例等。
    • 精化阶段:生命周期体系结构里程碑,通过对一些文档进行评审以确定软件体系结构已经稳定、高风险业务需求和技术机制已经解决以及经过修订的项目计划可行等。需要评估的文档包括风险分析文档、软件体系结构基线、项目计划、可执行进化原型与初始版本用户手册等。
    • 构建阶段:初始运行能力里程碑,其主要内容是确定软件、环境和用户能否开始运行软件系统。其需要测试的内容是可以运行的软件产品以及用户手册。该里程碑决定了产品是否可以在测试环境中进行部署。
    • 交付阶段:产品发布里程碑,主要确定了软件设计的最终目标是否实现以及是否应该开始产品下一个版本的另一个开发周期。这个里程碑可能会与下一个周期的初始阶段相重合。

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

  1. 因为软件企业使用的是统一过程模型。统一过程模型中,各个阶段的生命周期是有固定长度的,在产品的的迭代开发过程有较为明确的时间限制的,因此软件企业能按固定节奏生产、固定周期发布软件产品。
  2. 好处:可以让企业能够及时的交付产品,减少耗费的时间金钱,通过迭代开发逐渐地完善产品。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值