软件工程中五种常用的软件开发模型整理

2023-05-16

软件工程期末考试复习资料整理,顺便码了个博客,emmm~
下面都是我对各位博主文章种我认为写的比较好的内容的截取
引言
软件将要经历一个定义、开发、运行维护,直至被淘汰这样的生命周期。
为了使软件生命周期中的各项任务能够有序地按照规程进行,需要一定的工作模型对各项任务给予规程约束,这样的工作模型被称为软件过程模型。

1.瀑布模型

瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行和维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落
下面两张图摘自博客:https://blog.csdn.net/m18330808841/article/details/78452747
在这里插入图片描述

特点
1.阶段间具有顺序性和依赖性
具体指的是必须等前一阶段的工作完成才能开始后一阶段的工作,
前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
2.推迟实现的观点
瀑布模型的编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,这两个阶段主要考虑目标系统的路基模型,不涉及软件的物理实现,清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现
3.质量保证的观点
每个阶段必须完成规定的文档;每个阶段结束前都要对所完成的文档进行评审
实际中的瀑布模型带有反馈
在实际的软件项目中存在着许多不稳定因素,例如,开发中的工作疏漏或通信误解;在项目实施中途,用户可能会提出一些新的要求;开发者也可能在设计中遇到某些未曾预料的实际困难,希望在需求中有所权衡等。为了解决这些问题,考虑到许多实际项目中阶段之间有通信的需要使瀑布模型带有信息反馈环,能够逐级地将后续阶段的意见返回,并在问题解决之后,再逐级地将修正结果下传。
在这里插入图片描述
缺点分析
1.在可运行的软件交付给用户之前,用户只能通过文档来了解产品是什么样的
2.要求用户不经过实践就提出完整准确的需求,在许多情况是不切实际的

快速原型模型

快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的,快速原型地本质是快速,原型的用户是获知用户的真正需求
在这里插入图片描述
特点
1.原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户地需求,因此在开发过程中不会因为发现了规格说明文档地错误而进行较大地返工
2.开发人员通过建立原型系统已经学到了许多东西,因此在设计和编码阶段发生错误地可能性比较小

增量模型

增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
增量模型与瀑布模型,快速原型模型想反,它分批地逐步向用户提交产品,整个软件产品被分解为许多个增量构件
在这里插入图片描述
优点
1.能在较短时间内向用户提交可完成部分工作地产品
2.逐步增加产品功能可以使用户有较充裕地时间学习和适应新产品
3.开发顺序灵活。 开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整
困境
1.在每个新的增量构件集成到现有软件体系结构中,必须不破坏原来已经开发出的产品
2.在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性

螺旋模型

螺旋模型很像我们高中时候学习的四象限它分为制定计划,风险分析,实施工程和客户评估阶段,整个螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型在每个阶段之前及经常发生的循环之前,都必须要进行风险评估。在实践中,螺旋法技术和流程变得更为简单。迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。
在这里插入图片描述
优点
1.设计上灵活, 可以在项目的各个阶段进行变更
2.以小的分段来构建大型系统,使成本计算变得简单容易。
2.客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
4.随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
5.客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

喷泉模型

