1、简答题
简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
- 瀑布模型 1
- 优点
- 为项目提供了按阶段划分的检查点。
- 当前一阶段完成后,您只需要去关注后续阶段。
- 可在迭代模型中应用瀑布模型。
增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。 - 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
- 缺点
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
- 瀑布模型的突出缺点是不适应用户需求的变化。
- 依赖问题,前面的需求不明确导致后面的开发困难。
- 容错问题,后期发现需求,工作量难以接受。
- 优点
- 增量模型2
- 优点
- 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
- 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。
- 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。
- 缺点
要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。
- 优点
- 螺旋模型
- 优点
- 设计上的灵活性,可以在项目的各个阶段进行变更。
- 以小的分段来构建大型系统,使成本计算变得简单容易。
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
- 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
- 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
- 缺点
- 很难让用户确信这种演化方法的结果是可以控制的。
- 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
- 不适合于大团队
- 优点
简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?3
- Iterative and incremental(迭代并且增量的)—— 体现了用户驱动的开发
- Architecture-centri(已架构为中心的)
- Risk-focused(风险关注的)—— 体现了风险驱动的开发
UP 四个阶段的划分准则是什么?关键的里程碑是什么?4
- 初始(Inception) 大体上的构想、业务案例、范围和模糊评估
- 细化(Elaboration) 已经精化的构想、核心架构 的迭代实现、高风险的解决,绝大多数需求和范围以及进行更为实际的评估。
- 构造(Construction) 对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。
- 移交(Transition) 进行beta测试和部署 关键的里程碑是细化阶段的结束点,此时有重要决策或评估产生。
IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的
- 工期更多的受限于合同内容,按照合同有着规定的交付时间
- 质量由客户提出需求并体现在合同中,当项目质量符合需求时,方可进行交付
- 范围/内容由开发者进行项目管理,完善来进行把控
为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
UP
将周期分为四个连续的阶段:初始阶段、细化阶段、构造阶段、交付阶段。每个阶段有自己明确的目标,保证了企业能够按固定节奏生产。而其迭代性保证了固定周期发布软件产品。