首页 > 技术文章 > 系统分析与设计 homework2

liangf27 2018-03-22 22:50 原文

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

瀑布模型

  • 优点:
    降低了软件开发的复杂度,提高软件开发过程中的透明性,提高软件开发的可管理性。
    为项目提供了按阶段划分的检查点。
    当前一阶段完成后,只需关注后续阶段。
  • 缺点:
    瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的 文档时,会极大地增加系统的工作量
    回溯修改很困难甚至不可能,但是软件生产的过程需要时时回溯。
    最终产品直到最后才出现,但是软件的客户,甚至软件工程师本人都需要尽早知道产品的原型并试用。

增量模型

  • 优点:
    将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
    开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
    这样即可先发布部分功能给客户,对客户起到镇静剂的作用。此外,增量能够有计划地管理技术风险。
  • 缺点
    并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构。
    在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
    如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。

螺旋模型

  • 优点
    集成了瀑布模型、快速原型模型、增量模型的优点;
    支持用户需求动态变化;
    需求分析与软件实现紧密联系相互依赖;
    原型作为可执行的需求规格说明,既利用用户和开发人员共同理解,又可作为后续开发的基础;
    为用户参与决策提供方便;
    提高目标软件的适应能力;
    降低风险;
    在大型软件开发过程中充分发挥优势。
  • 缺点
    采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
    过多的迭代次数会增加开发成本,延迟提交时间。

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

特点:

  • 用例和风险驱动开发
  • 以体系结构为核心
  • 迭代及增量

UP一般由UML方法和工具支持,用例捕获需求,可以提现用户驱动的开发。
UP需要对软件开发中的风险进行分析、预测并关注软件的构造,体现了风险驱动的开发。

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

  • 先启阶段(inception):该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,结交结果包括需求和用例。
  • 精化阶段(elaboration):该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构,问题领域、修改后的需求及项目开发计划等相关文档。
  • 构建阶段(construction):增量式开发可以交付给用户的软件产品。
  • 提交阶段(transition):目的是将软件产品交付给用户。

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

工期是早就确定好的,工期规定项目中各部分具体的完成时间,不能随意调整,否则可能产生连锁反应,造成产品延期。

质量是客户规定的,在合同中已经写明,验收条件不可能由项目团队控制。

范围/内容是团队为了交付产品需完成的工作,需要由团队进行控制,否则是无法完成所需的工作的。

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

因为UP是迭代过程,迭代开发是UP的关键实践。
需求分析,设计,实现,迭代,测试和交付的生命周期是有固定长度的,是在时间盒里面限制的,例如起始的固定周期就是限制在两周前,之后的迭代开发构成也是有较为明确的时间限制的。因此,在每次迭代完成后,都有一定的产品可供发布。

6、项目管理使用

这里写图片描述

推荐阅读