wbj0110 / software-document-boilerplate

软件文档模板

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简介

本仓库word模板依据软件文档国家标准——软件产品开发文件编制指南(GB 8567-1988)。 软件文档word模板在模板文件夹,7、8、9、10缺失。

为什么要写软件文档?

软件文档(software document)是一种重要的软件工程技术资料,这些文档连同计算机程序及数据一起,构成计算机软件,也有人把源程序当做文档的一部分。软件文档作为计算机软件的重要组成部分,在软件开发人员、软件管理人员、软件维护人员、用户以及计算机之间起着重要的桥梁作用。软件开发人员之间通过软件文档交流设计**和设计软件;软件管理人员通过文档了解软件开发项目安排、进度、资源使用和成果等;软件维护人员通过文档对项目进行维护;用户通过文档掌握软件的使用和操作。

软件工程标准

根据软件工程标准制定的机构和标准适用的范围可分为5个层次,即国际标准、国家标准、行业标准、企业(机构)标准及项目(课题)标准。

以下内容参考计算机软件产品开发文档编制指南(GB/T 8567-1988)

软件生存周期

一般可以分为6个阶段:可行性研究与计划阶段、需求分析阶段、设计阶段、实习阶段、测试阶段、运行与维护阶段。

软件文档的分类

用户文档 开发文档 管理文档
用户手册 可行性研究报告(FAR) 项目开发计划
操作手册 项目开发计划 模块开发卷宗
软件需求说明书 软件需求说明书(SRS) 开发进度月报
数据要求说明书 数据库设计说明书 测试计划(STP)
概要设计说明书 测试分析报告(STR)
详细设计说明书 项目开发总结报告

软件文档与使用者的关系

用户

  • 用户手册
  • 操作手册

开发人员

  • 可行性研究报告(FAR)
  • 项目开发计划
  • 软件需求说明书(SRS)
  • 数据需求说明书
  • 概要设计说明书
  • 详细设计说明书
  • 数据库设计说明书
  • 测试计划
  • 测试分析报告

维护人员

  • 设计说明书
  • 测试分析报告
  • 模块开发卷宗

管理人员

  • 可行性研究报告(FAR)
  • 项目开发计划
  • 模块开发卷宗
  • 项目进度月报
  • 项目开发总结报告

文档组成

1.可行性研究报告

说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地开发达到开发目标而可能选择的各种方案;说明并论证所选定的方案。 说明该软件的实现在技术上、经济上和社会条件上的可行性,提出系统方案,制定初步的开发计划。该文档应该阐明所开发软件的基本需求、主要的开发目标、开发中给出的条件假设和所受到的限制。报告应对现有系统进行分析。需要使用数据流图和系统流程图对软件进行说明。

2.项目开发计划

编写项目开发计划的目的是用文档的形式,吧对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软件、所需硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。 项目开发计划书的具体内容随着项目和开发机构类型的不同而改变,一般应该包含以下几个部分。

  1. 项目目标:简要论述项目的目标,并列出影响项目管理的种种约束条件,如预算、时间的限制等。
  2. 开发团队及人员安排:阐述开发团队的组织方式、人员构成及其分工。使项目实施人员明确自己的职责,便与自我管理和自我激励,进行有效的支持管理。
  3. 硬件和软件资源需求:分析和列出完成该项目开发所需的硬件和支持软件,注明估算的价格和软硬件资源交付的时间。
  4. 工作分解:把项目分解成一系列的活动,确定项目里程碑和可交付的文档。
  5. 项目进度:描述项目中各活动之间的依赖关系、到达每个里程碑预期所需的时间以及开发人员在活动中的分配,作为开发工作跟踪和检查的依据。可以使得一些支持性工作以及并行工作及时得到安排,避免因计划不周造成各子流程之间的相互影响。比如测试工具的研发,人员的培训都是需要及早计划和安排的。
  6. 风险分析:这一部分分析项目可能存在的风险以及这些风险发生的可能性,并提出降低风险的策略。
  7. 监控机制:说明什么时候需要提交哪些管理报告,制定详细的、可操作的项目监控机制。
  8. 开发估算:包括工作规模、工程量估算、成本估算等。估算要求有历史数据,要求在项目过程中通过不断地维护项目数据库积累历史数据。这些数据既可用于本项目,又可作为后续项目的历史数据。

