一、瀑布模型
特点:线性的开发模式
缺点:测试后置
1)项目的风险推迟到测试的后期才发现,失去了及时纠正的机会
2)要留足够的时间来测试,否则测试不充分,缺陷遗留给线上
使用场景:需求固定的一些小项目
二、螺旋模型
需求分析——计划——设计——编码——测试
特点:引入全流程风险管理
缺点:增加时间、人力、资金消耗
使用场景:前期需求不确定、规模大、风险大的一些项目
三、增量模型
举例:用户有一个需求包含功能A、B、C
使用增量模型的话:
开发完A直接上线供给用户使用
开发完B直接上线供给用户使用
开发完C直接上线供给用户使用
这相当于画一幅人物画,先画头、再画身体、再画四肢。
四、迭代模型
先开发一个基础版本(包含功能A、B、C),但是A、B、C的功能比较简陋,接下来在基础版本上对A、B、C功能进行完善。相当于画一幅人物画,先画轮廓、再细化、再填色。
五、敏捷模型
敏捷宣言表达了敏捷模型的特点:轻流程、轻文档、重目标、重产出。(可交付的软件)
敏捷开发有很多种方式,其中scrum是比较流行的一种。