ScholarGate
助手

软件开发生命周期

软件开发生命周期(SDLC)是软件系统从最初构思和需求,经过设计、构建、测试、部署,直至最终退役所经历的端到端阶段序列。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

软件开发生命周期是一个结构化框架,它将软件开发划分为明确的阶段,每个阶段都有进入和退出标准、可交付成果和活动,用于规划、控制和推理软件的生产和演进。

Scope

本主题涵盖了规划、需求分析、设计、实施、测试、部署和维护等规范的SDLC阶段;组织这些阶段的标准模型(瀑布模型、V模型、增量模型、迭代模型、螺旋模型);每个阶段产生的工件;以及ISO/IEC/IEEE 12207等生命周期过程标准。

Core questions

  • 生命周期由哪些阶段组成,每个阶段产生哪些工件?
  • 不同的生命周期模型如何安排和迭代这些阶段?
  • 哪些进入和退出标准控制着阶段之间的转换?
  • 生命周期如何超越交付,延伸到运营、维护和退役?

Key theories

分阶段生命周期结构
开发被分解为离散的阶段(需求、设计、实施、测试、部署、维护),每个阶段都有明确的可交付成果和审查关口,为规划、估算和控制提供了基础。
V模型验证映射
V模型将每个构建阶段与相应的测试阶段(单元测试、集成测试、系统测试、验收测试)配对,使验证和确认成为规范和设计的明确对应部分。

Clinical relevance

定义良好的生命周期可以提高可预测性、可追溯性和质量控制,支持成本和进度估算,并且通常是需要可审计开发过程的采购和监管制度所强制要求的。

Evidence & guidelines

ISO/IEC/IEEE 12207:2017是定义软件生命周期过程的主要国际标准,在合同和质量体系中被广泛引用。

History

随着项目规模的扩大,无法再采用临时构建方式,有序开发阶段的概念在1960年代末和1970年代被正式化;随后的模型增加了迭代和风险管理,而标准化工作在1990年代及其后续修订中产生了ISO/IEC 12207。

Key figures

  • Winston W. Royce
  • Barry Boehm

Related topics

Seminal works

  • royce1970
  • iso12207
  • sommerville2015

Frequently asked questions

SDLC与瀑布模型相同吗?
不。SDLC是软件所经历的通用阶段集合;瀑布模型是按顺序排列这些阶段的一种特定方式。敏捷、迭代和螺旋模型以不同的顺序和节奏遍历相同的基本阶段。
生命周期在部署时结束吗?
不。运营、维护和最终退役是生命周期不可或缺的阶段;在大多数系统中,维护和演进占据了总成本的主导地位,并跨越了生命周期中最长的时间。

Methods for this concept

Related concepts