软件开发模型:

定义:

  • 软件开发的全部过程、活动和任务的结构框架,通过该模型能清晰、直观地表达软件开发全过程,明确地规定要完成的主要活动和任务,它奠定了软件项目工作的基础
    其中最为代表的就有此五类模型,瀑布模型,原型模型,增量模型,螺旋模型,喷泉模型,但是注意的是,在实际项目中,通常数个模型方法共同使用。

一、瀑布模型

定义:

瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品

特点:

  1. 软件开发的各个活动按线性方式进行

优:

  1. 为项目提供各阶段的检查点
  2. 可在迭代模型中应用瀑布模型

缺:

1、各阶段划分比较固定,阶段之间会产生大量文档,增大工作量
2、由于开发模型为线性的,客户只能等到过程末期才见到效果,增大开发风险
3、无法适应用户需求的变化

二、原型法

定义:

  • 原型法又称快速原型法,基本的思想是——在限定的时间内,用最经济的方法开发出一个可实际运行的系统模型,用户在运行使用整个原型的基础上,通过对其评价,提出改进意见,对原型进行修改,统一使用,评价过程反复进行,使原型逐步完善,直到完全满足用户的需求为止
原型还分为两类:
  1. 抛弃型原型,此类原型在系统真正实现以后就抛弃不用了
  2. 进化型原型,此类原型的构造从目标系统的一个或多个基本需求出发,通过修改和追加的过程逐渐丰富,演化成为最终的系统

特点:

  1. 实际可行
  2. 具有最终系统的基本特征
  3. 构造方便、快速、造价低

优:

  1. 增加用户与开发人员的交流
  2. 用户在项目开发中占主导作用
  3. 满足用户的动态需求
  4. 降低开发风险

缺:

  1. 因为用户的参与,使得忽视原型对实际环境的适应性等技术问题,所以不适合大型、复杂项目开发
  2. 对于技术层面远大于其分析层面的问题不宜使用原型法

三、增量模型

定义:

  • 增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言,采用增量模型进行开发,开发人员不需要一次性地把整个软件产品提交给用户,而是可以分批次进行提交

特点:

  1. 最大特点就是将待开发的软件系统模块化和组件化
  2. 增量模型是瀑布模型和原型进化模型的综合
  3. 如同原型进化模型一样,增量模型逐步地向用户交付软件产品,但不同于原型进化模型的是,增量模型在开发过程中所交付的不是完整的新版软件,而只是新增加的构件

优:

  1. 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展
  2. 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统
  3. 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整

缺:

  1. 待开发的软件系统可以被模块化,如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦
  2. 对项目管理人员管理全局水平有较高要求
  3. 对开发人员也有要求

四、螺旋模型

定义:

  • 螺旋模型(Spiral Model)采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。

特点:

  • 最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止。
  • 螺旋模型更适合大型的昂贵的系统级的软件应用

优:

  1. 设计上的灵活性,可以在项目的各个阶段进行变更
  2. 以小的分段来构建大型系统,使成本计算变得简单容易
  3. 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性

缺:

  1. 很难让用户确信这种演化方法的结果是可以控制的
  2. 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求

五、喷泉模型

定义:

该模型认为软件开发过程自下而上周期的各阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。

简化模型为:

特点:

1、面向对象生命周期模型。
2、具有较好的可移植性。
3、容易适应各种运行环境。
4、迭代,无间隙。
5、各阶段是相互重叠和多次反复的

优:

1.各个阶段没有明显的界限,开发人员可以同时进行多步骤,故软件项目开发效率高,节省开发时间。
2.软件的某个部分通常被重复多次。

缺:

1.该模型的各个阶段没有明显的界限,开发人员可以同步进行开发,则开发过程中需要大量开发人员。
2.需严格管理文档,从而又使得审核的难度加大,因为随时面对加入的各种信息、需求与资料等

六、综合练习:

  1. 假设你要为一家生产和销售长筒靴的公司开发一个软件,该产品将监控该公司的存货:跟踪从购买橡胶开始,到靴子生产,发货到各个连锁店,直至卖给顾客的全过程。全过程复杂,功能较多,需求不是很明确,开发有较大风险。请问用什么模型开发?
  2. 想开发一个作为电话交换系统控制器的软件产品。电话交换系统,这是一个简单而熟悉的行业和领域,公司已有相类似的产品,请问用什么模型开发?
  3. 你刚刚为生产和销售长筒靴的公司开发的存货监控软件很受用户欢迎,你所在的软件开发公司决定把它重新写成一个通用软件包,以卖给各种生产并通过自己的连锁店销售产品公司。因此,这个新产品必须是可移植的,并且应该能够很容易地适应新的运行环境(硬件或操作系统),满足不同用户的需求。请你选择最佳的一种开发模型。
  4. 某大型企业计划开发一个“综合信息管理系统”,涉及销售、供应、财务、生产、人力资源等多个部门的信息管理。该企业的想法是按部门优先级别逐个实现,边应用边开发。对此,需要一种比较合适的过程模型。请对这个过程模型作出符合应用需要的选择,并说明选择理由。
  5. 软件开发的瀑布模型是()。A.适用于需求被清晰定义的情况 B.一种需要快速构造可运行程序的好方法 C.最适合于大规模团队开发的项目 D.已不能用于现代环境的过时模型
  6. 现有一种软件开发方法,它将软件开发过程分成以下阶段:需求分析、原型开发和评价、系统设计和系统实现。这种软件开发方法称为。( )

1、解答:采用螺旋模型。
原因:螺旋模型可以降低产品不能满足用户需求的风险,也可以逐步取得明确的需求,逐步的完善。

