开发模型
开发模型 : ① 瀑布模型 ② 螺旋模型 ③ 增量模型 和 迭代模型 ④ 敏捷模型 (优点 缺点 适用场景)测试模型 : ① V模型 ② W模型
瀑布模型
优点/特点:
- 线性结构,每个阶段 只执行一次
- 是其他模型的一个基础框架
缺点:
测试后置:
前面的各项阶段遗留的风险到后面的测试阶段猜发现,会导致大面积返工,而失去尽早修复的机会
必须要给测试留充足的时间,否则可能会导致测试不充分,而把问题暴露给用户使用的时候才发现
周期太长,产品很迟才能够被看到和使用
可能会导致产品的需求/功能过时
使用场景:
有固定需求的小项目
螺旋模型
拉直之后其实就是 瀑布模型
优点/特点:
- 螺旋模型中增加了 风险分析 和 原型
缺点:
需要招聘专业的风险分析人才,项目中可能存在的风险性与风险管理人员的技能水平有直接关系
需要人员、资金、时间的增加和投入,可能会导致项目的成本太高
适用场景:
规模庞大、复杂度高、风险大的项目
增量模型/迭代模型
假如有一个软件,共有 A B C D E 五大功能
增量模型:可以先开发 AB功能,再开发C D E (逐块建造)
迭代模型:可以先开发 ABCDE的基础版本,再在这些版本上不断完善 (不断完善)
优点/特点:相比于螺旋模型,能够更早的上线。增量模型和迭代模型通常同时使用。
敏捷模型
敏捷宣言:
个体与交互重于过程和工具(重人轻物,雇佣好人才,让他们放手去干)
可用的软件重于完备的文档(相对于各种文档来说,最终的结果/软件更加重要)
客户协作重于合同谈判(与客户紧密的协作,及时沟通解决比死东西更加重要)
响应变化重于遵循计划(及时的相应变化)
在每对比对中,后者并非全无价值,但我们更看重前者
优点:轻流程,轻文档,重目标,重产出
敏捷模型中的scrum模型
三个角色:
- 产品经理:提出需求,负责需求问题
- 项目经理:协调项目,有问题找他
- 研发团队:测试人员、开发人员、前端等等
五个重要会议:
- 发布计划会议:确定本次迭代需要完成的需求 (通常需求从需求池中选择的)
- 迭代计划会议:①进行任务拆解,确定责任人(不同的需求给不同的人干),进行工时评估
- 每日会议:每天都有,说说昨天做了什么,今天做什么,有什么问题(主要是掌握进度是否复合预期)
- 演示会议:迭代结束后召开,团队负责展示本次迭代的成果。期间反馈记录下来,形成新的story
- 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进
测试模型
测试模型分为 V模型 和 W模型,理解下面的两张图即可
V模型
优点/特点:
- 明确的标注了测试过程中存在的不同类型的测试
- 测试的参考标准以前面的对应阶段为准
缺点:
- 测试后置
W模型(双V模型)
- 缺点:重流程,不适用于敏捷模型