开发模型
- 瀑布模型
- 特点:
线性结构,每个阶段只执行一次,必须完成上一个才能执行下一个。
是其他模型的基础框架
- 缺点:
测试后置,1)前面各个阶段的遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去及早修复的机会。 2)必须留有足够的时间给测试人员,否则导致测试不充分,将缺陷暴露给用户,产品质量差。
周期太长,产品很迟才能被看到和使用,导致需求/功能过时
- 适合场景:
需求固定的小项目
- 螺旋模型
把上图流程拉直得到的流程图
- 特点
在瀑布模型的基础上添加了原型和风险分析,才不会像瀑布模型那样把所有的风险都推迟到测试阶段,而是每完成一步就进行风险分析,生成新的原型
- 缺点
项目中可能存在的风险性和风险管理人员的技能水平有直接关系
需要人员,资金,时间的增加和投入,可能导致项目成本过高
- 适合场景
规模庞大,复杂度高,风险大的项目
- 增量模型
增量模型:把大的需求划分成一个个可以独立开发上线的功能,分批次的逐步向用户提交产品,逐块建设的过程例如有一个软件有A,B,C,D,E5个功能要实现,先开发上线A,B功能,再开发上线C,D,E。而瀑布模型,螺旋模型是一次性把满足所有需求的产品上线交给用户。
- 迭代模型
迭代模型:体现的是精益求精的思想,一个软件有A,B,C,D,E5个功能,迭代模型是先开发A,B,C,D,E的基础功能,然后在基础版的基础上进行功能优化
- 敏捷模型
- 特点:
轻流程,轻文档,重目标,重产出
- scrum模型
scrum是敏捷开发中的一种比较流行的模型。scrum模型包括三个角色即产品经理,项目经理,研发团队。
产品经理负责提出用户需求,产品愿景
发布计划会议:制定出这一次迭代要实现的功能
计划会议:研发团队对每一个任务进行分解,每个任务都有明确的负责人,并完成工时估计
每日例会:研发团队成员回答昨天做了什么,今天计划做什么,有什么问题
演示会议:迭代结束后,召开演示会议,团队负责向大家演示本次迭代取得的成功
回顾会议:项目团队对本次迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进
敏捷模型能够拥抱变化,如果有需求发生变化,新需求可以放到需求池,下次迭代时实现
测试模型
- V模型
缺点:测试后置
- W模型(双V模型)