6.2 KiB
6.2 KiB
一、典型的软件开发流程(中国境内常见实践)
在中国,软件开发流程通常是**“类瀑布 + 敏捷迭代”的混合模式**,尤其在互联网公司最为常见。
整体流程可抽象为 8 个阶段:
立项 → 需求分析 → 产品设计 → 技术设计 → 开发 → 测试 → 上线 → 运维/迭代
下面逐阶段展开。
二、各阶段说明 + 核心文档
1️⃣ 立项阶段(项目启动)
目标:决定“做不做、为什么做、值不值得做”。
参与角色
- 业务负责人 / 产品负责人
- 技术负责人
- 管理层(评审)
常见文档
| 文档 | 说明 |
|---|---|
| 项目立项书 | 项目背景、目标、范围、ROI |
| 可行性分析 | 技术、成本、周期、风险 |
| 项目章程 | 角色分工、里程碑 |
👉 政企项目中尤为正式,互联网内部项目可能简化。
2️⃣ 需求分析阶段(需求澄清)
目标:搞清楚“用户要什么、业务怎么跑”。
核心角色
- 产品经理(主导)
- 业务方
- 技术、测试参与评审
关键文档
- PRD(重点,见下文详解)
- 需求评审纪要
- 原型图(Axure / 墨刀 / Figma)
3️⃣ 产品设计阶段(方案细化)
目标:把“需求”变成“可交付的产品形态”。
文档
| 文档 | 内容 |
|---|---|
| 交互原型 | 页面跳转、流程 |
| UI 设计稿 | 视觉规范 |
| 业务流程图 | 状态流转、业务规则 |
在很多公司,产品设计与需求分析阶段是合并的。
4️⃣ 技术设计阶段(系统设计)
目标:回答“技术上怎么实现”。
核心角色
- 技术负责人 / 架构师
- 后端 / 前端 / 客户端
关键文档
| 文档 | 说明 |
|---|---|
| DDS(重点,见下文详解) | 详细设计说明 |
| 架构设计说明 | 系统拆分、技术选型 |
| 接口文档 | API 定义(Swagger) |
| 数据库设计 | 表结构、索引 |
5️⃣ 开发阶段(编码实现)
目标:把设计变成代码。
常见产物
- 代码仓库(Git)
- Code Review 记录
- 开发自测说明
中国公司特点
- 强调 PR / MR 审核
- 常配合 Jira / TAPD / 禅道
6️⃣ 测试阶段
目标:验证功能、稳定性、安全性。
文档
| 文档 | 说明 |
|---|---|
| 测试计划 | 测什么、怎么测 |
| 测试用例 | 功能 / 异常 / 边界 |
| 缺陷单 | Bug 记录 |
7️⃣ 上线发布阶段
目标:安全、可控地交付生产环境。
文档
- 上线方案
- 回滚方案
- 变更单(政企尤其严格)
8️⃣ 运维与迭代阶段
目标:稳定运行 + 持续优化。
文档
- 运维手册
- 监控指标说明
- 复盘文档
三、重点详解:PRD 是什么?
1️⃣ PRD 全称与含义
PRD = Product Requirements Document 中文常称:产品需求文档
2️⃣ PRD 是“做什么”,不是“怎么做”
PRD 解决的问题:
- 用户是谁?
- 解决什么问题?
- 产品功能是什么?
- 业务规则是什么?
- 成功标准是什么?
PRD 不关心:
- 用什么语言
- 表怎么建
- 接口怎么拆
3️⃣ PRD 的典型结构(中国公司常见)
1. 背景与目标
2. 用户画像
3. 使用场景
4. 功能需求列表
5. 业务规则
6. 非功能需求(性能、权限)
7. 异常与边界
8. 数据埋点(互联网常见)
4️⃣ PRD 的作者 & 读者
| 角色 | 是否主要使用 |
|---|---|
| 产品经理 | ✅ 编写 |
| 技术 | ✅ 理解需求 |
| 测试 | ✅ 编写用例 |
| 业务 | ✅ 验收 |
5️⃣ 中国语境下的特点
- PRD 非常详细
- 常被当作“需求合同”
- 政企项目中甚至作为验收依据
四、重点详解:DDS 是什么?
1️⃣ DDS 全称与含义
DDS = Detailed Design Specification 中文常称:详细设计说明书
⚠️ 注意: 不要和“数据分发服务(Data Distribution Service)”混淆。
2️⃣ DDS 是“怎么做”,不是“做什么”
DDS 解决的问题:
- 系统架构怎么拆?
- 模块职责是什么?
- 接口参数、返回值?
- 数据表怎么设计?
- 关键算法逻辑?
3️⃣ DDS 的典型结构
1. 总体技术架构
2. 模块划分说明
3. 核心流程时序图
4. 接口设计(API)
5. 数据库设计(ER 图)
6. 异常与容错设计
7. 性能与并发考虑
4️⃣ DDS 的作者 & 读者
| 角色 | 是否主要使用 |
|---|---|
| 技术负责人 | ✅ 主导 |
| 开发工程师 | ✅ 实现依据 |
| 测试 | ◯ 理解技术边界 |
| 产品 | ◯ 辅助理解 |
5️⃣ 中国公司 DDS 的现实情况
| 公司类型 | DDS 情况 |
|---|---|
| 政企 / 传统软件 | 必须,极其正式 |
| 大厂 | 视项目而定 |
| 创业公司 | 常弱化或口头 |
五、PRD 与 DDS 的对比总结(重点)
| 维度 | PRD | DDS |
|---|---|---|
| 全称 | Product Requirements Document | Detailed Design Specification |
| 关注点 | 业务 & 产品 | 技术 & 实现 |
| 回答问题 | 做什么 | 怎么做 |
| 作者 | 产品经理 | 技术负责人 |
| 面向对象 | 产品 / 技术 / 测试 | 开发 / 架构 |
| 是否必须 | 几乎必须 | 视项目规模 |
| 中国特点 | 偏详细 | 偏重形式化 |
六、一句话总结(非常重要)
PRD 是业务视角的“需求合同”,DDS 是技术视角的“实现蓝图”。