喷泉模型主要适用于利用面向对象技术的软件开发项目,可弥补瀑布模型不支持软件重用和多项开发活动集成的不足,可使开发过程具有迭代性和无间隙性
在这里插入图片描述
特点
1.开发过程中的各个阶段相互重叠,反映了软件过程并行性的特点
2.以分析为基础,资源消耗呈塔形,在分析阶段消耗资源最多
3.强调增量开发,依据分析一点、设计一点的原则,并不要求一个阶段的彻底完成,整个过程一个迭代的逐步提炼的过程
4.是对象驱动的过程,对象是活动作用的主体,也是项目管理的基本内容
5.实现中由于活动不同,可分为系统实现和对象实现,这既反映了全系统的开发过程,也反映了对象族的开发和重用过程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程中五种常用的软件开发模型整理 的相关文章

  • Tmpfs

    tmpfs是一种文件系统 xff0c 在2 4以上内核 xff08 ubuntu8 4及以后的系统 xff09 已经默认开启该文件功能 首先我们体验一下 xff0c 在你的家文件中建立名为tmpfs的文件夹存一些测试文件 xff0c 然后
  • Debian 中DNS服器配置

    大赛要求 xff1a 4 DNS bind 安装bind服务 xff1b 建立sdskills com域 xff0c 为所有除Internet区域的主机或服务器建立正 反的域名解析 当出现无法解析的域名时 xff0c 向域skills co
  • 添加用户到sudoers

    xff08 用户不在sudoers文件中 xff09 处理这个问题很简单 xff0c 但应该先理解其原理再操作 首先要明白root的密码一般用户是不应改知道的 xff0c 但一般用户有时可能要用到root的一些权限 这里就有了一个 etc
  • 汉化linux软件

    weixin 34197488 2010 11 06 15 10 18 295 收藏 文章标签 xff1a 操作系统 版权 前方火热讨论中 xff1a 做开源 VS 赚钱 xff0c 能兼得吗 xff1f 亮出你的观点 你认为做开源是理想主
  • svn的功能及好处,以及弊端

    1 性能提高 SVN不管文件是文本还是二进制类型 xff0c 在内部都是以二进制差异比较算法来表示文件的更新部分 这表示所有的文件在文件库中都是以差异的形式储存 而且在网络上传输的 xff0c 都是较小的文件差异部分 这也使创建分支 打标签
  • 解决virtualbox共享文件夹没有访问权限的问题

    Virtualbox是一款免费试用的虚拟机软件 基本功能完全可替代需要购买或crack的VMware 在Windows主机上用Virtualbox搭建Linux虚拟机 xff0c 虚拟机和主机之间传递文件最方便的方法就是共享文件夹 假设将W
  • debian9的dns文件默认为resolv.conf

    debian9的dns文件默认为resolv conf sudo vim etc resolv conf nameserver 114 114 114 114 nameserver 8 8 8 8 这只能暂时性的修改DNS 下次系统重启后
  • 驅動Intel無線網卡(IPW2100/IPW2200)

    分类 xff1a LINUX 2007 09 05 12 38 21 驅動 Intel 無線網卡 IPW2100 IPW2200 目前 DFB 預設並沒有安裝 wireless tools xff0c 所以請手動安裝 apt get ins
  • 解决 debian TAB 键不能自动补全命令的原因

    weixin 33928137 2015 04 23 10 46 00 512 收藏 文章标签 xff1a 操作系统 版权 预约直播 xff1a 9月9日 12日 xff0c 携手众开源社区 xff0c 开发者们的年度盛会 开源大咖与开发者
  • 为debian8.2更换官方源

    最近 xff0c 配置一个韩国vps xff0c 里面用的是163的源 xff0c 感觉不如官方的好用 xff0c 就改为官方源 地址为 xff1a ftp cn debian org 输入命令 xff1a vi etc apt sourc
  • debian装好了。之后开始js的旅程了。~

    xff5e
  • 2021-08-28

    卸载无用依赖 Ubuntu卸载软件的几种方法 xff0c 你会用哪种 xff1f 九乡河龙牙 2021 01 12 07 48 13 306 收藏 1 文章标签 xff1a 卸载无用依赖 版权 9月11日 xff0c 腾讯Techo Hub
  • Debian中apache服务,htts,认证网站

    网络技能大赛A模块第一套 xff0c 涉及到apache的配置 xff0c 认证网站 加密https网站 debian中apache配置和Centos有点不太一样 xff0c 各类配置放在子配置文件中 5 Webserver apache
  • 使用Apache转发,解决jQuery的跨域问题!

    一 下载Apache 登录Apache官网 http httpd apache org 点击 Download xff08 我下载的是最新的版本 xff09 下载Windows版本 选择下载平台 ApacheHaus 选择下载相应的32或者
  • 我在这里面写学习程序的博客了

    我在这里面写学习程序的博客了
  • 第一次参加技术类的活动应该还是在十年前

    第一次参加技术类的活动应该还是在十年前 xff0c 当时应该是参加LINUX的一个技术类的活动 具体情况想不起来了 xff0c 地点应该是在中关村上地那个地方的一个什么楼里面 xff0c 当时记的好荒凉的地方 xff0c 没有什么树木 xf
  • 提问

    程序员日记吗 xff1f 我去写日记 xff0c 说着说着 xff0c 晚上吃了个火锅 然后正事没办 就算是什么也不学 xff0c 也要写日记啊 先去提问 什么是程序 xff1f 什么是语言 xff1f 程序是怎么运行的 xff1f 程序和
  • 我遭报应了?游戏过度之后的反弹反应 其实呢?

    我遭报应了 xff1f 过度游戏的之后反应反弹 其实呢 xff1f 我队最近只要沾电子产品就会起不舒服的反应 手机放在裤兜里面 xff0c 皮肤就会疼 之前在香山住的时候 xff0c 旁边有人用电脑 xff0c 之后睡醒死就像一样了 只有在

随机推荐