软件生命周期模型的选择过程参数
选择开发生命周期(SLDC)是软件行业用于设计、开发和测试高质量软件的过程。SDLC旨在生产满足或超出客户期望的高质量软件,既能在短时间内完成,又能降低成本。
SDLC是软件开发生命周期的简称。
它也被称为软件开发过程。
软件开发生命周期是一个框架,用于布置在软件开发过程中的每个步骤中执行的任务。
软件生命周期过程标准是国际认可的ISO/IEC12207。它专注于成为表征开发和维护软件所需的所有任务的标准。
什么是SDLC?
软件开发生命周期是在软件组织中为软件项目所追求的过程。它妥协了解释如何开发、维护、替换和更改或改进特定软件的分步计划。生命周期赋予了一种提高软件质量和一般开发过程的方法。
典型软件开发生命周期的各个阶段是-
规划
定义
设计
建筑
测试
部署
现在我们将详细研究它们中的每一个。
阶段1:计划和需求分析
需求分析是软件开发生命周期中最重要、最基础的阶段。来自客户、销售部门、市场调查和行业主题专家的评论被视为输入,由团队的高级成员进一步用于执行任务。此细节随后用于规划基本项目诉求,并在经济、运营和技术领域进行产品可行性研究。
诸如计划质量保证要求和识别之类的事情
在规划阶段,对质量保证需求以及与项目相关的风险进行规划。技术可行性研究将概述可用于以最小风险有效实施项目的不同技术方法。
阶段2:建立需求
需求研究完成后,下一阶段是明确描述和记录产品需求,并获得客户或市场分析师的批准。这是通过使用SRS(软件需求规范)文档来实现的,该文档包含在整个项目生命周期中必须定义和生成的所有产品需求。
第三阶段:产品架构设计
SRS是产品架构师寻找新产品最佳架构的首选资源。产品架构的许多设计方法通常在基于SRS标准的DDS设计文档规范中呈现和定义。
该DDS由所有关键利益相关者进行评估,并根据风险评估、产品稳健性、设计模块化、预算和时间限制等众多因素来选择产品的理想设计策略。
设计方法准确地概述了产品的所有架构模块,以及它与外部和第三方模块(如果适用)(如果有)的通信和数据流表示。建议架构的内部设计的所有模块都应在DDS中完全指定,直到最细微的细节。
第4阶段:创建或改进产品
产品的真正开发始于SDLC的这一级别。在此阶段,编程代码是在DDS之后生成的。如果设计是详细和结构化的,那么代码生成就可以毫不费力地实现。
开发人员必须遵守其组织的编码要求,并使用编译器、解释器、调试器等编程工具来创建代码。对于编码,使用了许多高级编程语言,例如C、C++、Pascal、Java和PHP。根据正在创建的软件类型选择编程语言
阶段5:产品测试
与当代SDLC模型一样,测试活动主要包含在所有SDLC阶段,该阶段通常是所有阶段的子集。但是,此阶段是指产品的仅测试阶段,在此期间报告、监控、修复和重新测试产品故障,直到产品满足SRS中规定的质量要求。
阶段6:市场部署和维护
一旦产品经过彻底测试并准备好部署,它就会在相关市场正式发布。产品部署可能会根据组织的业务计划分阶段进行。该产品可能首先在一个小型市场部门推出,并在现实世界的商业环境中进行测试(UAT-用户验收测试)。
然后,根据反馈,产品可能会按原样或在目标市场组中采用推荐的增强功能发布。产品投放市场后,会为当前的客户群进行维护。
SDLC的模型
已经创建并打算在软件开发过程中使用各种软件开发生命周期模型。这些也称为“软件开发过程模型”。为了确保软件开发过程的成功,每个过程模型都遵循一组特定于其类型的过程。
以下是业内最重要和使用最广泛的SDLC模型-
瀑布模型
迭代模型
螺旋模型
V型
大爆炸模型
敏捷模型、RAD模型、快速应用程序开发和原型模型也是类似的方法。
SDLC的瀑布模型
瀑布模型最初被称为过程模型。它也被称为线性顺序生命周期模型。掌握和应用真的很简单。在瀑布模型中,每个状态必须在下一个状态开始之前完成,并且阶段不能重叠。
瀑布模型是第一个用于软件开发的SDLC技术。
瀑布模型以顺序、线性的流程描述软件开发过程。这表明开发过程的任何步骤都只能在前一阶段完成后开始。此瀑布模型中的阶段不重叠。
使用瀑布模型进行设计
瀑布方法是第一个广泛用于软件工程以确保项目成功的SDLC模型。整个软件开发过程在“瀑布”方法中分为几个阶段。在这种瀑布方法中,一个阶段的输出通常以顺序方式用作后续步骤的输入。
SDLC的迭代模型
迭代技术从一小组软件需求的原始实现开始,并迭代地改进不断发展的版本,直到生成完整的系统并准备好部署。
迭代生命周期模型并不寻求从一组完整的需求开始。相反,开发开始时仅描述和实施程序的一部分,然后对其进行测试以发现其他需求。然后重复此过程,在每次模型迭代后生成新版本的程序。
设计迭代模型
迭代技术从软件需求子集的基本实现开始,并迭代地改进不断发展的版本,直到完成整个系统。每次迭代都会进行设计更改并添加新的功能。这种技术背后的主要思想是随着时间(增量)以适度的增量(迭代)构建一个系统。
迭代和增量的组合是一种将迭代设计或迭代过程与增量构建策略相结合的开发方法。“在软件开发中,软件开发周期的多个迭代可能同时进行。”这称为“进化获取”或“增量构建”。
在这种增量方法中,整个需求分为多个构建。开发模块在每次迭代中通过需求、设计、实现和测试过程进行。每个后续的模块版本都会为之前的迭代添加功能。重复该方法,直到整个系统满足要求。
成功使用迭代软件开发生命周期的关键是严格的需求验证,以及在模型的每个周期内针对这些需求对程序的每个版本进行验证和测试。随着程序在连续循环中增长,必须运行和扩展测试以确保软件的每个版本都是正确的。
SDLC的螺旋模型
螺旋模型将重复开发的概念与瀑布模型的有条不紊、受监管的元素相结合。这种螺旋模型是迭代开发过程模型和顺序线性开发模型的混合体,通常称为瀑布模型,非常强调风险分析。它允许在围绕螺旋的每次迭代中进行增量产品发布或增量改进。
V型SDLC
V模型是SDLC范式,其中流程以V形顺序执行。它有时被称为验证和验证模型。
V-Model被添加到瀑布模型中,瀑布模型是在为每个开发步骤分配测试阶段时建立的。这意味着开发周期的每个阶段都有一个测试阶段。这是一种非常严格的方法,只有在前一阶段完成后,才会开始下一步。
SDLC-生活大爆炸
大爆炸模型是一种SDLC范式,其中没有遵循精确的程序。开发过程以所需的金钱和精力作为投入开始,结果是制作出的软件可能满足也可能不满足客户的需求。这个BigBang模型不遵循任何方法或协议,它几乎不需要深思熟虑。甚至买家也不确定他想要什么,并且几乎没有考虑就立即应用这些标准。