一、核心区别
概要设计(High-Level Design)聚焦系统级架构,通过模块划分、接口定义、数据流图、部署结构等构建整体框架。例如电商系统会划分用户、商品、订单模块,并定义模块间API接口与数据库关系,对应集成测试用例设计。其文档需包含:
- 总体设计:模块层次结构、技术架构(如MVC)、部署拓扑
- 功能模块:每个模块的输入/输出项、依赖关系、核心流程
- 非功能需求:安全策略、容错机制、性能指标
详细设计(Low-Level Design)深入模块内部实现,需描述算法逻辑、数据结构、类图/时序图、数据库表结构等。如用户模块会细化注册流程伪代码、密码加密算法、JWT认证接口。其文档需包含:
- 模块设计:类属性方法定义、接口参数规范、状态机流程
- 数据库设计:ER图、索引策略、物理存储结构
- 界面设计:原型图、交互时序、响应式布局
二、标准模板对比
| 维度 | 概要设计模板要素 | 详细设计模板要素 |
|---|---|---|
| 文档结构 | 引言→总体设计→模块设计→非功能设计 | 引言→需求分析→模块设计→数据库设计→界面设计 |
| 设计工具 | 模块图、部署图、数据流图 | 类图、时序图、状态图、伪代码 |
| 测试依据 | 集成测试用例 | 单元测试用例 |
| 典型章节 | 模块接口定义、系统部署架构 | 方法逻辑、SQL语句、缓存策略 |
三、实践案例
以订单模块为例:
- 概要设计:定义订单状态机(待支付/已支付/已取消)、与支付系统的接口规范、数据库表字段清单
- 详细设计:实现状态迁移的switch逻辑、分布式事务处理方案、MySQL表索引优化策略
四、配图解析
下图直观展示两者差异:
- 左侧:概要设计架构图包含模块划分、接口定义、部署结构
- 右侧:详细设计包含类图、时序图、数据库表结构

五、工程价值
规范执行双设计阶段可降低30%返工风险,提升代码可维护性。建议采用UML工具(如Enterprise Architect)辅助设计,并通过版本控制管理文档变更。
本模板参考了GJB5000A标准及多行业实践,适用于企业级应用开发场景。

3138

被折叠的 条评论
为什么被折叠?