2.解答:采用螺旋模型。
原因:螺旋模型可以降低产品不能满足用户需求的风险,也可以逐步取得明确的需求,逐步的完善。
3.解答:应采用喷泉模型。
原因:喷泉模型是典型的面向对象生命周期模型。具有较好的可移植性,容易适应各种运行环境,满足不同用户的需求。喷泉模型很好地缩短了软件维护的时间。
4.解答:采用增量模型
原因:增量模型比较适合该项目,理由是可使系统功能按应用领域逐个实现,并可按优先级别安排各功能构件的开发顺序,有利于边开发边应用。
5、解答:A
6、解答:原型法

软件开发传统模型——瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型相关推荐

  1. 快速理解各类软件开发过程模型(瀑布模型、螺旋模型、喷泉模型等)

    快速理解各类开发过程模型(瀑布模型.螺旋模型.喷泉模型等等) 1.开发模型-基础概念 2.结构化模型 瀑布模型 V模型 3.原型化模型 快速原型模型 增量模型(演化模型) 螺旋模型 4.面向对象化模型 ...

  2. 软件开发中的瀑布模型

    软件开发的流程 软件开发的流程有很多种模型,这里讲的一种软件开发的流程是瀑布模型     瀑布模型是将软件生存周期的各项活动规定为固定顺序的若干阶段工作,最终得到软件产品. 他的核心思想是按工序将问题 ...

  3. 【中级软考】软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型、RUP(Rational Unified Process 统一软件开发过程)、敏捷开发(开发方法,不是周期模型)

    文章目录 瀑布模型/改进的瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 增量和迭代模型(Incremental Model) 原型法(RAPId Prototype ...

  4. 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的使用范围。

    软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 瀑布模型  优点:它提供了一个模板,这个模板使得分析.设计.编码.测试和支持的方法可以在该模板下有一个共 ...

  5. 软件过程开发模型主要有6种,1瀑布模型,2快速原型模型,3增量模型,4螺旋模型,5喷泉模型,6RUP;瀑布模型和快速原型模型本质上一种( 线性)模型;增量模型风险很大,增量模型本质是一种非整体开发模型

    软件过程模型 是为了获得高质量软件所需要完 成的一系列任务的框架,它规定了完成各项任务 的工作步骤.通常使用 生命周期模型 简洁地描 述软件过程. 增量模型也称为渐增模型,先选择一个或几个关键功能,建 ...

  6. 增量迭代模型,瀑布模型,螺旋模型,快速原型模型

    增量迭代模型能够很好的控制前期风险并解决这些风险.例如要开发A.B.C.D四个业务功能,每个功能都需要开发两周的时间.则对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成A.B功能,第二 ...

  7. 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动

    瀑布模型( waterfall model ): 又被称为经典生命周期(classic life cycle ),它提出了一个系统的.顺序的 软件开发方法. 瀑布模型是出现得比较早的软件开发模型. 在 ...

  8. 【软考点点】软件开发模型

    软件开发模型是软考上午题中必考的一个知识点.给出一定的条件,让我们判断属于哪一种开发模型.     典型的软件过程模型有瀑布模型.增量模型.演化模型(原型模型.螺旋模型).喷泉模型.基于构件的开发模型 ...

  9. 软件开发的四个模型优缺点

    一.瀑布模型 优点 1)为项目提供了按阶段划分的检查点. 2)当前一阶段完成后,您只需要去关注后续阶段. 3)可在迭代模型中应用瀑布模型. 瀑布模型有以下缺点: 1)在项目各个阶段之间极少有反馈. 2 ...

最新文章

  1. 家卫士扫地机器人好吗_扫地机器人哪个牌子好,家居达人教你选购优质扫地机器人...
  2. python下载后如何使用-如何使用Python通过HTTP下载文件?
  3. JVM调优总结(七)-典型配置举例1
  4. JavaWeb(part1)--servlet
  5. leetcode 738. 单调递增的数字(贪心算法)
  6. 奇偶数判断(信息学奥赛一本通-T1041)
  7. 敏捷无敌之重任在肩(7)
  8. 运行 docker gitlab
  9. 刷题总结——Human Gene Functions(hdu1080)
  10. C++类对象创建过程(分配空间、赋值和初始化、对象初始化顺序、虚函数表指针)
  11. plc和计算机语言,PLC的编程语言具体有哪些
  12. Ubuntu 11.10ibus万能五笔
  13. 电子凸轮基本概念学习
  14. 计算机2进制、4进制、8进制、10进制、16进制、32进制计算规则
  15. Vue获取当前路由地址以及当前页面的地址
  16. 分区命令详解:用Fdisk命令硬盘分区
  17. Android ExpandableListView 展开列表控件(手机QQ好友列表)
  18. Doxygen 详细使用
  19. servlet的坑_tomcat下使用Servlet异步模式的坑坑洼洼
  20. McAfee白名单设置

热门文章

  1. Coremail奇安信2021邮箱安全报告:正常邮件数量首超普通垃圾邮件,防护初见成效
  2. 解决 CentOS 7 中时间快了 8 小时的问题
  3. windows下载老版本的php历史版本php
  4. 使用excel将一个数字随机分摊?
  5. 为什么很多人赚不到钱?赚了钱又存不了钱呢
  6. c语言入门题目:输出一个短句“Hello World!”
  7. 亿 图 思维导图软件 E draw Mind Master Pro 8.0.102
  8. 57个Google Tool产品,你用了几个?
  9. 进程通信(操作系统10)
  10. python重写_python 重载和重写的区别