一:瀑布开发模型
瀑布开发模型也称生命周期法,是生命周期法中最常用的模型,它把酸碱开发周期分为六个阶段:软件计划,需求分析,软件设计,程序编码,软件测试,软件运行与维护阶段。瀑布开发模型适用于大型软件开发过程中人员的组织与管理,适用于大型软件的开发工具和开发方法,提高了大型软件的开发效率和质量,可以快速的生成软件,但也有一定的弊端,如果在测试阶段发现错误,会返回重做,有事可能会返回到更前面的工作。
(1)因为瀑布开发模型呈线性,所以在软件未测试完成之前,未与用户见面,可能会导致软件的偏差性,增加风险
(2)前面的错误没有发现,可能到软件的后期会造成错误的扩散,进而可能会导致整个软件项目开发失败
(3)在软件需求阶段,完全确定用户的所有需求是比较困难的,甚至可以说是不可能的
二:快速原型模型
三:演化模型
演化模型又称变换模型,是在快速开发一个原型的基础上,是对在用户调用原型的过程中所反馈的建议和意见进行修改,对原有模型的改进版本,重复这一过程直到完成最终的软件产品
四:螺旋模型
螺旋模型结合了变换模型和瀑布开发模型,并且增加了风险分析,并且在原型的基础上上,由里到外,每一轮都增加制定计划,风险分析,客户评价等要求,直至完成最终的软件产品
五:喷泉模型
喷泉模型对生命周期和软件服复用等多种活动提供了集成支持,主要支持面向对象的开发。“喷泉”一词本身就体现了迭代和无间隙。在软件的某个部分重复的进行修改,相公功能在每次迭代中加入系统中。无间隙是指在开发过程中对分析,设计和编码等没有确定的界限
六:智能模型
智能模型是基于知识的软件开发模型,结合了前面所提到的若干模型,并加入了专家系统。该模型应用基于规则的系统,采用归约和推理,帮助软件开发人员完成开发软件,将维护放在系统规格一级说明
七:V模型
V模型是基于软件测试的软件开发模型,对每一次的测试进行改进,形成新版本,最后形成最终的软件产品
V模型规定了一些测试级别
(1)单元测试 主要针对设计代码过程中存在的错误的测试 比如:输入信息与输出结果的匹配,边界值的问题
(2)集成测试 主要针对软件设计过程的测试 比如:软件与用户的接口问题,软件单元与程序各部分之间的接口
(3)系统测试 在概要设计阶段,主要针对系统的完整性,运行情况 比如:系统在运行情况中是否达到了预期的效果
(4)验收测试 主要由业务专家或者用户进行验收,确认产品符合用户的真正需求
八:增量模型
增量模型是融合了瀑布开发模型和原型迭代,它一开始只开发一个“核心产品”,即可以实现主要功能的产品,然后在一次次迭代中,增加新的量,每一次发布都可形成一个可操作的新版本,形成的最终软件,拆卸以后可得到最初开发的核心产品,它引入了一个新的概念,增量包。
增量模型的优点是人员分配灵活,在实现最初产品的时候所需人员较少,在增量增多的时候可合理的增加人员。尤其是在最初的时候设计一个核心产品,实现基本的功能,可对用户实现一个定心的作用。缺点是在增量包内容有交叉的时候,要对全局做系统的分析。主要用于将功能细化,需求经常变化的软件开发。
九:原型模型
软件原型是在新产品提出后对部分功能的实现,原型模型是在需求不明确的情况下提出的,其作用是明确并完善要求,探索设计选择方案,实现最终的软件产品
原型模型分为水平原型和垂直原型,水平模型也称为行为原型,用于对软件功能的探索,达到细致化的需求,实现软件的界面,启动一个目录的功能。垂直模型也称为结构化原型,实现具体的功能,主要用在复杂的算法实现上
原型模型也分为抛弃型原型和演化行原型,抛弃型原型在达到预期的目的后,实现最终的产品后,抛弃原型,主要用在解决需求不确定性,规则不完整性,含糊性,二义性等方面。
演化型原型是为开发增量式产品提供基础,是螺旋模型的一部分,用于易于升级和优化方面,可用于Web项目
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!