目录
瀑布模型
快速原型模型
敏捷模型
迭代模型(增量模型)
螺旋模型
瀑布模型
定义:早就计划好了,按计划顺序(计划、设计、开发、测试、维护)线性执行
适用于:需求明确、变化少的项目
缺点:
1.不支持需求变化;
2.每个阶段依赖前面阶段太强,出现问题追溯工作量大;
3.交付时才看得到产品
快速原型模型
定义:快速构建一个可运行的原型先让用户用起来,后面再根据反馈进行修改或重构
特点:以用户需求为中心。先简化,快速开发出来
适用于:需求不明确的项目
敏捷模型
定义:和迭代模型一样,也是系统拆分成多个模块迭代。不过,每个模块开发流程比较混乱,比如开发的同时也会进行测试之类的
特点:以用户需求为中心。强调人之间的沟通,比如客户参与面对面提需求、团队成员更紧密合作
适用于:中小型开发团队,需求不明确、或多变的项目
迭代模型(增量模型)
定义:将系统拆分为几个功能模块,每个模块都经过【需求分析→软件设计→编码→测试】的完整的开发流程(叫做一次迭代),产生一个可发布的产品(第一个模块是核心产品)
特点:多期开发,分批次多轮交付
适用于:大型、需求多变的项目
螺旋模型
定义:和瀑布模型一样,也是早就计划好了,按计划顺序(计划、风险分析、实施验证、客户评估等)线性执行
特点:强调风险分析
适用于:大型、高风险项目
缺点:项目周期太长