前言
对于模型,需要重点掌握特点,缺点,适用场景;
重点需要理解的模型:瀑布模型、敏捷模型、V模型、W模型;
一、开发模型
1.1、瀑布模型
特点:
1.线性结构,每个阶段只执行一次;
2.是其他模型的基础框架;
缺点:
1、测试后置
1)由于每一个阶段只执行一次,前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积反工(又需要重新进行需求分析,然后计划、设计...),失去了及早修复的机会;
2)必须留有足够的时间给测试活动,否则导致测试不充分,将会暴露给用户(产品质量差);
2、周期太长,产品很迟才能被看到和使用,可能导致需功能过时;(例如某一功能未及时上线,用户就已经找到了替代该功能的工具);
使用场景:
需求固定的小项目;
1.2、螺旋模型
不要感觉上图模型好像很复杂的样子,把他拉直,实际上就是瀑布模型稍微改动后的样子,如下图:
特点:
螺旋模型中增加了风险分析和原型;
缺点:
1、项目中可能存在的风险性与风险管理人员的技术水平有直接关系;(瀑布模型需要招聘专业的风险分析人才)
2、需要人员、资金、时间的增加和投入,可能会导致项目成本过高;
使用场景:
规模庞大、复杂度高、风险大的项目适合;
1.3、迭代模型和增量模型
增量模型:逐块建造,把大需求划分成一个个可以独立开发上线的功能;例如要画一副人像,就一步一步画,先画好头,再画手臂...
迭代模型:逐步细化;例如同样是画人像,我们可以先画轮廓,再勾勒雏形,再细化,着色...
1.4、敏捷模型
特点:
轻流程、轻文档、重目标、重产出;
敏捷开发最流行的方式——scrum模型
三个角色:产品经理、项目经理、研发团队;
五个重要会议:(注意:会议的名字不是固定的,可以用自己容易记住方式记忆,知道内容就可以)
二、测试模型
2.1、V模型
特点:
1、测试过程中存在的不同类型的测试;
2、测试阶段的参考标准以前面对应阶段为准;
缺点:
测试后置:
1)前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积反工,失去了及早修复的机会;
2)必须留有足够的时间给测试活动,否则导致测试不充分,将会暴露给用户(产品质量差);
2.2、W模型(双V模型)
特点:
测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进行的;
缺点:
W模型重流程、不能够迎接变化;
W模型不适用于敏捷模型;