Skip to content

Phases of the SDLC 软件开发生命周期的各个阶段 🔄💻

在本视频中,您将学习 软件开发生命周期(SDLC)的各个阶段,了解每个阶段的详细描述,并识别与每个阶段相关的任务。


📝 SDLC的六个阶段

一般来说,SDLC 过程包括六个主要阶段:规划(Planning)设计(Design)开发(Development)测试(Testing)部署(Deployment)维护(Maintenance)
每个阶段是 独立的,意味着前一个阶段的任务与下一个阶段的任务不会重叠。
最初的 SDLC 采用的是传统的 瀑布模型,其中各个阶段是线性执行的,但后来为了适应需求变化,SDLC 已经被调整为引入迭代的开发方式。

(瀑布模型及其他软件开发方法将在后续课程中讨论。)

需要注意的是,一些组织可能会使用不同的术语来命名各个阶段。例如,“规划” 阶段也可能被称为 “需求”“战略”“分析”。此外,一些组织的阶段数量可能会更多或更少。


1️⃣ 规划阶段(Planning) 📝

在规划阶段,主要的任务包括:

  • 收集、分析、记录和优先级排序 需求

  • 考虑以下因素:

    • 解决方案的用户群体

    • 解决方案的总体目标

    • 数据输入输出

    • 法律和监管合规要求 ⚖️

    • 风险识别

    • 质量保证要求

    • 人力和财力资源分配

    • 项目调度等。

在规划过程中,劳动力和物料成本会被估算,并与时间约束相权衡。同时,项目团队成员会被识别,并提出每个成员的职责。如果利益相关者在定义需求时遇到困难,开发团队可能会在规划阶段创建原型,以帮助明确需求。

原型制作:

  • 原型 是产品的一个小规模复制品,主要用于收集利益相关者的反馈并确立需求。

  • 尽管原型制作通常发生在规划阶段,但它可以在 SDLC 的任何阶段进行,特别是在需求需要重新考虑或澄清时。

当需求收集完成后,它们会被整合成一份 软件需求规格说明书(SRS),并且需要得到所有利益相关者的清晰理解与批准。开发人员也会在这一阶段参与,以确保他们对需求有充分的理解。💡


2️⃣ 设计阶段(Design) 🖋️

在设计阶段,基于 SRS 中收集到的需求,团队会开始构建 软件架构
多个团队成员会在此阶段共同设计架构,架构设计会经过利益相关者和团队的审核。🧐
在此阶段,也可以进行原型设计。原型是系统或部分系统的初步模拟,用于演示和展示。

设计文档:

  • 设计文档是该阶段的产物,它将供开发人员在 开发阶段 使用。

3️⃣ 开发阶段(Development) 👨‍💻

开发阶段,也叫 构建阶段实现阶段,是开发人员开始编写代码的阶段,一旦设计文档完成后,开发人员就会启动编码过程。
项目规划者使用设计文档来确定和分配编码任务。👨‍💻

在这一阶段,通常需要使用编程工具、不同的编程语言和软件堆栈。组织可能还会有需要遵循的标准或指南。


4️⃣ 测试阶段(Testing) 🧪

测试阶段是在代码编写完成后进行的。对于一些大型项目,可能会有专门的测试团队来负责此工作。
代码需要经过彻底测试,以确保它的稳定性、安全性,并符合 SRS 中的需求。
测试可以是 手动测试自动化测试,或者是两者的 混合

常见的测试级别:

  • 单元测试(Unit Testing)

  • 集成测试(Integration Testing)

  • 系统测试(System Testing)

  • 验收测试(Acceptance Testing)

每个测试级别将在后续视频中进行更详细的讨论。


5️⃣ 部署阶段(Deployment) 🚀

部署阶段是指将应用程序发布到 生产环境 并让用户可用。
这通常是分阶段进行的:

  1. 首先发布到 用户验收测试(UAT) 平台;

  2. 一旦客户确认功能无误,就可以正式发布到生产环境。

这种方法可以用于将软件发布到 网站移动设备应用商店公司网络上的软件分发服务器 等平台。📱💻


6️⃣ 维护阶段(Maintenance) ⚙️

一旦代码部署到生产环境,维护阶段 就开始了。
此阶段的主要任务包括:

  • 查找其他可能存在的 bug;

  • 识别 用户界面问题(UI Issues);

  • 确定可能未在 SRS 中列出的其他需求。

此外,代码增强 也可以在此阶段识别出来。如果在此阶段发现了未在测试阶段发现的 bug,这些错误可能需要修复,或者被纳入 未来版本 的软件发布需求中。🛠️

如果在此阶段发现的问题影响较大,可能会引发一个新的开发周期,重新开始整个过程。


📌 总结

在本视频中,您学习了 SDLC 的六个主要阶段:

  1. 规划阶段:需求收集与 SRS 开发;

  2. 设计阶段:软件架构开发及设计文档创建;

  3. 开发阶段:开始编码并使用设计文档;

  4. 测试阶段:发现并修复代码问题;

  5. 部署阶段:将代码发布到生产环境;

  6. 维护阶段:处理用户反馈、修复 bug 和代码增强。

这些阶段构成了一个完整的 软件开发生命周期,并且可以根据需要进行迭代,不断优化软件产品的质量与功能。🔄💡

mac_1735529835861.png