GB8567-88《计算机软件产品开发文件编制指南》是我国软件工程领域的一项重要国家标准,为软件设计文档的编制提供了系统性的规范。遵循该标准,有助于确保软件设计过程的规范性、文档的完整性以及项目团队之间的有效沟通。本文将为您提供一份基于GB8567-88的软件设计文档完整规范指南。
一、 文档编制的总体要求
在着手编制文档前,需明确以下总体要求:
- 完整性:文档应覆盖软件设计的各个方面,包括结构、接口、数据、模块等,无重大遗漏。
- 一致性:文档内部、文档之间以及与需求规格说明之间应保持一致,避免矛盾。
- 可理解性:文档应表述清晰、逻辑严谨,便于设计人员、开发人员、测试人员及维护人员理解和使用。
- 可追溯性:设计决策应能追溯到前期的需求,并为后续的编码、测试提供明确依据。
- 可修改性:文档结构应便于在软件演化过程中进行增删改。
二、 核心设计文档的编制规范
GB8567-88定义了多个文档,其中与软件设计直接相关的核心文档及其编制要点如下:
- 概要设计说明书 (SDS - Software Design Specification)
- 目的:说明系统的总体设计,是详细设计的基础。
- 主要内容:
- 引言:项目背景、文档目的、范围、定义、参考资料。
- 总体设计:
- 需求规定:简述对主要输入、输出、处理功能及性能的要求。
- 运行环境:硬件、支持软件环境。
- 基本设计概念和处理流程:用图表(如系统流程图)说明系统的基本处理流程和数据流程。
- 结构设计:用层次图或结构图描述系统的模块划分,定义各模块功能及模块间的控制关系。
- 功能需求与程序的关系:用矩阵表说明各项功能需求的实现与各程序模块的对应关系。
- 人工处理过程:说明需要人工干预的环节。
- 接口设计:
- 用户接口:如屏幕格式、报表格式、菜单、命令等。
- 外部接口:与其它系统或硬件的接口。
- 内部接口:模块之间的接口。
- 运行设计:说明系统在不同状态(如启动、故障恢复)下的运行控制流程。
- 系统数据结构设计:逻辑结构设计(如E-R图)、物理结构设计(存储安排、访问方法)。
- 系统出错处理设计:出错信息、补救措施、系统恢复设计。
- 详细设计说明书 (DDS - Detailed Design Specification)
- 目的:对概要设计中定义的每个模块/程序进行细化,是编码的直接依据。
- 主要内容:
- 引言:同概要设计说明书。
- 程序系统的结构:用一系列图表列出本程序系统内的每个程序(或模块)的名称、标识符和它们之间的层次关系。
- 程序(模块)设计说明:对每个模块进行详细描述,是文档的核心部分。
- 程序描述:功能、性能。
- 输入项:来源、数量、类型、含义。
- 输出项:去向、格式、含义。
- 算法:处理逻辑,可用流程图、PDL(程序描述语言)、判定表等详细描述。
- 流程逻辑:用图表辅助说明。
- 接口:调用关系、参数传递。
- 存储分配:
- 注释设计:准备安排的注释,如模块首部、各分支点。
- 限制条件:
- 测试要点:建议的测试方案。
- 尚未解决的问题。
- 数据库设计说明书 (DBS - Database Design Specification)
- 目的:对于使用数据库的系统,规定其数据的逻辑组织和物理结构。
- 主要内容:引言(同前)、外部设计(标识符、约定、使用它的程序、支持软件)、结构设计(概念结构、逻辑结构、物理结构)、运用设计(数据字典设计、安全保密设计)。
三、 文档编制的实践建议
- 模板化与工具支持:建立符合GB8567-88的文档模板,并使用版本控制工具(如Git、SVN)管理文档变更,确保一致性。
- 图表化表达:多使用结构图、流程图、状态图、E-R图、接口示意图等,使设计直观易懂。
- 与需求紧密关联:在文档中明确标注设计元素所满足的需求编号(来自《软件需求规格说明书》),建立可追溯性。
- 迭代与评审:设计文档不是一蹴而就的,应随设计深入而迭代更新,并组织正式或非正式的评审,确保质量。
- 维护与归档:设计文档是项目的重要资产,在项目结束后应作为产品的一部分进行归档,为后续的维护、升级和重用以供依据。
遵循GB8567-88规范编制软件设计文档,虽然初期可能增加一定工作量,但它能有效提升软件设计的质量,降低沟通成本和开发风险,是保证软件项目成功实施与长期可维护性的关键环节。