1、软件文档可以分为开发文档和产品文档两大类:开发文档包括:功能要求、投标方案、需求分析、技术分析、系统分析、数据库文档、功能函数文档、界面文档、编译手册、QA文档、项目总结等。产品文档包括:产品简介、产品技术白皮书、评测报告、安装手册、使用手册、维护手册、用户报告、销售培训等。一、开发文档1.功能要求来源于客户要求和市场调查,是软件开发中最早期的一个环节。客户提出一个模糊的功能概念,或者要求解决一个实际问题,又或者是参照同类软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。2.投标方案根据用户的功能要求,
2、经过与招标方沟通和确认,技术人员开始书写投标方案,方案书一般包括前言、需求分析、技术方案、项目管理、技术支持、系统报价、项目进度等。3.需求分析包括产品概述、主要概念、操作流程、功能列表、注意事项、系统环境等。以功能要求为基础,进行详细的功能分析,列出本产品是什么,有什么特殊的概念,包括那些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用手册是一致的。4.技术分析包括技术选型、技术比较、开发人员、关键技术问题的解决、技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以需求分析为基础,进行详细的技术分
3、析(产品的性能和实现方法),列出本项目需要使用什么技术方案,为什么,有哪些技术问题要解决,估计开发期间会碰到什么困难,技术方案以后如何升级,对本项目的技术有什么评价等。5.系统分析包括功能实现、模块组成、功能流程图、函数接口、数据字典、软件开发需要考虑的各种问题等。以需求分析为基础,进行详细的系统分析(产品的开发和实现方法),程序员根据系统分析,开始在项目主管的带领下进行编码工作。6.数据库文档包括数据库名称、表名、字段名、字段类型、字段说明、备注、字段数值计算公式等。以系统分析为基础,进行详细的数据库设计,必要时可以用图表解说,特别是关系数据库。7.功能函数文档包括变量名、变量初植、功能、函
4、数名、参数、如何调用、备注、注意事项等。以系统分析为基础,进行详细的说明,列出哪个功能涉及多少个函数,以便以后程序员修改、接手和扩展。8.界面文档包括软件外观、界面素材、编辑工具、文件名、菜单、按钮和其它界面部件的要求,这里与软件完成后的运行界面是一致的。9.编译手册包括服务器编译环境、操作系统、编译工具、编译器版本信息、目录说明、程序生成、源程序文件列表、Makefile配置及其相关程序的对应关系列表。客户端的编译过程、编译结果、编译示例、编译环境、操作系统、编译工具、源文件列表和制作安装程序的过程。10.QA文档包括产品简介、产品原理、产品功能列表、功能描述、功能流程、执行结果、数据库结构
5、测试要求等,提供给软件测试人员使用。11.项目总结包括项目简介、项目参与人员和开发时间、项目风险、管理过程、项目功能列表、项目结构特点、技术特点、对项目的升级建议、对以后的项目的建议、人员工作情况等。二、产品文档1.产品简介包括公司背景、产品概念、适用范围、产品功能、功能特点、运行要求和公司联系地址等。2.产品演示包括公司简介、产品背景、产品描述、产品特点、产品作用、适用范围、使用分析、功能模块、解决问题、合作伙伴、成功案例等。一般用Powerpoint或者视频录制软件实现。3.疑问解答列出用户关心的问题和处理方法,用于解答软件的操作功能和解决用户的疑难问题。4.功能介绍以需求分析为书写基础
6、包括软件介绍、软件结构、功能列表、功能描述等。5.技术白皮书以技术分析为书写基础,包括功能实现、技术选型、关键技术问题的解决、技术方案特点、技术升级方向等。6.评测报告第三方的权威评测报告。包括评测目的、评测范围、评测环境、评测内容、实测数据、性能表现、结果分析和评测总结等。7.安装手册包括系统环境、运行平台、产品安装过程、初始环境设置、安装记录等。8.使用手册包括产品简介、功能列表、功能描述和解释、功能操作、客户服务和联系方式等。9.维护手册包括产品简介、系统须知、初始环境设置、系统配置、数据管理和备份、技术问题解答和联系方式等。10.用户报告包括产品简介、购买时间、使用目的、使用时间、使用地点、实施过程、出现问题和解决、产品总结和建议等。11.销售培训包括项目简介、产品功能、产品特点、商业优势、系统运行环境、适用范围、目标客户等。