5.5 详细设计说明书的主要内容


  • 详细设计说明书主要包括以下内容:
    1. 引言:编写目的、项目背景、定义、参考资料;
    2. 程序描述(所有模块给出以下说明):功能、性能、输出和输入项目、算法、程序逻辑、接口、存储分配、限制条件、测试要点等。
  • 软件设计规约(软件设计说明书)
    1. 什么是软件设计规约;
      • 软件设计规约对软件的组织或其组成部分的内部结构的描述,满足系统需求规约所指定的全部功能及性能要求。
    2. 软件设计规约的组成。
      • 软件设计规约通常有概要设计规约详细设计规约,分别为相应设计过程的输出文档。
      • 概要设计规约指明软件的组织结构,其主要内容包括:
        1. 系统环境
          • 硬件、软件接口与人机界面
          • 外部定义的数据库
          • 与设计有关的限定条件
        2. 设计描述
          • 数据流和主要数据结构
          • 软件模块的结构
          • 模块之间的接口
        3. 对每个模块的描述
          • 处理过程外部行为
          • 界面定义
          • 数据结构
          • 必要的注释
        4. 文件结构和全局数据
          • 文件的逻辑结构、记录描述以及访问方式
          • 交叉引用信息
        • 此外,还应包括有关软件测试方面的要求和说明。
        • 软件概要设计是面向软件开发者的文档,主要作为软件项目管理人员系统分析人员设计人员之间交流的媒体。
      • 详细设计规约是对软件各组成部分内部属性的描述,它是概要设计的细化。即在概要设计规约的基础上,增加以下内容:
        1. 各处理过程的算法;
        2. 算法所涉及的全部数据结构的描述,特别地,对主要数据结构往往包括与算法实现有关的描述;
        • 软件设计规约主要作为软件设计人员与程序员之间交流的媒体。
      • 设计规约格式
        1. 引言
          • 编写目的
            1. 说明编写本软件设计说明书的目的。
          • 背景说明
            1. 给出待开发的软件产品的名称;
            2. 说明本项目的提出者、开发者及用户;
            3. 说明该软件产品将做什么,如有必要,说明不做什么。
          • 术语定义
            1. 列出本文档中所用的专门术语的定义和外文首字母组词的原词组。
          • 参考资料
            1. 列出本文档中所引用的全部资料,包括标题、文档编号、版本号出版日期及出版单位等,必要时注明资料来源。
        2. 总体设计
          • 需求规定
            1. 说明对本软件的主要输入、输出、处理的功能及性能要求。
          • 运行环境
            1. 简要说明对本软件运行的软件、硬件环境和支持环境的要求。
          • 处理流程
            1. 说明本软件的处理流程,尽量使用图、文、表的形式。
          • 软件结构
            1. 在DFD图的基础上,用模块结构图来说明各层模块的划分及其相互关系,划分原则上应细到程序级(即程序单元),每个单元必须执行单独一个功能(即单元不能再分了)。
        3. 运行设计
          • 运行模块的组合
            1. 说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块的组合,说明每种运行所经历的内部模块和支持软件。
          • 运行控制
            1. 说明各运行控制方式、方法和具体的操作步骤。
        4. 系统出错处理
          • 出错信息简要说明每种可能的出错或故障情况出现时,系统输出信息的格式和含义。
          • 出错处理方法及补救措施
            1. 说明故障出现后可采取的措施,包括:
              • 后备技术。当原始系统数据万一丢失时启用的副本的建立和启动的技术,如周期性的信息转储;
              • 性能降级。使用另一个效率稍低的系统或方法(如手工操作、数据的人工记录等),以求得到所需结果的某些部分;
              • 恢复和再启动。用建立恢复点等技术,使软件再开始运行。
        5. 模块设计说明
          以填写模块说明表的形式,对每个模块给出下述内容:
          1. 模块的一般说明,包括名称、编号、设计者、所在文件、所在库、调用本模块的模块名和本模块调用的其他模块名;
          2. 功能概述;
          3. 处理描述,使用伪码描述本模块的算法、计算公式及步骤;
          4. 引用格式;
          5. 返回值;
          6. 内部接口,说明本软件内部各模块间的接口关系,包括;
            • 名称
            • 意义
            • 数据类型
            • 有效范围;
            • I/O标志
          7. 外部接口,说明本软件同其他软件及硬件间的接口关系,包括:
            • 名称;
            • 意义
            • 数据类型;
            • 有效范围;
            • I/O标志;
            • 格式,指输入或输出数据的语法规则和有关约定;
            • 媒体。
          8. 用户接口,说明将向用户提供的命令和命令的语法结构,以及软件的回答信息,包括:
            • 名称;
            • 意义;
            • 数据类型;
            • 有效范围;
            • I/O标志;
            • 格式,指输入或输出数据的语法规则和有关约定;
            • 媒体。

  目录