瀑布模型(最常用)
1,需求分析
研发分析需求说明书
判断需求的可实现性
,2,概要设计
用到的具体的技术点
大致模块划分
,3,详细设计
详细到可以为编码做支撑
类和类的关系,类的设计
函数设计
各个接口的细节
数据库表的关系,字段关系
4,编码
依托于详细设计进行编码
5,软件测试
6,软件维护
上线后也需要持续维护
特点:
线性模型,每一步都是按顺序执行
文档驱动,每一步都有文档产出
优点
开发的各个阶段比较清晰
当前一阶段完=完成后只需要关注后续阶段
缺点
依赖于早期的需求调查,不适应需求的变化
风险往往后期才显露,失去及早纠正的机会
螺旋模型
特点
引入风险分析活动
优缺点
优点:螺旋模型很大程度上是一种风险驱动的方法体系
缺点:采用螺旋模型需要相当丰富的风险评估经验和专门知识
快速原型模型
在开发真实的系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作
特点
快速的构建软件的模型(一边确定需求,一边实现)
支持用户的参与
优缺点
优点:克服瀑布模型的缺点,更好地满足客户的需求并减少由于软件需求不明确带来的项目开销
缺点:不适合大型项目的开发(适合开发小型的,灵活性高的系统)