软件项目过程模型与规划

1、简单题

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

    • 从项目特点、风险特征、人力资源利用角度思考

    瀑布模型:

    • 优点:定义了软件开发基本流程和活动;为项目提供了按阶段划分的检查点;当前一阶段完成后,只需要去关注后续阶段。它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
    • 缺点:各个阶段的划分固定;很难给出清晰的需求,对后期工作也造成阻碍;不同阶段所需要的知识技术不同,对人员要求不同,产生资源配置的问题。

    增量模型:

    • 优点:人员分配灵活;可以分批次提交软件产品,使用户及时的了解项目的进程;可以灵活的调节组件的开发顺序、优先级
    • 缺点:要求待开发的软件系统可以被模块化;如果增量之间存在相交的情况且未能很好处理,则必须做全盘系统分析。

    螺旋模型:

    • 优点:设计上更加灵活,可以在项目的各个阶段进行变更;客户始终参与每个阶段的开发,保证了项目不偏离正确的方向以及项目的可控性;在每个迭代阶段植入软件测试,使每个阶段的质量得到保证。
    • 缺点:迭代次数难以控制,可能超出预算或工期;周期过长导致软件技术发展与当前的差距,无法满足市场需求。
  • 简述统一过程三大特点,与面向对象的方法有什么关系?
    • 三大特点:
      • 用例驱动(use case driven):从用户角度表达,既能被开发人员看懂也能被客户看懂
      • 以体系结构为核心(architecture centric):软件体系结构提供了所有其他发展演变的中心点,提供系统的”大局”,为发展提供组织框架
      • 迭代及增量(iterative and evolutionary):迭代和增量方法允许开发以不完整、不完美的知识开始,并且迭代和增量会逐步趋向稳定,能有效的管理需求变化。
  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
    • 划分准则是在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。
    • 四大阶段:
      • 初始阶段:生命周期目标(Lifecycle Objective)里程碑,评价项目基本的生存能力。
      • 细化阶段:生命周期结构(LifecycleArchitecture)里程碑,为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
      • 构造阶段:初始功能(Initial Operational)里程碑,决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。
      • 交付阶段:产品发布(Product Release)里程碑,确定目标是否实现,是否应该开始另一个开发周期。
  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
    • 因为根据统一过程模型,各个阶段的生命周期是固定的,在软件开发的过程中有健胃明确的时间限制。这种生命周期方法为发布软件产品提供了依据。因此,软件企业能够按照固定的节奏生产、固定周期发布软件产品。
    • 它可以让企业更加高效的把控软件开发的进度和预算,更加灵活的调配人力物力资源,提高效益