Skip to content

Building Quality Software 构建高质量软件的过程 🔧💻

在本视频中,您将学习:

  • 常见的 软件工程过程

  • 构建高质量软件所需的常见 软件工程过程


主要软件工程过程 🛠️

在软件工程项目中,有许多常见的过程。本视频将讨论以下六个重要过程:

  1. 需求收集(Requirements Gathering)

  2. 设计(Design)

  3. 高质量编码(Coding for Quality)

  4. 测试(Testing)

  5. 发布(Releases)

  6. 文档编写(Documenting)


1️⃣ 需求收集(Requirements Gathering) 📋

软件需求规格说明书(SRS) 是收集和记录软件需要遵循的要求的过程。
SRS 可能包括描述业务需求和用户流程的 用例,这些需求和流程是软件必须实现的。

需求的分类:

软件需求可分为四大类:

  • 功能需求(Functional Requirements)

  • 外部和用户界面需求(External & UI Requirements)

  • 系统功能(System Features)

  • 非功能需求(Non-functional Requirements)

这些类别将在后续的视频中详细讨论。

image 91.png


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

软件设计 是将需求转化为可以用代码实现的结构的过程。
设计过程将需求转化为开发人员可以使用的语言,进而生成软件解决方案。

设计的关键内容:

  • 架构设计:技术负责人将需求分解成一组相关的组件,每个组件有明确的行为、边界和交互。

  • 系统功能、性能、安全性:这些指导方针将融入设计过程中。

  • API 设计:即应用程序接口的设计,用于应用之间或与数据库的通信。

  • 用户界面(UI)设计数据库设计也在此阶段进行。

image 92.png


3️⃣ 高质量编码(Coding for Quality) 💻

代码质量 是指代码的特性,包括 可维护性可读性可测试性安全性 等属性。
质量良好的代码不仅要满足软件的需求,而且还应无缺陷,并且结构清晰、易于维护和理解。

image 93.png

高质量编码的实践:

  • 遵循编码标准编码规范设计模式编码风格

  • 使用 自动化工具(如 Linter) 检测程序和风格错误。

  • 在代码中添加 注释,使其他人能够更容易理解和修改代码。

image 94.png


4️⃣ 测试阶段(Testing) 🧪

软件测试 是验证软件是否符合既定要求并且没有缺陷的过程。
测试的目的是在与要求比较时,发现错误、遗漏或缺失的需求。

测试的目标:

  • 确保软件的 可靠性安全性性能效率

    image 95.png

  • 测试可以是 自动化手动,常见的测试级别包括:

    • 单元测试(Unit Testing):由开发人员进行,测试系统中最小的可隔离组件。

    • 集成测试(Integration Testing):当各个组件被集成后进行的测试。

    • 系统测试(System Testing):完成的产品进行全面测试。

    • 用户验收测试(UAT):由最终用户进行的测试。

    image 96.png

测试类型:

  • 功能测试(Functional Testing)

  • 非功能测试(Non-functional Testing)

  • 回归测试(Regression Testing)

测试级别和类型将在后续视频中进一步讲解。


5️⃣ 发布阶段(Releases) 🚀

当软件的新版本发布时,通常被称为 “发布(Release)”
不同类型的发布面向不同的受众,常见的发布类型包括:

  • Alpha 版本:这是系统的第一个可运行版本,发布给特定的利益相关者,通常存在缺陷,且功能可能不完全,但基本功能是可用的。

  • Beta 版本:通常是面向开发组织外的利益相关者,用于在真实环境中进行测试,验证功能,并识别遗留的 bug 或错误。

  • GA(General Availability)版本:即正式发布版本,供所有用户使用。

image 97.png


6️⃣ 文档编写(Documenting) 📚

软件文档 应提供给非技术性和技术性用户,以帮助他们更好地理解和使用软件。

文档类型:

  • 系统文档(System Documentation):面向技术用户,如工程师、开发人员和架构师。系统文档解释软件如何操作或如何使用,通常包括 README 文件内联注释架构设计文档验证信息维护指南

  • 用户文档(User Documentation):面向非技术用户,帮助他们使用软件,通常包括 用户指南教学视频手册在线帮助内联帮助

关于文档的更多细节将在后续视频中讨论。

image 98.png


📌 总结

在本视频中,您学习了高质量软件开发的关键过程:

  1. 需求收集:收集和记录软件需求。

  2. 设计:将需求转化为可实施的结构。

  3. 高质量编码:遵循编码实践,确保代码质量。

  4. 测试:验证软件是否符合要求并且没有缺陷。

  5. 发布:将软件发布为 AlphaBetaGA 版本。

  6. 文档编写:为技术用户和非技术用户提供文档,帮助理解和使用软件。

这些过程是构建高质量软件的基础,确保软件符合需求、稳定可靠并且能够高效维护。

image 99.png