软件生命周期模型的选择过程参数


软件开发生命周期 (SDLC) 是软件行业用来设计、开发和测试高质量软件的过程。SDLC 的目的是产生高质量的软件,满足或超越客户期望,在规定的时间内完成,并且成本更低。

  • SDLC 是软件开发生命周期的缩写。

  • 它也被称为软件开发过程。

  • 软件开发生命周期是一个框架,它概述了在软件开发过程中的每个步骤中执行的任务。

  • 软件生命周期过程标准是 ISO/IEC 12207,它是国际公认的。它侧重于成为一个标准,该标准描述了开发和维护软件所需的所有任务。

什么是 SDLC?

软件开发生命周期是在软件组织中针对软件项目所遵循的过程。它包括一个分步计划,解释了如何开发、维护、替换和更改或改进特定软件。生命周期提供了一种增强软件质量和整体开发过程的方法。

典型软件开发生命周期的各个阶段如下:

  • 计划
  • 定义
  • 设计
  • 构建
  • 测试
  • 部署

现在我们将详细了解每个阶段。

  • 阶段 1:计划和需求分析

需求分析是软件开发生命周期中最重要和最基础的阶段。来自客户、销售部门、市场调查和行业领域专家的反馈作为输入,团队高级成员利用这些输入来执行任务。此详细信息随后用于规划基本项目范围并在经济、运营和技术领域进行产品可行性研究。

例如,计划质量保证需求和识别

在计划阶段,会计划质量保证需求,以及与项目相关的风险。技术可行性研究将概述可用于有效实施项目并最大程度地降低风险的不同技术方法。

  • 阶段 2:建立需求

在完成需求研究后,下一阶段是明确描述和记录产品需求,并获得客户或市场分析师的批准。这是通过使用 SRS(软件需求规格说明)文档来完成的,该文档包含在整个项目生命周期中必须定义和生成的全部产品需求。

  • 阶段 3:产品架构设计

对于寻找新产品的最佳架构的产品架构师来说,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模型是在瀑布模型的基础上添加的,它将测试阶段分配到每个开发步骤。这意味着开发周期的每个阶段都有一个测试阶段。这是一种非常规范的方法,只有在上一阶段完成之后才能开始下一阶段。

SDLC - 大爆炸理论

大爆炸模型是一种 SDLC 范式,其中没有遵循精确的程序。开发过程以所需的资金和精力作为输入开始,结果是生成的软件,它可能满足也可能不满足客户的需求。这种大爆炸模型不遵循任何方法或协议,并且需要很少的前期思考。即使是买家也不确定自己想要什么,并且标准是在没有过多思考的情况下动态应用的。

更新于: 2021年10月29日

2K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告