要比较模型的区别,首先说说什么叫软件开发。软件开发是一项包括版本计划、需求捕捉、需求分析、设计到代码编写、调试、维护的一系列过程。软件开发不仅仅是编程。而对于软件研发(Reserch and Development)顾名思义就是包括了软件开发,并利用系统模型进行研究开发的过程。不止是开发,是从接到用户原始需求开始,到需求澄清、版本设计、软件开发、测试的过程。
        对于一个初次接触软件相关理论概念学习的小白,借鉴了大牛们关于瀑布模型、迭代模型、敏捷开发的表述,浅谈自己的理解。(以下部分内容有借鉴)
        瀑布模型(Waterfall Model)是一种比较老旧的软件开发模型,1970年温斯顿·罗伊斯提出了著名的“瀑布模型”,直到80年代都还是一直被广泛采用的模型。
  瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
  在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
  瀑布模型优点是严格遵循预先计划的步骤顺序进行,一切按部就班比较严谨。
  瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
  1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
  2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
  3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
  4) 各个软件生命周期衔接花费时间较长,团队人员交流成本大。
  5) 瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。
  迭代模型(stagewise model)(也被称作迭代增量式开发或迭代进化式开发),是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。
  在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。
  教学中,对迭代和版本的区别,可理解如下: 迭代一般指某版本的生产过程,包括从需求分析到测试完成; 版本一般指某阶段软件开发的结果,一个可交付使用的产品。
  与传统的瀑布模型相比较,迭代过程具有以下优点:
  1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
  2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
  3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
  4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。因此复用性更高
  敏捷软件开发 (Agile development)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
  敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作; 按短迭代周期工作; 每次迭代交付一些成果,关注业务优先级,检查与调整。敏捷软件开发要注意项目规模,规模增长,团队交流成本就上去了,因此敏捷软件开发暂时适合不是特别大的团队开发,比较适合一个组的团队使用。

敏捷开发,相比迭代式开发两者都强调在较短的开发周期提交软件,但是,敏捷开发的周期可能更短,并且更加强调队伍中的高度协作。 敏捷方法有时候被误认为是无计划性和纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。 
适应性的方法集中在快速适应现实的变化。当项目的需求起了变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化。

浅谈软件研发模式中瀑布模型、迭代模型、敏捷模型相关推荐

  1. html 怪异模式,CSS_浅谈CSS编程中的怪异模式,怪异模式盒模型 今天学习了 - phpStudy...

    浅谈CSS编程中的怪异模式 怪异模式盒模型 今天学习了一下css3的box-sizing属性,顺便又温习了一下css的盒模型,最后觉得有必要对盒模型做一个全面整理. 先不考虑css3的情况,盒模型一共 ...

  2. 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

    本篇文章是系列文章中的第五篇,是对前一个日志系列的补充篇.如果您对日志的基本概念还没有一个比较系统的了解,可以参看本系列之前的文章: 浅谈SQL Server中的事务日志(一)----事务日志的物理和 ...

  3. 浅谈导航数据中POI搜索技术原理

    浅谈导航数据中POI搜索技术原理之一 王健 导航技术的应用已经成为现在生活中重要组成部分,为我们的生活提供了极大的便利.基本都有这样生活的体验,搜索自己位置附近的银行网点.餐馆.那么这些POI是如何快 ...

  4. 嵌入式AI —— 6. 为糖葫芦加糖,浅谈深度学习中的数据增广

    没有读过本系列前几期文章的朋友,需要先回顾下已发表的文章: 开篇大吉 集成AI模块到系统中 模型的部署 CMSIS-NN介绍 从穿糖葫芦到织深度神经网络 又和大家见面了,上次本程序猿介绍了CMSIS- ...

  5. php hasmany,浅谈laravel orm 中的一对多关系 hasMany

    个人对于laravel orm 中对于一对多关系的理解 文章表 article,文章自然可以评论,表 comment 记录文章的评论,文章和评论的关系就是一对多,一篇文章可以有多个评论. 在 comm ...

  6. 让数据站住脚-浅谈用户研究中的信度与效度

    让数据站住脚-浅谈用户研究中的信度与效度 在用户研究工作中,如何让自己的数据和结论更有说服力,是很重要的问题.最近将自己积累的用研信度和效度的笔记整理一下,罗列在文中,希望对大家有所帮助. 一.调查的 ...

  7. 浅谈 Linux 系统中的 SNMP Trap 【转】

    文章来源:浅谈 Linux 系统中的 SNMP Trap 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前,首先认识一下 SNMP 吧. 简单网络管理协议(Simple Network ...

  8. 浅谈blackfin537处理器中sport口时分复用的理解

    浅谈blackfin537处理器中sport口时分复用的理解 基于自动缓冲DMA模式下的Sport口的多通道操作   农民伯伯 zhangtaolaosan3@126.com 1, 基础知识 在给出例 ...

  9. 浅谈VB6.0中的实用技巧

    浅谈VB6.0中的实用技巧 (一) VB6.0中文本框处理技巧 在Visual Basic中,文本框(TextBox)是最常用的控件,熟练运用文本框 是开发出高质量的应用程序的基础.笔者在从事应用程序 ...

最新文章

  1. Storm/JStorm之TopologyBuilder源码阅读
  2. Spring 2.0.1 与 BEA WebLogic Server 9.2 的集成
  3. python编程能力等级测试_青少年编程能力等级测评-Python编程二级试卷
  4. 【重学JS系列】slice用法大合集
  5. c++ char* 改变长度重新赋值_[C/C++] 2 :分析下列代码有什么问题?
  6. 【软件工程】软件开发的本质
  7. 联想e540风扇清灰_实力强劲无惧挑战,联想异能者就是这么强悍
  8. linux如何获取raw中的文件路径,如何使用Linux获得Touchscreen Rawdata的坐标
  9. c语言函数 参数,C语言函数的调用与参数
  10. 种草模式崛起!小红书KOL达人种草成推广热门方向!
  11. 《三十岁前的每一天》--水湄物语 读后感
  12. stratum协议原理
  13. 如何用全国天气预报API接口进行快速开发
  14. 07年个人站长闯关,三条道路通罗马
  15. OpenPCDet配置安装记录
  16. 使用jstack(jstack是用于调试线程间的关系,解决阻塞,锁等问题)定位由死循环引起的cpu负载飙高或者死锁
  17. IT行业里哪些岗位既火爆又高薪?
  18. 抹掉iPhone会有怎样后果 他人还能用吗
  19. vi/vim简介及使用教程
  20. 【JY】土木工程的我们CAE应该怎么学?

热门文章

  1. 鸿濛和鸿蒙的区别,鸿蒙_若雪如痕_新浪博客
  2. python对图片颜色校正,使用Python PIL更改图像色调
  3. 后端使用SpringBoot和Jwt工具与Redis数据库+前端Vue Element Admin实现用户携带token的登录功能案例
  4. Sonatype Nexus: Recommended file descriptor limit is 65536 but count is 4096
  5. 漂亮的HTML网站赞助打赏单页源码
  6. mysql 索引的模糊查询_MYSQL语法(模糊查询,视图,索引)
  7. 在 sysservers 中找不到服务器,在 sys.servers 中找不到服务器的解决办法,自己解决的...
  8. 在线计算机容量单位换算,体积换算 | 容量计量单位转换器 —在线工具
  9. K210频谱显示桌面摆件(Sipeed Maix Dock)
  10. 5iABCDS原来是这样赋能 “严肃游戏”的!