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

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

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


软件过程模型:


瀑布模型:


                 


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


优缺点:


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


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


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


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


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


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


特点:


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


V模型:



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


增量模型:


           


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


  优点:


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


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


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


  缺点:


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


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


相关文章
|
负载均衡 Cloud Native Java
【秒懂·云原生】微服务篇 —— 微服务究竟是什么?
【秒懂·云原生】微服务篇 —— 微服务究竟是什么?
2872 0
【秒懂·云原生】微服务篇 —— 微服务究竟是什么?
|
消息中间件 数据可视化 Java
Docker Compose:部署SpringBoot应用(含MySQL,Redis,Nacos,RabbitMQ,Nginx)
Docker Compose:部署SpringBoot应用(含MySQL,Redis,Nacos,RabbitMQ,Nginx)
Docker Compose:部署SpringBoot应用(含MySQL,Redis,Nacos,RabbitMQ,Nginx)
|
网络协议 C++ 网络架构
【革命性升级】OSPFv3 vs OSPFv2:揭秘IPv6时代下的网络协议革新之旅!
【8月更文挑战第22天】OSPFv2与OSPFv3分别是用于IPv4和IPv6网络的路由协议。OSPFv2绑定于32位IPv4地址,而OSPFv3支持128位IPv6地址并具备地址独立性,LSA不再包含具体IPv6地址。OSPFv3引入多实例能力,可在同一接口上运行多个实例,支持多种IPv6地址族。邻居发现机制方面,OSPFv3使用NDP而非ARP。此外,OSPFv3支持更细粒度的路由聚合。这些改进使OSPFv3更适应当今网络需求。
472 1
|
Java Maven
idea中maven项目pom文件Could not acquire lock(s)
idea中maven项目pom文件Could not acquire lock(s)
8333 2
|
存储 Java 网络安全
如何使用Python批量连接网络设备?
【7月更文挑战第4天】
433 1
如何使用Python批量连接网络设备?
|
固态存储
计算机硬件更换硬件
【7月更文挑战第27天】
911 6
|
并行计算 PyTorch 调度
Transformers 4.37 中文文档(十九)(1)
Transformers 4.37 中文文档(十九)
453 1
|
消息中间件 Java RocketMQ
微服务架构师的福音:深度解析Spring Cloud RocketMQ,打造高可靠消息驱动系统的不二之选!
【8月更文挑战第29天】Spring Cloud RocketMQ结合了Spring Cloud生态与RocketMQ消息中间件的优势,简化了RocketMQ在微服务中的集成,使开发者能更专注业务逻辑。通过配置依赖和连接信息,可轻松搭建消息生产和消费流程,支持消息过滤、转换及分布式事务等功能,确保微服务间解耦的同时,提升了系统的稳定性和效率。掌握其应用,有助于构建复杂分布式系统。
412 0
|
机器学习/深度学习 数据采集 存储
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
**摘要:** 这篇文章介绍了决策树作为一种机器学习算法,用于分类和回归问题,通过一系列特征测试将复杂决策过程简化。文章详细阐述了决策树的定义、构建方法、剪枝优化技术,以及优缺点。接着,文章讨论了集成学习,包括Bagging、Boosting和随机森林等方法,解释了它们的工作原理、优缺点以及如何通过结合多个模型提高性能和泛化能力。文中特别提到了随机森林和GBDT(XGBoost)作为集成方法的实例,强调了它们在处理复杂数据和防止过拟合方面的优势。最后,文章提供了选择集成学习算法的指南,考虑了数据特性、模型性能、计算资源和过拟合风险等因素。
624 0
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
|
Unix 编译器 C语言
-ObjC引起的duplicate symbol _OBJC_IVAR
-ObjC引起的duplicate symbol _OBJC_IVAR
326 1