文章目录

  • 1 边做边改模型(即兴模型)(Build-and-Fix Model)
    • 1.1 优点:
    • 1.2 缺点:
  • 2 瀑布模型(Waterfall Model)
    • 2.1 优点
    • 2.2 缺点
  • 3 快速原型模型(Rapid-Prototype-Model)
    • 3.1 优点
    • 3.2 缺点

转载自博文:
软件开发的11种模式
https://blog.csdn.net/xi_gua_gua/article/details/53107283
软件开发流程与模式
https://blog.csdn.net/oscar999/article/details/79168778

1 边做边改模型(即兴模型)(Build-and-Fix Model)

最基本也是最常用的一种模型,在这种模式下,当开发人员与需求方进行交流后,立马进行开发,然后进行调试生成软件版本。如果客户有新的需求,就需要将代码进行修改,直到满足客户的需求为止。

下图来自:https://blog.csdn.net/xi_gua_gua/article/details/53107283

1.1 优点:

适用于一些较小的程序开发,可以快速实现功能

1.2 缺点:

①没有对客户的需求进行分析以及对客户的需求进行挖掘(有时候可能客户也不太清楚自己的真正需求),会造成后期不断根据客户需求进行修改,效率低下。
②没有一些整体设计以及规划的过程,随着软件复杂度的增加,会造成代码臃肿,耦合性增大,增加或者修改一些功能可能会影响另外的功能。这时候,要么进行重构,要么继续现有的代码架构进行编码,无论哪一种方法,都会造成效率的低下。
③没有相关的开发文档、需求文档、接口文档等,会造成可维护性比价差。

2 瀑布模型(Waterfall Model)

将软件生命周期划分为:制定需求、需求分析 —> 软件设计 —> 程序编写 —> 软件测试 —> 发布等六个基本流程。并且规划了他们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。

2.1 优点

①严格遵循预先计划的步骤顺序进行,一切按部就班比较严谨。
②为项目提供了按阶段分的检查点
③当完成一个阶段后,只需要去关注后续阶段
④可在迭代模型中应用瀑布模型

2.2 缺点

①缺乏灵活性,太过线性理想化,不适合现代软件开发;
②各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量(阶段之间产生大量的文档,虽然增加了工作量,但是会使整个流程有据可依,方便整理与构思整个过程,也方便维护);
③由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
④早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果;
⑤各个软件生命周期衔接花费时间较长,团队人员交流成本大;
⑥瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。

3 快速原型模型(Rapid-Prototype-Model)

快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。

显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

快速原型的关键在于尽可能快速地建造出软件原型,一旦确定了客户的真正需求,所建造的原型将被丢弃。因此,原型系统的内部结构并不重要,重要的是必须迅速建立原型,随之迅速修改原型,以反映客户的需求。

快速原型模型有点整合“边做边改”与“瀑布模型”优点的意味。

3.1 优点

①生命周期短
②整合“边做边改”与“瀑布模型”优点
③减少软件需求不明确带来的开发风险
④适用于小型、交互型的系统,大型系统的某些部分

3.2 缺点

①可能导致系统设计差、效率低、难以维护

软件开发模型1:边做边改模型/瀑布模型/快速原型模型相关推荐

  1. 软件开发模型 - 瀑布模型 快速原型模型 增量模型 螺旋模型 及优缺点详解

    一.软件开发过程模型 软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架.软件开发包括需求.设计.编码和测试等阶段,有时也包括维护阶段. 软 ...

  2. 【软件工程】软件过程各种模型的理解[ 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 ]

    什么是软件过程? 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤. 软件生命周期 瀑布模型 瀑布模型优点 : 1.为项目提供了按阶段划分的检查点 2.当前活动 ...

  3. 【软件工程】几种模型概念:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型

  4. 基于快速原型模型建立商业呼叫中心SPOMP的应用研究

    摘要:本文从快速原型(Rapid Prototyping,RP)这一软件生命周期模型的原理出发,结合呼叫中心(Call Center,CC)软件项目外包的现状,提出应用快速原型模型于呼叫中心软件项目的 ...

  5. 快速原型模型(Rapid Prototype Model)

    原型是指模拟某种产品的原始模型,在其他产业中经常使用.软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性. 快速原型模型又称原型模型,它是增量模型的另一种形式:它是在开发真实系统 ...

  6. 软件开发到底是在做什么?

    一.基本定义        软件开发是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的过程.软件开发是一项包括需求获取.开发规划.需求分析和设计.编程实现.软件测试.版本控制的系统工程.换 ...

  7. 几种常见的软件开发模型:瀑布模型,快速原型模型、增量模型、螺旋模型、喷泉模型

    瀑布模型 瀑布模型是20世纪80年代之前最受推崇的软件开发模型,它是一种线性的开发模型,具有不可回溯性.开发人员必须等前一阶段的任务完成后,才能开始后一阶段的工作,并且前一阶段的输出往往就是后一阶段的 ...

  8. BS和CS架构,软件开发的瀑布模型,快速原型模型、螺旋模型、敏捷开发、软件测试分类,测试的分类和理解

    1.BS和CS架构 1.1  BS:浏览器与服务器结构 优点:客户端无需安装,有web浏览器即可 缺点:在速度和安全性上需要花费巨大的设计成本 1.2  CS:客户机与服务器结构 优点:CS架构的页面 ...

  9. 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

    (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...

最新文章

  1. OpenCV提取轮廓(去掉面积小的轮廓)
  2. Word2003文档打不开怎么办?1分钟帮你解决!
  3. 【风控系统】风控中心—京东基于Spark的风控系统架构实践和技术细节
  4. mac 完全卸载android,关于macos:如何在Mac上完全卸载Android Studio?
  5. Tekla插件(材料备料定尺工具)
  6. 百度网盘解压显示服务器错误,百度网盘、Winrar等解压文件解压出错怎么办?
  7. 机械臂模糊PID控制matlab仿真
  8. photoshop设置A4纸张大小
  9. 科研学术论文搜索利器:Publish or Perish
  10. 《我们在时光的列车上,没有终点》
  11. 使用ArrayList集合,对其添加10个不同的元素,并使用Iterator遍历该集合
  12. [R语言]RMarkdown: 入门与操作
  13. 使用 rimraf 快速删除 node_modules
  14. 学生党用什么蓝牙耳机好?学生党性价比高的蓝牙耳机推荐
  15. 苏宁金融红包系统大促海量流量背后的技术支撑
  16. Unity 中用 Vertex Fragment Shader 实现 surface shader 中的 Diffuse 和 Decal
  17. yum linux gcc安装包下载,linux下安装yum及gcc
  18. strcmp函数的C语言实现
  19. 数据可视化之matplotlib实战:plt.stem()函数 绘制棉棒图
  20. 网心科技打造全球首个百万量级节点的边缘云计算网络“星域云”

热门文章

  1. 高德地图Android自定义路线规划的简单实现
  2. 奶制品生产与销售matlab,奶制品的生产与销售模型.doc
  3. C语言实现循环码系统与非系统编码
  4. 三子棋游戏(超级详解,附加电脑下棋优化)
  5. Thinkphp内核高仿拼多多拼团源码 完美运营级商城系统
  6. Linux都有什么版本呢?各发行版分类与说明 初学者也能看懂
  7. python小工具小发明_用python写PDF转换器的实现
  8. 金蝶云标准版 单张凭证无法反过账,反过账按钮在工具条中不显示
  9. Linux 图形界面的开启与关闭
  10. 关于ajax form-data和json的区别,及其application/x-www-form-urlencoded;charset=UTF-8问题解决方案