3.软件需求说明书(SRS)

为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。 SRS的基本点是它必须说明有软件获得的结果,而不是获得这些结果的手段。编写需求的人必须描述的基本问题是:

  1. 功能——所设计的软件要做什么
  2. 性能——是指软件功能在执行过程中的速度、可使用性、响应时间,各种软件功能的恢复时间、吞吐能力、精度、频率等。
  3. 限制——在效果、实现的语言、数据库完整性、资源限制、操作环境等方面的标准。
  4. 属性——可移植性、正确性、可维护性及安全性等方面的考虑因素。
  5. 外部接口——与人、硬件、其他软件和其他硬件的相互关系。 编写SRS应注意不要在SRS中嵌入过多设计说明,应该把注意力集中在要完成的任务目标上;不要在SRS中嵌入项目需求,项目需求应该在其他文档中说明,SRS中提供的只是关于软件产品本身的需求。

4.数据要求说明书

向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。

5.概要设计说明书

概要设计说明书又称为系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错设计等、为程序的详细设计提供基础。 概要设计阶段的主要任务是把系统的功能需求分配给软件结构,形成软降的系统结构图。 可以采用面向过程或面向对象的表现形式,使用层次图、HIPO图、结构图、对象图等。

6.详细设计说明书

详细设计说明书又称为程序设计说明书。编制的目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文当档可以不用独立编写,有关内容合并入概要设计说明书。 概要设计完成的软件系统的总体设计,规定了各个模块的功能以及模块之间的关系,进一步就要考虑实现各个模块规定的功能。在详细设计说明中,设计人员应该完成如下任务:

  1. 确定每个模块的算法,用工具表达算法的过程,写出模块的详细过程性描述。
  2. 规定每一模块的数据结构。
  3. 确定模块接口细节。 可以使用程序流程图、N-S图(盒图)、PAD图、PDL语言(伪码)和判定表等准确描述算法。

7.数据库设计说明书

对于设计中的数据库的所有标识、逻辑结构和物理结构做出具体的结构规定。

8.用户手册

使用非专门术语,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况,如何使用它。

9.操作手册

向操作人员提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。

10.模块开发卷宗

模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。

11.测试计划

这里所说的测试,主要是指整个程序系统的组装测试和确认测试。本文档的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。

12.测试分析报告

把组装测试和确认测试的结果、发现及分析写成文档加以记载。对测试结果加以分析,并提出测试的结论意见。

13.开发进度月报

及时向有关管理部门汇报项目开发的进展和情况,以便及时发现和处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写。

14.项目开发总结报告

总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。

根据软件规模大小确定应编制的文件

源程序行数小于5000的小规模软件

  • 软件需求与开发计划
  • 软件设计说明
  • 使用说明
  • 测试分析报告
  • 项目开发总结

源程序行数为10000~50000行的中等规模软件

  • 项目开发计划
  • 项目需求说明
  • 测试计划
  • 软件设计说明
  • 使用说明
  • 模块开发卷宗
  • 测试分析报告
  • 开发进度月报
  • 项目开发总结

源程序行数为100000~500000行的大规模软件

  • 可行性报告
  • 项目开发计划
  • 项目需求说明
  • 数据要求说明
  • 测试计划
  • 概要设计说明
  • 详细设计说明
  • 数据库设计说明
  • 用户手册
  • 操作手册
  • 模块开发卷宗
  • 测试分析报告
  • 开发进度月报
  • 项目开发总结

源程序行数大于500000行的特大规模软件

可以将以上14种文旦按照实际需要拓展成更多类型。

About

软件文档模板

License:MIT License