开发时和运行时的区别与联系
开发时:指程序的编写、调试和测试阶段。
运行时:指程序或项目的执行状态阶段。
特点 | 开发时(Development Time) | 运行时(Runtime) |
---|---|---|
阶段 | 编写、调试、测试代码 | 程序部署并运行 |
用户 | 开发人员 | 最终用户 |
环境 | 本地开发环境、测试环境 | 生产环境 |
目标 | 确保代码逻辑正确,无错误 | 确保程序稳定运行、满足用户需求 |
依赖工具 | 编辑器、调试器、版本控制工具 | 部署工具、监控工具 |
问题类型 | 语法错误、逻辑错误、依赖冲突 | 性能瓶颈、内存泄漏、异常崩溃 |
输出 | 可运行的程序、测试报告 | 用户使用的功能和服务 |
阶段 | 开发时 | 运行时 |
---|---|---|
启动阶段 | 确定开发工具、环境、框架的选择;准备开发资源(人力等) | - |
规划阶段 | 配置开发环境,制定开发进度和任务 | 规划生产环境,选择服务器、数据库、负载均衡方案 |
执行阶段 | 编写、调试代码;功能开发;测试代码 | 在测试环境或预生产环境中模拟真实运行情况 |
监控阶段 | 修复bug、优化代码,调整开发计划 | 监控生产环境,实时跟踪应用性能,解决运行时问题 |
收尾阶段 | 整理代码,进行最后的审查和质量控制 | 项目正式上线,进入稳定运行阶段,进行长期维护 |
项目生命周期中的部署环境
阶段环境 | 用途 | 目标 | 备注 |
开发环境 | 为开发人员提供的环境,用于编写、调试、测试代码。 | 开发和调试编写的功能,并进行自测【基本素养!】。 | 一般使用虚拟数据。 |
测试环境 | 为测试团队提供的环境,进行功能测试、集成测试、回归测试等。 各个模块代码整合到一起,测试系统的完整性。 | 验证功能模块的正确性,检查各个模块间的交互有无问题。 | 更接近于生产环境,独立的测试数据。 |
预生产环境 | 为开发团队和业务用户提供的环境,接近于生产环境,用于验证代码在生产条件下的表现。并在该环境下进行最终的验收工作。 | 验证系统最终性能和安全性。模拟真实的用户行为场景。 | 和生产环境保持基本一致。 |
生产环境 | 项目生命周期的最终目标环境,向最终用户提供服务。 | 确保系统在高负载条件下可靠运行,提供用户期望的所有功能。 | 真实的用户数据,严格受控。 |
维护环境 | 维护生产环境和灾备环境。 | 确保灾备环境在发布环境出问题时,短时间内阶段生产环境流量。 |