前言

这是基于我所学习的软件工程课程总结的第四篇文章。

在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。为了降低交付给用户的产品不能满足用户需要的风险,一种行之有效的方法是在需求分析阶段快速地构建一个原型。在后续的阶段中也可以通过构造适当的原型来降低某些技术风险。当然,原型并不能"包治百病",对于某些类型的风险(例如,聘请不到需要的专业人员或关键的技术人员在项目完成前"跳槽"),原型方法是无能为力的。

螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。(摘自 《软件工程导论》第六版   张海藩 牟永敏 著,有删改)

正文

1.螺旋模型 (spiral model)

·软件开发普遍存在风险。

交付的产品用户不满意.

产品不能按时交付.

开发成本超过预算.

产品开发期间关键开发人员离职.

产品投入市场前竞争对手发布功能相近价格更低产品.

·把开发活动和风险管理结合起来控制风险。

·开发过程分成若干次迭代,每次迭代代表开发的一个阶段,对应模型中一条环线。

每次迭代分成四个方面的活动,对应笛卡尔坐标的四个象限:

确定本阶段目标,选定实施方案,弄清项目开发的限制条件;

评估所选方案,通过构造原型和风险分析识别和消除风险;

实施软件开发和验证;

评价本阶段的工作成果,提出修正建议,并计划下一阶段工作。

·模型结合了瀑布模型和原型模型的特点。

·在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质的区别。

·软件模型的主要优势在于,他是风险驱动的,但这也可能是他的一个缺点(开发人员最好有相当丰富的风险评估经验和专门知识)。

 螺旋模型

2.螺旋模型的优点

  • 螺旋模型强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力,支持用户需求的动态变化;
  • 原型可看作可执行的需求规格说明,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便;
  • 螺旋模型为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。
  • 减少了过多测试或测试不足所带来的风险。
  • 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。

3.螺旋模型的缺点

  • 如果每次迭代的效率不高,致使迭代次数过多,将会增加成本并推迟交付时间
  • 使用该模型需要有相当丰富的风险评估经验和专门知识,要求开发队伍水平较高,否则会带来更大风险,可能项目实际走向灾难时,开发人员还以为一切正常。

4.螺旋模型的适用场合

  • 适用于需求不明确或者需求可能发生变化的大型复杂的软件系统。
  • 支持面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。
  • 适用于大规模内部开发项目,分析风险和排除风险

5.小测

包含风险分析的软件工程模型是(D)

A. 喷泉模型 B. 瀑布模型 C. 增量模型 D. 螺旋模型

软件工程(4)--螺旋模型相关推荐

  1. 104. 软件工程的开发过程几种模型(瀑布模型、快速原型开发模型、增量模型、迭代模型、螺旋模型)

    文章目录 1.前言 2.瀑布模型--按阶段严格完成 (1)瀑布模型把整个项目过程分成了六个主要阶段: (2)举个例子来理解瀑布模型 (3)优缺点 (4)解决的重要问题 3.快速原型模型--低成本快速的 ...

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

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

  3. 【软件工程】软件生命周期模型 --- 瀑布模型、快速原型模型、增量模型、螺旋模型及喷泉模型

    软件生命周期模型是跨越整个生存期的系统开发.运作和维护所实施的全部过程.活动和任务的结构框架. 下面介绍几种常见的软件生命周期模型: 瀑布模型 瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接 ...

  4. 【软件工程】瀑布模型 原型模型 增量模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程

    Content 瀑布模型(生命周期模型) 原型模型 增量模型 综合瀑布模型与原型模型 螺旋模型 喷泉模型 RUP过程模型 敏捷过程 详细内容 参考链接 1.瀑布模型.快速原型模型.增量模型.螺旋模型 ...

  5. 读书笔记:软件工程(7) - 软件过程模型:螺旋模型、迭代开发

    螺旋模型 螺旋模型是一种演进式软件过程模型.它结合了原型的迭代性质和瀑布模型的可控制性和系统性特点.它具有快速开发越来越完善的软件版本的潜力. 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险. ...

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

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

  7. 软件工程生命周期模型_软件生命周期模型比较| 软件工程

    软件工程生命周期模型 软件生命周期模型 (Software Lifecycle Models) There are five software lifecycle models that are co ...

  8. 软件工程生命周期模型对比分析

    软件工程生命周期模型对比分析 2018年3月29日2018年3月28日 由 xyjisaw 本文共1515个字,预计阅读时间需要5分钟. 文章目录 迭代-递增生命周期模型 增量模型 进化树模型 编码- ...

  9. 【软件工程】 软件工程及开发模型

    导图: [软件工程] 定义(IEEE):软件工程师开发.运行.维护和修复软件的系统方法. [软件工程过程] 软件工程过程: 软件规格说明 软件开发(设计) 软件确认(用户需求) 软件维护 软件工程过程 ...

最新文章

  1. 小程序之通过参数改变标签
  2. QT 32位程序Debug模式发布问题
  3. js正則表達式--验证表单
  4. 计算机主机磁盘怎么开,电脑bios怎么设置硬盘启动
  5. cat3 utp是不是网线_UTPCAT3网络双绞线规格型号
  6. linux之多任务的同步与互斥
  7. Linux 应用---make及makefile的编写
  8. 勒索病毒如何防治?看阿里云双拳出击不留隐患
  9. matlab 输出一行字,MATLAB输出结果的格式设置
  10. EasyExcel导入Excel和导出Excel教程
  11. P5706 【深基2.例8】再分肥宅水
  12. 双非本科生进大厂,而我还在底层默默地爬树(上)
  13. Poj P3322 Bloxorz___bfs
  14. excel表格打印每页都有表头_Excel打印表格不再手忙脚乱
  15. matlab 与 mathmatica 编程对比(Vyi个人学习笔记)
  16. win7锁定计算机自动关机,windows7怎么设置电脑自动关机_win7如何自动关机
  17. 计算机对无人机的影响,无人机中的人工智能和自主性你了解多少
  18. ln -s 命令详解
  19. switch-case使用方法
  20. 可以卸载什么程序来对计算机进行瘦身,怎么清理电脑内存-电脑越来越卡了,教你一分钟让电脑瘦身(C盘哪些文件可以删除)...

热门文章

  1. 【计算机组成原理】一位全加器
  2. DirectX9.0 (10) Alpha混合
  3. JS 设置 Cookie
  4. 《通信原理》复习笔记9----第九章数字信号的最佳接收及第九章相关例题
  5. sql server 修改字段长度 及 删除默认值
  6. 先科sast x6盒子拆机解决散热问题
  7. Ubuntu18.04安装ROS(melodic)
  8. 802.11n-技术概览
  9. MATLAB Simulink 断点继续仿真
  10. sql获取当前时间前后5天