IMAU 软件项目管理 期末复习总结 第三章

第三章 软件生存期模型

1.什么是生存期模型?

描述了开发的主要阶段
定义每一个阶段要完成的主要过程和活动
确定每一个阶段的输入和输出

2. 常见的生存期模型及适用情况

2.1 瀑布模型

IMAU 软件项目管理 期末复习总结 第三章_第1张图片

 适用于:软件需求很明确的软件项目,即一般适用于功能明确、完成、无重大变化的软件系统的开发,即:

               ①在项目开始前,项目的需求已经被很好的理解、也很明确,而且项目经理很熟悉为实现这一模型所需要的过程。

               ② 解决方案在项目开始前也很明确

               ③ 短期项目可采用瀑布模型。

2.2 V模型

IMAU 软件项目管理 期末复习总结 第三章_第2张图片

适用于:项目需求在项目开始前很明确、解决方案在项目开始前也很明确,项目对系统的安全很严格(与瀑布模型的区别),如航天飞机控制系统、公司的财务系统等。

2.3 原型模型

IMAU 软件项目管理 期末复习总结 第三章_第3张图片

适用于:项目的需求在项目开始前不明确,需要减少项目的不确定性的时候。

2.3 增量模型

IMAU 软件项目管理 期末复习总结 第三章_第4张图片

适用于:软件项目的需求基本明确,但可能发生变化;市场和用户需要逐步了解;系统的改造更新需要一步步进行

2.4 渐进式模型

特点:渐进式开发、阶段性提交

优点:关键功能更早出现;早期预警问题;降低估计失误

2.5 敏捷模型

IMAU 软件项目管理 期末复习总结 第三章_第5张图片

2.6 XP极限编程模型

IMAU 软件项目管理 期末复习总结 第三章_第6张图片

基于敏捷的核心思想和价值目标,XP要求项目团队遵循13个核心实践(略) 

有关模型的详细介绍 可点此处 参考另一篇博文

3.本章习题及答案

一、填空题

1.(瀑布模型)生存期模型中,要求项目所有的活动都严格按照顺序进行,一个阶段的输入时下一个阶段的输入。
2.总体上,项目生存期模型可以是预测型或(适应型)
3.DevOps是(Development)和(Operations)的组合

二、判断题
1、瀑布模型不适合短期项目。(×)
2、增量式模型可以避免一次性投资太多带来的风险。(√)
3、V模型适合的项目类型是需求很明确、解决方案很明确,而且对系统的性能要求比较严格的项目。(√)
4、瀑布模型和V模型都属于预测型生存期模型(√)
5、在瀑布生存期模型中,要求项目所有的活动都严格按照顺序执行,一个阶段的输出是下一个阶段的输入。(√)
6、极限编程从3个层面提供了13个敏捷实践(√)
7、敏捷包括《敏捷宣言》的价值观、12个原则,以及一些通用实践等(√)

三、选择题
1、对于某项目,甲方提供了详细、准确的需求文档。我们的解决方案也很明确。且安全性要求非常严格。此项目采用(C)成存期模型比较合适。
A:瀑布模型    B:增量式模型    C:V模型    D:XP模型

2、下面属于预测型生存期模型的是(A)
A、瀑布模型    B、增量型生存期模型  C、Scrum模型  D、原型模型

3、下面关于敏捷模型描述不正确是(D)
A、与传统模型相比,敏捷模型属于自适应过程
B、可以应对需求的不断变化
C、Scrum模型、XP模型、DevOps模型等都属于敏捷模型
D、敏捷型是预测型和迭代型的混合模型

4、XP模型的实践原则不包括以下哪一点?(D)
A:快速反馈    B:假设简单    C:包容变化    D:详细设计

5、在项目初期,一个项目需求不明确的情况下,应避免采用以下哪种生存期模型?(C)
A:快速原型模型    B:增量式模型    C:V模型    D:Scrum模型

6、关于迭代模型,下列说法不正确的是(D)
A、不断反馈原型  B、可以加快开发速度  C、项目需求变化大  D、不多次提交

补充:

7.为避免一次性投资太多带来的风险,最好选择(A)生存期模型。

A.增量式模型  B.快速原型模型   C.瀑布模型   D.V模型

四、问答题

1、写出三种你熟悉的生存期模型,并说明这些模型适用于什么情况下的项目。

(1)瀑布模型
适用于软件需求很明确的软件项目,即一般适用于功能明确、完成、无重大变化的软件系统的开发,即:

  • 在项目开始前,项目的需求已经被很好的理解、也很明确,而且项目经理很熟悉为实现这一模型所需要的过程。
  • 解决方案在项目开始前也很明确。
  • 短期项目可采用瀑布模型。

(2)V模型
适用于项目需求在项目开始前很明确、解决方案在项目开始前也很明确,项目对系统的安全很严格,如航天飞机控制系统、公司的财务系统等。

(3)快速原型模型
适用于项目的需求在项目开始前不明确,需要减少项目的不确定性的时候。

2、混合模型是什么模型?
把几种不同模型组合成一种混合模型,它允许一个项目能沿着最有效的路径发展,这就是过程开发模型(或混合模型)

4.关于如何为一个软件项目选择生存期模型

  • 在前期需求明确的情况下尽量采用瀑布模型或改进型的瀑布模型.
  • 在用户无信息系统使用经验,需求分析人员技能不足情况下一定要借助原型.
  • 在不确定性因素很多,很多东西前面无法计划情况下尽量采用增量迭代和螺旋模型
  • 在需求不稳定情况下尽量采用增量迭代模型
  • 在资金和成本无法一次到位情况下可以采用增量模型,软件产品分多个版本进行发布
  • 对于完全多个独立功能开发可以在需求阶段就分功能并行,但每个功能内都应该遵循瀑布模型
  • 对于全新系统的开发必须在总体设计完成后再开始增量或并行.
  • 对于编码人员经验较少情况下建议不要采用敏捷或迭代等生命周期模型.
  • 增量,迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付准则.

 

你可能感兴趣的:(IMAU期末复习)