唠唠叨叨:最近在写概要设计文档,发现自己的水平还是一般般,总想着怎么写,如何写,实际文档的目的是沟通交流,重点不是写得多高大上,重点是是否把问题说明白了!
当需求文档出来以后,就可以着手写概要设计文档了,概要设计目的是从全局的角度给出这个项目或系统应该做什么、怎么做,内容一般包括如下几个部分:
简介
- 背景:简单介绍下项目背景,如果是新产品/新功能,需要说明启动项目的原因、背景、产品的定位、目标取舍、可预期的效果;如果是升级功能,说明升级原因、对现有系统有什么影响、可预期的效果;
- 名词解释:对文档中新的或不常见的名词、概念或简略语给出定义和解释;
- 功能需求:即这个项目要完成的需求功能;一般会有对应的MRD;
- 非功能需求:除了硬性的功能需求之外,还有处理延迟、吞吐量等非功能性需求;
- 系统运行环境:列出系统所需的软硬件需求,包括操作系统、机器型号及配置要求,建议用表格列出,最好还有部署架构图(也可以单独出部署设计文档,在此引用);
系统设计思路
针对项目的关键问题,给出多种设计思路,并对比各种思路的优缺点,最后给出,采用哪种思路,并在后面的概要设计中详述。
概要设计
阐述系统的整体设计,一般会包括多个部分(没部分负责一个模块)
- 系统对外接口:即对外暴露的接口,如果比较复杂,可以编写单独的接口设计文档,并在此引用。
- 架构图和说明:把系统分解成若干个子系统或模块,给出系统架构图,并给出每个模块完成的主要功能。
- 流程图和说明:通过流程图说明,各个模块之间是如何交互来实现系统功能的。