2018-3-18-Homework2

简答题

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

  • 瀑布模型

    • 优点:

      • 降低软件开发的复杂程度,提高软件开发过程的透明性,提高
      • 推迟软件实现,强调在软件实现前必须进行分析和设计工作软件开发过程的可管理性
      • 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求
    • 缺点:

      • 强调过程活动的线性顺序
      • 缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题
      • 风险控制能力较弱
      • 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量
      • 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论
  • 增量模型
    • 优点:
      • 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
      • 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。
      • 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
    • 缺点:
      • 要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。
        -螺旋模型
    • 优点:
      • 设计上的灵活性,可以在项目的各个阶段进行变更。
      • 以小的分段来构建大型系统,使成本计算变得简单容易。
      • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
      • 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
      • 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
    • 缺点:
      • 很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?

  1. 用例驱动既做到了以客户为中心,以客户的角度看系统,为客户创建真正可用的系统的构造方式,又解决了传统面向对象方法面临的无法有效的从需求中提取对象的困难,从而填平了需求分析方法和对象设计方法之间的鸿沟。
  • 以架构为中心,坚持综合考虑软件系统的各个方面,并优先解决各个方面的主要问题,同时创建常见问题的通用解决方案,从而为解决软件项目的主要风险、准确估算项目进度、提高软件复用、保证软件的整体风格打下了坚实基础。
  • 迭代和增量式开发,以风险为驱动,分阶段针对不同的风险制定对策,以保证软件项目的成功完成。

1体现用户驱动的开发,3体现风险驱动开发。

UP 四个阶段的划分准则是什么?关键的里程碑是什么?

初始阶段:获得项目的基础;里程碑:生命期目标;

细化阶段:进化软件构架;里程碑:生命期构架;

构造阶段:构造软件;里程碑:初试运作功能:

移交阶段:把软件部署到用户环境;里程碑:产品发布。

IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的

工期是提前协议好了,每一个阶段都有规定的完成时间,不能随意更改。而质量则是提前规定好的交付条件。因此只有项目/内容是易于控制的。其它都不能控制。

为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?

因为UP的软件生命周期被分为四个阶段,每个阶段是两个主要里程碑的分隔。在每个阶段结束时,我们根绝执行评估阶段目标来决定是否进入下一个阶段。因此UP提供了固定节奏的生产。

与此同时,UP是一个风险驱动的生命周期模型。UP通过渐进的方式进行演进,以此来有效控制风险。在软件生命周期中,每个阶段被划分为多个迭代,每个迭代确定一个内部里程碑,因此,UP也为固定周期发布软件产品提供依据。

项目管理使用

使用截图工具(png格式输出),展现你团队的任务 Kanban,请注意以下要求

  • 每个人的任务是明确的。即一周后可以看到具体成果
  • 每个人的任务是1-2项。
  • 至少包含一个团队活动任务

kanban