系分第三次作业

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

一、瀑布模型

瀑布模型是应用广泛的一种软件开发模型,易于理解和掌握。 瀑布模型是将软件生命周期的各项活动规定为按照固定顺序相连的若干阶段性工作,形如瀑布流水,最终得到软件产品。因形如瀑布,故此得名。该模型比较适用于需求稳定并易于准确理解的软件项目开发。

瀑布模型的优点:易于理解、开发具有阶段性、强调早期的计划及需求分析、基本可确定何时交付产品及进行测试。

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

二、增量模型

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

增量模型的优点:

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

增量模型的缺点:

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

三、螺旋模型

螺旋模型采用一种周期性的方法进行系统开发,与原型方法相同,以进化的开发方式为中心,每迭代一次软件便前进一个层次,在每个阶段内使用瀑布模型法,同时引入了其他模型不具备的风险分析。

螺旋模型的优点:

  • 引入了明确的风险管理机制
  • 结合了原型方法和螺旋模型,
  • 客户参与到每个阶段的反馈中,保证了项目方向的正确性与可控性
  • 随着项目推进,客户始终掌握项目的最新信息 , 从而能够和管理层有效地交互

缺点:

  • 项目开发成本高
  • 错误的风险分析会带来更大的风险
  • 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求

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

其三大特点如下:

  • 用例驱动(Use Case Driven):因为用户的需求往往不明确,所以采用让客户描述一些使用时的用例来让需求更为明确。
  • 以架构为重心(Architecture Centric):软件架构提供了整个系统的设计结构,对软件系统做出了系统化的分解,是软件产品分解的领域最佳实践
  • 迭代和增量过程(Iterative and Evolutionary):RUP强调采用迭代和增量的方法来开发软件,把整个项目分为多个迭代过程,以在早期暴露风险,每个迭代都是瀑布的工作流程,每个迭代产品在增量(制品是可运行的),利于及时交付使用并反馈,并且每个迭代周期也相对固定。

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

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

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

初始阶段

初始阶段的目标是为系统建立商业案例并确定项目的边界。

初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。

细化阶段

细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。

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

构造阶段

在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。

构建阶段结束时是第三个重要的里程碑:初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。

交付阶段

交付阶段的重点是确保软件对最终用户是可用的。

在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。

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

因为企业很多都采用了基于统一过程的项目规划,把每个目标的实现都放在一个又一个的迭代过程中,每一轮的迭代都可以看到当前的成果,所以这样就可按固定节奏,固定周期完成某些功能,自然也能按照固定节奏周期发布软件产品。这样做的好处就是可以减少人力成本,并且可以让整个项目的开发进度可控,成果可见,而不会陷入到一直不能满足需求一直修改,然后到最终都拿不出一个可用的产品的死胡同里面。并且可以进行风险控制,一些风险可以更早发现,避免在开发后期才发现风险造成更大的损失。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值