系统分析与设计——hw3

1、简单题

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

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

  • 瀑布模型

瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。

  • 优点:
  1. 定义了软件开发基本流程与活动。
  2. 为项目提供了按阶段划分的检查点。
  3. 当前一阶段完成后,只需关注后续阶段。
  4. 有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究。
  • 缺点:
  1. 各步骤之间是分离的,但是软件生产过程中的各个步骤不能这样严格分离出来。

  2. 回溯修改很困难甚至不可能,但是软件生产的过程需要时时回溯。

  3. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

  • 增量模型

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交。

  • 优点:
  1. 人员分配灵活,刚开始不用投入大量人力资源。

  2. 如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。

  3. 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。

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

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

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

  • 螺旋模型

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

优点

  1. 设计上的灵活性,可以在项目的各个阶段进行变更。

  2. 以小的分段来构建大型系统,使成本计算变得简单容易。

  3. 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

  4. 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

  5. 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点

  1. 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。

  2. 过多的迭代次数会增加开发成本,延迟提交时间。

  3. 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

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

三大特点:用例驱动、以架构为中心,迭代式增量开发。

统一过程就是一个将面向对象方法实际应用于软件开发流程的一个过程准则。

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

统一过程中的软件生命周期在时间上被分解为四个顺序的阶段,在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。

  • 初始阶段

初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。

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

  • 细化阶段

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

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

  • 构造阶段

在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。

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

  • 交付阶段

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

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

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

统一过程(UP)的关键是迭代,每个迭代都是由一个小周期构成,企业严格遵循这种迭代小周期进行阶段性开发,每个阶段开始时都有特定的目标,结束时有里程碑。在每个阶段中存在一个或多个迭代,在每个迭代中,可以有多个工作流,企业只需要完成该阶段性的小目标即可。这样很好地实现增量发展,稳定推进项目进度,及时获取并应用用户的最新反馈,使产品一步一步往更好的方向发展。因此软件企业能按固定节奏生产、固定周期发布软件产品。

同时也使得企业项目管理也更加方便、规范、易于员工接受。另外,这样每个周期都保持与客户的联系,能不断修正需求,保证项目的持续热度,提升客户的信任度,提升产品质量,保障客户体验。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值