软件开发过程与项目管理(3.软件生存期模型)
课件
生存期模型定义
- 描述了开发的主要阶段
- 定义每一个阶段要完成的主要过程和活动
- 确定每一个阶段的输入和输出
传统生存期模型
瀑布模型
特点:项目开始前,项目的需求很明确,解决方案也很明确,适用于短期项目。
V模型
特点:项目开始前,项目需求很明确,解决方案也很明确,对系统性能安全很严格的项目。
原型
特点:项目开始前,项目的需求不明确,需要减少项目需求的不确定性,适用于第一次开发的产品,验证可行性,需求不明确的项目。
增量模型
特点:项目开始时,明确了需求的大部分,但是需求可能会发生变化,对于市场和用户把握不是很准,需要逐步了解,对于庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。
渐进式阶段模型
特点:最常用的,综合了增量模型和螺旋式模型,渐进式前进,阶段式提交,阶段式提交一个可运行的产品,关键的功能更早出现,早期预警问题,避免软件缺陷不知不觉的增长,减少报告负担,阶段性完成可以降低估计失误,阶段性完成均衡了弹性和效率。可以适合任何规模的项目,主要是中型或大型项目,希望随时看到未来的项目。但是需要不断提交新的版本。
敏捷生存期模型
敏捷模型的定义
- 敏捷组织提出的一个灵活开发方法
- 应对迅速变化需求的快速软件开发方法
- 是一种迭代、循序渐进的开发方法
敏捷宣言
- 个体和交互胜过过程和工具
- 可以工作的软件胜过面面俱到的文档
- 客户合作胜过合同谈判
- 响应变化胜过遵循计划
Scrum模型
XP极限编程模型
极限编程是由Kent Beck提出的一套针对业务需求和软件开发实践的规则。
极限编程方法的实施原则:
- 快速反馈
- 假设简单
- 包容变化
选择生存期的步骤
- 熟悉各种生存期模型
- 评审、分析项目的特性
- 选择适合项目的生存期模型
- 标识生存期模型与项目不一致地方,并进行裁减
案例分析
主观题
敏捷开发模型的宣言是什么?
- 个体和交互胜过过程和工具
- 可以工作的软件胜过面面俱到的文档
- 客户合作胜过合同谈判
- 响应变化胜过遵循计划
简述各种生存期模型的特点,并说明这些模型应用在什么情况下?
- 瀑布模型,项目开始前,项目的需求很明确,解决方案也很明确,适用于短期项目。
- V 模型,项目开始前,项目需求很明确,解决方案也很明确,对系统性能安全很严格的项目。
- 原型模型,项目开始前,项目的需求不明确,需要减少项目需求的不确定性,适用于第一次开发的产品,验证可行性,需求不明确的项目。
- 增量模型,项目开始时,明确了需求的大部分,但是需求可能会发生变化,对于市场和用户把握不是很准,需要逐步了解,对于庞大和复杂功能的系统进行功能改进,就需要一步一步实施的。
- 渐进式阶段模型,最常用的,综合了增量模型和螺旋式模型,渐进式前进,阶段式提交,阶段式提交一个可运行的产品,关键的功能更早出现,早期预警问题,避免软件缺陷不知不觉的增长,减少报告负担,阶段性完成可以降低估计失误,阶段性完成均衡了弹性和效率。可以适合任何规模的项目,主要是中型或大型项目,希望随时看到未来的项目。但是需要不断提交新的版本。
客观题
如果一个项目,在项目初期,需求不明确的情况下,应避免采用以下哪种生存期模型。
V 模型
可以构建一部分系统的模型,通过用户试用提出优缺点,最好选择( )生存期模型。
原型
为避免一次性投资太多带来的风险,最好选择( )生存期模型。
增量式模型
在瀑布生存期模型中,要求项目所有的活动都严格按照顺序执行,一个阶段的输出是下一个阶段的输入。
正确
燃尽图是 Scrum 模型中常用的敏捷开发工程实践。
正确