[软考]之软件过程模型I

简介: [软考]之软件过程模型I

做软考题的时候经常碰到软件工程的题,因为这些题有的很相近,容易混淆,所以在这里总结归纳一下。


软件过程模型:


瀑布模型:


                 


瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。他规定了由前至后、相互衔接地固定次序,如同瀑布流水逐级下落。


优缺点:


优点:容易理解,管理成本低。不足:


1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。


2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。


3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。


4)瀑布模型的突出缺点是不适应用户需求的变化。


1.客户必须能完整、正确表达他们地需求。在开始地两个或三个阶段中,很难评估真正地进度。


特点:


以文档作为驱动、适合于软件需求很明显地软件项目的模型。


V模型:



   V模型描述了质量保证活动和沟通、建模相关活动以及早期构建相关的活动之间地关系。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。


增量模型:


           


增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以将需求分段为一系列增量产品,每一增量可以分别开发。增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。


  优点:


  1.每个增量交付一个可操作的产品。每次增量交付的结为,可以重新修订成本和进度的风险。


  2.由于用户能够从早期的增量中了解系统,所以更加理解后面增量中的需求。更易于控制用户需求,因为每次曾两开发的时间很短。


  3.风险分布到几个更小的增量中,而不是集中于一个大型开发中。


  缺点:


  若软件可拆卸度不高,开发人员全局把握水平不高,用户不同意分阶段提交产品,或者开发人员过剩,都不适宜。


  因为还有几个模型,一篇博客篇幅太长,所以将演化模型/喷泉模型/基于构件和形式化方法模型放在另一篇博客中。


相关文章
|
域名解析 缓存 负载均衡
Linux网络服务之DNS域名解析服务(中)
公司内部服务(公司基础服务):DHCP、DNS、mail、pxe服务,文件共享服务(ftp、nfs、yum)。 1 DNS简介 1.1 DNS名词介绍 域名系统(英文:Domain Name System,缩写:DNS),使用应用层协议,是互联网的一项服务。 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
1159 0
|
设计模式 存储 人工智能
深度解析Unity游戏开发:从零构建可扩展与可维护的游戏架构,让你的游戏项目在模块化设计、脚本对象运用及状态模式处理中焕发新生,实现高效迭代与团队协作的完美平衡之路
【9月更文挑战第1天】游戏开发中的架构设计是项目成功的关键。良好的架构能提升开发效率并确保项目的长期可维护性和可扩展性。在使用Unity引擎时,合理的架构尤为重要。本文探讨了如何在Unity中实现可扩展且易维护的游戏架构,包括模块化设计、使用脚本对象管理数据、应用设计模式(如状态模式)及采用MVC/MVVM架构模式。通过这些方法,可以显著提高开发效率和游戏质量。例如,模块化设计将游戏拆分为独立模块。
1189 3
|
存储 人工智能 自然语言处理
阿里云上的 Salesforce 亮相 2025 AI「巨」场:以 AI 赋能企业未来
阿里云打造的「2025 AI “巨”场·中国 AI 创造力大展」在北京首创·朗园 Station 圆满落幕。Salesforce 作为全球领先的 CRM 企业,携手阿里云,共同亮相本次盛会。
|
JSON Java 测试技术
Jmeter 入门 从0-1 基础篇-实操
​ Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。
621 0
Jmeter 入门 从0-1 基础篇-实操
|
域名解析 安全 应用服务中间件
开发小技巧之Nginx配置二级域名
我们平常可以使用端口号来区分不同的服务,但是我们访问网站的时候几乎没见过使用域名加端口号的情况,那是因为可以使用二级域名代替。
2193 1
开发小技巧之Nginx配置二级域名
|
数据可视化 安全 前端开发
DingTalk「开发者说」 钉钉连接平台:打通企业数据孤岛的最佳实践
摘要:DingTalk「开发者说」是专为钉钉开发者打造的栏目,分享钉应用开发的实战技巧、技术架构、解决方案,致力于成为钉钉与开发者的连接桥梁。本篇主要介绍什么是钉钉连接平台,连接平台所具备的能力,可覆盖哪些高频场景的互联互通,以及连接平台的实战演示。
3052 1
DingTalk「开发者说」 钉钉连接平台:打通企业数据孤岛的最佳实践
|
JavaScript 前端开发 测试技术
研发思维06----嵌入式智能硬件量产过程性设计(下)
研发思维06----嵌入式智能硬件量产过程性设计
956 0
研发思维06----嵌入式智能硬件量产过程性设计(下)
用户增长模型:AARRR
AARRR是用来分析用户增长的一个框架。分别表示获取(Acquisition)、激活(Activation)、留存(Retention)、变现(Revenue)和传播(Referral)。
1053 0
用户增长模型:AARRR
|
SpringCloudAlibaba 监控 Dubbo
SpringCloudAlibaba全网最全讲解6️⃣之Sentinel(建议收藏)
在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务堆积,最终导致服务瘫痪。
760 0
SpringCloudAlibaba全网最全讲解6️⃣之Sentinel(建议收藏)
|
存储 运维 监控
Elasticsearch 常见的 8 种错误及最佳实践
Elasticsearch 社区有大量关于 Elasticsearch 错误和异常的问题。 深挖这些错误背后的原因,把常见的错误积累为自己的实战经验甚至是工具,不仅可以节省我们的开发和运维时间,而且可以帮助确保 Elasticsearch 集群的长期健康运行。 常见的异常、原因和常规最佳实践拆解如下,这些最佳实践可以帮助我们更有效地识别、最小化定位和处理异常问题。
Elasticsearch 常见的 8 种错误及最佳实践