1.1 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。
1.1.1 瀑布模型
- 优点
- 为项目提供了按阶段划分的检查点。
- 当前一阶段完成后,您只需要去关注后续阶段。
- 降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
- 可在迭代模型中应用瀑布模型。
- 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
- 缺点
- 开发过程一般不能逆转,否则代价太大;
- 不适应用户需求的变化。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
1.1.2 增量模型
- 优点
- 降低了系统失败和用户需求变化产生的风险。
- 人员分配灵活,刚开始不用投入大量人力资源,如果核心产品很受欢迎,可增加人力实现下一个增量。
- 可先发布部分功能给客户,对客户起到镇静剂的作用。
- 缺点
- 并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构
- 增量粒度难以选择。
1.1.3 螺旋模型
-
优点
- 设计上的灵活性,可以在项目的各个阶段进行变更
- 以小的分段来构建大型系统,使成本计算变得简单容易。
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
-
缺点
- 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
- 过多的迭代次数会增加开发成本,延迟交付时间。
- 很难让用户确信这种演化方法的结果是可以控制的。
1.2 简述 UP 的三大特点,其中哪些内容体现了用户驱动的开发,哪些内容体现风险驱动的开发?
- 用例驱动(Use Case Driven)。
- 以架构为中心(Architecture-centric)。
- 迭代增量开发(Iterative and incremental)。
其中1体现了用户驱动的开发,3体现了风险驱动的开发。
1.3 UP 四个阶段的划分准则是什么?关键的里程碑是什么?
- 初始阶段:生命周期目标(Lifecycle Objective)里程碑。用于评价项目基本的生存能力
- 细化阶段:生命周期结构(Lifecycle Architecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
- 构造阶段:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。
- 移交阶段:产品发布(Product Release)里程碑。此时要确定目标是否实现,是否应该开始另一个开发周期。
1.4 IT 项目管理中,“工期、质量、范围/内容” 三个元素中,在合同固定条件下,为什么说“范围/内容”是项目团队是易于控制的
因为在合同固定的条件下,工期和质量都在合同中有了明确的规定,不能随意更改,项目的范围/内容则可以根据软件开发过程中遇到的情况,项目团队与客户商议做出稍微的调整。
1.5 为什么说,UP 为企业按固定节奏生产、固定周期发布软件产品提供了依据?
- UP的软件生命周期从时间上分为四个阶段,每个阶段包括一个主要的里程碑。
- 为了有效地控制风险,UP以渐进的方式进行演进,首先解决高风险的问题,这主要是通过迭代来实现。
- 在软件生命周期中,每个阶段可以划分为多个迭代,每个迭代确定一个内部里程碑(或一个发布)。因此,UP为固定周期发布软件产品提供了依据。