软件生命周期(SDLC)——第三季

本文回顾了软件生命周期的发展,从瀑布模型到敏捷开发,探讨了影响其演进的因素,如复杂性、易变性、扩展性、可行性、可用性、复用性和重复性。文章还强调了安全性与交流性的重要性,并预测未来软件生命周期可能会引入更多自动化、全球化交流方式和开源资源的复用。
摘要由CSDN通过智能技术生成

简介

之前简单的介绍了三个时期颇有代表性的瀑布模型,螺旋模型与敏捷开发的优缺点,并对他们分别做了对比。第三季主要介绍从上个世纪50年代至今影响软件生命周期发展的因素,并大胆猜想未来。(以下内容纯属个人学习后的猜想与总结,如有错误或者歧义还请大神指出并改正。)

复杂性

通常软件项目会根据大小,技术难度,可行性等因素划分为不同程度的复杂性,所以不同的软件生命周期通常是根据软件的复杂度而设计的。例如,大型的企业级软件通常需要大量的人力资源参与开发过程,所以瀑布模型或者螺旋模型会比较合适。相反近代涌现出大量的小型软件公司,由于公司规模与人员不足,他们往往只开发小型项目,这也是敏捷开发在近代这么普遍的原因。

易变性

易变性通常指的是在软件生命周期中客户需求的稳定性,最原始的瀑布模型就没有考虑项目的易变性,直接导致瀑布模型存在较高的失败率。也就是易变性的原因,后期的软件生命周期引入了迭代的概念,起初是在瀑布模型中添加了原型(Prototype),并且产生了V模型等拥有少量迭代的生命周期,直到后来出现的拥有大量迭代周期的螺旋模型与敏捷开发,都是受到易变性的影响。有时客户并不清楚自己的准确需求,软件开发只能在有限的需求下进行,这时增量开发的概念开始引入了软件生命周期,比如螺旋模型和敏捷开发都是处理增量开发的典型方案。

扩展性

扩展性同时代表“产品”与“团队”的扩展,比如在软件生命周期发生团队成员的变动,新成员需要快速理解并适应开发的进度,但是有时候阅读别人代码比重新编写代码更加困难,所以一些有明显的里程碑和文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值