DLC安全软件生命周期
SSDLC的出现是为了应对应用程序安全性面临的日益严峻的安全挑战。涉及数据泄露、侵犯隐私和其他网络威胁的事件在当今社会非常常见,任何没有将安全性放在首要位置的软件开发模型很可能导致开发公司的财务和声誉损失。
在了解SSDLC之前,让我们先看看SDLC方法。
什么是软件开发生命周期?
软件开发生命周期(SDLC)是一种用于开发软件应用程序的系统而又标准化的方法。SDLC大量借鉴了一般项目管理生命周期方法中的元素,从所涉及的步骤和阶段的相似性中可以明显看出这一点。
虽然不太可能找到两个公司应用完全相同的SDLC过程,但主要阶段在大多数组织中是常见的。
SDLC流程的主要阶段
一般来说,典型的SDLC过程包含五个阶段:
需求收集
:开发每个应用程序是为了解决某些问题,并为用户提供实用性。在收集需求时,开发团队的目标是理解客户的需求和目标,并定义以最佳方式完成项目所需的资源。
设计 :在这个阶段,为整个项目打下了基础。这里确定的一些主要细节包括编程语言、体系结构、平台、用户界面、通信协议和安全性。
开发/构建 :这是通过开发应用程序源代码将所有计划付诸实施的部分,并实现应用程序的所有功能,包括用户界面和安全性。
测试 :任何SDLC过程中最重要的组成部分之一是测试软件的漏洞、错误、性能和功能。在此阶段发现的任何应用程序性能问题通常会在部署之前得到纠正。
部署和维护 :发布应用程序以供预期客户端使用。它通常包括让应用程序得到app
Store的批准,并提供下载。当然,高度专业化的企业应用通常不会在应用商店中发布,而是直接提供给客户。
常见软件开发生命周期模型
SDLC流程在大部分组织中保持不变。但是,软件开发规则手册中没有任何内容可以强制任何开发人员始终以一维顺序遵循SDLC阶段。
多年来,组织和战略家已经尝试了不同的SDLC模型,以更好地满足客户不断变化的需求。最受欢迎的例子如下:
瀑布型
所有模型中最直接的是SDLC的瀑布式方法。在瀑布式开发中,整个开发生命周期的各个阶段以固定的顺序出现,从需求收集到最终部署。
V-模型
V 模型是一个线性模型。
这个模型的主要特点是它非常强调测试。这就是为什么v模型的每个阶段都有自己的测试活动,以便测试在开发的所有阶段中进行,直到完成。
v模型中嵌入的广泛测试和质量控制使它成为最昂贵和要求最高的软件开发方法之一。因此,它只在高度专门化的情况下使用,例如对失败和错误的风险容忍度很低的项目。
迭代模型
随着组织探索非传统和非线性的工作方法,迭代和增量模型获得了更多的关注。开发人员可以以顺序或并行的方式实现该模型。
从本质上讲,迭代模型是累加的,新的软件模块和功能被添加到每个迭代中。
迭代模型的好处在于,它们允许在任何开发阶段进行调整,只要需求的变更在项目的范围内。
迭代模型证明最有效的情况是应用程序的功能只是松散依赖的大型项目。
敏捷开发
在今天,敏捷开发是使用最广泛的SDLC模型。本质上,敏捷遵循迭代式的开发风格,并且更加强调沟通和早期的客户反馈。
敏捷模型中的每次迭代都旨在开发一个完整的模块或功能,以在应用程序的最终版本中体现出来。这意味着传统SDLC过程中的相同步骤顺序会重复多次,直到项目完成,从而导致重复测试和质量保证。
敏捷保证的软件版本的频繁发布以及与客户的沟通和反馈使其成为大多数组织的流行选择。