理顺软件开发各个环节-11(开发管理-总体设计-2)

5.4.2软件总体设计文档模板

  软件总体设计核心是设计思想,但表述形式也是重要的,好的文档组织方式条理清晰,便于阅读和理解,还能减少设计疏漏。

  这里分享一下我之前使用的软件总体设计的文档模板,根据我的经验,按照这个文档模板来做软件总体设计,可以提高软件总体设计的质量。这个模板做一些裁剪,也可用于概要设计。

  文档模板中的斜体字为示例。

  章节1、引言

  章节1.1、编写目的

  规定软件系统的设计原则。初步确定系统的运行环境、程序结构、模块划分、功能分配、接口设计、运行设计、数据库连接设计、文件系统设计、目录结构设计、数据库设计等,为系统的详细设计提供基础。

  章节1.2、预期读者

  说明本文档的阅读权限、适用范围和阅读建议。

  章节1.3、参考资料

  本文件中各处引用的文件、资料,说明能够得到这些文件的来源。

  章节1.4、术语和定义

  逐条列出本规范中所涉及术语的名称和含义。

  章节1.5、缩略语

  逐项列出本规范中所涉及的缩略语及其对应的汉语含义

  章节2、背景

  章节2.1、功能介绍

  章节2.2、新增及加强的功能

  如果为对现有系统的改造升级,列出本次新增或加强哪些功能。

  章节3、设计需求描述

  参见《XXX软件设计需求规格书》

  章节4、总体设计

  章节4.1、运行环境

  章节4.1.1、硬件环境

  章节4.1.2、软件环境

  章节4.2、基本设计概念和处理流程

  说明本系统的基本设计概念和处理流程。

  如:发布订阅机制、配置化的策略、安全机制,并逐项说明采取的处理方案。

  章节4.3、结构设计

  用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。

  章节4.3.1、设计原则

  说明设计原则,如模块化、国际化、版本兼容性、扩展灵活性等方面的考虑。

  章节4.3.2、结构框图

  可使用C4设计模式

  章节4.3.2.1、System Context视图

  给出C4设计的System Context视图,并给出说明,此图说明系统的各子系统及外部系统的关系,给出系统的边界。

  章节4.3.2.2、Container视图

  给出C4设计的Container视图,并给出说明,此图说明系统运行时各进程的关系。

  章节4.3.2.3、Component视图

  给出C4设计的Component视图,并给出说明,此图说明系统各模块的关系。

  章节4.3.2.4、Deployment视图

  给出部署视图,并给出说明,此图说明系统的部署架构。

 

  章节4.4、开发环境  

  章节4.4.1、硬件环境

  各种硬件配置

  章节4.4.2、软件环境

  开发平台、软件语言、数据库;

  章节5、模块描述

  章节5.1、模块划分

  描述系统的模块划分。

  章节5.2、分模块1

  章节5.3、分模块2

  章节5.4、分模块n

 

  章节6、接口设计

  章节6.1用户接口

  说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。

  参见

  章节6.2、外部接口

  说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接 口关系。

  章节6.3、内部接口

  说明本系统之内的各个系统元素之间的接口的安排。

 

  章节7、系统库设计

  章节7.1、数据库必要性

  阐述使用数据库的必要性。

  章节7.2、数据库性能要求及选型

  对数据库的性能要求,以及选择何种数据库,说明理由。

  章节7.3、数据库结构设计

  参见《xxxx数据库设计.sql》

 

  章节8、代码框架

  如有必要,说明使用的代码框架。如:

  使用Java jdk1.8+Springboot2.0代码框架。多模块化框架。

 

  章节9、系统出错处理设计

  章节9.1、出错信息及处理方案

  用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。

  章节9.2、系统维护设计

  说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。


  章节10、测试与验证

  章节10.1、测试指导原则

  如:使用JUnit单元测试框架。

  章节10.2、测试资源与环境

  章节10.3、特殊考虑

  如现场测试,利用特殊设备的测试等等。


  章节11、关键技术

  章节11.1、关键技术1

  描述此关键技术,给出可行的解决方案

  章节11.2、关键技术

  章节11.3、关键技术n

 

你可能感兴趣的:(理顺软件开发各个环节-11(开发管理-总体设计-2))