{T}

软件开发流程全景解析

概述

软件开发是一个系统性工程,包含从需求分析到上线运维的完整生命周期。本文系统梳理 SDLC 各阶段的职责划分、文档产出、协作机制,以及 DevOps 与敏捷开发的现代实践。

学习目标

  • 掌握软件开发生命周期(SDLC)的完整流程
  • 明确各阶段的参与人员、核心工作与产出文档
  • 理解自测、提测、测试的协作流程
  • 了解 DevOps 理念与 Scrum 敏捷实践

一、开发流程全景

图表渲染中…
阶段参与人员核心职责
需求全员需求收集、分析、评审、确认
开发前端、后端技术设计、编码实现、代码审查
构建测试开发、测试自测、提测、Bug 修复
预发布产品、开发、测试、运维发布准备、环境检查、审批
部署运维、开发、产品环境部署、用户培训、验收
运维监控运维、开发、产品数据监控、用户反馈、问题处理
复盘全员项目总结、经验沉淀、改进规划

二、需求阶段

2.1 核心工作

工作内容责任人
需求收集与分析产品经理
需求文档编写(PRD)产品经理
技术可行性评估全员参与
需求评审与确认全员参与

2.2 产出文档

  • 需求规格说明书(SRS)
  • 原型设计图 / UI 设计稿
  • 需求评审会议纪要
  • 需求确认单(用户签字)

2.3 敏捷用户故事

plaintext
作为【角色】,我想要【功能】,以便于【价值】
 
验收标准:
Given【前置条件】
When【触发动作】
Then【预期结果】

三、开发阶段

3.1 工作流程

图表渲染中…

3.2 产出文档

文档责任人
技术方案文档前后端负责人
接口文档(Swagger)后端开发
数据库设计文档后端开发
编码规范技术负责人

3.3 Code Review 检查清单

  • 代码质量:符合规范、命名清晰、无冗余
  • 功能实现:满足需求、边界处理、异常处理
  • 性能:无性能问题、查询优化
  • 安全:无 SQL 注入、XSS 风险、敏感数据加密

四、构建与测试阶段

4.1 自测(开发人员)

提测前必须充分自测,否则:大量低级 Bug → 测试效率低 → 团队关系紧张 → 项目延期。

自测检查清单:功能完整性、数据准确性、交互体验、兼容性、性能。

4.2 测试执行

Bug 等级定义处理时限
致命系统崩溃、数据丢失立即修复
严重核心功能无法使用24 小时内
一般功能异常但有替代方案3 天内
轻微界面问题、体验优化下版本修复

Bug 率标准:优秀 < 2%,合格 < 5%,需优化 < 10%,不合格 ≥ 10%。


五、预发布与部署

5.1 预发布准备

  • 预发布会议:功能清单确认、Bug 修复汇报、发布时间确定
  • 环境准备:预发布环境搭建、数据库准备、配置检查
  • 回滚方案:数据库回滚脚本、代码回滚版本、回滚时间预估

5.2 部署流程

图表渲染中…

5.3 CI/CD 集成

yaml
stages:
  - build    # npm install && npm run build
  - test     # 单元测试 + E2E 测试
  - deploy   # 测试环境自动部署,生产环境手动触发

六、运维监控与复盘

6.1 监控指标体系

层级指标
应用层QPS、响应时间、错误率、并发数
系统层CPU、内存、磁盘 IO、网络带宽
业务层DAU、转化率、订单量
数据库慢查询、连接数、锁等待、主从延迟

6.2 需求变更管理

判断处理方式
在原始需求范围内免费修复,进入开发流程
超出原始需求范围需求确认(签字)→ 费用评估 → 纳入下期

6.3 项目复盘

复盘价值:知识沉淀(经验推广)、流程优化(瓶颈识别)、团队成长(能力提升)、持续改进(PDCA 循环)。

原则:对事不对人、改进措施具体可执行、定期回顾执行情况。


七、现代开发流程

7.1 DevOps 核心实践

实践工具
持续集成(CI)Jenkins、GitLab CI
持续交付(CD)ArgoCD、Spinnaker
基础设施即代码Terraform、Ansible
容器化Docker、Kubernetes
监控告警Prometheus、Grafana

7.2 Scrum 敏捷

活动时间内容
Sprint 计划会第 1 天确定目标、选择用户故事、任务拆分
每日站会每天 15 分钟昨天完成/今天计划/阻碍
Sprint 评审会最后 1 天演示成果、收集反馈
Sprint 回顾会最后 1 天总结经验、制定改进

常见问题

Q: 需求频繁变更怎么办?

建立需求变更流程:变更申请 → 影响评估 → 优先级排序 → 用户签字确认。区分范围内外的变更,避免无谓纠纷。

Q: 开发延期如何处理?

预留缓冲时间(通常 20%)、遇到技术难题及时向上汇报、每日站会暴露风险。

Q: 测试反复打回怎么办?

强制自测标准、制定提测检查清单、核心流程必须走通才能提测。


延伸阅读