方法论:
大多数的软件项目通常是采用的是敏捷方法进行开发和交付。在大多数的实践中,还有许多其他的不同的方式来实现 SDLC,比如:瀑布型,迭代行、螺旋型、V型等等方式。比如瀑布模型是一种更传统的方式,其实也是被大多数人认为比较过去的一种方法。其他方法:例如螺旋模型,也不再广泛使用。
瀑布SDLC:
瀑布模型是一种刚性的线性方法,其中 SDLC 的每个阶段都反馈到下一个阶段。例如,必须在开始测试阶段之前完成所有开发阶段。这种方法假设可以提前知道有关项目的所有信息,这在开发过程中突然出现意外并且需求不断变化的世界中是不现实的。
瀑布方法确实在关键任务项目中占有一席之地,在这些项目中,要求或可交付成果的质量没有妥协的余地。
敏捷 SDLC:
认识到软件的动态特性,即使在开发过程中需求也可能突然发生变化。
一整套所谓的敏捷方法论,包括 Scrum、看板、极限编程等,所有这些方法都包含敏捷宣言的原则,并以稍微不同的方式实施 SDLC。
敏捷方式的SDLC,通常专注于快速迭代,这意味着可交付成果更小、更频繁。这有许多优点,包括:
-
变更成本很小:如果需求发生变化,可能需要用几天修改需求,而不需要更长的时间进行更改。
-
SDLC 阶段:可以并行发生: QA 团队可以测试开发完成的功能,而开发团队正在开发下一个功能。
-
更频繁的可交付成果:这使客户可以在流程的早期看到软件是如何形成的。这还可以实现快速的路线修正,并防止在流程后期出现意外,这些意外可能修复成本很高。
SDLC 的好处:
以前习惯性是一个研发工程师以单个开发人员可能单独交付项目,但现在,即使构建相对较小的应用程序也可能涉及一系列工具,包括编程语言、第三方库、云服务提供商、容器等以及 SQL 和 NoSQL 数据库。因此,现在几乎每个项目都需要一个团队并涉及许多利益相关者——开发人员、测试人员、项目经理、DevOps 或DevSecOps工程师以及客户。SDLC 提供了一种结构化的方法,让每个人都在同一个页面上,朝着一个共同的目标努力。
· 更安全的软件,因为安全性是一个持续关注的问题
· 及早发现系统中的缺陷
· 由于早期发现和解决问题而降低了成本
· 整体降低组织内在业务风险
原文始发于微信公众号(网络安全透视镜):SDL序列课程-第2篇-SDLC 方法论
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论