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

    (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同。

    (张海藩,吕云翔)著-软件工程 复习记录

    文章目录

    • 一、瀑布模型
    • 二、快速原型模型
    • 三、增量模型
    • 四、螺旋模型
    • 五、喷泉模型
    • 六、参考资料

    一、瀑布模型

    在20 世纪80 年代之前,瀑布模型一直是唯一被广泛采用的生命周期模型。现在,它仍然是软件工程中应用最广泛的过程模型。如图所示为传统的瀑布模型。

    在这里插入图片描述

    1. 特点:
      (1) 阶段间具有顺序性和依赖性

      ①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档。

      (2) 推迟实现的观点

      实践表明,对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。

      (3) 质量保证的观点

      ①每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。②每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。

      传统的瀑布模型过于理想化了。事实上,人在工作过程中不可能不犯错误。因此,实际的瀑布模型是带“反馈环”的,如图所示( 图中实线箭头表示开发过程,虚线箭头表示维护过程)。

      加入迭代过程的瀑布模型

    在这里插入图片描述

    当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。

    1. 优点:
      (1) 可强迫开发人员采用规范的方法
      (2) 严格地规定了每个阶段必须提交的文档
      (3) 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证

    2. 缺点:
      (1) “瀑布模型是由文档驱动的”,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。很可能导致最终开发出的软件产品不能真正满足用户的需求。

    "瀑布模型是由文档驱动的“这个事实也是它的一个主要缺点。在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的。总之,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

    二、快速原型模型

    快速原型(rapid prototype)是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。下图描述了快速原型模型(图中实线箭头表示开发过程,虚线箭头表示维护过程)。

    在这里插入图片描述

    快速模型原型

    优点:软件产品的开发基本上是按线性顺序进行的

    快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:软件产品的开发基本上是按线性顺序进行的。原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求。开发人员通过建立原型系统已经学到了许多东西,在设计和编码阶段发生错误的可能性也比较小。它的优点是有助于保证用户的真实需要得到满足。

    快速原型的本质是“快速”。开发人员应该尽可能快地建造出原型系统,以加速软件开发过程,节约软件开发成本。原型的用途是获知用户的真正需求,一旦需求确定了,原型将被抛弃。
    当快速原型的某个部分是利用软件工具由计算机自动生成的时候,可以把这部分用到最终的软件产品中。

    三、增量模型

    增量模型也称为渐增模型,如图所示。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。

    在这里插入图片描述

    增量模型

    1. 与瀑布模型和快速原型模型的不同:
      采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足用户需求的产品提交给用户。增量模型则与之相反,它分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
    2. 优点:
      (1) 能在较短时间内向用户提交可完成一些有用的工作的产品
      (2) 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
      (3) 缺点:
      增量模型本身是自相矛盾的。它一方面要求开发人员把软件看做一个整体,另一方面又要求开发人员把软件看做构件序列,每个构件本质上都独立于另一个构件。除非开发人员有足够的技术能力协调好这一明显的矛盾,否则用增量模型开发出的产品可能并不令人满意。

    增量模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。整个软件产品被分解成许多个增量构件,开发人员一个构件接一个构件地向用户提交产品。每次用户都得到一个满足部分需求的可运行的产品,直到最后一次得到满足全部需求的完整产品。

    能在较短时间内向用户提交可完成一些有用的工作的产品,是增量模型的一个优点。增量模型的另一个优点是,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
    使用增量模型的困难是,在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外,必须把软件的体系结构设计得便于按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便。也就是说,软件体系结构必须是开放的。

    从长远观点看,具有开放结构的软件拥有真正的优势,这种软件的可维护性明显好于封闭结构的软件。尽管采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,但在设计阶段多付出的劳动将在维护阶段获得回报。如果一个设计非常灵活而且足够开放、足以支持增量模型,那么这样的设计将允许在不破坏产品的情况下进行维护。

    四、螺旋模型

    在软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。降低交付给用户的产品不能满足用户
    需要的风险。

    • 螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看做在每个阶段之前都增加了风险分析过程的快速原型模型,如图所示。图中带箭头的点画线的长度代表当前累计的开发费用,螺线旋过的角度值代表开发进度。

    在这里插入图片描述
    螺旋模型

    1. 基本思想:

    使用原型及其他方法来尽量降低风险。

    1. 优点:

    (1) 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;

    (2) 减少了过多的测试(浪费资金)或测试不足(产品故障多)所带来的风险;

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

    (4) 它是风险驱动的;

    1. 缺点:

    因为它是风险驱动的,除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险。

    螺旋模型有许多优点: 对可选方案和约束条件的强调有利于巳有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试( 浪费资金)或测试不足(产品故障多)所带来的风险;更重要的是,在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。
    螺旋模型主要适用于内部开发的大规模软件项目。如果进行风险分析的费用接近整个项目的经费预算,则风险分析是不可行的。事实上,项目越大,风险也越大,因此,进行风险分析的必要性也越大。使用螺旋模型开发软件,要求软件开发人员具有丰富的风险评估经验和这方面的专门知识。

    五、喷泉模型

    迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。如图所示的喷泉模型是典型的面向对象生命周期模型。"喷泉”这个词体现了面向对象软件开发过程迭代和无缝的特性。

    在这里插入图片描述

    喷泉模型

    为避免使用喷泉模型开发软件时开发过程过分无序,应该把一个线性过程(例如,快速原型模型或螺旋模型中的中心垂线)作为总目标。但是,同时也应该记住,面向对象范型本身要求经常对开发活动进行迭代或求精。

    六、参考资料

    [1] 张海藩,吕云翔. 软件工程(第4版)[M]. 北京:人民邮电出版社,2013 软件工程
    [2] 张海藩,吕云翔. 软件工程(第4版)学习辅导与习题解析[M]. 北京: 人民邮电出版社,2013

    查看全文
  • 相关阅读:
    ubuntu frp 自编译。本文不能按顺序来 请自己理解
    油猴子 自改脚本 删除页面 div 上下翻页 视频页内全屏 右键可用
    批处理bat 删除指定文件夹下的文件及文件夹
    LUA 静态库 动态库 LD_LIBRARY_PATH 动态库的查找路径 GCC “-l”参数
    delphi 判断奇数偶数
    sf.net
    cmake指定mingw编译器的方法
    关闭delphi ide皮肤
    arch pacman被删除 重装
    delphi 匿名方法访问var参数
  • 原文地址:https://www.cnblogs.com/liuawen/p/11913603.html
  • 最新文章
  • 继承,super,this,抽象类_04
    javascript
    JavaScript基本语法
    类的阐述,Package,编码规范_02
    Java基础概念_01
    Markdown
    k8s-学习笔记4-交付一套dubbo微服务
    python-Tornado-1-quickstart
    mysql-碎片率和空间优化
    k8s-学习笔记4-dashboard
  • 热门文章
  • prometheus api
    kafka-manager安装
    prometheus-mysql监控
    prometheus-pushgateway部署
    k8s-学习笔记3-ingress服务暴露
    prometheus-kafka监控
    windows ver
    github 搜索delphi
    git 设置互联网出口起点
    linx vim 文件操作 ubuntu server 软件源
Copyright © 2011-2022 走看看

深圳SEO优化公司防城港至尊标王推荐景德镇网络广告推广多少钱石家庄模板制作推荐随州模板制作报价海南SEO按效果付费报价民治企业网站设计哪家好新乡外贸网站制作多少钱抚州百度标王公司北海设计网站多少钱雅安网站改版多少钱梅州优秀网站设计公司柳州网站优化软件多少钱银川百度关键词包年推广推荐鹰潭网站优化推广荷坳网站推广价格南昌网站优化软件哪家好兴安盟高端网站设计辽阳模板网站建设公司黔南如何制作网站哪家好达州网站定制哪家好日照网络推广多少钱诸城网站seo优化价格钦州网站推广价格诸城网页设计哪家好驻马店网站seo优化推荐中山设计网站咸阳百度爱采购推荐伊春百度竞价包年推广价格莆田建网站公司孝感模板制作公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化