简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)
瀑布模型
- 优点
- 当前一阶段完成后,您只需要去关注后续阶段
- 提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导
- 通过项目阶段评审和文档控制,指导开发过程,保证正确衔接阶段,及时发现并修改bug,从而保证质量。
- 缺点
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
- 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
- 当客户的前期需求不够明确时无法使用瀑布模型,同时也比较难适应客户的需求变化。
增量模型
- 优点
- 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展。
- 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。
- 提高系统的稳定性和可维护性。
- 缺点
- 如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。
- 建立初始模型时,作为增量基础的基本业务服务的确定有一定难度;
螺旋模型(含原型方法)
- 优点
- 设计上的灵活性,可以在项目的各个阶段进行变更。
- 以小的分段来构建大型系统,使成本计算变得简单容易。
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
- 螺旋模型是风险驱动的迭代过程,强调可选方案和约束条件从 而支持软件的重用,有助于将软件质量作为特殊目标融入产品 开发之中。
- 缺点
- 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
- 螺旋模型强调风险分析,但说服外部客户接受和相信分析 结果并做出相关反应并不容易,因此螺旋模型往往比较适 合内部的大规模软件开发。
简述统一过程三大特点,与面向对象的方法有什么关系?
三大特点:用例驱动、以构架为中心、迭代和增量。
关系:统一过程已经成为一种流行的构造面向对象系统的迭代软件开发过程。它是一种基于 UML 的、以构架为中 心、用例驱动与风险驱动相结合的迭代增量过程。它将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是 一个面向对象的程序开发方法论。
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 初始阶段:通过对文档的评审确定用例需求理解正确、项目风险评估 合理、阶段计划可行等。生命周期目标里程碑。
- 细化阶段:通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。生命周期体系结构里程碑。
- 构造阶段:包括可以运行的软件产品、用户手册等,它决定了产品是否可 以在测试环境中进行部署。此刻,要确定软件、环境、用户是 否可以开始系统的运行。初始运行能力里程碑。
- 移交阶段:确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。产品发布里程碑。
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
软件企业通常使用统一过程作为软件开发过程模型。统一过程的开发过程建立在一系列迭代之上,每次迭代都有一个固定的时间限制,把软件开发的生命周期分为多个阶段,从而让软件企业能按固定节奏生产、固定周期发布软件产品。
好处:使得企业项目管理变得规范,方便进行管理。同时每个周期都能保持与客户的联系,提升客户的信任度。