1.瀑布模型
(1) 特点
线性的
(2) 优点
在每个阶段应该干什么非常明确
(3) 缺点
发现问题的时机太晚,太晚就会导致有些人力,时间资源产生浪费
(4)适用项目
适用于较小的项目
2.螺旋模型
(1)特点
软件没进入到下一个阶段的时候,都会进行风险分析
(2)优点
风险分析可以避免一些问题出现在线上
(3)缺点
如果风险分析错误,就会将问题暴露到线上,风险分析需要具备一定的知识
(4)适用项目
适用于大型项目,适用于风险较多的项目
3.增量迭代模型
增量:先开发完其中一个模块,在开发后面的模块,直到项目开发完
迭代:先大概开发每个模块,在进行细节上的雕琢.
4.敏捷模型
(1)敏捷宣言(思想)
- 个体与交互 重于 过程和工具
- 可用的软件 重于 完备的文档
- 客户协作 重于 合同谈判
- 响应变化 重于 遵循计划
在每次对比中,后者并非全无价值,但我们更看重前者
(2)scrum
scrum重要的角色: product owner(产品经理), scrum master(项目经理), team(研发团队)组成.
team里面的角色:前端开发,后端开发,测试,设计
product owner(产品经理):
负责整理user story(用户故事),定义其商业价值,对其进行排序,指定发布计划,对产品负责
scrum master(项目经理):
负责召开各种会议,协调项目,为研发团队服务
team(研发团队):
则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品
流程:
5.软件测试V模型
从左到右依次介绍:
用户需求:产品经理将用户需求进行收集,形成软件规格说明书
需求分析与系统设计: 需求能不能做,需求对不对
概要设计: 大概设计一下
详细设计: 每个模块如何实现
编码: 开发
单元测试: 每个class,方法
集成测试: 方法和方法之间的调用
系统测试: 将项目全部运行起来,黑盒测试,功能测试
验收测试: 产品经理,运营验收
特点:
左边是开发,右边是测试.
测试被划分程许多类型.
测试介入需求太晚了
6.软件测试W模型
产品经理手机用户需求,产出软件规格说明书