系分作业3

中山大学系统分析作业三

软件系统分析与设计指南作业3

简述题

简述瀑布模型,增量模型,螺旋模型(含原型方法),并分析优缺点(从项目特点,风险特征,人力资源利用角度思考)

  • **瀑布模型:**将模型分为计划,需求分析,概要设计,详细设计,编码以及单元测试,测试,运行维护几个阶段。
    • 优点:
      • 定义令软件开发基本流程与活动
      • 可强迫开发人员采用规范化的方法
      • 严格规定每个阶段必须提交的所有产品都必须是经过验证的。
    • 缺点:
      • 依赖问题
      • 容错问题:在后期发现需求问题,工作量难以接受
      • 资源调配问题:
        • 只是技能需求不同
        • 人员数量要求不同
  • **增量模型:**将待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析,设计,编码和测试这些增量组件。运用增量模型地如啊年开发过程是递增式地过程。
    • 优点:
      • 整个项目地资金不会被提前小号。
      • 每次增量交付过程中获取地经验,有利于后面地改进,客户也有机会对建立好地模型做出反应。
      • 采用连续增量地方式,可把用户经验融入到细化地产品,这比完全重新开发要便宜的多。
      • 分而治之的策略,使问题分解成可管理的小部分,避开开发团队由于长时间的需求任务而感到沮丧。
      • 通过同一个团队的工作来交付每个增量,保持所有团队处于工作状态,减少了员工的工作量,工作分布曲线通过项目中的时间阶段被拉平。
      • 便于根据市场做出反应。
    • 缺点:
      • 由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。
      • 在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
      • 如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。
  • **螺旋模型:**周期性的方法来进行系统开发。在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义,风险分析,工程实现和评审4个阶段。由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。
    • 优点:
      • 设计上的灵活性,可以在项目的各个阶段进行变更。
      • 以小的分段来构建大型系统,使成本计算变得简单容易。
      • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
      • 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
      • 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
    • 缺点:
      • 很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

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

统一过程三大特点:

  • 用户为中心
  • 架构为中心
  • 风险驱动

与面向对象的方法之间的关系:

统一软件过程自身即为一个面向对象且给予网络的程序开发方法论。

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

RUP的生命周期分为:

  • 起始阶段
  • 细化阶段
  • 构建阶段
  • 提交阶段

划分准则:

里程碑,每个阶段结束于一个主要的里程碑,每个阶段本质上就是两个里程碑之间的时间跨度。

里程碑:

  • 生命周期目标里程碑
  • 生命周期结构里程碑
  • 初始功能里程碑
  • 产品发布里程碑

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

原因:复杂问题简单化,简单问题流程化,流程问题标准化,标准问题自动化。

好处:

  • 便于管理
  • 提高效率
  • 容错性高

Comment