1、简单题
简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
从项目特点、风险特征、人力资源利用角度思考
-
瀑布模型
- 优点
- 有利于大型软件开发过程中人员的组织,管理,有利于软件开发方法和工具的研究,提高了大型软件项目开发的质量和效率
- 缺点
- 开发过程不可逆,大家很高
- 实际开发难以按照瀑布模型进行
- 客户很难在一开始给出清晰的需求,而该模型确要求如此
- 软件开发情况要到项目开发后期用户才能看到,与客户一开始的设想可能不一致,而且需要客户有耐心
- 优点
-
增量模型
- 优点
- 人员分配灵活,刚开始不用投入大量人力资源
- 可以先发布部分功能给客户
- 可以对受欢迎的功能投入更多的人力
- 缺点
- 并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构
- 增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性
- 优点
-
螺旋模型(含原型方法)
- 优点
- 设计上的灵活性,可以在项目的各个阶段进行变更
- 以小的分段来构建大型系统,使成本计算变得简单容易;
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性
- 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
- 缺点
- 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失
- 过多的迭代次数会增加开发成本,延迟提交时间
- 螺旋模型只适合于大规模的软件项目
- 优点
简述统一过程三大特点,与面向对象的方法有什么关系?
- 软件开发是一个迭代的过程
- 软件开发由用例驱动
- 软件开发以架构设计为中心
统一过程是一个面向对象的且基于网络的程序开发方法论它可以为为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
-
初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。
-
细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑.生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。
-
在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管理资源及控制运作以优化成本、进度和质量。构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。
-
交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整.在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 因为软件企业建立了固定的开发流程,掌握了一套完整的开发方法,对软件开发过程中可能遇到的问题都有清晰的应对思路.在软件开发前就做计划,能够预见未来软件发布的时间和工作量,可以估算工作量,有效的组织人员分配,时间分配和工作量分配,确保了软件产品的及时有效交付.
- 好处:可以及时有效的交付产品,有效的满足了客户需求.可以让项目管理变得可控,人员分配,工作分配,时间分配更加有效率,提高了公司的工作效率.