软件项目过程模型与规划

一、简单题

1、简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点。

瀑布模型:

瀑布模型是一个比较线性的项目开发方法。软件生命周期被分成下图的多个阶段。项目进程像瀑布一样在各个阶段流动,并按顺序完成各个阶段。

优点:

定义了软件开发基本流程与活动:

(1)为项目提供了按阶段划分的检查点。

(2)当前一阶段完成后,只需要去关注后续阶段。

(3)可在迭代模型中应用瀑布模型。

(4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导

缺点

(1)依赖问题:  前面需求模糊,后面工作不明确而导致最终产品和需求不符

(2) 容错问题: 在后期发现需求问题,工作量难接受

(3)资源调配问题: 知识技能需求不同 ,人员数量要求不同

 

增量模型

在增量模型中,产品不断地实现新的增量(新的功能/特征),并且对每个增量进行设计,实现与测试。当产品实现所有要求时,就可以作为成品交付。

优点:

(1)将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展

(2)以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统。

(3)开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整。

缺点:

(1)在项目早期开发可能有所变化 ,对于开发人员的要求较高,需有一个高素质的项目管理者和一个高技术水平的开发团队

(2)要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦。

 

螺旋模型

螺旋模型,采用一种周期性的方法来进行系统开发。通常螺旋模型由四个阶段组成:制定计划、风险分析、实施工程和客户评估。螺旋模型中,发布的第一个模型甚至可能是没有任何产出的,可能仅仅是纸上谈兵的一个目标,但是随着一次次的交付,每一个版本都会朝着固定的目标迈进,最终得到一个更加完善的版本。它尤其重视风险分析阶段,特别适用于庞大并且复杂,非常高风险的项目。
 

优点:

(1)设计上的灵活性,可以在项目的各个阶段进行变更

(2)以小的分段来构建大型系统,使成本计算变得简单容易。

(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

(4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

(5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点:

 很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

 

2、简述统一过程三大特点,与面向对象的方法有什么关系?

(1)用例驱动(Use Case Driven)

用例驱动意味着开发团队使用从代码和测试中采集的需求的用例。

(2)以架构为中心

软件架构提供所有开发的中心点

(3)迭代和增量

迭代和增量方法允许我们从不完整的知识开始开发,每个迭代都是瀑布的工作流程,,每个迭代产品在增量(制品是可运行的),利于及时交付使用并反馈。并且有着固定的迭代周期(等量的人月),利于量化团队/个人生产率。

关系:

统一软件开发过程是一个面向对象且基于网络的程序开发方法论。

 

3、简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

统一过程的四个阶段:初始阶段,细化阶段,构造阶段,交付阶段。

划分准则:在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

里程碑:

(1)初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。

(2) 细化阶段结束时第二个重要的里程碑:生命周期结构(LifecycleArchitecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。

(3)构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。

(4) 在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。

 

4、软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。企业通过采用UP过程,可以按固定节奏生产、固定周期发布软件产品。

这样带来的好处是:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为企业提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值