目前主流的软件开发模型:瀑布模型,增量模型(渐增模型,快速原型模型),螺旋模型,喷泉模型,敏捷模型。
一、瀑布模型:应用最多最广泛的模型,顺序性一次性通过。
适用于范围:需求明确,适用于二次开发的项目。
优点:开发质量高,层次化明确,需求明确
缺点:放回上一级开发阶段需要极大代价,不支持迭代开发,会产生大量文档,系统开发周期长。
二、增量模型:是一种非整体开发的模型,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。
1、渐增模型:
适用范围:需求经常发生改变的项目
优点:人员分配灵活,可短时间交付
缺点:容易退化成边做边该模型。
2、快速原型模式又称为原型模式:快速构造一个原型(主要功能和重要接口),在该原型的基础上,迭代性逐渐完成整个系统的开发工作。
适用范围:需求模糊,客户不清楚最终需求的项目。
优点:关注用户需求,从而减少由于软件需求不明确带来的开发风险
缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下,所选用的开发技术和工具不一定符合主流的发展导致人才技术要求高。
三、螺旋模型:将瀑布模型和增量模型结合起来,并加入了风险分析。
主要分为四个工作步骤:
(1)制定计划:确定软件目标/选定实施方案/弄清限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
适用范围:适用于需求经常变化的大型复杂系统
优点:结合瀑布模型和原型模型的优点,利于提高大型项目开发的质量和效率
缺点:风险高,投资大,周期长
四、喷泉模型:一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发过程。
优点:提高软件项目开发效率,适用于面向对象的软件开发过程
缺点:由于喷泉模型在各个开发阶段都是重叠的,因此需要在开发过程需要大量的开发人员,因此不利于项目的管理。
五、敏捷开发模型:以用户的需求进行为核心,采用迭代,循序渐进的方法进行软件开发。‘设计-开发-交付’
优点:
①速度:提高开发速度,快速响应需求变化
②质量:对每一次迭代周期的质量有严格的要求,快速且频繁的交付有价值的软件
③与客户合作:有良好的沟通能力,精确获取需求
缺点:
①对人员技术要求较高,经验丰富,否则容易遇到瓶颈问题
②忽略文档的重要性,若项目人员流动大则维护麻烦,当新手多时,老员工比较累
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。