Module 01 · Python Coding Practices and Packaging Concepts
Application Development Lifecycle应用程序开发生命周期 (ADLC)
欢迎观看本视频,了解应用程序开发生命周期 (Application Development Lifecycle, ADLC)。观看后,您将能够:
- 列出应用程序开发生命周期中的步骤。
- 描述应用程序开发生命周期的不同阶段。
- 认识在多个文件中编写应用程序代码的重要性。
为什么需要开发生命周期?
无论是构建一个帮助员工跟踪日常任务的简单应用程序,还是一个管理酒店预订(从创建到客户退房)的复杂 Web 应用,您都不能在客户提出请求后立即开始编写代码。
在应用程序准备好供用户使用之前,您需要执行一系列活动,例如分析需求、规划和编码。
无论应用程序类型如何,每个应用程序都将经历不同的阶段,这被称为应用程序开发生命周期 (ADLC)。
ADLC 的七个阶段
应用程序开发生命周期可以分为七个阶段:
- 需求收集 (Requirement Gathering)
- 分析 (Analysis)
- 设计 (Design)
- 编码与测试 (Code and Test)
- 用户与系统测试 (User and System Test)
- 投产 (Production)
- 维护 (Maintenance)
各阶段详解
1. 需求收集 (Requirement Gathering)
这是 ADLC 的第一个阶段,目标是捕获应用程序所有方面的需求:
- 用户需求 (User Requirements): 关注最终用户需要什么功能。
- 示例 (酒店预订 App): 用户必须能够查看可用的不同房间和设施。
- 业务需求 (Business Requirements): 关注应用程序如何支持业务目标。
- 示例 (酒店预订 App): 确定不同房间和设施的正确收费标准。
- 技术需求 (Technical Requirements): 关注应用程序运行所需的硬件和软件环境。
- 示例 (酒店预订 App): 应用程序必须能在所有浏览器和移动设备上运行。
核心目标: 尽可能多地捕获需求,即使它们看起来是多余或微不足道的。
同时,必须识别任何设计约束和商业模式的生存能力 (viability):
- 约束示例: 酒店预订 App 要求服务器始终保持房间状态的实时更新,这会产生相关的成本。为了保持业务可行性,可能需要在最终付款中增加一笔小额便利费。
2. 分析 (Analysis)
在收集完需求和约束后,必须对每一个需求进行分析,以创建应用程序设计的可能解决方案。
3. 设计 (Design)
在分析和设计阶段,可能需要进行多轮验证和修订,以创建一个满足所有指定要求的模型解决方案。
- 重要性: 必须保持适当的文档记录,记录设计中的所有更新。此文档必须清晰简洁,供下一阶段使用。

4. 编码与测试 (Code and Test)
此阶段将最终提出的设计和指定的需求传递给开发团队。
- 团队使用设计文档中指定的编程要求来编写代码、测试、修订,并再次测试应用程序程序,直到代码满足所有文档要求。

单元测试 (Unit Testing)
- 对单个代码单元进行的测试称为单元测试。
- 在编程层面进行单元测试,以确保满足所有所需规范。
- 单元测试完成后,即可生成一个可接受的应用程序版本。
5. 用户与系统测试 (User and System Test)
应用程序的新版本将通过一系列用户和系统级别的测试:

| 测试类型 | 目的 | 详细说明 |
|---|---|---|
| 用户测试 (User Tests) | 验证功能性 | 从用户的角度验证应用程序的功能和可用性。 |
| 系统测试 (System Tests) | 验证集成、性能等 | 包括以下关键测试: |
| 集成测试 (Integration Tests) | 验证程序间的协作 | 验证所有相关程序在集成后仍按预期运行,并确认应用程序在更大的框架内的功能。 |
| 性能测试 (Performance Testing) | 评估速度、稳定性 | 基于不同的工作负载,评估应用程序的速度、可扩展性 (scalability)和稳定性。 |
测试完成后,可以生成一个新的应用程序版本,并将其发送到投产。
6. 投产 (Production)

一旦进入投产阶段,终端用户即可访问和使用应用程序。
- 必须确保应用程序准确运行并对用户可用。
- 应用程序在投产阶段必须保持稳态 (steady state),即不应对应用程序进行任何更改。
例外情况: 如果因错误等情况需要进行更改,这些更改必须经过严格控制和充分测试,然后才能部署到生产环境中。
7. 维护 (Maintenance)
这是 ADLC 的最后阶段。
- 应用程序可能需要升级,或者需要添加新功能。
- 在这种情况下,新的功能必须经历所有前面的阶段(从需求收集到用户/系统测试),然后才能集成到已部署在生产环境中的应用程序版本中。
最佳实践:多文件编码
保持应用程序代码的高效和易于维护,最佳实践是为不同的功能编写多个文件。
- 背景: 每个应用程序通常具有多个功能,并且每个功能的需求可能不同。
- 方法:
- 将每个功能的代码编写在单独的文件中。
- 创建一个中央程序 (central program),负责运行应用程序并调用各个文件来执行特定功能。
- 优势:
- 这种代码组织方法使代码维护更高效、更容易。
- 当需要向现有应用程序添加新功能时,只需在新文件中编写代码,该文件将单独经历设计和验证过程,然后集成到运行中的应用程序中。