软件开发的四个模型的优缺点

简介:

百度用户199306044种模型的优缺点

 

瀑布模型有以下优点:

1)为项目提供了按阶段划分的检查点。

2)当前一阶段完成后,您只需要去关注后续阶段。

3)可在迭代模型中应用瀑布模型。

 

瀑布模型有以下缺点:

1)在项目各个阶段之间极少有反馈。

2)只有在项目生命周期的后期才能看到结果。

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

 

快速原型模型有以下优点

1) 克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。

 

快速原型模型有以下缺点

1) 所选用的开发技术和工具不一定符合主流的发展;

2)快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;

 

螺旋模型有以下优点

1)设计上的灵活性,可以在项目的各个阶段进行变更

2)以小的分段来构建大型系统,使成本计算变得简单容易。

3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

 

螺旋模型有以下缺点

很难让用户确信这种演化方法的结果是可以控制的。

建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

 

增量模型有以下优点

•整个项目的资金不会被提前消耗,因为首先开发和交付了主要功能和高风险功能。 •每个增量交付一个可操作的产品。

•每次增量交付过程中获取的经验,有利于后面的改进,客户也有机会对建立好的模型作出反应。

•采用连续增量的方式,可把用户经验融入到细化的产品,这比完全重新开发要便宜得多。

•“分而治之”的策略,使问题分解成可管理的小部分,避免开发团队由于长时间的需求任务而感到泪丧。

•通过同一个团队的工作来交付每个增量,保持所有团队处于工作状态,减少了员工的工作量,工作分布曲线通过项目中的时间阶段被拉平。

•每次增量交付的结为,可以重新修订成本和进度的风险。

•便于根据市场作出反应。

•降低了失败和更改需求的风险。

•更易于控制用户需求,因为每次曾两开发的时间很短。

•由于不是一步跳到未来,所以用户能逐步适应新技术。

•切实的项目进展,有利于进度控制。

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

•由于用户能够从早期的增量中了解系统,所以更加理解后面增量中的需求。 增量模型有以下缺点

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

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/7456528.html ,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 人工智能 监控
AI算法分析,智慧城管AI智能识别系统源码
AI视频分析技术应用于智慧城管系统,通过监控摄像头实时识别违法行为,如违规摆摊、垃圾、违章停车等,实现非现场执法和预警。算法平台检测街面秩序(出店、游商、机动车、占道)和市容环境(垃圾、晾晒、垃圾桶、路面不洁、漂浮物、乱堆物料),助力及时处理问题,提升城市管理效率。
409 4
AI算法分析,智慧城管AI智能识别系统源码
python命名规则,代码规范
1.模块命名 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) 因为很多模块文件存与模块名称一致的类,模块采用小写,类采用首字母大写,这样就能区分开模块和类
612 0
|
10月前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
域名解析 缓存 网络协议
如何加快 DNS 解析速度?
如何加快 DNS 解析速度?
915 3
|
存储 消息中间件 缓存
Lustre架构介绍的阅读笔记-NFS兼容性
Lustre是分布式NFS系统,融合了分布式系统和NFS特性。它支持线性扩展容量和性能,提供POSIX语义,隐藏复杂存储细节。关键技术涉及分布式计算、缓存、锁、事务、通信(RPC、消息队列、同步/异步模式)、选举、任务调度、健康检查、负载均衡、集群管理和QoS。数据一致性、复制(副本、EC)、热点管理及多种上层协议(如NFS、S3)也是重点。分布式存储通过扩容提升读写带宽和IOPS。
370 1
|
IDE Java Shell
Java的开发环境的搭建
Java的开发环境的搭建
302 4
|
vr&ar 图形学
【推荐100个unity插件之16】3D物品描边效果——Quick Outline免费插件
【推荐100个unity插件之16】3D物品描边效果——Quick Outline免费插件
590 0
|
存储 Kubernetes 调度
【k8s概念】一文搞懂k8s核心概念!!!(上)
【k8s概念】一文搞懂k8s核心概念!!!(上)
976 0
|
数据挖掘 大数据 关系型数据库
Doris和Greenplum数据库简单对比
【5月更文挑战第3天】Doris和Greenplum数据库简单对比
1989 0
|
前端开发
antd-protable的分页逻辑封装
antd-protable的分页逻辑封装
659 0