一、瀑布模型:
1、思想:从制作时间上按工序把问题化简
将功能实现与制作分开便于分工协作
2、特点:
阶段间的顺序性和依赖性很强
质量保证,每个阶段交付合格文档,并对文档审核
推迟实现的观点
3、优点:
奠定了软件方法的基础
流水依赖,便于分工协作
推迟物理实现,易于修改文档,有复审质量保证
4、缺点:目标系统跟用户见面晚,问题发现越晚,修改的成本越高,成功率低,一般在25%
5、使用范围:
适用于系统要求明确的系统
各种应用软件的开发均可使用
二、快速原型模型
1.优点:
克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带来的项目开发风险。
适合预先不能确切定义需求的软件系统的开发。
2.缺点:
不适合大型系统的开发(适合开发小型的、灵活性高的系统)。
前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。
三、演化模型
由于在项目开发的初始阶段人们对于软件需求认识常常不够清晰,因而使得软件开发很难做到一次成功出现返工在所难免,第一次只是在试验开发,在第一次中探索可行性,弄清楚软件的需求,在此基础上第二次(有限次的开发)做出满意的产品
四、渐增模型
1.思想:从部分出发,先建立一个不全面的系统通过测试这个系统,进一步使系统完善
2.优点:开发的始终开发人员和用户都共同参与,有问题可以随时修改,满足客户需求
3.使用范围:适用于知识性软件系统开发
4.特点:整体结构上不如瀑布型清晰
软件的文档不如瀑布型划分严格
周期长,成本高
与用户见面快,开发效率高
五、螺旋模型
沿着螺旋线旋转,四个象限分别表达四个方面
指定计划:确定软件目标,选定实施方案,弄清楚项目开发的限制条件
风险分析:分析选择方案,考虑如何识别和消除风险
实施工程:实施软件开发
客户评估:评价开发工作,提出修正建议
六、喷泉模型
特点:迭代
重复。演进,无间隙
七、变换型:
有严格的数学理论和形式化的技术支持,但目前在研究和试验阶段,不能实用