经验之谈--软件文档知多少? - 技术管理 - Fishman

(这条文章已经被阅读了 355 次) 时间:2001-10-21 17:17:34 来源:Fishman (Fishman) 原创-IT

           经验之谈–软件文档知多少?
             By Fishman 2001.10
  
  如今,软件开发越来越复杂,软件功能也越来越丰富。而几乎所有成熟的商
业软件,都是靠一个开发团队齐心协力的血汗结晶。“罗马不是一天建成的!”,
当我们震撼于Microsoft Windows的惊世巨著的同时,也道听途说了微软公司软件
工程是如何的完善规范。的确,集数百名员工几年的共同努力之大成,软件项目
管理的成败是控制开发成本的关键环节。这里面,少不了贯穿其中的重要步骤–
–软件文档。
  软件文档可以分为开发文档和产品文档两大类。开发文档包括:《功能要求》、
《投标方案》、《需求分析》、《技术分析》、《系统分析》、《数据库文档》、
《功能函数文档》、《界面文档》、《编译手册》、《QA文档》、《项目总结》等。
产品文档包括:《产品简介》、《产品演示》、《疑问解答》、《功能介绍》、
《技术白皮书》、《评测报告》、《安装手册》、《使用手册》、《维护手册》、
《用户报告》、《销售培训》等。
  一、开发文档
  1. 《功能要求》–来源于客户要求和市场调查,是软件开发中最早期的一个
环节。客户提出一个模糊的功能概念,或者要求解决一个实际问题,或者参照同类
软件的一个功能。有软件经验的客户还会提供比较详细的技术规范书,把他们的要
求全部列表书写在文档中,必要时加以图表解说。这份文档是需求分析的基础。
  2. 《投标方案》–根据用户的功能要求,经过与招标方沟通和确认,技术人
员开始书写《投标方案》,方案书一般包括以下几个重要的章节:
  前言–项目背景、公司背景和业务、技术人员结构、公司的成功案例介绍等。
  需求分析–项目要求、软件结构、功能列表、功能描述、注意事项等。
  技术方案–总体要求和指导思想、技术解决方案、软件开发平台、网络结构体
系等。
  项目管理–描述公司的软件开发流程、工程实施服务、组织和人员分工、开发
进度控制、软件质量保证、项目验收和人员培训、软件资料文档等。
  技术支持–公司的技术支持和服务介绍、服务宗旨和目标、服务级别和响应时
间、技术服务区域、技术服务期限、授权用户联系人等。
  系统报价–软、硬件平台报价列表、软件开发费用、系统维护费用等。
  项目进度–整个项目的进度计划,包括签署合同、项目启动、需求分析、系统
分析、程序开发、测试维护、系统集成、用户验收、用户培训等步
骤的时间规划。
  3. 《需求分析》–包括产品概述、主要概念、操作流程、功能列表和解说、
注意事项、系统环境等。以《功能要求》为基础,进行详细的功能分析(包括客户
提出的要求和根据开发经验建议的功能),列出本产品是什么,有什么特殊的概念,
包括那些功能分类,需要具备什么功能,该功能的操作如何,实现的时候该注意什
么细节,客户有什么要求,系统运行环境的要求等。这里的功能描述跟以后的使用
手册是一致的。
  4. 《技术分析》–包括技术选型、技术比较、开发人员、关键技术问题的解
决、技术风险、技术升级方向、技术方案评价,竞争对手技术分析等。以《需求分
析》为基础,进行详细的技术分析(产品的性能和实现方法),列出本项目需要使用
什么技术方案,为什么,有哪些技术问题要解决 ,估计开发期间会碰到什么困难,
技术方案以后如何升级,对本项目的技术有什么评价等。
  5. 《系统分析》–包括功能实现、模块组成、功能流程图、函数接口、数据
字典、软件开发需要考虑的各种问题等。以《需求分析》为基础,进行详细的系统
分析(产品的开发和实现方法),估计开发期间需要把什么问题说明白,程序员根据
《系统分析》,开始在项目主管的带领下进行编码。
  6. 《数据库文档》–包括数据库名称、表名、字段名、字段类型、字段说明、
备注、字段数值计算公式等。以《系统分析》为基础,进行详细的数据库设计。必
要时可以用图表解说,特别是关系数据库。
  7. 《功能函数文档》–包括变量名、变量初植、功能,函数名,参数,如何
调用、备注、注意事项等。以《系统分析》为基础,进行详细的说明,列出哪个功
能涉及多少个函数,以便以后程序员修改、接手和扩展。
  8. 《界面文档》–包括软件外观、界面素材、编辑工具、文件名、菜单、按
钮和其它界面部件的要求,这里与软件完成后的运行界面是一致的。
  9. 《编译手册》–包括服务器编译环境、操作系统、编译工具、GNU的C++编译
器版本信息、目录说明、程序生成、源程序文件列表、Makefile配置及其相关程序
的对应关系列表。客户端的编译过程、编译结果、编译示例、编译环境、操作系统、
编译工具、源文件列表和制作安装程序的过程。
  10. 《QA文档》–包括产品简介、产品原理、产品功能列表、功能描述、功能
流程、执行结果、数据库结构、测试要求等,提供给软件测试人员使用。
  11. 《项目总结》–包括项目简介、项目参与人员和开发时间、项目风险管理
过程、项目功能列表、项目结构特点、技术特点、对项目的升级建议、对以后的项
目的建议、人员素质情况等。

  二、产品文档
  1. 《产品简介》–包括公司背景、产品概念、适用范围、产品功能、功能特点、
运行要求和公司联系地址。
  2. 《产品演示》–包括公司简介、产品背景、产品描述、产品特点、产品作用、
适用范围、使用分析、功能模块、解决问题、合作伙伴、成功案例等。一般用Power
point或者VCD录制软件实现。
  3. 《疑问解答》–列出用户关心的问题和处理方法。用于解答软件的操作功能
和解决用户的疑难问题。
  4. 《功能介绍》–以《需求分析》为书写基础,包括软件介绍、软件结构、功
能列表、功能描述和公司联系地址。
  5. 《技术白皮书》–以《技术分析》为书写基础,包括功能实现、技术选型、
关键技术问题的解决、技术方案特点、技术升级方向等。
  6. 《评测报告》–第三方权威评测报告。包括评测目的、评测范围、评测环境、
评测内容、实测数据、性能表现、结果分析和评测总结等。
  7. 《安装手册》–包括系统环境、运行平台、产品安装过程、初始环境设置、
安装记录等。
  8. 《使用手册》–包括产品简介、功能列表、功能描述和解释、功能操作、客
户服务和联系方式等。
  9. 《维护手册》–包括产品简介、系统须知、初始环境设置、系统配置、数据
管理和备份、技术问题解答和联系方式等。
  10. 《用户报告》–包括产品简介、购买时间、使用目的、使用时间、使用地点
、实施过程、出现问题和解决、产品总结和建议等。
  11.《销售培训》–包括项目简介、产品功能、产品特点、商业优势、系统运行
环境、适用范围、目标客户等。

文章评论:经验之谈--软件文档知多少? - 九点 - 2001-10-22 08:13:51

整理的很好,如果按RUP中的方法,把各种文档的模板再设计附属上来,就是又一份很好的员工培训教材。 - - - - - - - - - - - - - - - - - - - - - - 临渊羡鱼,不如退而结网